Function at 0x1400145f0
Capabilities:
Get common file path
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3c0
mov rax, qword [0x1400ba060]
xor rax, rsp
mov qword [rsp + 0x3b0], rax
mov rdi, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xe0], rcx
xor ebx, ebx
mov dword [rsp + 0x40], ebx
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x50], xmm0
mov r9b, 2
lea rdx, [rsp + 0x50]
call fcn.14001d6b0
mov dword [rsp + 0x40], 3
mov rcx, qword [0x1400bac98]
movabs r13, 0x7ffffffffffffffe
mov rax, r13
sub rax, rcx
cmp rax, 9
jb 0x14001604b
lea rax, [0x1400bac88]
cmp qword [0x1400baca0], 8
cmovae rax, qword [0x1400bac88]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 9
lea r9, str.SOFTWARE_
lea rcx, [rsp + 0x2d0]
call fcn.140008b80
mov r14d, 7
mov dword [rsp + 0x40], r14d
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x310]
call fcn.140001c20
mov rdx, rax
call fcn.140003c30
test al, al
je 0x140015fd3
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], r14
lea r8d, [r14 + 0x1c]
lea rdx, str.Getting_all_installed_products_info
lea rcx, [rsp + 0x210]
call fcn.140001db0
cmp byte [0x1400be55a], 0
je 0x140014738
lea rcx, [rsp + 0x210]
cmp qword [rsp + 0x228], 8
cmovae rcx, qword [rsp + 0x210]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rsp + 0x228]
cmp rdx, 8
jb 0x140014780
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001477b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016051
call fcn.1400623ac
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rbx
lea rsi, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 8
cmovae rsi, qword [rsp + 0x2d0]
mov r12, qword [rsp + 0x2e0]
cmp r12, 8
jae 0x1400147d5
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xe8], xmm0
mov edi, 7
jmp 0x14001485f
mov rdi, r12
or rdi, 7
cmp rdi, r13
cmova rdi, r13
lea rcx, [rdi + 1]
movabs r15, 0x7fffffffffffffff
cmp rcx, r15
ja 0x14001617a
add rcx, rcx
cmp rcx, 0x1000
jb 0x140014835
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001617a
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x140016057
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014844
test rcx, rcx
je 0x140014841
call fcn.1400622a0
jmp 0x140014844
mov rax, rbx
mov qword [rsp + 0xe8], rax
lea r8, [r12*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.140064710
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0x100], rdi
lea r8, [rsp + 0xe8]
lea rcx, [rsp + 0x120]
call fcn.1400045d0
nop
mov rcx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x60], rcx
cmp rcx, qword [rsp + 0x108]
je 0x140015fc1
mov qword [rsp + 0x1d0], rbx
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1e8], rbx
mov rdi, qword [rcx + 0x10]
mov r15, rcx
cmp qword [rcx + 0x18], 8
jb 0x1400148d9
mov r15, qword [rcx]
cmp rdi, 8
jae 0x1400148f5
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x1d0], xmm0
mov esi, 7
jmp 0x14001497f
mov rsi, rdi
or rsi, 7
cmp rsi, r13
cmova rsi, r13
lea rcx, [rsi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14001616e
add rcx, rcx
cmp rcx, 0x1000
jb 0x140014955
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001616e
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x140016150
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014964
test rcx, rcx
je 0x140014961
call fcn.1400622a0
jmp 0x140014964
mov rax, rbx
mov qword [rsp + 0x1d0], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064710
mov qword [rsp + 0x1e8], rsi
mov qword [rsp + 0x1e0], rdi
lea rax, [0x1400bace8]
cmp qword [0x1400bad00], 8
cmovae rax, qword [0x1400bace8]
lea r8, [rsp + 0x1d0]
mov r9, qword [rsp + 0x1d0]
cmp rsi, 8
cmovae r8, r9
cmp rdi, qword [0x1400bacf8]
jne 0x140014a02
test rdi, rdi
je 0x140014af2
movzx ecx, word [r8]
movzx edx, word [rax]
cmp cx, dx
jb 0x140014a02
sub r8, rax
cmp cx, dx
ja 0x140014a02
cmp rdi, 1
je 0x140014af2
dec rdi
add rax, 2
movzx ecx, word [r8 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x1400149e2
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xd0], xmm0
mov r9b, 1
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.14001d6b0
or r14d, 8
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x280], rbx
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], bx
xor r8d, r8d
lea rdx, [0x1400a7230]
lea rcx, [rsp + 0x270]
call fcn.140001db0
nop
mov qword [rsp + 0x2b0], rbx
mov qword [rsp + 0x2c0], rbx
mov qword [rsp + 0x2c8], 7
mov word [rsp + 0x2b0], bx
xor r8d, r8d
lea rdx, [0x1400a7230]
lea rcx, [rsp + 0x2b0]
call fcn.140001db0
nop
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], 7
mov word [rsp + 0x290], bx
xor r8d, r8d
lea rdx, [0x1400a7230]
lea rcx, [rsp + 0x290]
call fcn.140001db0
nop
mov rax, r13
sub rax, r12
cmp rax, 1
jb 0x14001605d
jmp 0x140014b3f
cmp rsi, 8
jb 0x140015fb3
lea rdx, [rsi*2 + 2]
mov rax, r9
cmp rdx, 0x1000
jb 0x140014b29
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016063
mov rcx, r9
call fcn.1400623ac
mov rcx, qword [rsp + 0x60]
add rcx, 0x20
jmp 0x14001489d
lea r9, [rsp + 0x2d0]
cmp qword [rsp + 0x2e8], 8
cmovae r9, qword [rsp + 0x2d0]
mov qword [rsp + 0x30], 1
lea rax, [0x1400a742c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x1b0]
call fcn.140008b80
or r14d, 0x10
mov dword [rsp + 0x40], r14d
mov rsi, qword [rsp + 0x1e0]
lea r9, [rsp + 0x1d0]
cmp qword [rsp + 0x1e8], 8
cmovae r9, qword [rsp + 0x1d0]
mov r15, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
mov rax, rcx
sub rax, r15
cmp rsi, rax
ja 0x140014c09
lea rax, [r15 + rsi]
mov qword [rsp + 0x1c0], rax
lea rdi, [rsp + 0x1b0]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x1b0]
lea rcx, [rdi + r15*2]
lea r8, [rsi + rsi]
mov rdx, r9
call fcn.140064710
lea rax, [rsi + r15]
mov word [rdi + rax*2], bx
lea rax, [rsp + 0x1b0]
jmp 0x140014c1e
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x1b0]
call fcn.1400089c0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x210], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x220], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
or r14d, 0x20
mov dword [rsp + 0x40], r14d
mov rdx, qword [rsp + 0x1c8]
cmp rdx, 8
jb 0x140014c95
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014c90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016069
call fcn.1400623ac
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x1c8], 7
mov word [rsp + 0x1b0], bx
lea rax, [rsp + 0x190]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], 7
mov r8d, 0x12
lea rdx, str.ClientShellVersion
lea rcx, [rsp + 0x190]
call fcn.140001db0
nop
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
lea r15, [rsp + 0x210]
mov r13, qword [rsp + 0x210]
mov qword [rsp + 0x70], r13
mov r12, qword [rsp + 0x228]
cmp r12, 8
cmovae r15, r13
mov rdi, qword [rsp + 0x220]
cmp rdi, 8
jae 0x140014d5d
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x188], 7
jmp 0x140014df9
mov rsi, rdi
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rcx, [rsi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140016168
add rcx, rcx
cmp rcx, 0x1000
jb 0x140014dc7
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016168
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x14001606f
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014dd6
test rcx, rcx
je 0x140014dd3
call fcn.1400622a0
jmp 0x140014dd6
mov rax, rbx
mov qword [rsp + 0x170], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064710
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], rdi
lea r9, [rsp + 0x270]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x170]
call fcn.140003f20
lea rax, [rsp + 0x190]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], 7
mov r8d, 0xb
lea rdx, str.InstallTime
lea rcx, [rsp + 0x190]
call fcn.140001db0
nop
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
lea r15, [rsp + 0x210]
cmp r12, 8
cmovae r15, r13
cmp rdi, 8
jae 0x140014ead
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x188], 7
jmp 0x140014f49
mov rsi, rdi
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rcx, [rsi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140016162
add rcx, rcx
cmp rcx, 0x1000
jb 0x140014f17
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016162
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x140016075
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014f26
test rcx, rcx
je 0x140014f23
call fcn.1400622a0
jmp 0x140014f26
mov rax, rbx
mov qword [rsp + 0x170], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064710
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], rdi
lea r9, [rsp + 0x2b0]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x170]
call fcn.140003f20
lea rax, [rsp + 0x190]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], 7
mov r8d, 0x19
lea rdx, str.LastEligibleForUpdateTime
lea rcx, [rsp + 0x190]
call fcn.140001db0
nop
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
lea r15, [rsp + 0x210]
cmp r12, 8
cmovae r15, r13
cmp rdi, 8
jae 0x140015000
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x188], 7
jmp 0x14001509c
mov rsi, rdi
or rsi, 7
movabs r12, 0x7ffffffffffffffe
cmp rsi, r12
cmova rsi, r12
lea rcx, [rsi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14001615c
add rcx, rcx
cmp rcx, 0x1000
jb 0x14001506a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001615c
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x14001607b
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140015079
test rcx, rcx
je 0x140015076
call fcn.1400622a0
jmp 0x140015079
mov rax, rbx
mov qword [rsp + 0x170], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064710
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], rdi
lea r9, [rsp + 0x290]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x170]
call fcn.140003f20
lea rax, [rsp + 0x80]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x330]
call fcn.140031690
nop
lea r8, [rsp + 0x1d0]
cmp qword [rsp + 0x1e8], 8
cmovae r8, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1e0]
lea r9, [r8 + rax*2]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x330]
call fcn.140033880
or r14d, 0xc0
mov dword [rsp + 0x40], r14d
lea rcx, [rsp + 0x330]
call fcn.1400315a0
nop
xor eax, eax
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x80], 3
lea ecx, [rax + 0x20]
call fcn.1400622a0
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rsp + 0x180]
movups xmmword [rax + 0x10], xmm1
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], 0xf
mov byte [rsp + 0x170], 0
mov qword [rsp + 0x88], rax
lea rdx, str.productName
lea rcx, [rsp + 0x50]
call fcn.14001e250
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x80]
mov byte [rax], cl
mov byte [rsp + 0x80], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x88]
mov qword [rax + 8], rdx
mov qword [rsp + 0x88], rcx
movzx edx, byte [rsp + 0x80]
lea rcx, [rsp + 0x88]
call fcn.14001d020
nop
lea rax, [rsp + 0x90]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x330]
call fcn.140031690
nop
lea r8, [rsp + 0x270]
cmp qword [rsp + 0x288], 8
cmovae r8, qword [rsp + 0x270]
mov rax, qword [rsp + 0x280]
lea r9, [r8 + rax*2]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x330]
call fcn.140033880
or r14d, 0x300
mov dword [rsp + 0x40], r14d
lea rcx, [rsp + 0x330]
call fcn.1400315a0
nop
xor eax, eax
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x90], 3
lea ecx, [rax + 0x20]
call fcn.1400622a0
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rsp + 0x180]
movups xmmword [rax + 0x10], xmm1
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], 0xf
mov byte [rsp + 0x170], 0
mov qword [rsp + 0x98], rax
lea rdx, str.electronShellVersion
lea rcx, [rsp + 0x50]
call fcn.14001e250
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x90]
mov byte [rax], cl
mov byte [rsp + 0x90], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x98]
mov qword [rax + 8], rdx
mov qword [rsp + 0x98], rcx
movzx edx, byte [rsp + 0x90]
lea rcx, [rsp + 0x98]
call fcn.14001d020
nop
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
call fcn.14007018c
mov rsi, rax
lea rdi, [rsp + 0x2b0]
cmp qword [rsp + 0x2c8], 8
cmovae rdi, qword [rsp + 0x2b0]
mov dword [rax], ebx
mov r8d, 0xa
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.14006ff8c
cmp rdi, qword [rsp + 0x110]
je 0x140016081
cmp dword [rsi], 0x22
je 0x14001608d
mov byte [rsp + 0xa0], 5
mov qword [rsp + 0xa8], rax
lea rdx, str.installTime
lea rcx, [rsp + 0x50]
call fcn.14001e250
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0xa0]
mov byte [rax], cl
mov byte [rsp + 0xa0], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0xa8]
mov qword [rax + 8], rdx
mov qword [rsp + 0xa8], rcx
movzx edx, byte [rsp + 0xa0]
lea rcx, [rsp + 0xa8]
call fcn.14001d020
nop
jmp 0x1400153e1
mov r13d, 0x5c
lea r12, [0x1400a742c]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xd0], rax
call fcn.14007018c
mov rsi, rax
lea rdi, [rsp + 0x290]
cmp qword [rsp + 0x2a8], 8
cmovae rdi, qword [rsp + 0x290]
mov dword [rax], ebx
lea r8d, [r13 - 0x52]
lea rdx, [rsp + 0x118]
mov rcx, rdi
call fcn.14006ff8c
cmp rdi, qword [rsp + 0x118]
je 0x14001609a
cmp dword [rsi], 0x22
je 0x1400160a6
mov byte [rsp + 0xb0], 5
mov qword [rsp + 0xb8], rax
lea rdx, str.lastEligibleForUpdateTime
lea rcx, [rsp + 0x50]
call fcn.14001e250
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0xb0]
mov byte [rax], cl
mov byte [rsp + 0xb0], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0xb8]
mov qword [rax + 8], rdx
mov qword [rsp + 0xb8], rcx
movzx edx, byte [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call fcn.14001d020
nop
jmp 0x1400154df
mov qword [rsp + 0x48], rbx
lea r9, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1400976e0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
bts r14d, 0xa
mov qword [rsp + 0x1f0], rbx
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x208], 7
mov word [rsp + 0x1f0], bx
test eax, eax
jns 0x140015537
mov r8d, 0x10
lea rdx, str.C:Program_Files
jmp 0x14001554e
mov rdx, qword [rsp + 0x48]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x140015543
lea rcx, [rsp + 0x1f0]
call fcn.140001db0
mov dword [rsp + 0x40], r14d
mov rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x208]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x1400155b0
lea rcx, [rdx + 1]
mov qword [rsp + 0x200], rcx
lea rax, [rsp + 0x1f0]
cmp r8, 8
cmovae rax, qword [rsp + 0x1f0]
mov word [rax + rdx*2], r13w
mov word [rax + rcx*2], bx
lea rax, [rsp + 0x1f0]
jmp 0x1400155ce
mov qword [rsp + 0x20], 1
mov r9, r12
mov edx, 1
lea rcx, [rsp + 0x1f0]
call fcn.1400089c0
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x170], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x180], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
bts r14d, 0xb
mov dword [rsp + 0x40], r14d
mov rsi, qword [0x1400bac98]
lea r9, [0x1400bac88]
cmp qword [0x1400baca0], 8
cmovae r9, qword [0x1400bac88]
mov r15, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
sub rax, r15
cmp rsi, rax
ja 0x140015692
lea rax, [r15 + rsi]
mov qword [rsp + 0x180], rax
lea rdi, [rsp + 0x170]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x170]
lea rcx, [rdi + r15*2]
lea r8, [rsi + rsi]
mov rdx, r9
call fcn.140064710
lea rax, [rsi + r15]
mov word [rdi + rax*2], bx
lea rax, [rsp + 0x170]
jmp 0x1400156a7
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x170]
call fcn.1400089c0
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x190], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x1a0], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
bts r14d, 0xc
mov dword [rsp + 0x40], r14d
mov rdx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1a8]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x14001573f
lea rcx, [rdx + 1]
mov qword [rsp + 0x1a0], rcx
lea rax, [rsp + 0x190]
cmp r8, 8
cmovae rax, qword [rsp + 0x190]
mov word [rax + rdx*2], r13w
mov word [rax + rcx*2], bx
lea rax, [rsp + 0x190]
jmp 0x14001575d
mov qword [rsp + 0x20], 1
mov r9, r12
mov edx, 1
lea rcx, [rsp + 0x190]
call fcn.1400089c0
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x250], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x260], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
bts r14d, 0xd
mov dword [rsp + 0x40], r14d
mov rsi, qword [rsp + 0x1e0]
lea r9, [rsp + 0x1d0]
cmp qword [rsp + 0x1e8], 8
cmovae r9, qword [rsp + 0x1d0]
mov r15, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x268]
mov rax, rcx
sub rax, r15
cmp rsi, rax
ja 0x140015825
lea rax, [rsi + r15]
mov qword [rsp + 0x260], rax
lea rdi, [rsp + 0x250]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x250]
lea rcx, [rdi + r15*2]
lea r8, [rsi + rsi]
mov rdx, r9
call fcn.140064710
lea rax, [r15 + rsi]
mov word [rdi + rax*2], bx
lea rax, [rsp + 0x250]
jmp 0x14001583a
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x250]
call fcn.1400089c0
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x230], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x240], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
bts r14d, 0xe
mov dword [rsp + 0x40], r14d
mov rcx, qword [rsp + 0x240]
mov rdx, qword [rsp + 0x248]
mov rax, rdx
sub rax, rcx
cmp rax, 0x11
jb 0x1400158e3
lea rsi, [rcx + 0x11]
mov qword [rsp + 0x240], rsi
lea rdi, [rsp + 0x230]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x230]
lea rcx, [rdi + rcx*2]
mov r8d, 0x22
lea rdx, str.InstallerLib.dll
call fcn.140064710
mov word [rdi + rsi*2], bx
lea rax, [rsp + 0x230]
jmp 0x140015905
mov qword [rsp + 0x20], 0x11
lea r9, str.InstallerLib.dll
mov edx, 0x11
lea rcx, [rsp + 0x230]
call fcn.1400089c0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x2f0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x300], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
bts r14d, 0xf
mov dword [rsp + 0x40], r14d
mov rdx, qword [rsp + 0x248]
cmp rdx, 8
jb 0x14001597d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015978
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400160b3
call fcn.1400623ac
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], 7
mov word [rsp + 0x230], bx
mov rdx, qword [rsp + 0x268]
cmp rdx, 8
jb 0x1400159e1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400159dc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400160b9
call fcn.1400623ac
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], 7
mov word [rsp + 0x250], bx
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 8
jb 0x140015a45
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015a40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400160bf
call fcn.1400623ac
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], 7
mov word [rsp + 0x190], bx
mov rdx, qword [rsp + 0x188]
cmp rdx, 8
jb 0x140015aa9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015aa4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400160c5
call fcn.1400623ac
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], 7
mov word [rsp + 0x170], bx
mov rdx, qword [rsp + 0x208]
cmp rdx, 8
jb 0x140015b0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015b08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400160cb
call fcn.1400623ac
mov qword [rsp + 0x200], rbx
mov qword [rsp + 0x208], 7
mov word [rsp + 0x1f0], bx
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0x1c0], rbx
mov qword [rsp + 0x1c8], rbx
lea r12, [rsp + 0x2f0]
mov r15, qword [rsp + 0x2f0]
mov r13, qword [rsp + 0x308]
cmp r13, 8
cmovae r12, r15
mov rsi, qword [rsp + 0x300]
cmp rsi, 8
jae 0x140015b9d
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c8], 7
jmp 0x140015c39
mov rdi, rsi
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140016156
add rcx, rcx
cmp rcx, 0x1000
jb 0x140015c07
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016156
mov rcx, rax
call fcn.1400622a0
mov rcx, rax
test rax, rax
je 0x1400160d1
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140015c16
test rcx, rcx
je 0x140015c13
call fcn.1400622a0
jmp 0x140015c16
mov rax, rbx
mov qword [rsp + 0x1b0], rax
lea r8, [rsi*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.140064710
mov qword [rsp + 0x1c8], rdi
mov qword [rsp + 0x1c0], rsi
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x310]
call fcn.14002dc40
mov rdi, rax
xor eax, eax
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xc0], 3
lea ecx, [rax + 0x20]
call fcn.1400622a0
mov qword [rax], rbx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
movups xmm0, xmmword [rdi]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov qword [rsp + 0xc8], rax
lea rdx, str.productVersion
lea rcx, [rsp + 0x50]
call fcn.14001e250
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0xc0]
mov byte [rax], cl
mov byte [rsp + 0xc0], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0xc8]
mov qword [rax + 8], rdx
mov qword [rsp + 0xc8], rcx
movzx edx, byte [rsp + 0xc0]
lea rcx, [rsp + 0xc8]
call fcn.14001d020
nop
mov rdx, qword [rsp + 0x328]
cmp rdx, 0x10
jb 0x140015d3a
inc rdx
mov rcx, qword [rsp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015d35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400160d1
call fcn.1400623ac
mov rdi, qword [rsp + 0x68]
movzx eax, byte [rdi]
test al, al
je 0x140015d50
cmp al, 2
jne 0x1400160d7
jmp 0x140015d68
mov byte [rdi], 2
mov dl, 2
lea rcx, [rsp + 0x78]
call fcn.14001d470
mov rax, qword [rsp + 0x78]
mov qword [rdi + 8], rax
mov rdi, qword [rdi + 8]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x140015d8a
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14001ba10
add qword [rdi + 8], 0x10
jmp 0x140015d9b
lea r8, [rsp + 0x50]
mov rdx, rax
mov rcx, rdi
call fcn.14001eed0
nop
cmp r13, 8
jb 0x140015dd7
lea rdx, [r13*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x140015dce
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016132
mov rcx, r15
call fcn.1400623ac
nop
mov rdx, qword [rsp + 0x228]
cmp rdx, 8
jb 0x140015e1d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e17
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016138
call fcn.1400623ac
nop
mov rdx, qword [rsp + 0x2a8]
cmp rdx, 8
jb 0x140015e65
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001613e
call fcn.1400623ac
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], 7
mov word [rsp + 0x290], bx
mov rdx, qword [rsp + 0x2c8]
cmp rdx, 8
jb 0x140015ec9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015ec4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016144
call fcn.1400623ac
mov qword [rsp + 0x2c0], rbx
mov qword [rsp + 0x2c8], 7
mov word [rsp + 0x2b0], bx
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x140015f2d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015f28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001614a
call fcn.1400623ac
mov qword [rsp + 0x280], rbx
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], bx
movzx edx, byte [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.14001d020
nop
mov rdx, qword [rsp + 0x1e8]
cmp rdx, 8
jb 0x140015fa1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015f9c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016150
call fcn.1400623ac
movabs r13, 0x7ffffffffffffffe
mov r12, qword [rsp + 0x2e0]
mov rcx, qword [rsp + 0x60]
add rcx, 0x20
jmp 0x14001489d
lea rcx, [rsp + 0x120]
call fcn.140001d20
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x2e8]
cmp rdx, 8
jb 0x14001601b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016016
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016174
call fcn.1400623ac
mov rax, rdi
mov rcx, qword [rsp + 0x3b0]
xor rcx, rsp
call fcn.140062280
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140001480
nop
call fcn.14006e6a8
int3
call fcn.14006e6a8
nop
call fcn.140001480
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
lea rcx, str.invalid_stoll_argument
call fcn.14003cdbc
lea rcx, str.stoll_argument_out_of_range
call fcn.14003ce04
nop
lea rcx, str.invalid_stoll_argument
call fcn.14003cdbc
lea rcx, str.stoll_argument_out_of_range
call fcn.14003ce04
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
int3
call fcn.14006e6a8
int3
mov rcx, rdi
call fcn.14001d620
mov rdx, rax
lea rcx, [rsp + 0x310]
call fcn.1400036c0
nop
mov r8, rax
lea rdx, str.cannot_use_push_back___with
lea rcx, [rsp + 0x1b0]
call fcn.140008900
nop
mov r8, rax
mov edx, 0x134
lea rcx, [rsp + 0x138]
call fcn.140012e30
lea rdx, [0x1400b83a8]
lea rcx, [rsp + 0x138]
call fcn.140064640
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.14006e6a8
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.14006e6a8
nop
call fcn.1400013e0
int3