Function at 0x140034590
Capabilities:
Create directory

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14012a4f8]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rbp, rcx
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x14003489c
cmp rax, 3
jb 0x14003489c
cmp rax, 1
jae 0x1400345ec
call fcn.1400aedac
cmp qword [rbp + 0x20], 8
jb 0x1400345f9
mov rax, qword [rbp + 8]
jmp 0x1400345fd
lea rax, [rbp + 8]
cmp word [rax + 2], 0x3a
jne 0x14003489c
mov qword [rsp + 0x48], 7
xor r13d, r13d
mov qword [rsp + 0x40], r13
mov word [rsp + 0x30], r13w
or rbx, 0xffffffffffffffff
mov r9, rbx
xor r8d, r8d
mov rdx, rbp
lea rcx, [rsp + 0x28]
call fcn.140025740
nop
mov rcx, qword [rsp + 0x40]
lea rdi, [rcx - 1]
cmp rdi, rcx
jbe 0x14003464f
call fcn.1400aedac
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
movzx edx, word [rax + rdi*2]
mov r14d, 0x5c
cmp dx, r14w
je 0x140034723
cmp dx, 0x2f
je 0x140034723
sub rbx, rcx
cmp rbx, 1
ja 0x140034691
call fcn.140097b1c
mov rcx, qword [rsp + 0x40]
lea rbx, [rcx + 1]
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
jbe 0x1400346ae
call fcn.140097b1c
mov rcx, qword [rsp + 0x40]
cmp qword [rsp + 0x48], rbx
jae 0x1400346cc
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140025f00
mov rcx, qword [rsp + 0x40]
jmp 0x1400346ed
test rbx, rbx
jne 0x1400346ed
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax], r13w
jmp 0x140034723
test rbx, rbx
je 0x140034723
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rcx*2], r14w
mov qword [rsp + 0x40], rbx
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov word [rax + rbx*2], r13w
mov edx, r14d
xor r8d, r8d
lea rcx, [rsp + 0x28]
call fcn.140037610
mov rbx, rax
mov edx, 0x2f
xor r8d, r8d
lea rcx, [rsp + 0x28]
call fcn.140037610
mov rsi, rax
mov r15d, 0xffffffff
cmp rbx, 0xffffffffffffffff
cmove rbx, r15
cmp rax, 0xffffffffffffffff
cmove rsi, r15
cmp rbx, rsi
cmovb rsi, rbx
cmp rsi, r15
jne 0x140034786
cmp qword [rsp + 0x48], 8
jb 0x14003477f
mov rcx, qword [rsp + 0x30]
call fcn.1400ad0b8
xor eax, eax
jmp 0x14003489e
mov r12d, 1
cmp rsi, 0xffffffffffffffff
je 0x140034885
nop word [rax + rax]
mov r9, rsi
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, rbp
call fcn.140029e30
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400347f8
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400347f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14003485b
mov edx, r14d
lea r8, [rsi + 1]
lea rcx, [rsp + 0x28]
call fcn.140037610
mov rdi, rax
mov edx, 0x2f
lea r8, [rsi + 1]
lea rcx, [rsp + 0x28]
call fcn.140037610
mov rsi, rax
cmp rdi, 0xffffffffffffffff
cmove rdi, r15
cmp rax, 0xffffffffffffffff
cmove rsi, r15
cmp rdi, rsi
cmovb rsi, rdi
cmp rsi, r15
je 0x140034872
cmp qword [rsp + 0x70], 8
jb 0x140034850
mov rcx, qword [rsp + 0x58]
call fcn.1400ad0b8
cmp rsi, 0xffffffffffffffff
je 0x140034885
jmp 0x1400347a0
mov r12d, r13d
cmp qword [rsp + 0x70], 8
jb 0x140034885
mov rcx, qword [rsp + 0x58]
call fcn.1400ad0b8
jmp 0x140034885
cmp qword [rsp + 0x70], 8
jb 0x140034885
mov rcx, qword [rsp + 0x58]
call fcn.1400ad0b8
nop
cmp qword [rsp + 0x48], 8
jb 0x140034897
mov rcx, qword [rsp + 0x30]
call fcn.1400ad0b8
mov eax, r12d
jmp 0x14003489e
xor eax, eax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400ad2c0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret