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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1f0], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
call fcn.14002de80
cmp rax, rdi
je 0x14002b9f2
mov rbx, rax
mov r14, rdx
lea rcx, [rbp + 0xd0]
mov rdx, rax
mov r8, r14
call fcn.14004ef70
mov rax, qword [rbp + 0xd0]
cmp rax, 0xffffffffffffffff
lea rcx, [rbp + 0xe0]
cmovne rcx, rax
call sub.KERNEL32.dll_GetFileAttributesW
mov r15d, eax
mov r12, qword [rbp + 0xd0]
cmp r12, 0xffffffffffffffff
je 0x14002b9e1
call fcn.14009218c
mov r13d, dword [rax]
mov rcx, r12
call fcn.140097584
call fcn.14009218c
mov dword [rax], r13d
cmp r15d, 0xffffffff
jne 0x14002b9f2
mov rcx, rbx
mov rdx, r14
call fcn.14002b950
mov rcx, rdi
mov rdx, rsi
call fcn.14002e0d0
test rax, rax
je 0x14002baee
mov qword [rbp + 0x1e0], rdi
mov qword [rbp + 0x1e8], rsi
lea rcx, [rbp + 0xd0]
mov rdx, rdi
mov r8, rsi
call fcn.14004ef70
mov rax, qword [rbp + 0xd0]
cmp rax, 0xffffffffffffffff
lea rcx, [rbp + 0xe0]
cmovne rcx, rax
xor edx, edx
call sub.KERNEL32.dll_CreateDirectoryW
test eax, eax
jne 0x14002bacb
call sub.KERNEL32.dll_GetLastError
cmp eax, 0xb7
jne 0x14002bb02
mov rsi, qword [rbp + 0x1e0]
mov rdi, qword [rbp + 0x1e8]
lea rcx, [rbp - 0x40]
mov rdx, rsi
mov r8, rdi
call fcn.14004ef70
mov rcx, qword [rbp - 0x40]
cmp rcx, 0xffffffffffffffff
lea rbx, [rbp - 0x30]
cmove rcx, rbx
call sub.KERNEL32.dll_GetFileAttributesW
mov r14d, eax
mov r15, qword [rbp - 0x40]
cmp r15, 0xffffffffffffffff
cmovne rbx, r15
cmp eax, 0xffffffff
je 0x14002bbc2
cmp r15, 0xffffffffffffffff
je 0x14002bac1
call fcn.14009218c
mov esi, dword [rax]
mov rcx, r15
call fcn.140097584
call fcn.14009218c
mov dword [rax], esi
test r14b, 0x10
je 0x14002bbd0
mov rsi, qword [rbp + 0xd0]
cmp rsi, 0xffffffffffffffff
je 0x14002baee
call fcn.14009218c
mov edi, dword [rax]
mov rcx, rsi
call fcn.140097584
call fcn.14009218c
mov dword [rax], edi
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1400f17b0]
call fcn.140067130
mov rsi, rax
lea rax, [0x1400c5100]
mov qword [rsi], rax
mov qword [rsi + 8], 0
movups xmm0, xmmword [0x1400c50b8]
movups xmmword [rsi + 0x10], xmm0
movups xmm0, xmmword [0x1400c50c8]
movups xmmword [rsi + 0x20], xmm0
movups xmm0, xmmword [0x1400c50d8]
movups xmmword [rsi + 0x30], xmm0
movups xmm0, xmmword [0x1400c50e8]
movups xmmword [rsi + 0x40], xmm0
mov rax, qword [0x1400c50f8]
mov qword [rsi + 0x50], rax
mov r14, qword [rbp + 0x1e0]
mov r15, qword [rbp + 0x1e8]
mov rcx, r14
xor edx, edx
call fcn.140012a40
mov rdi, rax
mov rbx, rdx
mov rcx, rdx
mov rdx, r15
mov r8, r14
call fcn.1400a6b20
call sub.KERNEL32.dll_GetLastError
lea rcx, str.std_file.d
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 0xbda
mov qword [rsp + 0x20], 0xa
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
mov r9d, eax
call fcn.14002ab30
mov rcx, rsi
call fcn.140046240
test rdi, rdi
jne 0x14002bbfd
test rbx, rbx
jne 0x14002bbe4
xor ecx, ecx
jmp 0x14002bbef
lea rcx, [rbp + 0xd0]
call fcn.14002d7c0
mov rcx, rax
call fcn.140046240
mov rcx, rbx
call fcn.140099574
mov rcx, rax
mov rdx, rbx
call fcn.140029490
mov rsi, rax
mov rdi, rdx
lea rcx, [0x1400f17b0]
call fcn.140067130
mov rbx, rax
lea rax, [0x1400c5100]
mov qword [rbx], rax
mov qword [rbx + 8], 0
movups xmm0, xmmword [0x1400c50b8]
movups xmmword [rbx + 0x10], xmm0
movups xmm0, xmmword [0x1400c50c8]
movups xmmword [rbx + 0x20], xmm0
movups xmm0, xmmword [0x1400c50d8]
movups xmmword [rbx + 0x30], xmm0
movups xmm0, xmmword [0x1400c50e8]
movups xmmword [rbx + 0x40], xmm0
mov rax, qword [0x1400c50f8]
mov qword [rbx + 0x50], rax
call sub.KERNEL32.dll_GetLastError
lea rcx, str.std_file.d
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], 0x804
mov qword [rsp + 0x20], 0xa
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
mov r9d, eax
call fcn.14002ab30
mov rcx, rbx
call fcn.140046240
int3