Function at 0x14006e520
Capabilities:
Create directory

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x160
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor r14d, r14d
mov rbp, rcx
mov ecx, dword [rcx + 0x14]
mov ebx, r14d
test ecx, ecx
jle 0x14006e55a
call fcn.1400a8a3c
mov dword [rbp + 0x14], 0xffffffff
mov rax, qword [rbp + 0x20]
lea r9, [0x1400dc9bc]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x40]
mov rax, qword [rbp + 0x18]
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.1400034e0
mov rcx, qword [rbp + 0x20]
call fcn.14009b5a0
mov rdx, r14
mov qword [rbp + 0x20], r14
lea rcx, [rsp + 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dl
jne 0x14006e5a5
test rax, rax
je 0x14006e5ee
movzx ecx, byte [rsp + rdx + 0x40]
cmp cl, 0x2f
jne 0x14006e5c3
mov byte [rsp + rdx + 0x40], 0x5c
mov cl, 0x5c
cmp cl, 0x5c
mov rax, rdx
lea rcx, [rsp + 0x40]
cmovne rax, rbx
inc rdx
mov rbx, rax
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], r14b
jne 0x14006e5e0
cmp rdx, rax
jb 0x14006e5b2
mov rax, qword [0x140110278]
test rax, rax
je 0x14006e605
mov rdx, qword [rbp + 0x28]
lea rcx, [rsp + 0x40]
call rax
cmp rbx, 0x104
jae 0x14006e8b3
mov qword [rsp + 0x188], rsi
lea rsi, [rsp + 0x40]
add rsi, rbx
mov qword [rsp + 0x190], rdi
mov byte [rsi], r14b
cmp byte [rsp + 0x40], r14b
jne 0x14006e668
mov edx, 2
lea ecx, [rdx - 1]
call fcn.1400966e0
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test rbx, rbx
je 0x14006e70b
jmp 0x14006e703
mov dword [rsp + 0x28], r14d
lea r8, [rsp + 0x40]
mov r9d, 0xffffffff
mov qword [rsp + 0x20], r14
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
cmp edi, 1
jg 0x14006e6a9
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x14006e70b
mov rcx, rdi
mov edx, 2
call fcn.1400966e0
mov rbx, rax
test rax, rax
je 0x14006e692
mov dword [rsp + 0x28], edi
lea r8, [rsp + 0x40]
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
je 0x14006e6ed
mov rcx, rbx
call fcn.14009b5a0
jmp 0x14006e692
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rcx, rbx
call fcn.14009b5a0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [rsi], 0x2f
mov rsi, qword [rsp + 0x188]
mov dword [rsp + 0x30], 0xffffffff
cmp byte [rsp + 0x40], r14b
jne 0x14006e774
mov edx, 2
lea ecx, [rdx - 1]
call fcn.1400966e0
mov r9d, 0x30
mov dword [rsp + 0x20], 0x180
mov r8d, 0x8301
lea rcx, [rsp + 0x30]
mov rdx, rax
mov rbx, rax
call fcn.1400a8994
test rbx, rbx
je 0x14006e800
mov rcx, rbx
call fcn.14009b5a0
jmp 0x14006e800
mov dword [rsp + 0x28], r14d
lea r8, [rsp + 0x40]
mov r9d, 0xffffffff
mov qword [rsp + 0x20], r14
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
cmp edi, 1
jle 0x14006e7e0
mov rcx, rdi
mov edx, 2
call fcn.1400966e0
mov rbx, rax
test rax, rax
je 0x14006e7e0
mov dword [rsp + 0x28], edi
lea r8, [rsp + 0x40]
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
je 0x14006e83c
mov rcx, rbx
call fcn.14009b5a0
mov r9d, 0x30
mov dword [rsp + 0x20], 0x180
mov r8d, 0x8301
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400a8994
mov eax, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x190]
mov dword [rbp + 0x14], eax
test eax, eax
jns 0x14006e8af
cmp qword [0x140110268], r14
je 0x14006e867
call fcn.1400a7b18
lea rdx, [rsp + 0x40]
lea rcx, str._nError:_Could_not_create__s__errno:__d_
mov r8d, dword [rax]
call qword [0x140110268]
jmp 0x14006e88a
mov r9d, 0x30
mov dword [rsp + 0x20], 0x180
mov r8d, 0x8301
lea rcx, [rsp + 0x30]
mov rdx, rbx
call fcn.1400a8994
mov rcx, rbx
call fcn.14009b5a0
jmp 0x14006e800
call fcn.1400a7b18
lea rdx, [rsp + 0x40]
lea rcx, str._nError:_Could_not_create__s__errno:__d_
mov r8d, dword [rax]
call fcn.1400269d0
mov ecx, 0xa
call fcn.1400a7c98
call fcn.1400a7b18
mov eax, dword [rax]
neg eax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140092060
add rsp, 0x160
pop r14
pop rbp
pop rbx
ret
xor eax, eax
jmp 0x14006e893
call fcn.140092188
int3