Function at 0x1400f31a0
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x318
mov rax, qword [0x1408fa960]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov qword [rsp + 0x30], 0xffffffffffffffff
mov qword [rsp + 0x38], 0
mov rdx, qword [rsp + 0x320]
lea rcx, [rsp + 0x48]
call fcn.1400179b0
nop
lea rcx, [rsp + 0x68]
call fcn.14000a280
nop
mov qword [rsp + 0x28], 0xffffffffffffffff
lea rdx, [0x14030c71c]
lea rcx, [rsp + 0x48]
call fcn.140029be0
movzx eax, al
test eax, eax
je 0x1400f321b
lea rcx, [rsp + 0x48]
call fcn.14002a240
jmp 0x1400f323d
lea rdx, [0x14030c720]
lea rcx, [rsp + 0x48]
call fcn.140029be0
movzx eax, al
test eax, eax
jne 0x1400f323d
lea rcx, [rsp + 0x48]
call fcn.1400cd350
lea rcx, [rsp + 0x48]
call fcn.14000c690
lea rdx, [rsp + 0xb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
je 0x1400f32a2
mov eax, dword [rsp + 0xb0]
and eax, 0x10
test eax, eax
je 0x1400f32a2
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov byte [rsp + 0x20], 1
lea rcx, [rsp + 0x68]
call fcn.14000a800
nop
lea rcx, [rsp + 0x48]
call fcn.14000a800
movzx eax, byte [rsp + 0x20]
jmp 0x1400f341f
mov r8, qword [rsp + 0x38]
mov dx, reloc.msi.dll_MsiOpenProductW
lea rcx, [rsp + 0x48]
call fcn.1400786e0
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0xffffffffffffffff
je 0x1400f33b9
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x38], rax
mov r9, qword [rsp + 0x30]
xor r8d, r8d
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x48]
call fcn.1400375d0
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.14001e7a0
lea rcx, [rsp + 0x88]
call fcn.14000a800
lea rdx, [0x14030c728]
lea rcx, [rsp + 0x68]
call fcn.140029be0
movzx eax, al
test eax, eax
jne 0x1400f33b4
lea rcx, [rsp + 0x68]
call fcn.14000c690
lea rdx, [rsp + 0xb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0xffffffffffffffff
je 0x1400f336d
mov eax, dword [rsp + 0xb0]
and eax, 0x10
test eax, eax
je 0x1400f336d
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x1400f33b4
lea rcx, [rsp + 0x68]
call fcn.14000c690
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400f33b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400f33b4
mov byte [rsp + 0x21], 0
lea rcx, [rsp + 0x68]
call fcn.14000a800
nop
lea rcx, [rsp + 0x48]
call fcn.14000a800
movzx eax, byte [rsp + 0x21]
jmp 0x1400f341f
jmp 0x1400f32a2
lea rcx, [rsp + 0x48]
call fcn.14000c690
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400f3400
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400f3400
mov byte [rsp + 0x22], 0
lea rcx, [rsp + 0x68]
call fcn.14000a800
nop
lea rcx, [rsp + 0x48]
call fcn.14000a800
movzx eax, byte [rsp + 0x22]
jmp 0x1400f341f
mov byte [rsp + 0x23], 1
lea rcx, [rsp + 0x68]
call fcn.14000a800
nop
lea rcx, [rsp + 0x48]
call fcn.14000a800
movzx eax, byte [rsp + 0x23]
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.140222a60
add rsp, 0x318
ret