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

Disassembly:
push rbp
push r13
push r15
lea rbp, [rsp - 0x130d0]
mov eax, 0x131d0
call fcn.140042f20
sub rsp, rax
mov rax, qword [0x1400a2078]
xor rax, rsp
mov qword [rbp + 0x130a0], rax
mov r13, rdx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], rcx
mov r15, 0xffffffffffffffff
inc r15
cmp byte [r15 + rdx], 0
jne 0x14001fd60
mov qword [rsp + 0x13200], rbx
mov qword [rsp + 0x131c8], rsi
mov qword [rsp + 0x131c0], rdi
mov qword [rsp + 0x131b8], r12
mov qword [rsp + 0x131b0], r14
cmp r15, 0xf00
jbe 0x14001fdb6
mov rcx, qword [0x1400a9900]
lea rdx, str.recrmdir:_dname_too_long:_n__s__n
mov r8, r13
call fcn.140027720
jmp 0x1400200bc
mov r8, r15
lea rcx, [rbp + 0x120a0]
call fcn.140044760
lea rdi, [rbp + r15 + 0x120a1]
mov byte [rbp + r15 + 0x120a0], 0x5c
xor edx, edx
mov qword [rsp + 0x48], rdi
mov r8d, 0x140
lea rcx, [rbp + 0xff60]
call fcn.140044e10
mov eax, 0x2a
lea rdx, [rbp + 0xff60]
lea rcx, [rbp + 0x120a0]
mov word [rdi], ax
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x38], rax
cmp rax, 0xffffffffffffffff
jne 0x14001fe2a
mov rdx, r13
lea rcx, str.recrmdir:_diropen___s___failed_n
call fcn.1400275f0
jmp 0x1400200bc
mov r13, qword [rsp + 0x38]
lea rax, [rsp + 0x78]
xor edi, edi
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0xff60]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x70], rax
lea rsi, [rsp + 0x60]
mov qword [rsp + 0x60], rdi
lea r12, [rbp + 0x100a0]
mov r14d, 0x3ff
mov qword [rsp + 0x30], rdi
nop dword [rax + rax]
movzx eax, byte [rbp + 0xff8c]
test al, al
je 0x14001ffef
cmp al, 0x2e
jne 0x14001fe9f
movzx eax, byte [rbp + 0xff8d]
cmp al, 0x2e
jne 0x14001fe97
cmp byte [rbp + 0xff8e], 0
jmp 0x14001fe99
test al, al
je 0x14001ffef
lea rax, [rbp + 0xff8c]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14001feb0
lea rax, [r15 + 2]
add rax, rbx
cmp rax, 0x1000
ja 0x140020009
lea r13, [rbp + r15 + 0x120a1]
mov r8, rbx
mov rcx, r13
lea rdx, [rbp + 0xff8c]
call fcn.140044760
mov byte [rbx + r13], 0
add rbx, 2
mov rax, qword [rsi + 0x10]
sub rax, qword [rsi + 8]
cmp rbx, rax
jbe 0x14001ff28
mov ecx, 0x10000
call fcn.14005608c
test rax, rax
je 0x140020108
lea rcx, [rax + 0x18]
mov qword [rax], rsi
mov qword [rax + 8], rcx
mov rsi, rax
lea rcx, [rax + 0x10000]
mov qword [rax + 0x10], rcx
cmp edi, r14d
jle 0x14001ffa5
lea eax, [r14*2 + 1]
movsxd r13, r14d
mov dword [rsp + 0x20], eax
inc eax
movsxd r14, eax
shl r14, 3
mov rcx, r14
call fcn.14005608c
mov rdi, rax
test rax, rax
jne 0x14001ff72
test r14, r14
jne 0x14002011b
lea ecx, [rax + 8]
call fcn.14005608c
mov rdi, rax
test rax, rax
je 0x14002011b
mov r8, r13
mov rdx, r12
shl r8, 3
mov rcx, rdi
call fcn.140044760
lea rax, [rbp + 0x100a0]
cmp r12, rax
je 0x14001ff98
mov rcx, r12
call fcn.1400543f0
mov r14d, dword [rsp + 0x20]
mov r12, rdi
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rsi + 8]
lea r8, [rbx - 1]
mov rax, qword [rsp + 0x30]
lea rdx, [rbp + 0xff8c]
inc edi
mov qword [rsp + 0x28], rdi
mov qword [rax + r12], rcx
add rax, 8
add qword [rsi + 8], rbx
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0xff60]
shr eax, 3
not al
and al, 2
or al, 0x64
mov byte [rcx], al
inc rcx
call fcn.140044760
mov r13, qword [rsp + 0x38]
lea rdx, [rbp + 0xff60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x14001fe70
jmp 0x14002001c
mov rcx, qword [0x1400a9900]
lea rdx, str.recrmdir:_names_too_long_n
call fcn.140027720
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindClose]
movsxd rbx, edi
test edi, edi
jle 0x140020088
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
nop word [rax + rax]
mov r8, qword [r12 + rbx*8 - 8]
dec rbx
mov rdx, rdi
lea rax, [r8 + 1]
sub rdx, rax
movzx ecx, byte [rax]
mov byte [rdx + rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x140020052
cmp byte [r8], 0x64
jne 0x140020077
lea rdx, [rbp + 0x120a0]
mov rcx, r14
call fcn.14001fd20
jmp 0x140020083
lea rcx, [rbp + 0x120a0]
call fcn.1400553bc
test rbx, rbx
jg 0x140020040
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400200a3
mov rcx, rsi
call fcn.1400543f0
mov rsi, rbx
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140020090
lea rax, [rbp + 0x100a0]
cmp r12, rax
je 0x1400200b7
mov rcx, r12
call fcn.1400543f0
mov r13, qword [rsp + 0x40]
mov rcx, r13
call fcn.1400563b4
mov r14, qword [rsp + 0x131b0]
mov r12, qword [rsp + 0x131b8]
mov rdi, qword [rsp + 0x131c0]
mov rsi, qword [rsp + 0x131c8]
mov rbx, qword [rsp + 0x13200]
mov rcx, qword [rbp + 0x130a0]
xor rcx, rsp
call fcn.140042470
add rsp, 0x131d0
pop r15
pop r13
pop rbp
ret
mov r8d, 0x10000
lea rcx, str.malloc
call fcn.140022f20
int3
mov r8, r14
lea rcx, str.malloc
call fcn.140022f20
int3