Function at 0x4562c5
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x47ad60
call fcn.004461a8
sub esp, 0x34c
push ebx
push esi
xor esi, esi
push edi
mov dword [ebp - 0x14], esi
cmp dword [ebp + 0x14], esi
mov dword [ebp - 4], 2
mov edi, 0x47e5d8
jne 0x45631c
sub esp, 0x28
lea eax, [ebp + 8]
mov dword [ebp - 0x18], esp
mov ecx, esp
push esi
push eax
mov dword [ecx], 0x47e5e0
mov dword [ecx + 0x20], edi
call fcn.00403b7a
call fcn.004560f5
add esp, 0x28
test al, al
jne 0x45631c
xor bl, bl
jmp 0x456670
mov al, byte [ebp + 0x8b]
mov dword [ebp - 0x3c], esi
mov byte [ebp - 0x40], al
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
lea eax, [ebp - 0x40]
lea ecx, [ebp + 0x34]
push eax
push 0x3b
mov byte [ebp - 4], 3
call fcn.00419c81
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x38]
je 0x456547
push dword [ebp - 0x1c]
lea eax, [ebp - 0xe0]
lea ecx, [ebp + 8]
push eax
call fcn.0040e001
mov eax, dword [eax + 8]
cmp eax, esi
jne 0x45636d
mov eax, 0x47e608
lea ecx, [ebp - 0x358]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x18], eax
call fcn.00401f6c
cmp dword [ebp - 0x18], 0xffffffff
mov al, 1
je 0x456532
test al, al
je 0x456532
mov eax, dword [ebp - 0x358]
mov ecx, dword [ebp + 0x84]
and eax, dword [ebp + 0x88]
and ecx, dword [ebp + 0x88]
cmp eax, ecx
jne 0x456518
lea eax, [ebp - 0x32c]
mov ebx, 0x47e5e0
test eax, eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x48], edi
lea eax, [ebp - 0x32c]
jne 0x4563dd
mov eax, 0x49cc4c
lea ecx, [ebp - 0x1e]
push esi
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00403c0d
lea eax, [ebp - 0x68]
push 0x47ff3c
push eax
mov byte [ebp - 4], 4
call fcn.00434b5a
pop ecx
test al, al
pop ecx
jne 0x45650c
lea eax, [ebp - 0x68]
push 0x49b118
push eax
call fcn.00434b5a
pop ecx
test al, al
pop ecx
jne 0x45650c
mov eax, 0x49b110
mov dword [ebp - 0xb8], ebx
mov ecx, eax
mov dword [ebp - 0x98], edi
test ecx, ecx
jne 0x45643b
mov eax, 0x49cc4c
lea ecx, [ebp - 0x1d]
push esi
push ecx
push eax
lea ecx, [ebp - 0xb8]
call fcn.00403c0d
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
mov byte [ebp - 4], 5
call fcn.0045dd05
mov bl, al
lea ecx, [ebp - 0xb8]
neg bl
sbb bl, bl
mov byte [ebp - 4], 4
inc bl
call fcn.00401f6c
test bl, bl
je 0x45650c
cmp byte [ebp + 0x8c], 0
je 0x456490
lea ecx, [ebp + 8]
jmp 0x4564bb
lea eax, [ebp - 0xd]
push esi
push eax
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], 0x47e5e0
mov dword [ebp - 0x70], edi
call fcn.004029f5
or dword [ebp - 0x14], 1
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 6
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040e001
mov edx, dword [ebp + 0x30]
push eax
mov dword [ebp - 4], 7
mov ecx, dword [edx + 8]
push ecx
mov ecx, edx
call fcn.0045e48a
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 6
call fcn.00401f6c
test byte [ebp - 0x14], 1
mov dword [ebp - 4], 4
je 0x45650c
and dword [ebp - 0x14], 0xfffffffe
lea ecx, [ebp - 0x90]
call fcn.00401f6c
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 3
call fcn.00401f6c
lea eax, [ebp - 0x358]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
setne al
jmp 0x456395
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_FindClose]
add dword [ebp - 0x1c], 0x28
mov eax, dword [ebp - 0x1c]
jmp 0x456346
cmp byte [ebp + 0x90], 0
jne 0x456557
mov bl, 1
jmp 0x456664
mov al, byte [ebp + 0x8b]
mov dword [ebp - 0x2c], esi
mov byte [ebp - 0x30], al
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
push esi
push 1
pop esi
lea eax, [ebp - 0xd]
push esi
push 0x10
push 0x10
mov byte [ebp - 4], 8
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x18], esp
push esi
push eax
push 0x49b108
call fcn.00408b60
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp + 8]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
push eax
call fcn.0040e08c
mov byte [ebp - 4], 8
call fcn.0045622b
mov ebx, dword [ebp - 0x2c]
add esp, 0x64
cmp ebx, dword [ebp - 0x28]
je 0x456656
push 0x47ff3c
push ebx
call fcn.00434b5a
pop ecx
test al, al
pop ecx
jne 0x45664a
push 0x49b118
push ebx
call fcn.00434b5a
pop ecx
test al, al
pop ecx
jne 0x45664a
push dword [ebp + 0x90]
lea eax, [ebp + 0x5c]
push dword [ebp + 0x8c]
push dword [ebp + 0x88]
push dword [ebp + 0x84]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x18], esp
push esi
push eax
call fcn.0040e08c
sub esp, 0x28
lea eax, [ebp + 0x34]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push esi
push eax
mov byte [ebp - 4], 0xa
call fcn.0040e08c
push dword [ebp + 0x30]
mov byte [ebp - 4], 0xb
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x14], esp
push esi
push ebx
call fcn.0040e08c
mov byte [ebp - 4], 8
call fcn.004562c5
add esp, 0x8c
test al, al
je 0x456652
add ebx, 0x28
jmp 0x4565b6
xor bl, bl
jmp 0x456658
mov bl, 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00407006
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.00407006
lea ecx, [ebp + 8]
mov byte [ebp - 4], 1
call fcn.00401f6c
and byte [ebp - 4], 0
lea ecx, [ebp + 0x34]
call fcn.00401f6c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5c]
call fcn.00401f6c
mov ecx, dword [ebp - 0xc]
pop edi
mov al, bl
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret