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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x530fed
mov eax, dword fs:[0]
push eax
sub esp, 0x7cc
mov eax, dword [0x58c804]
xor eax, ebp
mov dword [ebp - 0x10], eax
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7b8], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x424], 1
mov byte [ebp - 0x214], 0
push 0x1ff
push 0
lea eax, [ebp - 0x213]
push eax
call fcn.00515e20
add esp, 0xc
mov byte [ebp - 0x764], 0
push 0x1ff
push 0
lea ecx, [ebp - 0x763]
push ecx
call fcn.00515e20
add esp, 0xc
mov byte [ebp - 0x41c], 0
push 0x1ff
push 0
lea edx, [ebp - 0x41b]
push edx
call fcn.00515e20
add esp, 0xc
call fcn.00416f3e
mov dword [ebp - 0x770], eax
mov eax, dword [ebp - 0x770]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00413480
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x774], edx
cmp dword [ebp - 0x774], 0x200
jle 0x41428f
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00402030
mov dword [ebp - 4], 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00402030
jmp 0x41458f
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x780], ecx
cmp dword [ebp - 0x780], 0x200
jae 0x41430b
mov edx, dword [ebp + 8]
mov dword [ebp - 0x7bc], edx
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7c0]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x7bc]
mov al, byte [edx]
mov byte [ebp - 0x7c5], al
mov ecx, dword [ebp - 0x7c0]
mov dl, byte [ebp - 0x7c5]
mov byte [ecx], dl
mov eax, dword [ebp - 0x7bc]
add eax, 1
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x7c0]
add ecx, 1
mov dword [ebp - 0x7c0], ecx
cmp byte [ebp - 0x7c5], 0
jne 0x4142c8
lea edx, [ebp - 0x41c]
add edx, 0xffffffff
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x7cc]
mov cl, byte [eax + 1]
mov byte [ebp - 0x7cd], cl
add dword [ebp - 0x7cc], 1
cmp byte [ebp - 0x7cd], 0
jne 0x41431a
mov edi, dword [ebp - 0x7cc]
mov edx, dword [0x544cd0]
mov dword [edi], edx
mov al, byte [0x544cd4]
mov byte [edi + 4], al
lea ecx, [ebp - 0x564]
push ecx
lea edx, [ebp - 0x41c]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0xffffffff
jne 0x4143a0
mov byte [ebp - 4], 5
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00402030
mov dword [ebp - 4], 6
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00402030
jmp 0x41458f
mov dword [ebp - 0x768], 0
cmp dword [ebp - 0x424], 0
je 0x414559
mov eax, dword [ebp - 0x768]
add eax, 1
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x78c], edx
cmp dword [ebp - 0x78c], 0x200
jbe 0x4143e3
jmp 0x414559
lea eax, [ebp - 0x538]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x544cc8
lea edx, [ebp - 0x214]
push edx
call fcn.00517adb
add esp, 0x10
mov eax, dword [ebp - 0x564]
and eax, 0x10
je 0x414473
lea ecx, [ebp - 0x214]
push ecx
push 0x544cc4
lea edx, [ebp - 0x764]
push edx
call fcn.00517adb
add esp, 0xc
movsx eax, byte [ebp - 0x538]
cmp eax, 0x2e
je 0x41446e
push ecx
mov ecx, esp
mov dword [ebp - 0x76c], esp
lea edx, [ebp - 0x214]
push edx
call fcn.00401c80
mov dword [ebp - 0x7d4], eax
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x7d8], eax
mov byte [ebp - 4], 7
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x7b8]
call fcn.00414180
jmp 0x41453a
mov ecx, dword [ebp - 0x7b8]
cmp dword [ecx + 0x7c], 0
jne 0x414497
push str.tc_fltr.exe
lea edx, [ebp - 0x538]
push edx
call fcn.00521e31
add esp, 8
test eax, eax
je 0x4144d6
mov eax, dword [ebp - 0x7b8]
cmp dword [eax + 0x88], 0
jne 0x4144f5
push str.TC_RV.exe
lea ecx, [ebp - 0x538]
push ecx
call fcn.00521e31
add esp, 8
test eax, eax
je 0x4144d6
push str.TC_R.exe
lea edx, [ebp - 0x538]
push edx
call fcn.00521e31
add esp, 8
test eax, eax
jne 0x4144f5
lea eax, [ebp - 0x564]
push eax
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x424], eax
jmp 0x4143aa
mov edx, dword [0x59030c]
mov dword [ebp - 0x7a8], edx
lea eax, [ebp + 8]
push eax
mov ecx, dword [ebp - 0x7a8]
push ecx
mov ecx, 0x590304
call fcn.00424dd6
mov edx, dword [0x590320]
mov dword [ebp - 0x7ac], edx
lea eax, [ebp - 0x538]
push eax
mov ecx, dword [ebp - 0x7ac]
push ecx
mov ecx, 0x590318
call fcn.00424e28
lea edx, [ebp - 0x564]
push edx
mov eax, dword [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov dword [ebp - 0x424], eax
jmp 0x4143aa
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00402030
mov dword [ebp - 4], 9
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00402030
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0051555a
mov esp, ebp
pop ebp
ret 4