.file "main.c" .intel_syntax noprefix .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "r" .LC1: .string "secret.txt" .LC2: .string "nope" .section .text.startup,"ax",@progbits .p2align 4,,15 .globl main .type main, @function main: .LFB25: .cfi_startproc push rbx .cfi_def_cfa_offset 16 .cfi_offset 3, -16 mov esi, 20 sub rsp, 32 .cfi_def_cfa_offset 48 mov rdx, QWORD PTR stdin[rip] mov rdi, rsp mov rbx, rsp call fgets test rax, rax je .L2 mov rdx, rsp .L3: mov ecx, DWORD PTR [rdx] add rdx, 4 lea eax, [rcx-16843009] not ecx and eax, ecx and eax, -2139062144 je .L3 mov ecx, eax shr ecx, 16 test eax, 32896 cmove eax, ecx lea rcx, [rdx+2] cmove rdx, rcx add al, al sbb rdx, 3 sub rdx, rbx cmp rdx, 16 jbe .L2 movsx r8d, BYTE PTR [rsp] lea r10, [rbx+1] xor edi, edi xor esi, esi xor ecx, ecx xor ebx, ebx mov r11d, 1431655766 mov r9d, r8d jmp .L13 .p2align 4,,10 .p2align 3 .L9: movsx r8d, BYTE PTR [r10] lea ebx, [rdx+r8] add r9d, r8d test dil, 1 cmove ebx, edx add r10, 1 .L13: mov eax, edi imul r11d mov eax, edi sar eax, 31 sub edx, eax lea eax, [rcx+r8] lea edx, [rdx+rdx*2] cmp edi, edx cmove ecx, eax mov eax, edi add r8d, esi and eax, 3 cmp eax, 2 mov eax, r9d cmove esi, r8d sar eax, 31 add edi, 1 shr eax, 24 add r9d, eax movzx r9d, r9b sub r9d, eax mov eax, ebx sar eax, 31 shr eax, 24 lea edx, [rbx+rax] movzx edx, dl sub edx, eax mov eax, ecx sar eax, 31 shr eax, 24 add ecx, eax movzx ecx, cl sub ecx, eax mov eax, esi sar eax, 31 shr eax, 24 add esi, eax movzx esi, sil sub esi, eax cmp edi, 16 jne .L9 cmp r9d, 133 jne .L2 cmp edx, 67 je .L35 .p2align 4,,10 .p2align 3 .L2: mov edi, 500000 xor eax, eax call usleep mov edi, OFFSET FLAT:.LC2 call puts mov eax, 1 .L32: add rsp, 32 .cfi_remember_state .cfi_def_cfa_offset 16 pop rbx .cfi_def_cfa_offset 8 ret .L35: .cfi_restore_state cmp ecx, 79 jne .L2 cmp esi, 176 jne .L2 mov edi, 500000 xor eax, eax call usleep mov esi, OFFSET FLAT:.LC0 mov edi, OFFSET FLAT:.LC1 call fopen test rax, rax mov rbx, rax jne .L11 jmp .L37 .L12: mov rsi, QWORD PTR stdout[rip] mov edi, eax call _IO_putc .L11: mov rdi, rbx call _IO_getc cmp eax, -1 jne .L12 mov rdi, rbx call fclose xor eax, eax jmp .L32 .L37: xor eax, eax jmp .L32 .cfi_endproc .LFE25: .size main, .-main .ident "GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-4)" .section .note.GNU-stack,"",@progbits