Function at 0x14003fba4
Capabilities:
Copy file
Create directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rax - 0x2b8]
sub rsp, 0x398
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov rsi, rcx
lea r8, [0x140056ad0]
mov rdx, rcx
lea rcx, [rbp - 0x30]
call fcn.140006058
nop
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
lea rdx, [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
mov qword [rbp - 0x10], rax
xor eax, eax
mov rdi, qword [rbp + 0x2e0]
or rdx, 0xffffffffffffffff
cmp rbx, rdx
je 0x14004001a
jmp 0x14003fc21
xor eax, eax
test byte [rbp + 0x40], 0x10
je 0x14003ff11
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rax
mov word [rsp + 0x50], ax
cmp word [rbp + 0x6c], ax
jne 0x14003fc49
mov r8, rax
jmp 0x14003fc5a
lea rcx, [rbp + 0x6c]
mov r8, rdx
inc r8
cmp word [rcx + r8*2], ax
jne 0x14003fc50
lea rdx, [rbp + 0x6c]
lea rcx, [rsp + 0x50]
call fcn.140001b48
nop
lea rdx, [0x1400545bc]
lea rcx, [rsp + 0x50]
call fcn.140014c9c
test al, al
je 0x14003fefb
lea rdx, [0x140056a24]
lea rcx, [rsp + 0x50]
call fcn.140014c9c
xor r11d, r11d
test al, al
je 0x14003fefb
movsxd rcx, dword [rbp + 0x2d8]
test ecx, ecx
jle 0x14003fefb
mov rbx, qword [rbp + 0x2d0]
mov rsi, rcx
mov r9, qword [rsp + 0x60]
mov r10, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x14003fccc
mov r8, qword [rbx]
jmp 0x14003fccf
mov r8, rbx
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
mov rdx, r10
cmp r9, r10
cmovb rdx, r9
test rdx, rdx
jmp 0x14003fd03
movzx eax, word [r8]
cmp word [rcx], ax
jne 0x14003fd07
add rcx, 2
add r8, 2
dec rdx
jne 0x14003fcef
jmp 0x14003fd10
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x14003fd13
mov eax, r11d
movsxd rcx, eax
mov eax, r11d
cmp r9, r10
setne al
cmp r9, r10
mov rdx, 0xffffffffffffffff
cmovb eax, edx
test rcx, rcx
cmovne eax, ecx
test eax, eax
jne 0x14003fee3
lea r8, [0x1400545cc]
mov rdx, qword [rbp + 0x2c0]
lea rcx, [rbp - 0x50]
call fcn.140006058
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.14000fc20
nop
cmp qword [rbp - 0x38], 8
jb 0x14003fd74
mov rcx, qword [rbp - 0x50]
call fcn.14001ddec
mov qword [rbp - 0x38], 7
xor eax, eax
mov qword [rbp - 0x40], rax
mov word [rbp - 0x50], ax
lea r8, [0x1400545ec]
mov rdx, qword [rbp + 0x2c8]
lea rcx, [rsp + 0x70]
call fcn.140006058
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.14000fc20
nop
lea r8, [0x1400545dc]
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.140014d24
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000fc20
nop
cmp qword [rbp + 0x30], 8
jb 0x14003fde6
mov rcx, qword [rbp + 0x18]
call fcn.14001ddec
mov qword [rbp + 0x30], 7
xor eax, eax
mov qword [rbp + 0x28], rax
mov word [rbp + 0x18], ax
cmp qword [rbp - 0x58], 8
jb 0x14003fe0a
mov rcx, qword [rbp - 0x70]
call fcn.14001ddec
xor eax, eax
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], rax
mov word [rbp - 0x70], ax
cmp qword [rbp - 0x78], 8
jb 0x14003fe2d
mov rcx, qword [rsp + 0x70]
call fcn.14001ddec
xor eax, eax
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], rax
mov word [rsp + 0x70], ax
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov qword [rbp - 0x38], 7
xor eax, eax
mov qword [rbp - 0x40], rax
mov word [rbp - 0x50], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140001e00
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x2d8]
mov r8, qword [rbp + 0x2d0]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 8]
call fcn.14003fba4
nop
cmp qword [rsp + 0x48], 8
jb 0x14003feb4
mov rcx, qword [rsp + 0x30]
call fcn.14001ddec
mov qword [rsp + 0x48], 7
xor r11d, r11d
mov qword [rsp + 0x40], r11
mov word [rsp + 0x30], r11w
cmp qword [rbp + 0x10], 8
jb 0x14003fede
mov rcx, qword [rbp - 8]
call fcn.14001ddec
xor r11d, r11d
mov r9, qword [rsp + 0x60]
add rbx, 0x20
dec rsi
jne 0x14003fcbc
mov rbx, qword [rbp - 0x10]
mov rsi, qword [rbp + 0x2c0]
cmp qword [rsp + 0x68], 8
jb 0x14003fff4
mov rcx, qword [rsp + 0x50]
jmp 0x14003ffef
lea r8, [0x1400545fc]
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140006058
nop
lea r8, [rbp + 0x6c]
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140014d24
nop
cmp qword [rbp - 0x78], 8
jb 0x14003ff48
mov rcx, qword [rsp + 0x70]
call fcn.14001ddec
mov qword [rbp - 0x78], 7
xor eax, eax
mov qword [rbp - 0x80], rax
mov word [rsp + 0x70], ax
lea r8, [0x14005460c]
mov rdx, qword [rbp + 0x2c8]
lea rcx, [rbp - 8]
call fcn.140006058
nop
lea r8, [rbp + 0x6c]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140014d24
nop
cmp qword [rbp + 0x10], 8
jb 0x14003ff95
mov rcx, qword [rbp - 8]
call fcn.14001ddec
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
cmp qword [rsp + 0x48], 8
jb 0x14003ffcf
mov rcx, qword [rsp + 0x30]
call fcn.14001ddec
mov qword [rsp + 0x48], 7
xor eax, eax
mov qword [rsp + 0x40], rax
mov word [rsp + 0x30], ax
cmp qword [rbp - 0x58], 8
jb 0x14003fff4
mov rcx, qword [rbp - 0x70]
call fcn.14001ddec
lea rdx, [rbp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
mov rdx, 0xffffffffffffffff
jne 0x14003fc1f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
cmp qword [rbp - 0x18], 8
jb 0x14004002a
mov rcx, qword [rbp - 0x30]
call fcn.14001ddec
mov esi, 7
mov qword [rbp - 0x18], rsi
xor ebx, ebx
mov qword [rbp - 0x20], rbx
mov word [rbp - 0x30], bx
cmp qword [rdi + 0x18], 8
jb 0x14004004c
mov rcx, qword [rdi]
call fcn.14001ddec
mov qword [rdi + 0x18], rsi
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rsp, 0x398
pop rdi
pop rsi
pop rbx
pop rbp
ret