Function at 0x4112b2
Capabilities:
Check if file exists
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x20068
call fcn.00418280
mov eax, dword [0x419074]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, edx
push edi
mov edi, ecx
mov dword [ebp - 0x2005c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20064], ebx
mov dword [ebp - 0x2004c], edi
mov dword [ebp - 0x20060], esi
mov dword [ebp - 0x20058], eax
mov dword [ebp - 0x20054], 0x2000000
call fcn.0040812c
and dword [ebp - 0x20050], 0
cmp esi, 4
jb 0x41137d
push 0x2a
pop eax
mov word [ebx], ax
xor eax, eax
mov word [ebx + 2], ax
cmp dword [0x419514], eax
jne 0x411335
mov esi, 0x2200000
mov dword [ebp - 0x20054], esi
jmp 0x41133a
mov esi, 0x2000000
push 0x45afa0
push 0x41af80
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x20044], eax
cmp eax, 0xffffffff
jne 0x411390
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x41137d
push ecx
mov edx, 0x43afa0
mov ecx, edi
call fcn.0040e9c4
push eax
push 0x40668c
push 0xffffffffffffffff
call fcn.004129f0
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00417b60
leave
ret 0xc
xor eax, eax
mov word [ebx], ax
mov ebx, dword [ebp - 0x20044]
mov eax, dword [0x45afcc]
mov ecx, dword [0x45afd0]
cmp eax, 0x2e
je 0x411541
movzx ecx, cx
cmp eax, 0x2e002e
jne 0x4113c1
test ecx, ecx
je 0x411541
push ecx
lea edx, [ebp - 0x2000c]
mov ecx, edi
call fcn.0040a593
push 0x45afcc
mov edx, 0x20000
lea ecx, [ebp - 0x2000c]
call fcn.00407ff8
push 0
push esi
push 3
push 0
push 3
push 0x80
lea eax, [ebp - 0x2000c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x411420
lea eax, [ebp - 0x2000c]
push eax
push 0x4066bc
push esi
call fcn.004129f0
add esp, 0xc
jmp 0x411541
lea eax, [ebp - 0x20040]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
jne 0x411454
lea eax, [ebp - 0x2000c]
push eax
push 0x4066bc
push 0xffffffffffffffff
call fcn.004129f0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x411541
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0x20040]
test bl, 2
je 0x411473
cmp dword [0x41aecc], 0
je 0x41153b
shr ebx, 4
and ebx, 1
mov ecx, ebx
call fcn.00408ec5
test byte [ebp - 0x20040], 2
mov esi, eax
je 0x411492
or dword [esi + 0x14], 0x80
cmp word [0x45b1d4], 0
je 0x4114a3
or dword [esi + 0x14], 0x8000
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x1c], edi
test edx, edx
je 0x4114e8
mov eax, dword [ebp - 0x2002c]
mov ecx, dword [ebp - 0x20028]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x20034]
mov edx, dword [ebp - 0x20030]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x2003c]
mov edx, dword [ebp - 0x20038]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
push 0x45afcc
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp dword [0x41af30], 0
mov dword [ebp - 0x20048], eax
jne 0x411633
cmp eax, 0x6e
jbe 0x4115f3
mov esi, 0x406390
test ebx, ebx
jne 0x41151d
mov esi, 0x40639c
push 0x45afcc
push ecx
mov ecx, edi
call fcn.0040e943
push eax
push esi
push 0x4066f0
push 0
call fcn.004129f0
add esp, 0x14
mov ebx, dword [ebp - 0x20044]
push 0x45afa0
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov esi, dword [ebp - 0x20054]
test eax, eax
jne 0x41139b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x411583
push ecx
mov edx, 0x43afa0
mov ecx, edi
call fcn.0040e9c4
push eax
push 0x40668c
push 0xffffffffffffffff
call fcn.004129f0
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x20050]
mov esi, eax
test eax, eax
je 0x41137f
mov ebx, dword [ebp - 0x20064]
cmp dword [esi + 0x14], 0
jge 0x411935
movzx eax, word [esi + 0x1a]
mov ecx, dword [ebp - 0x20060]
lea edi, [eax + eax]
lea eax, [edi + 4]
cmp ecx, eax
jae 0x4118ee
push ecx
push ecx
mov ecx, esi
call fcn.0040e943
push eax
push 0x401130
push 0x4068b8
call dword [sym.imp.msvcrt.dll_printf]
push 1
call fcn.004181a9
add esp, 0x14
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
jmp 0x411935
push 0x3b
push 0x45afcc
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x41162d
mov esi, 0x406390
test ebx, ebx
jne 0x411614
mov esi, 0x40639c
push 0x45afcc
push ecx
mov ecx, edi
call fcn.0040e943
push eax
push esi
push 0x406728
jmp 0x411531
mov eax, dword [ebp - 0x20048]
lea edi, [eax*2 + 2]
mov word [esi + 0x1a], ax
mov ecx, edi
call fcn.00412c5b
shr edi, 1
mov dword [esi + 4], eax
je 0x41165c
push ecx
push 0x45afcc
push ecx
mov edx, edi
mov ecx, eax
call fcn.00408061
mov ecx, dword [ebp - 0x20050]
mov edx, esi
call fcn.0040f1d4
cmp dword [0x41af30], 0
mov dword [ebp - 0x20050], eax
jne 0x41176e
mov eax, dword [0x41ae9c]
test eax, eax
je 0x41171d
cmp dword [ebp - 0x20048], 0x40
jbe 0x4116d1
mov edi, 0x406390
test ebx, ebx
jne 0x4116a0
mov edi, 0x40639c
push ecx
mov ecx, esi
call fcn.0040e943
push eax
push edi
push 0x401130
push 0x406788
call dword [sym.imp.msvcrt.dll_printf]
push 1
call fcn.004181a9
add esp, 0x14
push eax
call dword [sym.imp.msvcrt.dll_fflush]
mov eax, dword [0x41ae9c]
pop ecx
test eax, eax
je 0x41171d
mov ecx, 0x45afcc
call fcn.0041121b
test eax, eax
jne 0x41171d
mov edi, 0x406390
test ebx, ebx
jne 0x4116f1
mov edi, 0x40639c
push ecx
mov ecx, esi
call fcn.0040e943
push eax
push edi
push 0x401130
push 0x4067d0
call dword [sym.imp.msvcrt.dll_printf]
push 1
call fcn.004181a9
add esp, 0x14
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
cmp dword [0x41ae90], 0
je 0x41176e
mov eax, dword [ebp - 0x20048]
mov ecx, dword [ebp - 0x20058]
lea eax, [ecx + eax*2]
add eax, dword [ebp - 0x2005c]
cmp eax, 0xf0
jbe 0x41176e
push ecx
mov ecx, esi
call fcn.0040e943
push eax
push 0x401130
push 0x406820
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
push 1
call fcn.004181a9
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
test ebx, ebx
jne 0x411829
or ebx, dword [ebp - 0x2001c]
cmp dword [0x41ae8c], 0
mov ecx, dword [ebp - 0x20020]
mov dword [ebp - 0x20048], ecx
je 0x4117c9
mov eax, ebx
or eax, ecx
jne 0x4117c9
push ecx
mov ecx, esi
call fcn.0040e943
push eax
push 0x401130
push 0x406864
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0xc
push 1
call fcn.004181a9
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
mov ecx, dword [ebp - 0x20048]
mov dword [esi + 0xc], ecx
push 0
pop edx
mov dword [esi + 8], ebx
mov esi, dword [0x41912c]
mov edi, esi
add edi, ebx
push 0
adc edx, ecx
add edi, 0xffffffff
pop eax
adc edx, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
push 0
adc eax, 0xffffffff
not ecx
not eax
and edi, ecx
push esi
and edx, eax
push edx
push edi
call fcn.00418210
add dword [0x419548], eax
add dword [0x41acf8], ebx
mov eax, dword [ebp - 0x20048]
adc dword [0x41acfc], eax
call fcn.00408180
mov edi, dword [ebp - 0x2004c]
jmp 0x41153b
cmp dword [0x41af48], 0
mov edi, dword [ebp - 0x2004c]
je 0x41153b
cmp dword [0x41af54], 0
jne 0x411867
cmp edi, dword [0x419e60]
jne 0x411867
push 0x402274
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x411867
mov dword [0x41af54], esi
cmp dword [0x41af48], 0
je 0x41153b
cmp dword [0x41af58], 0
jne 0x41189f
cmp edi, dword [0x419e60]
jne 0x41189f
push 0x406890
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x41189f
mov dword [0x41af58], esi
cmp dword [0x41af48], 0
je 0x41153b
cmp dword [0x41af5c], 0
jne 0x41153b
cmp edi, dword [0x419e60]
jne 0x41153b
push 0x4068a4
push dword [esi + 4]
call dword [sym.imp.msvcrt.dll__wcsicmp]
mov ebx, dword [ebp - 0x20044]
pop ecx
pop ecx
test eax, eax
jne 0x411541
mov dword [0x41af5c], esi
jmp 0x411541
push edi
push dword [esi + 4]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edx, [ebx + 2]
add edx, edi
mov ecx, esi
push 0x5c
pop eax
mov word [edi + ebx], ax
xor eax, eax
mov word [edx], ax
mov eax, dword [ebp - 0x20058]
add eax, edi
push eax
mov eax, dword [ebp - 0x2005c]
inc eax
push eax
mov eax, dword [ebp - 0x20060]
sub eax, edi
sub eax, 2
push eax
call fcn.004112b2
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov esi, dword [esi + 0x24]
test esi, esi
jne 0x4115a0
mov eax, dword [ebp - 0x20050]
jmp 0x41137f