Function at 0x14008668c
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
xor ecx, ecx
mov byte [rbp - 0x40], 1
mov al, dl
mov qword [rbp - 0x18], rcx
xor edx, edx
mov qword [rbp - 0x10], rcx
or r12, 0xffffffffffffffff
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x30], rdx
mov rdi, r9
mov qword [rbp - 0x38], rdx
mov ebx, edx
mov qword [rbp - 0x20], rdx
mov r15d, edx
mov dword [rbp - 0x3c], edx
mov r14d, edx
mov qword [rbp - 8], rcx
mov esi, edx
mov r13d, edx
test al, al
je 0x1400867f8
test r8b, r8b
je 0x1400867e1
test r9, r9
jne 0x140086717
lea r8, str.wszUserName
mov edx, 0x80
lea rcx, str.base_stor_blbutil_fileutils.cpp
call fcn.140081b60
mov rcx, qword [rbp + 0x40]
lea rdx, [rbp - 0x20]
call fcn.1400821b8
mov r13, qword [rbp - 0x20]
mov ebx, eax
test eax, eax
js 0x14008687e
lea r8, [rbp - 0x40]
mov rdx, r13
mov rcx, rdi
call fcn.14008ece4
mov ebx, eax
test eax, eax
js 0x14008687e
mov rcx, rdi
cmp byte [rbp - 0x40], sil
jne 0x140086798
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x28]
call fcn.14008f8a0
mov r15, qword [rbp - 0x28]
xor edi, edi
mov ebx, eax
test eax, eax
js 0x14008678f
xor r8d, r8d
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.14008290c
mov r14, qword [rbp - 0x30]
mov ebx, eax
test eax, eax
jns 0x1400867ac
mov rsi, qword [rbp - 0x38]
jmp 0x140086828
mov r14, qword [rbp - 0x30]
jmp 0x140086828
xor r8d, r8d
lea rdx, [rbp - 0x38]
call fcn.14008290c
xor edi, edi
mov ebx, eax
test eax, eax
js 0x1400867d8
mov rsi, qword [rbp - 0x38]
lea rax, [rbp - 0x3c]
mov r8b, byte [rbp - 0x40]
lea r9, [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
mov rdx, rsi
mov qword [rsp + 0x20], rax
call fcn.14008e814
mov ebx, eax
test eax, eax
js 0x140086828
mov al, byte [rbp + 0x48]
jmp 0x1400867fa
mov rsi, qword [rbp - 0x38]
jmp 0x140086864
lea rcx, [rbp - 0x18]
call fcn.14008e7ac
xor edi, edi
mov ebx, eax
test eax, eax
js 0x1400868b6
jmp 0x1400867d3
xor edi, edi
mov rcx, qword [rbp + 0x40]
neg al
lea rax, [rbp - 0x18]
sbb rdx, rdx
and rdx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140086828
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test r15, r15
je 0x140086846
mov rcx, r12
inc rcx
cmp word [r15 + rcx*2], di
jne 0x140086830
add rcx, rcx
xor eax, eax
mov rdi, r15
rep stosb byte [rdi], al
xor edi, edi
test r14, r14
je 0x140086864
mov rcx, r12
inc rcx
cmp word [r14 + rcx*2], di
jne 0x14008684e
add rcx, rcx
xor eax, eax
mov rdi, r14
rep stosb byte [rdi], al
xor edi, edi
test rsi, rsi
je 0x14008687e
inc r12
cmp word [rsi + r12*2], di
jne 0x140086869
lea rcx, [r12 + r12]
mov rdi, rsi
xor eax, eax
rep stosb byte [rdi], al
test r13, r13
je 0x14008688c
mov rcx, r13
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r15, r15
je 0x14008689a
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r14, r14
je 0x1400868a8
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rsi, rsi
je 0x1400868b6
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x1400868c5
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebx
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret