Function at 0x10045f0
Capabilities:
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x150
cmp byte [0x1008bf4], 0
mov eax, dword [0x1008390]
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x148], eax
jne 0x100464e
mov edi, dword [sym.imp.KERNEL32.dll_FormatMessageA]
xor esi, esi
push esi
push 0x30
push 0x1008bf4
push esi
push 0x2770
push esi
mov ebx, 0x800
push ebx
call edi
push esi
push 0x30
mov esi, 0x1008bc0
push esi
push 0
push 0x2771
push 0
push ebx
call edi
jmp 0x1004653
mov esi, 0x1008bc0
and dword [0x1009664], 0
push 0x9c44
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
xor eax, eax
test ebx, ebx
jne 0x100467a
mov dword [0x1009664], esi
jmp 0x1004871
push dword [ebp - 0x148]
and dword [ebp - 0x14c], 0
mov ecx, 0x2711
mov edi, ebx
rep stosd dword es:[edi], eax
call fcn.0100439c
mov edi, eax
test edi, edi
jne 0x10046a6
mov dword [0x1009664], esi
jmp 0x100481b
push dword [ebp - 0x148]
call fcn.01004430
test eax, eax
mov dword [ebp - 0x150], eax
je 0x100469b
mov esi, dword [sym.imp.msvcrt.dll__mbscmp]
push 0x10012b8
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x10047fd
push 0x1001374
push dword [ebp - 0x150]
call esi
test eax, eax
pop ecx
pop ecx
je 0x10047fd
push 0x10014f0
push dword [ebp - 0x148]
call esi
test eax, eax
pop ecx
pop ecx
je 0x10047fd
push 0x10014ec
push dword [ebp - 0x148]
call esi
test eax, eax
pop ecx
pop ecx
je 0x10047fd
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x148]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x148], eax
jne 0x100474d
mov dword [0x1009664], 0x1008bf4
push ebx
call fcn.01006894
xor ebx, ebx
jmp 0x100485e
mov esi, 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov ecx, dword [ebp - 0x14c]
mov dword [ebx + ecx*4], eax
je 0x10047ee
push esi
push edi
push eax
call dword [sym.imp.msvcrt.dll__mbsnbcpy]
push edi
call dword [sym.imp.msvcrt.dll__mbslen]
push eax
push edi
call dword [sym.imp.msvcrt.dll__mbsnbcnt]
mov ecx, esi
sub ecx, eax
push ecx
lea eax, [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x14c]
push dword [ebx + eax*4]
call dword [sym.imp.msvcrt.dll__mbsnbcat]
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebx + eax*4]
add esp, 0x24
mov byte [ecx + 0x103], 0
and dword [ebx + eax*4 + 4], 0
inc eax
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x148]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x10047e5
cmp dword [ebp - 0x14c], 0x2710
jl 0x1004752
and dword [0x1009664], 0
jmp 0x100485e
mov dword [0x1009664], 0x1008bc0
jmp 0x1004740
mov esi, 0x104
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov dword [ebx], eax
jne 0x1004825
mov dword [0x1009664], 0x1008bc0
push ebx
call fcn.01006894
xor eax, eax
jmp 0x1004871
push esi
push edi
push eax
call dword [sym.imp.msvcrt.dll__mbsnbcpy]
push edi
call dword [sym.imp.msvcrt.dll__mbslen]
push eax
push edi
call dword [sym.imp.msvcrt.dll__mbsnbcnt]
sub esi, eax
push esi
push dword [ebp - 0x150]
push dword [ebx]
call dword [sym.imp.msvcrt.dll__mbsnbcat]
mov eax, dword [ebx]
add esp, 0x24
mov byte [eax + 0x103], 0
and dword [ebx + 4], 0
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call esi
push dword [ebp - 0x150]
call esi
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01006192
leave
ret 4