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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd40
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2c0], ebx
mov dword [ebp - 0x2bc], ebx
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404bac
xor eax, eax
push ebp
push 0x4d2375
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
call fcn.00404bbc
push eax
call sub.kernel32.dll_SetCurrentDirectoryA
lea eax, [ebp - 0x160]
push eax
push 0x4d2388
call sub.kernel32.dll_FindFirstFileA_1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
je 0x4d2339
mov eax, dword [0x4eb718]
cmp byte [eax], 2
je 0x4d2339
mov eax, dword [0x4eba00]
mov eax, dword [eax]
call fcn.004809e8
mov ebx, dword [ebp - 0x160]
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x134]
mov ecx, 0x104
call fcn.0040496c
mov eax, dword [ebp - 0x10]
mov edx, 0x4d2394
call fcn.00404b08
je 0x4d231b
mov eax, dword [ebp - 0x10]
mov edx, 0x4d23a0
call fcn.00404b08
je 0x4d231b
cmp ebx, 0x10
je 0x4d1eca
cmp ebx, 2
je 0x4d1eca
cmp ebx, 4
je 0x4d1eca
cmp ebx, 0x80
je 0x4d1eca
cmp ebx, 0x100
je 0x4d1eca
cmp ebx, 0x20
je 0x4d1eca
cmp ebx, 0x11
je 0x4d1eca
cmp ebx, 0x12
je 0x4d1eca
cmp ebx, 0x13
je 0x4d1eca
cmp ebx, 0x14
jne 0x4d231b
cmp dword [ebp + 8], 0
jne 0x4d2120
lea edx, [ebp - 0x2b0]
mov eax, dword [ebp - 0x10]
call fcn.00409534
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x14]
call fcn.004088f0
mov edx, dword [ebp - 0x14]
mov eax, 0x4d23ac
call fcn.00404d00
test eax, eax
jne 0x4d2120
mov edx, dword [ebp - 0x14]
mov eax, 0x4d23c0
call fcn.00404d00
test eax, eax
jne 0x4d2120
mov edx, dword [ebp - 0x14]
mov eax, 0x4d23d4
call fcn.00404d00
test eax, eax
jne 0x4d2120
push dword [ebp - 4]
push 0x4d23e4
push dword [ebp - 0x10]
lea eax, [ebp - 0x2b4]
mov edx, 3
call fcn.00404a7c
mov edx, dword [ebp - 0x2b4]
mov ecx, dword [0x4ebc10]
mov ecx, dword [ecx]
mov eax, 0x4d23f0
call fcn.004c9220
test al, al
jne 0x4d2120
mov eax, dword [ebp + 0xc]
call fcn.004975dc
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
mov byte [eax + 0x12], 1
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
mov byte [eax + 0xc], 1
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
xor edx, edx
mov dword [eax + 0xe], edx
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x13
mov edx, 0x4d2408
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x17
mov edx, 0x4d2418
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x1b
mov edx, 0x4d2434
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x1f
mov edx, 0x4d23f0
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x23
push eax
lea edx, [ebp - 0x2b8]
mov eax, dword [ebp - 0x10]
call fcn.00409534
mov edx, dword [ebp - 0x2b8]
pop eax
call fcn.00404750
push dword [ebp - 4]
push 0x4d23e4
push dword [ebp - 0x10]
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x2f
mov edx, 3
call fcn.00404a7c
push dword [ebp - 4]
push 0x4d23e4
push dword [ebp - 0x10]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404a7c
mov eax, dword [ebp - 0x18]
call fcn.004093e8
test al, al
je 0x4d210c
xor eax, eax
push ebp
push 0x4d20ee
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x2ac]
call fcn.00402e44
mov edx, 1
lea eax, [ebp - 0x2ac]
call fcn.004032e8
call fcn.004028bc
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x4b
push eax
lea eax, [ebp - 0x2ac]
call fcn.00403158
call fcn.004028bc
pop edx
mov dword [edx], eax
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
mov eax, dword [eax + 0x4b]
mov edx, dword [0x4ebbd0]
add dword [edx], eax
lea eax, [ebp - 0x2ac]
call fcn.00402fb4
call fcn.004028bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d210c
inc dword [ebp - 0x20]
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.004c8cf4
cmp dword [ebp + 8], 1
jne 0x4d231b
push dword [ebp - 4]
push 0x4d23e4
push dword [ebp - 0x10]
lea eax, [ebp - 0x2bc]
mov edx, 3
call fcn.00404a7c
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [0x4ebc10]
mov ecx, dword [ecx]
mov eax, 0x4d2454
call fcn.004c9220
test al, al
jne 0x4d231b
mov eax, dword [ebp + 0xc]
call fcn.004975dc
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
mov byte [eax + 0x12], 1
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
mov byte [eax + 0xc], 1
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
xor edx, edx
mov dword [eax + 0xe], edx
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x13
mov edx, 0x4d2408
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x17
mov edx, 0x4d2418
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x1b
mov edx, 0x4d246c
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x1f
mov edx, 0x4d2454
call fcn.00404750
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x23
push eax
lea edx, [ebp - 0x2c0]
mov eax, dword [ebp - 0x10]
call fcn.00409534
mov edx, dword [ebp - 0x2c0]
pop eax
call fcn.00404750
push dword [ebp - 4]
push 0x4d23e4
push dword [ebp - 0x10]
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x2f
mov edx, 3
call fcn.00404a7c
push dword [ebp - 4]
push 0x4d23e4
push dword [ebp - 0x10]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404a7c
mov eax, dword [ebp - 0x18]
call fcn.004093e8
test al, al
je 0x4d2307
xor eax, eax
push ebp
push 0x4d22e9
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x2ac]
call fcn.00402e44
mov edx, 1
lea eax, [ebp - 0x2ac]
call fcn.004032e8
call fcn.004028bc
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
add eax, 0x4b
push eax
lea eax, [ebp - 0x2ac]
call fcn.00403158
call fcn.004028bc
pop edx
mov dword [edx], eax
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004975f0
mov eax, dword [eax + 0x4b]
mov edx, dword [0x4ebbd0]
add dword [edx], eax
lea eax, [ebp - 0x2ac]
call fcn.00402fb4
call fcn.004028bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d2307
inc dword [ebp - 0x20]
mov eax, dword [ebp - 8]
push eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
call fcn.004c8cf4
lea eax, [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_FindNextFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x4d1e35
mov eax, dword [ebp - 0x1c]
push eax
call sub.kernel32.dll_FindClose_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d237c
lea eax, [ebp - 0x2c0]
mov edx, 5
call fcn.00404720
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404720
lea eax, [ebp - 4]
call fcn.004046fc
ret