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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x453243
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x180
mov dword [ebp - 0x18c], ecx
push 0x20
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00434c4d
and eax, 0x20
test eax, eax
je 0x403e9a
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.00434cb3
test eax, eax
jne 0x403f08
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.00403b04
test eax, eax
jne 0x403f03
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x174]
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.00403211
mov dword [ebp - 4], 0
lea edx, [ebp - 0x174]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00403aa3
push 1
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.00404690
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.0043b962
jmp 0x404221
push 0xa
lea ecx, [ebp - 0x16c]
call fcn.004358eb
mov dword [ebp - 4], 1
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.00404730
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
je 0x40400f
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00404760
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x170]
push ecx
lea edx, [ebp - 0x178]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.00434b6e
mov byte [ebp - 4], 2
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x178]
call fcn.004013f0
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0xffffffff
je 0x403fdd
mov ecx, dword [ebp - 0x14c]
and ecx, 0x10
test ecx, ecx
je 0x403fbc
lea edx, [ebp - 0x178]
push edx
lea ecx, [ebp - 0x16c]
call fcn.00435ad7
jmp 0x403fce
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00404660
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x403fef
mov edx, dword [ebp - 0x170]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.00404660
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x170], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x178]
call fcn.0043b962
jmp 0x403f31
lea ecx, [ebp - 0x14c]
push ecx
push 0x46b298
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0xffffffff
je 0x404171
mov edx, dword [ebp - 0x14c]
and edx, 0x10
test edx, edx
je 0x404148
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x180]
call fcn.0043b9d0
mov byte [ebp - 4], 3
push 0x46b29c
lea ecx, [ebp - 0x180]
push ecx
call fcn.00404590
and eax, 0xff
test eax, eax
je 0x404139
push 0x46b2a0
lea edx, [ebp - 0x180]
push edx
call fcn.00404590
and eax, 0xff
test eax, eax
je 0x404139
push 0
lea ecx, [ebp - 0x180]
call fcn.004013f0
push eax
lea ecx, [ebp - 0x16c]
call fcn.00435db9
test eax, eax
jne 0x404139
push 0xffff0003
mov eax, dword [ebp + 8]
push eax
push 6
push 5
lea ecx, [ebp - 0x180]
call fcn.004013f0
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00404620
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
push ecx
lea edx, [ebp - 0x184]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.00403211
mov byte [ebp - 4], 4
lea eax, [ebp - 0x184]
push eax
mov ecx, dword [ebp - 0x170]
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.00403a7a
lea edx, [ebp - 0x180]
push edx
lea ecx, [ebp - 0x16c]
call fcn.00435ad7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x184]
call fcn.0043b962
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x180]
call fcn.0043b962
lea eax, [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x404034
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x16c]
call fcn.0043592a
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00404730
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 0
je 0x40420f
mov ecx, dword [ebp - 0x170]
push ecx
lea edx, [ebp - 0x188]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.00434b6e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x188]
call fcn.004013f0
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x18c]
call fcn.00403e4b
push 0x46b2a4
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ecx, dword [ebp - 0x170]
push ecx
mov ecx, dword [ebp - 0x18c]
call fcn.00404760
mov dword [ebp - 0x170], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x188]
call fcn.0043b962
jmp 0x404191
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x16c]
call fcn.0043595f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4