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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
mov eax, dword [0x180f51f0]
xor eax, ebp
mov dword [ebp - 8], eax
movzx ecx, byte [0x180fb8f9]
push ebx
mov ebx, dword [ebp + 0xc]
neg ecx
push esi
mov esi, dword [ebp + 8]
sbb ecx, ecx
and ecx, 0x180fbba0
push edi
je 0x1800c923
push 3
pop edi
push edi
push 1
mov dword [ebp - 0x278], ecx
call fcn.18001d8a
mov dword [ebp - 0x274], eax
movzx eax, byte [ebp + 0x10]
push eax
push ebx
push esi
lea eax, [ebp - 0x278]
push str._File::CopyTree__from_dir__s__to_dir__s__replace__d_
push eax
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x26c], 1
call fcn.18001000
add esp, 0x14
push esi
lea edi, [ebp - 0x27c]
call fcn.180092f5
pop ecx
push ebx
lea edi, [ebp - 0x264]
call fcn.180092f5
mov ebx, dword [ebp - 0x264]
pop ecx
push ebx
call fcn.18004c24
mov esi, dword [ebp - 0x27c]
pop ecx
test eax, eax
jge 0x1800c977
mov edi, eax
lea eax, [ebx - 0x10]
call fcn.18004250
lea eax, [esi - 0x10]
call fcn.18004250
mov eax, edi
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1809ccb5
leave
ret
push dword [ebp + 0x10]
mov ecx, ebx
push esi
call fcn.1800c65b
pop ecx
pop ecx
test eax, eax
jl 0x1800c954
push 0x250
lea eax, [ebp - 0x25c]
push 0
push eax
call fcn.1809d820
lea eax, [esi - 0x10]
add esp, 0xc
mov dword [ebp - 0x280], eax
call fcn.18003d67
add eax, 0x10
mov dword [ebp - 0x268], eax
push 0x180c439c
lea eax, [ebp - 0x268]
push eax
call fcn.18003097
lea eax, [ebp - 0x25c]
push eax
push dword [ebp - 0x268]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x260], eax
cmp eax, 0xffffffff
jne 0x1800ca6c
call fcn.1800fc86
movzx ecx, byte [0x180fb8f9]
neg ecx
sbb ecx, ecx
and ecx, 0x180fbba0
mov ebx, eax
je 0x1800ca3c
push 0xfffffffffffffffe
pop esi
xor edi, edi
push esi
inc edi
push edi
mov dword [ebp - 0x278], ecx
call fcn.18001d8a
push ebx
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x278]
push str._File::CopyTree___FindFirstFile_failed__0x_x_
push eax
mov dword [ebp - 0x270], esi
mov dword [ebp - 0x26c], edi
call fcn.18001000
add esp, 0xc
mov esi, ebx
mov eax, dword [ebp - 0x268]
add eax, 0xfffffff0
call fcn.18004250
mov eax, dword [ebp - 0x264]
add eax, 0xfffffff0
call fcn.18004250
mov eax, dword [ebp - 0x280]
call fcn.18004250
mov eax, esi
jmp 0x1800c968
test byte [ebp - 0x25c], 0x10
je 0x1800cb10
push 0
push 2
push 0x180c2dc8
lea eax, [ebp - 0x230]
call fcn.1800979d
add esp, 0xc
test eax, eax
je 0x1800cb10
push 0
push 2
push 0x180c2ae0
lea eax, [ebp - 0x230]
call fcn.1800979d
add esp, 0xc
test eax, eax
je 0x1800cb10
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x27c]
lea ecx, [ebp - 0x288]
call fcn.18002e5e
pop ecx
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x264]
lea ecx, [ebp - 0x284]
call fcn.18002e5e
mov esi, dword [ebp - 0x284]
mov edi, dword [ebp - 0x288]
pop ecx
push dword [ebp + 0x10]
push esi
push edi
call fcn.1800c8b2
mov ebx, eax
add esp, 0xc
lea eax, [esi - 0x10]
call fcn.18004250
lea eax, [edi - 0x10]
call fcn.18004250
test ebx, ebx
jl 0x1800cb87
lea eax, [ebp - 0x25c]
push eax
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1800ca6c
call fcn.1800fc86
mov ebx, eax
cmp ebx, 0x80070012
je 0x1800cb98
movzx ecx, byte [0x180fb8f9]
neg ecx
sbb ecx, ecx
and ecx, 0x180fbba0
je 0x1800cb87
push 0xfffffffffffffffe
pop esi
xor edi, edi
push esi
inc edi
push edi
mov dword [ebp - 0x278], ecx
call fcn.18001d8a
push ebx
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x278]
push str._File::CopyTree___FindNextFile_failed__0x_x_
push eax
mov dword [ebp - 0x270], esi
mov dword [ebp - 0x26c], edi
call fcn.18001000
add esp, 0xc
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x1800ca3c
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
jmp 0x1800ca3e