Function at 0x408049
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x27c
mov eax, dword [0x4960a8]
xor eax, esp
mov dword [esp + 0x278], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x4080ae
push str.DING::CUtils::EnumFolder_846__:_invalid_parameter
call fcn.00416f04
pop ecx
mov eax, 0x80070057
mov ecx, dword [esp + 0x284]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00459871
mov esp, ebp
pop ebp
ret
and dword [esp + 0x30], 0
push 0x24c
lea eax, [esp + 0x38]
push 0
push eax
call fcn.0045b990
push dword [esp + 0x30]
lea eax, [esp + 0x40]
push eax
push edi
push esi
call ebx
add esp, 0x1c
test al, al
jne 0x4080df
mov eax, 0x800704c7
jmp 0x408099
push 0x497a28
lea ecx, [esp + 0x14]
call fcn.004037fc
lea eax, [esp + 0x10]
push eax
push esi
call fcn.0042df63
pop ecx
pop ecx
test al, al
jne 0x408111
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00403af7
mov eax, 0x8007000e
jmp 0x408099
push dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
call fcn.0042e4ce
pop ecx
pop ecx
test al, al
jne 0x40813d
mov edi, 0x8007000e
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00403af7
mov eax, edi
jmp 0x408099
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x14]
mov esi, 0x4814f4
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
jne 0x408172
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00409ef7
mov edi, 0x80070490
jmp 0x40812a
mov edi, 0x800704c7
test byte [esp + 0x30], 0x10
je 0x408241
lea eax, [esp + 0x5c]
push 0x4806a4
push eax
call fcn.0045bc27
pop ecx
pop ecx
test eax, eax
je 0x408264
lea eax, [esp + 0x5c]
push 0x4806a8
push eax
call fcn.0045bc27
pop ecx
pop ecx
test eax, eax
je 0x408264
cmp byte [ebp + 0x14], 0
je 0x408232
push 0x497a28
lea ecx, [esp + 0x10]
call fcn.004037fc
lea eax, [esp + 0xc]
push eax
push dword [esp + 0x18]
call fcn.0042df63
pop ecx
pop ecx
test al, al
je 0x40828f
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0042e4ce
pop ecx
pop ecx
test al, al
je 0x40828f
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x408205
mov eax, dword [esp + 0x14]
push dword [esp + 0x24]
push ebx
push dword [ebp + 0x14]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x20]
call fcn.00408049
mov ecx, dword [esp + 0x24]
add esp, 0x18
add ecx, 0xfffffff0
cmp eax, edi
je 0x4082ad
call fcn.00403af7
push dword [esp + 0x24]
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x30]
jmp 0x408257
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x40824d
mov eax, dword [esp + 0x14]
push dword [esp + 0x24]
lea ecx, [esp + 0x34]
push ecx
push eax
push dword [esp + 0x20]
call ebx
add esp, 0x10
test al, al
je 0x4082b2
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x408177
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00409ef7
xor edi, edi
jmp 0x40812a
mov ecx, dword [esp + 0xc]
add ecx, 0xfffffff0
call fcn.00403af7
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00409ef7
jmp 0x408125
call fcn.00403af7
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.00409ef7
jmp 0x40812a