Function at 0x424bd0
Capabilities:
Enumerate files on windows
Enumerate files recursively
Set current directory

Disassembly:
push 0xffffffffffffffff
push 0x5ca466
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x350
push ebx
push ebp
mov ebp, ecx
push esi
or ebx, 0xffffffff
push edi
mov edi, dword [ebp + 0x20]
mov ecx, ebx
xor eax, eax
lea edx, [esp + 0x18]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x14], ebp
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x18]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + ecx + 0x18]
lea ecx, [esp + 0x18]
cmp eax, ecx
jb 0x424c61
mov cl, byte [eax]
cmp cl, 0x2f
je 0x424c58
cmp cl, 0x5c
je 0x424c58
cmp cl, 0x3a
je 0x424c58
lea edx, [esp + 0x18]
cmp eax, edx
je 0x424c58
dec eax
lea ecx, [esp + 0x18]
cmp eax, ecx
jae 0x424c34
jmp 0x424c61
lea edx, [esp + 0x18]
cmp eax, edx
jbe 0x424c61
inc eax
push 0x63e700
push eax
call fcn.00501e90
add esp, 8
test eax, eax
mov eax, dword [0x63e808]
jne 0x424da3
test eax, eax
je 0x424da3
mov ecx, dword [esp + 0x370]
test ecx, ecx
je 0x424c9f
mov eax, dword [0x63e80c]
test eax, eax
jle 0x424d91
dec eax
jmp 0x424cb1
mov ecx, dword [0x63e80c]
dec eax
cmp ecx, eax
jge 0x424d91
mov eax, ecx
inc eax
mov dword [0x63e80c], eax
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x58]
test eax, eax
je 0x424d38
mov ecx, dword [0x63094c]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x14]
mov ecx, ebp
push edx
mov dword [esp + 0x36c], 0
call fcn.00424330
mov eax, dword [eax]
mov byte [esp + 0x368], 1
push eax
lea eax, [esp + 0x14]
push 0x84
push eax
call fcn.005a0854
lea ecx, [esp + 0x14]
mov byte [esp + 0x368], 0
call fcn.00598032
mov ecx, dword [esp + 0x10]
push 0
push 3
push ecx
call fcn.005a0073
cmp eax, 6
jne 0x424d77
mov ecx, ebp
call fcn.00423fb0
lea ecx, [esp + 0x10]
mov dword [esp + 0x368], ebx
call fcn.00598032
mov edx, dword [0x63e80c]
mov eax, dword [0x63e804]
mov ecx, ebx
push 0x63e700
mov edi, dword [eax + edx*4]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x63e700
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x74]
jmp 0x425065
cmp eax, 2
jne 0x424d28
lea ecx, [esp + 0x10]
mov dword [esp + 0x368], ebx
call fcn.00598032
jmp 0x425065
push 0x64
push 0x190
call dword [sym.imp.KERNEL32.dll_Beep]
jmp 0x425065
mov ecx, dword [0x63e804]
test ecx, ecx
jne 0x424dcf
mov ecx, dword [0x61f22c]
lea edx, [ecx*4]
push edx
call fcn.004f5323
add esp, 4
mov dword [0x63e804], eax
xor eax, eax
mov dword [0x63e808], eax
xor esi, esi
test eax, eax
jle 0x424dfd
mov eax, dword [0x63e804]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.004f5907
mov edx, dword [0x63e804]
add esp, 4
mov dword [edx + esi*4], 0
mov eax, dword [0x63e808]
inc esi
cmp esi, eax
jl 0x424dd5
mov ebp, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x18]
push eax
push ecx
mov dword [0x63e808], 0
call ebp
cmp eax, ebx
je 0x425065
lea edi, [esp + 0x148]
mov ecx, ebx
xor eax, eax
lea edx, [esp + 0x25c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x18]
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x63e700
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
xor edx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x63e700
mov ecx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
add esi, 0x63e700
cmp esi, 0x63e700
jb 0x424eed
test edx, edx
jne 0x424e9c
cmp byte [esi], 0x2e
jne 0x424e9c
mov edx, esi
jmp 0x424eb2
mov al, byte [esi]
cmp al, 0x2f
je 0x424ebd
cmp al, 0x5c
je 0x424ebd
cmp al, 0x3a
je 0x424ebd
cmp esi, 0x63e700
je 0x424ec6
dec esi
cmp esi, 0x63e700
jae 0x424e8f
jmp 0x424eed
cmp esi, 0x63e700
jbe 0x424ec6
inc esi
mov byte [esi], 0x2a
inc esi
test edx, edx
je 0x424ee5
mov edi, edx
mov ecx, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push esi
call fcn.004f5580
add esp, 0xc
jmp 0x424eed
mov byte [esi], 0x2e
inc esi
mov byte [esi], 0
dec esi
cmp byte [esi], 0x2e
jne 0x425065
lea eax, [esp + 0x11c]
push eax
push 0x63e700
call ebp
mov ebp, eax
cmp ebp, ebx
je 0x425065
mov bl, byte [esi - 1]
dec esi
push 0x63e700
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov byte [esi], bl
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea edi, [esp + 0x148]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004f5323
mov ecx, dword [0x63e804]
mov edx, dword [0x63e808]
lea edi, [esp + 0x14c]
add esp, 4
mov dword [ecx + edx*4], eax
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x63e808]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, dword [0x63e804]
mov eax, ecx
mov edi, dword [edi + edx*4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x63e808]
mov eax, dword [0x61f22c]
inc ecx
cmp ecx, eax
mov dword [0x63e808], ecx
jl 0x424fba
mov ecx, dword [0x63e804]
add eax, 0x100
mov dword [0x61f22c], eax
shl eax, 2
push eax
push ecx
call fcn.004f4ff4
add esp, 8
mov dword [0x63e804], eax
lea edx, [esp + 0x11c]
push edx
push ebp
call ebx
test eax, eax
jne 0x424f29
push ebp
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [0x63e808]
mov ecx, dword [0x63e804]
push 0x425080
push 4
push eax
push ecx
call fcn.004f6710
mov eax, dword [0x63e808]
add esp, 0x10
xor esi, esi
test eax, eax
jle 0x425065
mov edx, dword [0x63e804]
lea ecx, [esp + 0x25c]
mov eax, dword [edx + esi*4]
push eax
push ecx
call fcn.00501e90
add esp, 8
test eax, eax
je 0x425025
mov eax, dword [0x63e808]
inc esi
cmp esi, eax
jl 0x424ffb
jmp 0x425065
mov edx, dword [0x63e804]
mov dword [0x63e80c], esi
or ecx, 0xffffffff
xor eax, eax
mov edi, dword [edx + esi*4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x63e700
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x370]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00424bd0
mov ecx, dword [esp + 0x360]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x35c
ret 4