Function at 0x504171
Capabilities:
Enumerate files on windows

Disassembly:
push 0x8fc
mov eax, 0x55f0cd
call fcn.0052a9a8
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x6a0]
mov esi, dword [ebp + 0xc]
push eax
call fcn.004a0c80
xor ebx, ebx
lea ecx, [ebp - 0x688]
push esi
mov dword [ebp - 4], ebx
call fcn.004a0c80
lea eax, [ebp - 0x688]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.00502b5f
lea eax, [ebp - 0x670]
mov byte [ebp - 4], 2
push eax
call fcn.0050283a
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.0050275a
add esp, 0x14
lea ecx, [ebp - 0x688]
push eax
call fcn.004a6290
push ebx
push 1
lea ecx, [ebp - 0x658]
call fcn.004c2b53
mov edi, 0x56e404
push edi
call fcn.00518e1c
pop ecx
push eax
push edi
lea ecx, [ebp - 0x6a0]
call fcn.004a5a50
cmp dword [ebp - 0x68c], 8
lea ecx, [ebp - 0x908]
lea eax, [ebp - 0x6a0]
cmovae eax, dword [ebp - 0x6a0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x50447d
lea eax, [ebp - 0x908]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x50447d
xor eax, eax
mov dword [ebp - 0x62c], 7
mov dword [ebp - 0x630], ebx
mov word [ebp - 0x640], ax
cmp word [ebp - 0x8dc], ax
jne 0x50427c
mov eax, ebx
jmp 0x504289
lea eax, [ebp - 0x8dc]
push eax
call fcn.00518e1c
pop ecx
push eax
lea eax, [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x640]
call fcn.00499940
lea eax, [ebp - 0x640]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x6b8]
push eax
call fcn.00502b5f
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x670]
call fcn.004a8a20
push ebx
push 1
lea ecx, [ebp - 0x6b8]
call fcn.004be6ab
lea eax, [ebp - 0x670]
push eax
call fcn.0050283a
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x6b8]
push eax
call fcn.0050275a
add esp, 0xc
lea ecx, [ebp - 0x640]
push eax
call fcn.004a6290
push ebx
push 1
lea ecx, [ebp - 0x6b8]
call fcn.004c2b53
push 0x2e
pop eax
cmp word [ebp - 0x8dc], ax
je 0x50442f
cmp word [ebp - 0x8da], 0
je 0x50442f
cmp word [ebp - 0x8da], ax
jne 0x504340
cmp word [ebp - 0x8d8], 0
je 0x50442f
test byte [ebp - 0x908], 0x10
jne 0x50442f
push 0x208
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.00507800
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00507800
cmp dword [ebp - 0x62c], 8
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
push eax
lea eax, [ebp - 0x218]
push 0x562c64
push eax
call fcn.004a5fd0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00501846
lea eax, [ebp - 0x420]
push str..lnk
push eax
call fcn.005195c6
add esp, 0x34
test eax, eax
jne 0x50442f
push 0x208
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.00507800
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x658]
push eax
call fcn.005019cd
cmp dword [ebp - 0x674], 8
lea ecx, [ebp - 0x688]
lea eax, [ebp - 0x658]
mov byte [ebp - 4], 4
cmovae ecx, dword [ebp - 0x688]
cmp dword [ebp - 0x644], 8
push ecx
cmovae eax, dword [ebp - 0x658]
push eax
call fcn.005022ae
add esp, 0x1c
test eax, eax
jne 0x504446
push ebx
push 1
lea ecx, [ebp - 0x658]
call fcn.004c2b53
push ebx
push 1
lea ecx, [ebp - 0x640]
mov byte [ebp - 4], 2
call fcn.004c2b53
jmp 0x504240
lea eax, [ebp - 0x628]
push eax
push esi
call fcn.005195c6
xor ebx, ebx
test eax, eax
pop ecx
pop ecx
setne bl
lea ecx, [ebp - 0x658]
xor esi, esi
inc ebx
push esi
push 1
call fcn.004c2b53
push esi
push 1
lea ecx, [ebp - 0x640]
call fcn.004c2b53
jmp 0x50447f
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x670]
call fcn.004be6ab
push esi
push 1
lea ecx, [ebp - 0x688]
call fcn.004c2b53
push esi
push 1
lea ecx, [ebp - 0x6a0]
call fcn.004c2b53
mov eax, ebx
call fcn.0052a963
ret 8