Function at 0x40e413
Capabilities:
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4fc
mov eax, dword [0x41200c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov eax, dword [ebp + 0xc]
mov edi, edx
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], edi
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], ecx
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov eax, dword [0x413028]
cmp eax, 0x413028
je 0x40e472
test dword [eax + 0x1c], reloc.ADVAPI32.dll_TraceMessage
je 0x40e472
push 0x402488
push 0xd
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.00406dfe
push 1
push 0x40238c
mov eax, 0x8b
lea esi, reloc.ADVAPI32.dll_TraceMessage
call fcn.0040df9a
or dword [ebp - reloc.ADVAPI32.dll_TraceMessage], 0xffffffff
or dword [ebp - reloc.ADVAPI32.dll_TraceMessage], 0xffffffff
xor eax, eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov esi, eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov ebx, eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov dword [ebp - 0x4f8], 0x4013c0
mov eax, 0x9b
test edi, edi
jne 0x40e4e4
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], 0x80070057
mov word [ebp - 0x4e6], ax
jmp 0x40e70f
mov word [ebp - 0x4e8], ax
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
test eax, eax
jne 0x40e4fc
mov eax, 0x9c
jmp 0x40e4ce
mov ecx, 0x9c
mov word [ebp - 0x4e8], cx
mov ecx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
test ecx, ecx
jne 0x40e519
mov eax, 0x9d
jmp 0x40e4ce
mov edx, 0x9d
mov word [ebp - 0x4e8], dx
mov edx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
test edx, edx
jne 0x40e536
mov eax, 0x9e
jmp 0x40e4ce
xor edi, edi
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], edi
mov edi, 0x9e
mov word [ebp - 0x4e8], di
xor edi, edi
mov dword [eax], edi
xor eax, eax
mov edi, 0x250
mov dword [ecx], eax
push edi
push eax
mov dword [edx], eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
push edi
push eax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
call sub.msvcrt.dll_memset
mov edi, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
add esp, 0xc
push 0x401354
push edi
push 0x4023a0
lea edi, reloc.ADVAPI32.dll_TraceMessage
call fcn.00410069
add esp, 0xc
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
test eax, eax
mov eax, 0xaa
js 0x40e4d8
mov word [ebp - 0x4e8], ax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push dword [ebp - 0x4f8]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
cmp eax, reloc.ADVAPI32.dll_TraceMessage
je 0x40e5e0
xor eax, eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], 1
push 0x401354
push dword [ebp - 0x4c0]
lea edi, reloc.ADVAPI32.dll_TraceMessage
push 0x4023b0
call fcn.00410069
add esp, 0xc
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
test eax, eax
mov eax, 0xb5
js 0x40e4d8
mov word [ebp - 0x4e8], ax
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push dword [ebp - 0x4f8]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edx, eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], edx
cmp edx, reloc.ADVAPI32.dll_TraceMessage
je 0x40e6ef
lea edi, reloc.ADVAPI32.dll_TraceMessage
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
cmp ax, word [ebp - 0x4fc]
jne 0x40e645
sub edi, ecx
sar edi, 1
movzx eax, word [ebp + edi*2 - 0x236]
sub eax, 0x30
cmp eax, ebx
jbe 0x40e669
mov ebx, eax
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
inc eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
cmp ebx, 7
ja 0x40e6e8
cmp eax, 7
ja 0x40e6e8
lea eax, reloc.ADVAPI32.dll_TraceMessage
push eax
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40e6b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0x12
jne 0x40e6c0
xor eax, eax
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], eax
mov eax, 0xd8
mov word [ebp - 0x4e8], ax
cmp esi, 0x12
je 0x40e6e0
mov edx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
jmp 0x40e658
test esi, esi
jle 0x40e6d0
and esi, 0xffff
or esi, 0x80070000
mov dword [ebp - reloc.ADVAPI32.dll_TraceMessage], esi
mov eax, 0xd8
jmp 0x40e4d8
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
jmp 0x40e6f1
push 7
pop eax
push eax
pop ebx
jmp 0x40e6f1
mov eax, esi
mov ecx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov edx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov dword [ecx], edx
mov ecx, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov dword [ecx], eax
mov eax, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
mov dword [eax], ebx
push dword [ebp - 0x4c4]
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
call esi
push dword [ebp - 0x4b0]
call esi
mov edi, dword [ebp - reloc.ADVAPI32.dll_TraceMessage]
lea esi, reloc.ADVAPI32.dll_TraceMessage
call fcn.0040fca0
lea eax, reloc.ADVAPI32.dll_TraceMessage
call fcn.0040e073
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00410d69
leave
ret 8