Function at 0x4599fb
Capabilities:
Enumerate files on windows

Disassembly:
push 0x2bc
mov eax, 0x5e24e2
call fcn.0046dcda
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c8], ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.004041e0
and dword [ebp - 4], 0
call fcn.0045209f
test al, al
je 0x459a4b
invalid
lea eax, [ebp - 0x70]
push eax
call fcn.00456a30
pop ecx
test eax, eax
jne 0x459a6f
mov esi, 0x5e6ba4
push esi
call fcn.0048ece7
pop ecx
push eax
push esi
lea ecx, [ebp - 0x70]
call fcn.00405da0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x58]
call fcn.004041b0
mov esi, 0x5e8400
mov byte [ebp - 4], 1
push esi
call fcn.0048ece7
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00405da0
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x2c0]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2c4], eax
call fcn.00452351
test al, al
je 0x459ad4
add byte es:[ebx + 0x40], ch
in al, dx
cmp al, 0xa2
pop ss
or al, dl
xchg ebx, eax
dec eax
xchg esi, eax
mov bh, 0xd0
mov byte [0x760f08dc], al
mov eax, dword [0xbe8b3ce]
xchg bh, bh
inc dword [eax + eax*8 + 0x4a691874]
cmp bh, byte [edi + 0x7c]
mov ch, byte [ebx + ebx*2]
call fcn.004520e4
test al, al
je 0x459af5
imul ecx, dword [edx + 0x3a], 0x2c8a7c7f
pop ebx
sub esi, dword [eax + ebx*4]
scasb al, byte es:[edi]
push ebx
paddsb mm1, qword [ebp + ecx*8 - 0xd0507b8]
aaa
call fcn.0045216e
call fcn.0045216e
test al, al
je 0x459b16
hlt
mov edi, dword [ebp - 0x2c4]
cmp edi, 0xffffffff
je 0x459c51
mov ebx, dword [ebp - 0x2c8]
call fcn.0045230c
test al, al
je 0x459b4c
shr dword [edx + 0xd], cl
cmc
adc al, 0xa3
jno 0x459bbb
int1
cdq
jo 0x459b43
xchg esi, eax
push ds
jno 0x459ba3
pop edi
mov dword [edi - 0x75], edx
mov ebp, 0xfffffd3c
test byte [ebp - 0x2c0], 0x10
je 0x459c1b
cmp word [ebp - 0x294], 0x2e
je 0x459c1b
xor eax, eax
mov dword [ebp - 0x14], 7
xor esi, esi
mov word [ebp - 0x28], ax
mov dword [ebp - 0x18], esi
cmp word [ebp - 0x294], ax
je 0x459b8f
lea eax, [ebp - 0x294]
push eax
call fcn.0048ece7
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402ad0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, ebx
call fcn.0040cde0
push esi
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0041edb0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.004041b0
cmp word [ebp - 0x294], 0
mov byte [ebp - 4], 3
jne 0x459bdb
inc ebp
cld
add dl, byte [eax - 0x75]
retf
cld
dec dword [ebp - 0x72af6fbb]
dec ebp
shr al, 0xe7
movsd dword es:[edi], dword [esi]
cli
jmp dword [esi - 0x7d]
mov eax, esi
jmp 0x459be8
lea eax, [ebp - 0x294]
push eax
call fcn.0048ece7
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405da0
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push ebx
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.004599fb
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0041edb0
lea eax, [ebp - 0x2c0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x459b2b
call fcn.00452579
test al, al
je 0x459c4a
push 0xffffffffffffff9e
popal
jecxz 0x459c6d
jno 0x459c93
adc byte [edx + 0x32], 0xeb
invalid
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.0041edb0
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.0041edb0
call fcn.0046dc84
ret
add bl, al