Function at 0x18008f200
Capabilities:
Create directory

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1801610c0]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rdi, rdx
mov r15, rcx
cmp qword [rcx + 0x10], 0
jne 0x18008f2bb
test rdx, rdx
je 0x18008f68c
call fcn.18001b950
mov rbx, rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov rcx, qword [rbx + 8]
movabs rax, 0x4d54ee85da812030
add rcx, rax
cmp rcx, 1
jbe 0x18008f288
mov r8, qword [rbx]
mov edx, reloc.OLEAUT32.dll_SafeArrayAccessData
mov rcx, rbx
call qword [r8 + 0x30]
jmp 0x18008f28a
mov al, 1
movzx eax, al
add rax, 2
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x60], reloc.OLEAUT32.dll_SafeArrayAccessData
mov qword [rsp + 0x68], rbx
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rdi], xmm0
movsd xmm1, qword [rsp + 0x70]
movsd qword [rdi + 0x10], xmm1
jmp 0x18008f662
xor r12d, r12d
test rdi, rdi
je 0x18008f2e7
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r12
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rsp + 0x40]
movsd qword [rdx + 0x10], xmm1
lea rdx, [rbp + 0x28]
call fcn.18008e300
nop
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x40]
call fcn.180037890
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x18], rax
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.180037890
nop
call fcn.18008e220
mov rsi, rax
call fcn.18008e140
mov r14, rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r12
lea rcx, [rbp - 0x80]
call fcn.18008e6c0
mov rdx, qword [rbp - 0x70]
sub rdx, rax
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
lea rdx, [rcx + rdx*2]
lea rcx, [rdx + rax*2]
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
cmp rdx, rcx
je 0x18008f385
mov r8, rax
lea rcx, [rbp - 0x60]
call fcn.180038900
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.18008e830
cmp qword [rax + 8], 0
jbe 0x18008f4cb
cmp qword [rbp - 0x50], 0
je 0x18008f3ee
mov rdx, rsi
lea rcx, [rbp - 0x60]
call fcn.18008dc00
test eax, eax
je 0x18008f3ee
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.18008dc00
test eax, eax
je 0x18008f3ee
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x48]
call fcn.180090270
mov rax, qword [rsp + 0x48]
cmp eax, 3
je 0x18008f4cb
test eax, eax
je 0x18008f482
lea rcx, [rbp - 0x40]
call fcn.18008dca0
lea rcx, [rbp - 0x80]
call fcn.18008ef70
lea rcx, [rbp - 0x80]
call fcn.18008e6c0
mov rdx, qword [rbp - 0x70]
sub rdx, rax
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
lea rdx, [rcx + rdx*2]
lea rcx, [rdx + rax*2]
mov qword [rbp], r12
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r12w
cmp rdx, rcx
je 0x18008f449
mov r8, rax
lea rcx, [rbp - 0x10]
call fcn.180038900
nop
lea rcx, [rbp - 0x60]
call fcn.1800389f0
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rbp - 0x50], xmm1
mov qword [rbp], r12
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r12w
lea rcx, [rbp - 0x10]
call fcn.1800389f0
nop
jmp 0x18008f385
movups xmm0, xmmword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
test rdi, rdi
je 0x18008f6d6
movups xmmword [rdi], xmm0
movsd qword [rdi + 0x10], xmm1
lea rcx, [rbp - 0x60]
call fcn.1800389f0
nop
lea rcx, [rbp - 0x80]
call fcn.1800389f0
nop
lea rcx, [rbp - 0x40]
call fcn.1800389f0
nop
lea rcx, [rbp + 0x28]
call fcn.1800389f0
nop
jmp 0x18008f662
lea rcx, [rbp - 0x60]
call fcn.1800389f0
nop
xor bl, bl
nop word [rax + rax]
mov rax, qword [rbp + 0x48]
cmp qword [rbp - 0x20], rax
jne 0x18008f4f8
mov rax, qword [rbp + 0x50]
cmp qword [rbp - 0x18], rax
je 0x18008f605
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x80]
call fcn.18008d550
cmp qword [rbp - 0x30], 0
je 0x18008f5f7
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.18008dc00
test eax, eax
je 0x18008f5f7
mov rdx, r14
lea rcx, [rbp - 0x40]
call fcn.18008dc00
test eax, eax
je 0x18008f5f7
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r12
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x70]
movsd qword [rsp + 0x40], xmm1
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rcx, qword [rbp - 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x18008f57d
mov bl, 1
jmp 0x18008f5dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r12
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rsp + 0x70]
movsd qword [rbp - 0x50], xmm1
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x48]
call fcn.180090270
cmp dword [rsp + 0x48], 3
je 0x18008f5da
lea r9, str.boost::filesystem::create_directory
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x80]
mov ecx, ebx
call fcn.180090c70
xor bl, bl
test byte [rsp + 0x40], 1
je 0x18008f5f7
cmp qword [rsp + 0x40], 1
jne 0x18008f628
cmp dword [rsp + 0x30], 0
setne al
test al, al
jne 0x18008f628
lea rcx, [rbp - 0x40]
call fcn.18008eab0
jmp 0x18008f4e0
lea rcx, [rbp - 0x80]
call fcn.1800389f0
nop
lea rcx, [rbp - 0x40]
call fcn.1800389f0
nop
lea rcx, [rbp + 0x28]
call fcn.1800389f0
nop
movzx eax, bl
jmp 0x18008f664
movups xmm0, xmmword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
test rdi, rdi
je 0x18008f713
movups xmmword [rdi], xmm0
movsd qword [rdi + 0x10], xmm1
lea rcx, [rbp - 0x80]
call fcn.1800389f0
nop
lea rcx, [rbp - 0x40]
call fcn.1800389f0
nop
lea rcx, [rbp + 0x28]
call fcn.1800389f0
nop
xor al, al
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.1800916f0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov edx, reloc.OLEAUT32.dll_SafeArrayAccessData
lea rcx, [rbp - 0x60]
call fcn.18008f750
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x70], xmm1
lea r9, [rsp + 0x60]
mov r8, r15
lea rdx, str.boost::filesystem::create_directories
lea rcx, [rbp - 0x10]
call fcn.1800908f0
lea rdx, [0x18015cc48]
lea rcx, [rbp - 0x10]
call fcn.1800b2060
nop
movaps xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x70], xmm1
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
mov r8, r15
lea rdx, str.boost::filesystem::create_directories
lea rcx, [rbp - 0x10]
call fcn.180090850
lea rdx, [0x18015cc48]
lea rcx, [rbp - 0x10]
call fcn.1800b2060
nop
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x50], xmm1
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
mov r8, r15
lea rdx, str.boost::filesystem::create_directories
lea rcx, [rbp - 0x10]
call fcn.180090850
lea rdx, [0x18015cc48]
lea rcx, [rbp - 0x10]
call fcn.1800b2060
int3