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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x5f8
mov r12d, r9d
mov r13d, r8d
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14017b818]
xor rax, rsp
mov qword [rsp + 0x5f0], rax
cmp qword [rcx + 0x10], 0x103
ja 0x14002e745
cmp qword [rsi + 0x10], 0x103
jbe 0x14002e74c
xor esi, esi
jmp 0x14002e98a
lea rbx, [rsp + 0x5d0]
mov rcx, rbx
mov rdx, rsi
call fcn.1400288b0
cmp qword [rsp + 0x5e8], 7
jbe 0x14002e772
mov rbx, qword [rsp + 0x5d0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002e79c
cmp qword [rsp + 0x5e8], 7
jbe 0x14002e815
mov rdx, qword [rsp + 0x5d0]
jmp 0x14002e81d
lea rcx, [rsp + 0x5d0]
lea rbp, [rsp + 0x5b0]
mov rdx, rbp
call fcn.140029680
cmp qword [rsp + 0x5c8], 7
jbe 0x14002e7c7
mov rbp, qword [rsp + 0x5b0]
lea rbx, [rsp + 0x2e0]
mov r8d, 0x104
mov rcx, rbx
mov rdx, rbp
call fcn.140126ee0
test rax, rax
je 0x14002e888
mov qword [rsp + 0x2c0], rbx
mov rcx, rbx
call fcn.140120930
mov qword [rsp + 0x2c8], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x2c0]
call fcn.140028910
jmp 0x14002e892
lea rdx, [rsp + 0x5d0]
lea rbp, [rsp + 0x2e0]
mov r8d, 0x104
mov rcx, rbp
call fcn.140126ee0
test rax, rax
je 0x14002e864
mov qword [rsp + 0x5b0], rbp
mov rcx, rbp
call fcn.140120930
mov qword [rsp + 0x5b8], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x5b0]
call fcn.140028910
jmp 0x14002e86e
lea rcx, [rsp + 0x30]
call fcn.140028890
lea rcx, [rsp + 0x5d0]
lea rbx, [rsp + 0x30]
mov rdx, rbx
call fcn.140028aa0
mov rcx, rbx
jmp 0x14002e8b7
lea rcx, [rsp + 0x30]
call fcn.140028890
lea rcx, [rsp + 0x5d0]
lea rbx, [rsp + 0x30]
mov rdx, rbx
call fcn.140028aa0
mov rcx, rbx
call fcn.1400289c0
lea rcx, [rsp + 0x5b0]
call fcn.1400289c0
cmp qword [rsp + 0x5e0], 0
je 0x14002e920
lea rbp, [rsp + 0x2e0]
cmp qword [rdi + 0x18], 7
mov rdx, rdi
jbe 0x14002e8dc
mov rdx, qword [rdi]
mov r8d, 0x104
mov rcx, rbp
call fcn.140126ee0
test rax, rax
je 0x14002e924
mov qword [rsp + 0x30], rbp
mov rcx, rbp
call fcn.140120930
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x5b0]
lea rdx, [rsp + 0x30]
call fcn.140028910
cmp qword [rsp + 0x5c0], 0
jne 0x14002e93c
jmp 0x14002e96e
xor esi, esi
jmp 0x14002e97d
lea rcx, [rsp + 0x5b0]
call fcn.140028890
cmp qword [rsp + 0x5c0], 0
je 0x14002e96e
lea rcx, [rsp + 0x5d0]
lea rdx, [rsp + 0x5b0]
call fcn.140028b40
test al, al
jne 0x14002e96e
lea rcx, [rsp + 0x5b0]
lea rdx, [rsp + 0x5d0]
call fcn.140029d00
test al, al
je 0x14002e9b0
xor esi, esi
lea rcx, [rsp + 0x5b0]
call fcn.1400289c0
lea rcx, [rsp + 0x5d0]
call fcn.1400289c0
mov rcx, qword [rsp + 0x5f0]
xor rcx, rsp
call fcn.14011a370
mov eax, esi
add rsp, 0x5f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, r13b
lea r9d, [rax + rax]
add r9d, 1
lea rcx, [rsp + 0x2e0]
mov rdx, rdi
mov r8d, r13d
call fcn.140046fb0
cmp qword [rdi + 0x18], 7
mov rcx, rdi
jbe 0x14002e9dc
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002ea95
lea rcx, [rsp + 0x2c0]
mov rdx, rdi
call fcn.1400288b0
cmp qword [rdi + 0x18], 7
mov rcx, rdi
jbe 0x14002ea08
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r15d, eax
cmp eax, 0xffffffff
setne byte [rsp + 0x2f]
and r15d, 0x10
shr r15d, 4
lea rcx, [rsp + 0x2a0]
mov rdx, rdi
call fcn.1400288b0
test r13b, r13b
je 0x14002ea7b
cmp qword [rsi + 0x18], 7
mov rcx, rsi
jbe 0x14002ea43
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002ea7b
and eax, 0x10
je 0x14002ea7b
lea rbx, [rsp + 0x30]
mov rcx, rdi
mov rdx, rbx
call fcn.140029680
lea rcx, [rsp + 0x2a0]
mov rdx, rbx
call fcn.140028aa0
mov rcx, rbx
call fcn.1400289c0
and byte [rsp + 0x2f], r15b
mov bpl, 1
lea rdi, [rsp + 0x280]
lea r13, [rsp + 0x2c0]
jmp 0x14002ead0
xor esi, esi
jmp 0x14002ec14
lea rcx, [rsp + 0x2e0]
lea rbx, [rsp + 0x30]
mov rdx, rbx
call fcn.140047250
mov rcx, rbx
call fcn.140046f50
mov byte [rsp + 0x2f], al
mov rcx, rbx
call fcn.14004be30
mov rcx, rdi
call fcn.1400289c0
nop dword [rax]
mov r14d, ebp
and r14b, 1
je 0x14002ebf3
mov rax, qword [rsp + 0x2d0]
test rax, rax
je 0x14002ebf3
mov rcx, rdi
mov rdx, rsi
call fcn.1400288b0
lea rcx, [rsp + 0x2a0]
mov rdx, r13
call fcn.140028d80
test al, al
je 0x14002eb31
lea rcx, [rsp + 0x2a0]
mov rdx, r13
mov r8, rdi
call fcn.140029d10
xor r15d, r15d
mov r14d, 0
test al, al
je 0x14002ebdb
test byte [rsp + 0x2f], 1
je 0x14002eb88
cmp qword [rsp + 0x298], 7
mov rcx, rdi
jbe 0x14002eb4e
mov rcx, qword [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002eb5e
and eax, 0x10
jne 0x14002eb9e
cmp qword [rsp + 0x298], 7
mov rcx, rdi
jbe 0x14002eb74
mov rcx, qword [rsp + 0x280]
xor ebx, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14002eb84
mov ebx, ebp
mov ebp, ebx
jmp 0x14002eb9e
mov rcx, r13
mov rdx, rdi
mov r8d, r12d
call fcn.14002fe60
test al, al
je 0x14002eb9c
mov eax, ebp
mov ebp, eax
lea rcx, [rsp + 0x2e0]
lea rbx, [rsp + 0x30]
mov rdx, rbx
call fcn.1400472e0
mov rcx, r13
mov rdx, rbx
call fcn.140028aa0
mov rcx, rbx
call fcn.1400289c0
mov r15b, 1
cmp qword [rsp + 0x2d0], 0
jne 0x14002ea9c
mov r14d, ebp
mov rcx, rdi
call fcn.1400289c0
mov ebp, r14d
test r15b, r15b
jne 0x14002ead0
and r14b, 1
test r14b, r14b
setne sil
lea rcx, [rsp + 0x2a0]
call fcn.1400289c0
lea rcx, [rsp + 0x2c0]
call fcn.1400289c0
lea rcx, [rsp + 0x2e0]
call fcn.1400471a0
jmp 0x14002e970