Function at 0x140088290
Capabilities:
Create directory

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x160
mov rax, qword [0x140193440]
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 0x1400882ca
call fcn.14010e2bc
mov dword [rbp + 0x14], 0xffffffff
mov rax, qword [rbp + 0x20]
lea r9, [0x14015ba6c]
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.140004960
mov rcx, qword [rbp + 0x20]
call fcn.1400e9080
mov rdx, r14
mov qword [rbp + 0x20], r14
lea rcx, [rsp + 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dl
jne 0x140088315
test rax, rax
je 0x14008835e
movzx ecx, byte [rsp + rdx + 0x40]
cmp cl, 0x2f
jne 0x140088333
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 0x140088350
cmp rdx, rax
jb 0x140088322
mov rax, qword [0x14019d438]
test rax, rax
je 0x140088375
mov rdx, qword [rbp + 0x28]
lea rcx, [rsp + 0x40]
call rax
cmp rbx, 0x104
jae 0x140088623
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 0x1400883d8
mov edx, 2
lea ecx, [rdx - 1]
call fcn.1400c537c
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 0x14008847b
jmp 0x140088473
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 0x140088419
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 0x14008847b
mov rcx, rdi
mov edx, 2
call fcn.1400c537c
mov rbx, rax
test rax, rax
je 0x140088402
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 0x14008845d
mov rcx, rbx
call fcn.1400e9080
jmp 0x140088402
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.1400e9080
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 0x1400884e4
mov edx, 2
lea ecx, [rdx - 1]
call fcn.1400c537c
mov r9d, 0x30
mov dword [rsp + 0x20], 0x180
mov r8d, 0x8301
lea rcx, [rsp + 0x30]
mov rdx, rax
mov rbx, rax
call fcn.14010e0f4
test rbx, rbx
je 0x140088570
mov rcx, rbx
call fcn.1400e9080
jmp 0x140088570
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 0x140088550
mov rcx, rdi
mov edx, 2
call fcn.1400c537c
mov rbx, rax
test rax, rax
je 0x140088550
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 0x1400885ac
mov rcx, rbx
call fcn.1400e9080
mov r9d, 0x30
mov dword [rsp + 0x20], 0x180
mov r8d, 0x8301
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.14010e0f4
mov eax, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x190]
mov dword [rbp + 0x14], eax
test eax, eax
jns 0x14008861f
cmp qword [0x14019d428], r14
je 0x1400885d7
call fcn.14010cbf8
lea rdx, [rsp + 0x40]
lea rcx, str._nError:_Could_not_create__s__errno:__d_
mov r8d, dword [rax]
call qword [0x14019d428]
jmp 0x1400885fa
mov r9d, 0x30
mov dword [rsp + 0x20], 0x180
mov r8d, 0x8301
lea rcx, [rsp + 0x30]
mov rdx, rbx
call fcn.14010e0f4
mov rcx, rbx
call fcn.1400e9080
jmp 0x140088570
call fcn.14010cbf8
lea rdx, [rsp + 0x40]
lea rcx, str._nError:_Could_not_create__s__errno:__d_
mov r8d, dword [rax]
call fcn.14002d680
mov ecx, 0xa
call fcn.14010d000
call fcn.14010cbf8
mov eax, dword [rax]
neg eax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1400b1f80
add rsp, 0x160
pop r14
pop rbp
pop rbx
ret
xor eax, eax
jmp 0x140088603
call fcn.1400b20a8
int3