Function at 0x50cd60
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x906648]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], eax
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x258], ebx
push esi
mov esi, dword [ebp + 8]
push edi
test ecx, ecx
je 0x50cd9e
mov dword [ecx], 0
test eax, eax
je 0x50cdb0
mov dword [eax], 0
nop dword [eax + eax]
mov eax, dword [esi + 0x824]
mov ecx, dword [esi + eax*8 + 4]
cmp ecx, 0xffffffff
jne 0x50d046
test eax, eax
je 0x50ce59
mov ecx, dword [esi + eax*8 + 8]
mov eax, dword [esi + 0x828]
add ecx, ecx
sub eax, ecx
push 0x6d4d20
push eax
mov eax, dword [esi]
add eax, ecx
push eax
call fcn.004f3880
add esp, 0xc
test eax, eax
jne 0x50ce59
mov eax, dword [esi + 0x828]
lea edi, [eax + eax]
cmp edi, eax
jle 0x50d0c0
push 0x304c5151
push edi
call fcn.004f3590
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x50d0aa
push dword [esi]
push dword [esi + 0x828]
push ebx
call fcn.004f3880
push dword [esi]
call fcn.004f3570
mov dword [esi + 0x828], edi
mov dword [esi], ebx
mov eax, dword [esi + 0x824]
push 0x6d4d20
mov eax, dword [esi + eax*8 + 8]
add eax, eax
sub edi, eax
add eax, ebx
push edi
push eax
call fcn.004f3880
add esp, 0x1c
test eax, eax
je 0x50cdf0
lea eax, [ebp - 0x254]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [esi + 0x824]
cmp eax, 0xffffffff
jne 0x50ceae
lea eax, [ecx - 1]
mov dword [esi + 0x824], eax
test eax, eax
jns 0x50cdb0
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x50d094
pop edi
pop esi
mov dword [ecx], 0
mov eax, 0x3f0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0063c972
mov esp, ebp
pop ebp
ret
mov dword [esi + ecx*8 + 4], eax
lea eax, [ebp - 0x228]
push 0x6d2800
push eax
call fcn.004f37c0
add esp, 8
test eax, eax
je 0x50cdb0
lea eax, [ebp - 0x228]
push 0x6d4d28
push eax
call fcn.004f37c0
add esp, 8
test eax, eax
je 0x50cdb0
mov eax, dword [esi + 0x824]
mov ebx, dword [esi + 0x828]
mov ecx, dword [esi + eax*8 + 8]
mov eax, dword [esi]
add ecx, ecx
add eax, 2
sub ebx, ecx
add eax, ecx
sub ebx, 2
lea ecx, [ebp - 0x228]
push ecx
push ebx
push eax
call fcn.004f3880
add esp, 0xc
test eax, eax
jne 0x50cf98
mov eax, dword [esi + 0x828]
add ebx, eax
mov dword [ebp - 0x25c], ebx
lea ebx, [eax + eax]
cmp ebx, eax
jle 0x50d0c0
push 0x304c5151
push ebx
call fcn.004f3590
mov edi, eax
add esp, 8
test edi, edi
je 0x50d0aa
push dword [esi]
push dword [esi + 0x828]
push edi
call fcn.004f3880
push dword [esi]
call fcn.004f3570
mov eax, dword [esi + 0x824]
lea ecx, [ebp - 0x228]
mov dword [esi + 0x828], ebx
mov ebx, dword [ebp - 0x25c]
mov dword [esi], edi
mov eax, dword [esi + eax*8 + 8]
inc eax
push ecx
push ebx
lea eax, [edi + eax*2]
push eax
call fcn.004f3880
add esp, 0x1c
test eax, eax
je 0x50cf21
mov ecx, dword [ebp - 0x254]
mov eax, ecx
and eax, 0x400
je 0x50cfc3
cmp dword [ebp - 0x230], 0xa000000c
jne 0x50cfc3
mov edx, dword [ebp - 0x260]
test edx, edx
je 0x50cfc3
mov dword [edx], 1
test cl, 0x10
je 0x50d025
mov ecx, dword [esi + 0x82c]
test cl, 2
je 0x50cfd7
test eax, eax
jne 0x50d025
mov eax, dword [esi + 0x824]
test eax, eax
je 0x50cfe6
test cl, 1
jne 0x50d015
inc eax
mov dword [esi + 0x824], eax
mov dword [esi + eax*8 + 4], 0xffffffff
mov eax, dword [esi + 0x824]
lea edi, [esi + eax*8]
lea eax, [ebp - 0x228]
push eax
call fcn.004f36b0
mov ecx, dword [edi]
add esp, 4
inc ecx
add eax, ecx
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x50d025
mov dword [eax], 1
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x50d033
mov eax, dword [esi]
mov dword [ecx], eax
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0063c972
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x254]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x50ceb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x50d0d6
mov eax, dword [esi + 0x824]
push dword [esi + eax*8 + 4]
call dword [sym.imp.KERNEL32.dll_FindClose]
add dword [esi + 0x824], 0xffffffff
jns 0x50cdb0
mov ebx, dword [ebp - 0x258]
test ebx, ebx
je 0x50d094
mov dword [ebx], 0
pop edi
pop esi
mov eax, 0x3f0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0063c972
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xc
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0063c972
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x3eb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0063c972
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x258]
test ebx, ebx
je 0x50d0e6
mov dword [ebx], 0
push eax
call fcn.004f1a60
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0063c972
mov esp, ebp
pop ebp
ret