Function at 0x458292
Capabilities:
Enumerate files on windows

Disassembly:
push 0x2c0
mov eax, 0x51a94f
call fcn.004d8af2
mov ebx, ecx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x274], ebx
xor esi, esi
mov dword [ebp - 4], esi
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], esi
jne 0x45830e
push 0x1a
push 0x80004005
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x294]
call fcn.00406620
lea eax, [ebp - 0x294]
mov byte [ebp - 4], 1
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x28c]
add ecx, 0xfffffff0
call fcn.00407189
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00407189
mov eax, ebx
jmp 0x458684
push 0x5444d8
lea edx, [ebp + 8]
lea ecx, [ebp - 0x27c]
call fcn.00409442
pop ecx
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 2
push eax
push dword [ebp - 0x27c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x278], edi
cmp edi, 0xffffffff
jne 0x4583b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x1f
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x294]
call fcn.00406620
lea eax, [ebp - 0x294]
mov byte [ebp - 4], 3
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x28c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
jmp 0x458302
push 0x28
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x284], esi
call fcn.004d8429
pop ecx
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x288], eax
mov byte [ebp - 4], 4
test byte [ebp - 0x264], 0x10
jne 0x458503
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x26c]
call fcn.00406fea
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x248]
push ecx
mov ecx, dword [ebp - 0x26c]
mov esi, esp
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x270], eax
lea ecx, [ecx - 0x10]
mov dword [ebp - 0x274], esi
call fcn.004070e7
add eax, 0x10
mov dword [esi], eax
call fcn.004581eb
pop ecx
test al, al
je 0x4584f1
mov ecx, dword [ebp - 0x26c]
mov esi, dword [ebp - 0x250]
mov edi, dword [ebp - 0x24c]
lea ecx, [ecx - 0x10]
call fcn.004070e7
mov ebx, eax
lea eax, [ebx + 0x10]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x2c0], eax
mov byte [ebp - 4], 6
mov ecx, ebx
mov dword [ebp - 0x2b4], esi
mov dword [ebp - 0x2b0], edi
call fcn.004070e7
add eax, 0x10
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x2a0], eax
lea eax, [ebp - 0x2b4]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x288]
call fcn.004bb324
mov ecx, dword [ebp - 0x2ac]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, ebx
call fcn.00407189
mov edi, dword [ebp - 0x278]
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea eax, [ebp - 0x264]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4583df
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp - 0x288]
and dword [ebp - 0x270], 0
and dword [ebp - 0x26c], 0
mov dword [ebp - 0x278], esi
cmp esi, dword [esi]
je 0x458649
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x268], esi
call fcn.004af795
mov eax, dword [ebp - 0x268]
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x268], esi
mov edi, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
call fcn.004af795
mov ecx, dword [ebp - 0x268]
mov ecx, dword [ecx + 0x18]
sub ecx, 0x10
call fcn.004070e7
mov dword [ebp - 0x274], eax
lea ecx, [eax + 0x10]
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x270]
add eax, edi
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x26c]
adc ecx, ebx
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], ecx
cmp ecx, dword [ebp + 0x10]
jb 0x45861b
ja 0x4585bc
cmp eax, dword [ebp + 0xc]
jbe 0x45861b
push 0x53d64c
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28c]
call fcn.00409442
pop ecx
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 9
push ecx
mov edx, eax
lea ecx, [ebp - 0x298]
call fcn.0040a037
pop ecx
mov byte [ebp - 4], 0xa
mov ecx, dword [eax]
call fcn.00428a7e
mov ecx, dword [ebp - 0x298]
mov esi, eax
add ecx, 0xfffffff0
call fcn.00407189
mov ecx, dword [ebp - 0x28c]
add ecx, 0xfffffff0
call fcn.00407189
test esi, esi
jne 0x45861b
call fcn.00406710
mov ecx, dword [ebp - 0x274]
mov byte [ebp - 4], 4
call fcn.00407189
lea ecx, [ebp - 0x278]
call fcn.004af795
mov eax, dword [ebp - 0x288]
mov esi, dword [ebp - 0x278]
cmp esi, dword [eax]
jne 0x458542
mov esi, dword [ebp - 0x280]
and dword [esi], 0
lea ecx, [esi + 8]
and dword [esi + 4], 0
call fcn.0040687a
lea ecx, [ebp - 0x288]
call fcn.004ab2cc
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, esi
call fcn.004d8aa1
ret