Function at 0x40552c
Capabilities:
Enumerate files on windows

Disassembly:
sub esp, 0x58c
mov eax, dword [0x517490]
xor eax, esp
mov dword [esp + 0x584], eax
push ebx
push ebp
push esi
mov ebx, ecx
mov edx, 0x5d8a0105
push edi
push ebx
push 0xae70cd5e
mov ecx, 0x71d548e5
call fcn.00401187
mov ebp, dword [sym.imp.USER32.dll_wsprintfW]
pop ecx
push eax
lea eax, [esp + 0x390]
push eax
call ebp
add esp, 0xc
mov edx, 0x2967a342
mov ecx, 0x538ea8e
push ebx
push 0xda9d6f33
call fcn.00401166
pop ecx
push eax
xor esi, esi
push esi
call fcn.00404dd1
add esp, 0xc
lea eax, [esp + 0x388]
push eax
call fcn.0041f7d7
pop ecx
test al, al
jne 0x4055cb
push 0xdc8e3378
mov edx, 0x2f74ff0f
mov ecx, 0x32bb6a7
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
xor eax, eax
jmp 0x4059fe
push 0x104
lea eax, [esp + 0x38]
mov dword [esp + 0x34], esi
push esi
push eax
call fcn.004bea90
add esp, 0xc
mov edx, 0xa110fb60
mov ecx, 0x8d4fb2f6
mov edi, esi
push esi
push ebx
push 0x52ea372b
call fcn.00401187
pop ecx
push eax
lea eax, [esp + 0x394]
push eax
call ebp
lea eax, [esp + 0x398]
push eax
call fcn.0041fa4a
add esp, 0x14
test al, al
je 0x4056fa
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38c]
push eax
call fcn.0041fd60
pop ecx
pop ecx
push edi
push ebx
push 0xfc03bb0e
mov edx, 0xff97741
mov dword [esp + 0x20], eax
mov ecx, 0x23a63e73
call fcn.00401187
pop ecx
push eax
lea eax, [esp + 0x394]
push eax
call ebp
lea eax, [esp + 0x398]
push eax
call fcn.0041fa4a
add esp, 0x14
test al, al
je 0x4056f8
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x38c]
push eax
call fcn.0041fd60
mov esi, eax
mov eax, dword [esp + 0x1c]
pop ecx
pop ecx
test eax, eax
je 0x4056b2
test esi, esi
je 0x4056ab
lea ecx, [edi + 1]
mov edx, eax
push ecx
push ecx
push esi
push ecx
lea ecx, [esp + 0x40]
call fcn.00404ed2
mov eax, dword [esp + 0x24]
add esp, 0x10
push eax
call fcn.00404d44
pop ecx
test esi, esi
je 0x4056bd
push esi
call fcn.00404d44
pop ecx
inc edi
mov edx, 0xa110fb60
push edi
push ebx
push 0x52ea372b
mov ecx, 0x8d4fb2f6
call fcn.00401187
pop ecx
push eax
lea eax, [esp + 0x394]
push eax
call ebp
lea eax, [esp + 0x398]
push eax
call fcn.0041fa4a
add esp, 0x14
test al, al
jne 0x40561e
xor esi, esi
cmp dword [esp + 0x30], 0
je 0x4059db
cmp dword [esp + 0x38], 0
je 0x4059db
push 0x30000
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esp + 0x20], eax
test eax, eax
je 0x405a00
and dword [esp + 0x18], 0
xor edi, edi
and dword [esp + 0x14], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
push 0xe93b7ad
mov edx, 0xfd697be4
mov dword [esp + 0x2c], eax
mov ecx, 0xd13633a6
call fcn.00401187
pop ecx
push eax
lea eax, [esp + 0x390]
push eax
call ebp
add esp, 0xc
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0x38c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
je 0x40586a
lea eax, [esp + 0x164]
mov edx, 0xb7acae2f
push eax
push ebx
push 0x4456626e
mov ecx, 0x9bf3e617
call fcn.00401187
pop ecx
push eax
lea eax, [esp + 0x394]
push eax
call ebp
lea eax, [esp + 0x174]
push eax
call fcn.004ba810
mov ecx, dword [esp + 0x168]
add esp, 0x14
xor edx, edx
add edx, dword [esp + 0x158]
adc ecx, 0
push ecx
push edx
push dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x3c]
push eax
lea eax, [esp + 0x174]
push eax
lea eax, [esp + 0x39c]
push eax
call fcn.004051ae
add esp, 0x18
cmp eax, 0x4c
je 0x405848
cmp eax, 0xffffffff
jne 0x405817
inc esi
mov dword [esp + 0x2c], esi
jmp 0x405828
test eax, eax
jne 0x405821
inc dword [esp + 0x18]
jmp 0x405828
jle 0x405828
inc edi
add dword [esp + 0x14], eax
inc dword [esp + 0x1c]
lea eax, [esp + 0x138]
push eax
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x405793
jmp 0x40586a
push 0xc71e1c1d
mov edx, 0x34e4d043
mov ecx, 0x18bb9fa5
call fcn.00401166
pop ecx
push eax
push 0x90ff
call fcn.00404dd1
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
sub esi, dword [esp + 0x24]
test edi, edi
jne 0x40588b
push 0xfefd694e
mov edx, 0xd07a515
mov ecx, 0x2158ea9b
jmp 0x40589a
push 0xd471fd61
mov edx, 0x278b313b
mov ecx, 0xbd47eab
call fcn.00401166
pop ecx
push eax
push 0x7e40707c
mov edx, 0x8dbabc37
mov ecx, 0xa1e5f383
call fcn.00401166
pop ecx
push eax
xor ebx, ebx
push ebx
call fcn.00404dd1
add esp, 0xc
mov edx, 0x3d2dab96
mov ecx, 0x1172e4f2
push dword [esp + 0x1c]
push 0xced767dd
call fcn.00401166
pop ecx
push eax
push ebx
call fcn.00404dd1
add esp, 0xc
mov edx, 0xa0a56feb
mov ecx, 0x8cfa2095
push dword [esp + 0x18]
push 0x535fa3a0
call fcn.00401166
pop ecx
push eax
push ebx
call fcn.00404dd1
add esp, 0xc
test edi, edi
je 0x40592c
push edi
push 0xda4575b9
mov edx, 0x29bfb9f2
mov ecx, 0x5e0f6a2
call fcn.00401166
pop ecx
push eax
push ebx
call fcn.00404dd1
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x405954
push eax
push 0x6f8103c1
mov edx, 0x9c7bcf8a
mov ecx, 0xb02480a0
call fcn.00401166
pop ecx
push eax
push ebx
call fcn.00404dd1
add esp, 0xc
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40597c
push eax
push 0x7186729c
mov edx, 0x827cbed7
mov ecx, 0xae23f1db
call fcn.00401166
pop ecx
push eax
push ebx
call fcn.00404dd1
add esp, 0xc
movd xmm0, esi
mov edx, 0x23e91708
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
push ecx
push ecx
mov ecx, 0xfb659ee
addsd xmm0, qword [esi*8 + 0x4eed80]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x4eed64]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0xd013db47
call fcn.00401166
pop ecx
push eax
push ebx
call fcn.00404dd1
push dword [esp + 0x30]
call fcn.00404d44
add esp, 0x14
lea ecx, [esp + 0x30]
call fcn.00404da3
mov eax, edi
jmp 0x405a00
push 0x6975c598
mov edx, 0x9a8f098c
mov ecx, 0xb6d04134
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
xor eax, eax
inc eax
pop ecx
pop ecx
mov ecx, dword [esp + 0x594]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b94b6
add esp, 0x58c
ret