Function at 0x418a50
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [0x58cfe0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [ebp - 0x460], esi
call fcn.00418f50
test ebx, ebx
je 0x418a8b
cmp word [ebx], 0
je 0x418a8b
cmp dword [ebp + 0xc], 0
jne 0x418a9f
cmp dword [ebp + 0x10], 0
jne 0x418a9f
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00507257
mov esp, ebp
pop ebp
ret 0xc
push edi
push ebx
xor edi, edi
call fcn.00415960
add esp, 4
test eax, eax
jle 0x418acf
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x54897c
push ebx
call fcn.0048f340
add esp, 0x10
lea ebx, [ebp - 0x20c]
push 0x104
add esi, 8
push ebx
push esi
call fcn.00514b22
push 0
push 0xffffffffffffffff
push 0x5c
push esi
call fcn.0049c2f0
add esp, 0x1c
test eax, eax
je 0x418af6
xor ecx, ecx
mov word [eax], cx
push 0x104
push esi
call fcn.004a76d0
add esp, 8
lea eax, [ebp - 0x45c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x418c38
nop dword [eax]
mov ecx, 0x5489a0
lea eax, [ebp - 0x430]
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418b56
test dx, dx
je 0x418b52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418b56
add eax, 4
add ecx, 4
test dx, dx
jne 0x418b30
xor eax, eax
jmp 0x418b5b
sbb eax, eax
or eax, 1
test eax, eax
je 0x418bb5
mov ecx, 0x5489a4
lea eax, [ebp - 0x430]
nop word [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x418b96
test dx, dx
je 0x418b92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x418b96
add eax, 4
add ecx, 4
test dx, dx
jne 0x418b70
xor eax, eax
jmp 0x418b9b
sbb eax, eax
or eax, 1
test eax, eax
je 0x418bb5
test byte [ebp - 0x45c], 0x10
je 0x418bae
cmp dword [ebp + 0x10], 0
jmp 0x418bb2
cmp dword [ebp + 0xc], 0
je 0x418bb5
inc edi
lea eax, [ebp - 0x45c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x418b20
push esi
mov dword [ebp - 0x464], edi
call dword [sym.imp.KERNEL32.dll_FindClose]
test edi, edi
je 0x418c38
xor ecx, ecx
mov eax, edi
mov edx, 0x250
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e6b5b
mov edi, eax
add esp, 4
mov eax, dword [ebp - 0x460]
mov dword [eax + 4], edi
test edi, edi
jne 0x418c29
push str.could_not_allocate_WIN32_FIND_DATA_array
call fcn.0048a0f0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00507257
mov esp, ebp
pop ebp
ret 0xc
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x418c50
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00507257
mov esp, ebp
pop ebp
ret 0xc
lea edx, [edi + 0x2c]
mov ecx, 0x5489a0
mov eax, edx
nop word [eax + eax]
mov si, word [eax]
cmp si, word [ecx]
jne 0x418c86
test si, si
je 0x418c82
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x418c86
add eax, 4
add ecx, 4
test si, si
jne 0x418c60
xor eax, eax
jmp 0x418c8b
sbb eax, eax
or eax, 1
test eax, eax
je 0x418cee
mov eax, 0x5489a4
mov cx, word [edx]
cmp cx, word [eax]
jne 0x418cba
test cx, cx
je 0x418cb6
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x418cba
add edx, 4
add eax, 4
test cx, cx
jne 0x418c94
xor eax, eax
jmp 0x418cbf
sbb eax, eax
or eax, 1
test eax, eax
je 0x418cee
test byte [edi], 0x10
je 0x418cce
cmp dword [ebp + 0x10], 0
jmp 0x418cd2
cmp dword [ebp + 0xc], 0
je 0x418cee
mov esi, dword [ebp - 0x460]
add edi, 0x250
mov eax, dword [ebp - 0x464]
inc dword [esi]
cmp dword [esi], eax
je 0x418d04
jmp 0x418cf4
mov esi, dword [ebp - 0x460]
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x418c50
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esi]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00507257
mov esp, ebp
pop ebp
ret 0xc