Function at 0x14002f450
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp - 0x71], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140200d38]
xor rax, rsp
mov qword [rbp + 0x2f], rax
xor edi, edi
mov ebx, edi
mov dword [rbp - 0x79], ebx
mov rdx, rcx
lea rcx, [rbp + 0xf]
call fcn.14002f1e0
nop
xor eax, eax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], rax
lea r8d, [rdi + 0x5c]
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x49]
call fcn.140022ea0
nop
mov edx, edi
mov qword [rbp - 0x59], rdx
mov ecx, 7
mov qword [rbp - 0x51], rcx
mov word [rbp - 0x69], di
mov r12, qword [rbp - 0x49]
mov r13, qword [rbp - 0x41]
cmp r12, r13
je 0x14002f77d
mov r8, 0xffffffffffffffff
movabs r10, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov qword [rbp - 0x21], rdi
mov qword [rbp - 0x19], rdi
mov r15, qword [r12 + 0x10]
mov rbx, r12
cmp qword [r12 + 0x18], 8
jb 0x14002f518
mov rbx, qword [r12]
cmp r15, 8
jae 0x14002f534
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x31], xmm0
mov r14d, 7
mov rsi, qword [rbp - 0x31]
jmp 0x14002f5b8
mov r14, r15
or r14, 7
cmp r14, r9
cmova r14, r9
lea rax, [r14 + 1]
lea rdx, [rax + rax]
cmp rax, r10
jbe 0x14002f554
mov rdx, r8
jmp 0x14002f55d
cmp rdx, 0x1000
jb 0x14002f584
lea rcx, [rdx + 0x27]
cmp rcx, rdx
cmovbe rcx, r8
call fcn.1401218b0
test rax, rax
je 0x14002f89a
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14002f599
test rdx, rdx
je 0x14002f596
mov rcx, rdx
call fcn.1401218b0
mov rsi, rax
jmp 0x14002f599
mov rsi, rdi
mov qword [rbp - 0x31], rsi
lea r8, [r15*2 + 2]
mov rdx, rbx
mov rcx, rsi
call fcn.14013fdb0
mov rcx, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x59]
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x21], r15
lea r9, [rbp - 0x31]
cmp r14, 8
cmovae r9, rsi
mov rax, rcx
sub rax, rdx
cmp r15, rax
ja 0x14002f606
lea rdi, [rdx + r15]
mov qword [rbp - 0x59], rdi
lea rbx, [rbp - 0x69]
cmp rcx, 8
cmovae rbx, qword [rbp - 0x69]
lea r8, [r15 + r15]
lea rcx, [rbx + rdx*2]
mov rdx, r9
call fcn.14013fdb0
xor r15d, r15d
mov word [rbx + rdi*2], r15w
jmp 0x14002f625
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp - 0x69]
call fcn.140022280
mov r14, qword [rbp - 0x19]
mov rsi, qword [rbp - 0x31]
xor r15d, r15d
mov rcx, qword [rbp - 0x59]
mov rdx, qword [rbp - 0x51]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14002f670
lea rdi, [rcx + 1]
mov qword [rbp - 0x59], rdi
lea rbx, [rbp - 0x69]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x69]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, str._.:__
call fcn.14013fdb0
mov word [rbx + rdi*2], r15w
mov edi, 1
jmp 0x14002f68f
mov edi, 1
mov qword [rsp + 0x20], rdi
lea r9, str._.:__
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x69]
call fcn.140022280
xor bl, bl
cmp qword [rbp - 0x59], 0
je 0x14002f706
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x11]
call fcn.14002f1e0
lea rcx, [rbp - 0x11]
cmp qword [rbp + 7], 8
cmovae rcx, qword [rbp - 0x11]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
movzx ebx, bl
cmp eax, 0xffffffff
cmovne ebx, edi
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x14002f702
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f6fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f8a0
call fcn.1401218ec
test bl, bl
jne 0x14002f723
lea rcx, [rbp - 0x69]
cmp qword [rbp - 0x51], 8
cmovae rcx, qword [rbp - 0x69]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ebx, eax
mov dword [rbp - 0x79], eax
jmp 0x14002f726
mov ebx, dword [rbp - 0x79]
cmp r14, 8
jb 0x14002f761
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14002f759
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f8a6
mov rcx, rsi
call fcn.1401218ec
add r12, 0x20
mov rcx, qword [rbp - 0x51]
xor edi, edi
cmp r12, r13
je 0x14002f779
mov rdx, qword [rbp - 0x59]
jmp 0x14002f4e1
mov r12, qword [rbp - 0x49]
test ebx, ebx
setne bl
cmp rcx, 8
jb 0x14002f7c2
lea rdx, [rcx*2 + 2]
mov rcx, qword [rbp - 0x69]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f7b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f8ac
call fcn.1401218ec
mov r12, qword [rbp - 0x49]
mov qword [rbp - 0x59], rdi
mov qword [rbp - 0x51], 7
mov word [rbp - 0x69], di
test r12, r12
je 0x14002f828
mov rdx, qword [rbp - 0x41]
mov rcx, r12
call fcn.140025b90
mov rdx, qword [rbp - 0x39]
mov rcx, qword [rbp - 0x49]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f817
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f8b2
call fcn.1401218ec
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], rdi
mov rdx, qword [rbp + 0x27]
cmp rdx, 8
jb 0x14002f864
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002f85f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002f894
call fcn.1401218ec
movzx eax, bl
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140121cc0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
nop
call fcn.1401431ac
int3