Function at 0x14006b410
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov rax, qword [0x140200260]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov rsi, rdx
mov r14, rcx
xor r13d, r13d
mov r12d, r13d
mov dword [rsp + 0x20], r13d
xor r15b, r15b
test rdx, rdx
je 0x14006b45f
cmp word [rdx], r12w
jne 0x14006b470
mov r15b, 1
lea rsi, [rcx + 0x48]
cmp qword [rsi + 0x18], 8
jb 0x14006b470
mov rsi, qword [rsi]
lea rdi, [rcx + 0x68]
mov rcx, rdi
call fcn.1400c3b60
cmp qword [rdi + 0x10], r12
je 0x14006b4bd
lea rdx, [0x140230990]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x140230990]
mov r8, qword [0x1402309a0]
mov rcx, rdi
call fcn.14005b0a0
mov r8d, 1
lea rdx, [0x14018d938]
mov rcx, rax
call fcn.14005b0a0
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14006b4ca
mov rdx, qword [rdi]
mov qword [rbp + 0x50], r13
movdqa xmm0, xmmword [0x1401e06e0]
movdqu xmmword [rbp + 0x60], xmm0
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rdx + r8*2], r12w
jne 0x14006b4e5
lea rcx, [rbp + 0x50]
call fcn.140056b80
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rcx, qword [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
lea rcx, [rbp + 0x50]
test eax, eax
jne 0x14006b5a5
call fcn.140056af0
cmp qword [rdi + 0x18], 8
jb 0x14006b527
mov rdi, qword [rdi]
mov qword [rbp + 0x50], r13
movdqa xmm0, xmmword [0x1401e06e0]
movdqu xmmword [rbp + 0x60], xmm0
nop dword [rax + rax]
inc rbx
cmp word [rdi + rbx*2], r12w
jne 0x14006b540
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.140056b80
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rdx, qword [rbp + 0x50]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x14006b597
cmp eax, 0xb7
je 0x14006b597
cmp eax, 0x50
je 0x14006b597
lea rcx, [rbp + 0x50]
call fcn.140056af0
mov byte [r14 + 0x1b0], r12b
jmp 0x14006b7bc
lea rcx, [rbp + 0x50]
call fcn.140056af0
jmp 0x14006b7bc
call fcn.140056af0
test r15b, r15b
jne 0x14006b5fd
mov qword [rbp + 0x50], r13
movdqa xmm0, xmmword [0x1401e06e0]
movdqu xmmword [rbp + 0x60], xmm0
mov r8, rbx
inc r8
cmp word [rsi + r8*2], r12w
jne 0x14006b5c3
mov rdx, rsi
lea rcx, [rbp + 0x50]
call fcn.140056b80
mov r12d, 1
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rcx, qword [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathIsFileSpecW]
test eax, eax
jne 0x14006b5fd
movzx r15d, r12b
jmp 0x14006b600
xor r15b, r15b
test r12b, 1
je 0x14006b60f
lea rcx, [rbp + 0x50]
call fcn.140056af0
test r15b, r15b
jne 0x14006b7b4
mov qword [rbp + 0x50], r13
movdqa xmm0, xmmword [0x1401e06e0]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r13w
mov r8, rbx
inc r8
cmp word [rsi + r8*2], r13w
jne 0x14006b631
mov rdx, rsi
lea rcx, [rbp + 0x50]
call fcn.140056b80
nop
mov r8, rdi
cmp qword [rdi + 0x18], 8
jb 0x14006b655
mov r8, qword [rdi]
mov edx, 0x104
lea rcx, [rbp + 0x70]
call fcn.14012b328
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov esi, eax
test eax, eax
je 0x14006b6a8
lea rax, [rbp + 0x70]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x14006b690
lea rdx, [rbp + 0x70]
mov rcx, rdi
call fcn.140056b80
nop
lea rcx, [rbp + 0x50]
call fcn.140056af0
test esi, esi
je 0x14006b7b4
cmp qword [r14 + 0x130], 0
je 0x14006b6ed
lea rsi, [r14 + 0x98]
lea rcx, [rsi + 0x18]
call fcn.140065250
test rax, rax
jne 0x14006b6ed
mov rax, qword [rsi]
movsxd rcx, dword [rax + 4]
add rcx, rsi
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.14005b7d0
lea rcx, [rsp + 0x30]
call fcn.14006c2e0
nop
cmp qword [rdi + 0x18], 8
jb 0x14006b702
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x14006b710
lea rcx, [r14 + 0x48]
mov r8, rbx
mov rdx, rax
call fcn.140056b80
mov rax, qword [r14]
mov r8, qword [rax]
mov rcx, r14
cmp byte [r14 + 0x1b1], 0
je 0x14006b74f
lea rdx, [r14 + 0x98]
call r8
mov byte [r14 + 0x1b0], al
jmp 0x14006b79d
lea rdx, [rsp + 0x30]
call r8
mov byte [r14 + 0x1b0], al
cmp al, 0
je 0x14006b79d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x40], 6
jne 0x14006b79d
lea rcx, [rsp + 0x48]
call fcn.140065250
test rax, rax
jne 0x14006b79d
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x30]
add rcx, rax
mov edx, dword [rcx + 0x10]
or edx, 2
call fcn.14005b7d0
movzx ebx, byte [r14 + 0x1b0]
lea rcx, [rsp + 0x30]
call fcn.14006a580
movzx eax, bl
jmp 0x14006b7be
mov byte [r14 + 0x1b0], 0
xor al, al
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.140113660
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x390
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret