Function at 0x140034b60
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 r14d, r9d
mov r12d, r8d
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14017b750]
xor rax, rsp
mov qword [rsp + 0x5f0], rax
cmp qword [rcx + 0x10], 0x103
ja 0x140034ba5
cmp qword [rsi + 0x10], 0x103
jbe 0x140034bac
xor edi, edi
jmp 0x140034e4e
lea rbp, [rsp + 0x5d0]
mov rcx, rbp
mov rdx, rsi
call fcn.14002ec70
cmp qword [rsp + 0x5e8], 7
jbe 0x140034bd2
mov rbp, qword [rsp + 0x5d0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140034bfc
cmp qword [rsp + 0x5e8], 7
jbe 0x140034c84
mov rdx, qword [rsp + 0x5d0]
jmp 0x140034c8c
lea rcx, [rsp + 0x5d0]
lea rbp, [rsp + 0x5b0]
mov rdx, rbp
call fcn.14002fcd0
cmp qword [rsp + 0x5c8], 7
jbe 0x140034c27
mov rbp, qword [rsp + 0x5b0]
lea rbx, [rsp + 0x2e0]
mov r8d, 0x104
mov rcx, rbx
mov rdx, rbp
call fcn.14012bc40
test rax, rax
je 0x140034d13
mov qword [rsp + 0x2c0], rbx
cmp word [rsp + 0x2e0], 0
je 0x140034d1f
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
cmp word [rsp + rax*2 + 0x2e2], 0
lea rax, [rax + 1]
jne 0x140034c70
jmp 0x140034d21
lea rdx, [rsp + 0x5d0]
lea rbp, [rsp + 0x2e0]
mov r8d, 0x104
mov rcx, rbp
call fcn.14012bc40
test rax, rax
je 0x140034cd1
mov qword [rsp + 0x5b0], rbp
cmp word [rsp + 0x2e0], 0
je 0x140034cdd
xor eax, eax
nop dword [rax]
cmp word [rsp + rax*2 + 0x2e2], 0
lea rax, [rax + 1]
jne 0x140034cc0
jmp 0x140034cdf
lea rcx, [rsp + 0x30]
call fcn.14002ec50
jmp 0x140034cf9
xor eax, eax
mov qword [rsp + 0x5b8], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x5b0]
call fcn.14002ed80
lea rcx, [rsp + 0x5d0]
lea rbx, [rsp + 0x30]
mov rdx, rbx
call fcn.14002ef10
mov rcx, rbx
jmp 0x140034d60
lea rcx, [rsp + 0x30]
call fcn.14002ec50
jmp 0x140034d3b
xor eax, eax
mov qword [rsp + 0x2c8], rax
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x2c0]
call fcn.14002ed80
lea rcx, [rsp + 0x5d0]
lea rbx, [rsp + 0x30]
mov rdx, rbx
call fcn.14002ef10
mov rcx, rbx
call fcn.14002ee30
lea rcx, [rsp + 0x5b0]
call fcn.14002ee30
cmp qword [rsp + 0x5e0], 0
je 0x140034dbe
lea rbp, [rsp + 0x2e0]
cmp qword [rdi + 0x18], 7
mov rdx, rdi
jbe 0x140034d85
mov rdx, qword [rdi]
mov r8d, 0x104
mov rcx, rbp
call fcn.14012bc40
test rax, rax
je 0x140034dc2
mov qword [rsp + 0x30], rbp
cmp word [rsp + 0x2e0], 0
je 0x140034ddc
xor eax, eax
nop word [rax + rax]
cmp word [rbp + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140034db0
jmp 0x140034dde
xor edi, edi
jmp 0x140034e41
lea rcx, [rsp + 0x5b0]
call fcn.14002ec50
cmp qword [rsp + 0x5c0], 0
jne 0x140034e00
jmp 0x140034e32
xor eax, eax
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x5b0]
lea rdx, [rsp + 0x30]
call fcn.14002ed80
cmp qword [rsp + 0x5c0], 0
je 0x140034e32
lea rcx, [rsp + 0x5d0]
lea rdx, [rsp + 0x5b0]
call fcn.14002efb0
test al, al
jne 0x140034e32
lea rcx, [rsp + 0x5b0]
lea rdx, [rsp + 0x5d0]
call fcn.140030470
test al, al
je 0x140034e74
xor edi, edi
lea rcx, [rsp + 0x5b0]
call fcn.14002ee30
lea rcx, [rsp + 0x5d0]
call fcn.14002ee30
mov rcx, qword [rsp + 0x5f0]
xor rcx, rsp
call fcn.14011a890
mov eax, edi
add rsp, 0x5f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, r12b
lea r9d, [rax + rax]
add r9d, 1
lea rcx, [rsp + 0x2e0]
mov rdx, rdi
mov r8d, r12d
call fcn.14002e100
cmp qword [rdi + 0x18], 7
mov rcx, rdi
jbe 0x140034ea0
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14003509a
mov byte [rsp + 0x2f], r14b
lea rcx, [rsp + 0x2c0]
mov rdx, rdi
call fcn.14002ec70
cmp qword [rdi + 0x18], 7
mov rcx, rdi
jbe 0x140034ed1
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r15d, eax
cmp eax, 0xffffffff
setne r14b
and r15d, 0x10
shr r15d, 4
lea rcx, [rsp + 0x2a0]
mov rdx, rdi
call fcn.14002ec70
test r12b, r12b
je 0x140034f43
cmp qword [rsi + 0x18], 7
mov rcx, rsi
jbe 0x140034f0b
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140034f43
and eax, 0x10
je 0x140034f43
lea rbp, [rsp + 0x30]
mov rcx, rdi
mov rdx, rbp
call fcn.14002fcd0
lea rcx, [rsp + 0x2a0]
mov rdx, rbp
call fcn.14002ef10
mov rcx, rbp
call fcn.14002ee30
and r14b, r15b
mov dil, 1
lea r13, [rsp + 0x2a0]
lea rbx, [rsp + 0x2c0]
lea r12, [rsp + 0x2e0]
lea r15, [rsp + 0x30]
nop word cs:[rax + rax]
cmp qword [rsp + 0x2d0], 0
je 0x1400350ad
lea rbp, [rsp + 0x280]
mov rcx, rbp
mov rdx, rsi
call fcn.14002ec70
mov rcx, r13
mov rdx, rbx
call fcn.14002f1f0
test al, al
je 0x140034fb7
mov rcx, r13
mov rdx, rbx
mov r8, rbp
call fcn.140030480
test al, al
je 0x14003509e
test r14b, 1
jne 0x140034fd8
mov rcx, rbx
mov rdx, rbp
movzx r8d, byte [rsp + 0x2f]
call fcn.140036330
test al, al
je 0x140034fd4
mov eax, edi
mov edi, eax
jmp 0x14003503a
cmp qword [rsp + 0x298], 7
mov rcx, rbp
jbe 0x140034fee
mov rcx, qword [rsp + 0x280]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140034ffe
and eax, 0x10
jne 0x14003503a
mov rax, rbp
mov rbp, rbx
mov byte [rsp + 0x2e], r14b
cmp qword [rsp + 0x298], 7
mov rcx, rax
jbe 0x14003501f
mov rcx, qword [rsp + 0x280]
xor ebx, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14003502f
mov ebx, edi
mov edi, ebx
movzx r14d, byte [rsp + 0x2e]
mov rbx, rbp
mov rcx, r12
mov rdx, r15
call fcn.14002e4a0
mov rcx, rbx
mov rdx, r15
call fcn.14002ef10
mov rcx, r15
call fcn.14002ee30
cmp qword [rsp + 0x2d0], 0
je 0x140035081
mov rcx, r12
mov rdx, r15
call fcn.14002e410
mov rcx, r15
call fcn.14002e080
mov r14d, eax
mov rcx, r15
call fcn.14000f680
lea rcx, [rsp + 0x280]
call fcn.14002ee30
test dil, 1
jne 0x140034f70
jmp 0x1400350ad
xor edi, edi
jmp 0x1400350cb
lea rcx, [rsp + 0x280]
call fcn.14002ee30
xor edi, edi
and dil, 1
lea rcx, [rsp + 0x2a0]
call fcn.14002ee30
lea rcx, [rsp + 0x2c0]
call fcn.14002ee30
lea rcx, [rsp + 0x2e0]
call fcn.14002e360
jmp 0x140034e34