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

Disassembly:
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], r8b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov r14, r9
mov r13, rdx
mov r12, rcx
xor esi, esi
mov ebx, esi
mov dword [rbp + 0x490], ebx
test rcx, rcx
je 0x14002cb16
test rdx, rdx
je 0x14002cb16
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1400109c0
nop
mov ebx, 1
mov dword [rbp + 0x490], ebx
lea rcx, [rsp + 0x40]
call fcn.140015800
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x14002cb16
xor dil, dil
jmp 0x14002cb19
mov dil, 1
test bl, 1
je 0x14002cb28
lea rcx, [rsp + 0x40]
call fcn.140010a90
test dil, dil
je 0x14002cb34
xor al, al
jmp 0x14002cd24
test r14, r14
je 0x14002cb49
call fcn.140023440
mov rdx, rax
mov rcx, r14
call fcn.140023650
mov word [rbp + 0x490], 0x2a5c
mov byte [rbp + 0x492], 0
mov r8d, 0x104
mov rdx, r12
lea rcx, [rbp - 0x20]
call fcn.140015af0
lea rcx, [rbp - 0x20]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x14002cb72
lea r8, [rbp + 0x490]
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14002cb90
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x70]
call fcn.1400230c0
nop
mov qword [rsp + 0x30], rsi
mov dword [rbp + 0x490], esi
lea r8, [rbp + 0x490]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x58]
call fcn.1400158e0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14002cd16
lea rdx, [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rsi, rax
mov edx, 2
mov rcx, qword [rsp + 0x30]
call fcn.140145620
cmp rsi, 0xffffffffffffffff
je 0x14002cd16
movzx r15d, byte [rbp + 0x4b0]
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.140022db0
nop
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x22c]
call fcn.1400156a0
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
call fcn.140033100
test al, al
jne 0x14002cceb
mov ebx, dword [rbp + 0x200]
mov edi, ebx
and edi, 0x10
and ebx, 2
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
mov r8b, 1
mov rdx, r13
call fcn.14003e1e0
test al, al
je 0x14002cc89
test r15b, r15b
je 0x14002cd3f
test ebx, ebx
je 0x14002cd3f
test edi, edi
je 0x14002cceb
cmp byte [rbp + 0x4a0], 0
je 0x14002cceb
mov r8d, 0x104
mov rdx, r12
lea rcx, [rbp + 0xf0]
call fcn.140015af0
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r8, qword [rsp + 0x60]
mov edx, 0x104
lea rcx, [rbp + 0xf0]
call fcn.14003e360
mov byte [rsp + 0x20], 1
mov r9, r14
mov r8b, 1
mov rdx, r13
lea rcx, [rbp + 0xf0]
call fcn.14002caa0
test al, al
jne 0x14002cd69
lea rcx, [rsp + 0x40]
call fcn.140023130
lea rdx, [rbp + 0x200]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14002cc10
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
xor bl, bl
lea rcx, [rbp - 0x70]
call fcn.140023130
movzx eax, bl
mov rbx, qword [rsp + 0x598]
add rsp, 0x550
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r14, r14
je 0x14002cd69
mov rdx, r12
mov rcx, r14
call fcn.1400236e0
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
lea rcx, [r14 + 0x18]
call fcn.140015060
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rcx, [rsp + 0x40]
call fcn.140023130
mov bl, 1
jmp 0x14002cd18