global _Z8findfilePc global main extern exit extern chdir extern strcmp extern stat extern remove extern strstr extern readdir extern opendir extern getcwd extern _GLOBAL_OFFSET_TABLE_ SECTION .text _Z8findfilePc: push rbp mov rbp, rsp sub rsp, 2240 mov qword [rbp-8B8H], rdi lea rax, [rbp-820H] mov esi, 2049 mov rdi, rax call getcwd test rax, rax sete al test al, al jne ?_007 lea rdi, [rel ?_013] call opendir mov qword [rbp-8H], rax cmp qword [rbp-8H], 0 je ?_008 ?_001: mov rax, qword [rbp-8H] mov rdi, rax call readdir mov qword [rbp-10H], rax cmp qword [rbp-10H], 0 setne al test al, al je ?_009 mov rax, qword [rbp-10H] add rax, 19 test rax, rax jz ?_002 mov rax, qword [rbp-10H] lea rdx, [rax+13H] mov rax, qword [rbp-8B8H] mov rsi, rax mov rdi, rdx call strstr test rax, rax jz ?_002 lea rdi, [rel ?_014] call remove ?_002: mov rax, qword [rbp-10H] lea rdx, [rax+13H] lea rax, [rbp-8B0H] mov rsi, rax mov rdi, rdx call stat cmp eax, -1 sete al test al, al jne ?_003 mov rax, qword [rbp-10H] add rax, 19 lea rsi, [rel ?_013] mov rdi, rax call strcmp test eax, eax je ?_004 mov rax, qword [rbp-10H] add rax, 19 lea rsi, [rel ?_015] mov rdi, rax call strcmp test eax, eax jz ?_005 mov eax, dword [rbp-898H] and eax, 0F000H cmp eax, 16384 jne ?_001 mov rax, qword [rbp-10H] add rax, 19 mov rdi, rax call chdir cmp eax, -1 sete al test al, al jnz ?_006 mov rax, qword [rbp-8B8H] mov rdi, rax call _Z8findfilePc lea rdi, [rel ?_015] call chdir cmp eax, -1 sete al test al, al je ?_001 mov edi, 1 call exit ?_003: nop jmp ?_001 ?_004: nop jmp ?_001 ?_005: nop jmp ?_001 ?_006: nop jmp ?_001 ?_007: nop jmp ?_009 ?_008: nop ?_009: leave ret main: push rbp mov rbp, rsp sub rsp, 176 mov dword [rbp-0A4H], edi mov qword [rbp-0B0H], rsi lea rax, [rel ?_016] mov qword [rbp-8H], rax lea rax, [rel ?_014] mov qword [rbp-10H], rax lea rdx, [rbp-0A0H] mov rax, qword [rbp-8H] mov rsi, rdx mov rdi, rax call stat cmp eax, -1 sete al test al, al jz ?_010 mov edi, 1 call exit ?_010: mov eax, dword [rbp-88H] and eax, 0F000H cmp eax, 16384 jz ?_011 mov edi, 1 call exit ?_011: mov rax, qword [rbp-8H] mov rdi, rax call chdir cmp eax, -1 sete al test al, al jz ?_012 mov edi, 1 call exit ?_012: mov rax, qword [rbp-10H] mov rdi, rax call _Z8findfilePc mov eax, 0 leave ret SECTION .data SECTION .bss SECTION .rodata ?_013: db 2EH, 00H ?_014: db 69H, 6DH, 70H, 6FH, 72H, 74H, 61H, 6EH db 74H, 2EH, 74H, 78H, 74H, 00H ?_015: db 2EH, 2EH, 00H, 00H, 00H, 00H, 00H, 00H ?_016: db 43H, 3AH, 5CH, 55H, 73H, 65H, 72H, 73H db 5CH, 6DH, 61H, 72H, 69H, 6FH, 5CH, 44H db 6FH, 63H, 75H, 6DH, 65H, 6EH, 74H, 73H db 5CH, 74H, 65H, 73H, 74H, 5CH, 00H SECTION .eh_frame db 14H, 00H, 00H, 00H, 00H, 00H, 00H, 00H db 01H, 7AH, 52H, 00H, 01H, 78H, 10H, 01H db 1BH, 0CH, 07H, 08H, 90H, 01H, 00H, 00H db 1CH, 00H, 00H, 00H, 1CH, 00H, 00H, 00H dd _Z8findfilePc-$-20H dd 0000018AH, 100E4100H dd 0D430286H, 01850306H dd 0008070CH, 0000001CH dd 0000003CH dd _Z8findfilePc-$+14AH dd 000000A7H, 100E4100H dd 0D430286H, 0CA20206H dd 00000807H