Function at 0x4597f7
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push 0x2bc
mov eax, 0x5e3efa
call fcn.0046d2ba
add dword [eax], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c8], ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.00403b30
and dword [ebp - 4], 0
call fcn.00473856
test al, al
je 0x45983a
fmul st(6), st(0)
je 0x459804
and al, 0xd
mov eax, 0xd739c155
push es
sub bh, byte [ebp - 0x38aa52b5]
lea eax, [ebp - 0x70]
push eax
call fcn.00456fca
pop ecx
test eax, eax
jne 0x45985e
mov esi, 0x5e8aa0
push esi
call fcn.00491757
pop ecx
push eax
push esi
lea ecx, [ebp - 0x70]
call fcn.00405710
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x58]
call fcn.00403b00
mov esi, 0x5ea3d4
mov byte [ebp - 4], 1
push esi
call fcn.00491757
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00405710
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.00473337
test al, al
je 0x4598c9
cli
inc ecx
mov dh, 0xa0
loop 0x4598b3
in al, dx
aad 0x99
js 0x4598ee
fisttp dword ss:[edx]
rcr dword [edi], 0x16
sub byte [eax + ebx - 0x66057fbb], ah
dec ebx
rcl esi, 1
mov dl, 0x84
call fcn.00473673
test al, al
je 0x4598eb
sbb al, 0x47
bound ebx, qword [edi + 0x73accdfd]
mov bh, 0x11
dec esi
dec eax
dec ebp
mov byte [0x412bfd06], al
invalid
call fcn.00473490
add dword [eax], eax
test al, al
je 0x45990c
dec ebx
hlt
mov ebx, dword [ebp - 0x2c4]
cmp ebx, 0xffffffff
je 0x459a8e
call fcn.0047344b
test al, al
je 0x459934
adc al, 0x19
lahf
mov al, byte [0xd3aba360]
div dword [edx + ebx*8 + 0x1a]
mov ebx, dword [esi]
invalid
test byte [ebp - 0x2c0], 0x10
je 0x459a0a
cmp word [ebp - 0x294], 0x2e
je 0x459a0a
and dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp word [ebp - 0x294], ax
je 0x459976
lea eax, [ebp - 0x294]
push eax
call fcn.00491757
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402650
mov esi, dword [ebp - 0x2c8]
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0040ce60
push 0
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0041f8c0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00403b00
cmp word [ebp - 0x294], 0
mov byte [ebp - 4], 3
jne 0x4599c9
xor eax, eax
jmp 0x4599d6
lea eax, [ebp - 0x294]
push eax
call fcn.00491757
add eax, dword [eax]
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405710
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push esi
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.004597f7
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0041f8c0
rcl byte [eax - 0x18], 0xff
std
invalid
lea eax, [ebp - 0x2c0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x45991b
call fcn.00473925
test al, al
je 0x459a44
jp 0x4599f1
pop esp
invalid
call fcn.004732f2
test al, al
je 0x459a65
or edi, 0xffffff9d
outsb dx, byte [esi]
jne 0x4599d3
sbb al, 0xb0
sub eax, ebx
mov esp, 0x738bcba4
mov esp, 0x81279c3b
adc eax, 0xe894e2ea
inc ebp
lahf
add dword [eax], eax
call fcn.004739af
test al, al
je 0x459a82
test dword [eax - 0x1d45b34c], ebx
push cs
test dword [ecx - 0x6532547e], esi
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
call 0x1f09dc
mov ch, 0x3c
std
invalid
push dword [ebp - 0x2c4]
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.0041f8c0
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.0041f8c0
call fcn.0046d264
ret