Function at 0x140014a30
Capabilities:
Get common file path

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 [0x1400bb060]
xor rax, rsp
mov qword [rsp + 0x3b0], rax
mov rdi, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x100], 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.14001db70
mov dword [rsp + 0x40], 3
mov rcx, qword [0x1400bbc98]
movabs r13, 0x7ffffffffffffffe
mov rax, r13
sub rax, rcx
cmp rax, 9
jb 0x140016428
lea rax, [0x1400bbc88]
cmp qword [0x1400bbca0], 8
cmovae rax, qword [0x1400bbc88]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 9
lea r9, str.SOFTWARE_
lea rcx, [rsp + 0x2b0]
call fcn.1400027e0
mov r14d, 7
mov dword [rsp + 0x40], r14d
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x310]
call fcn.1400021c0
mov rdx, rax
call fcn.140004990
test al, al
je 0x1400163b0
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], r14
lea r8d, [r14 + 0x1c]
lea rdx, str.Getting_all_installed_products_info
lea rcx, [rsp + 0xe0]
call fcn.140002350
lea rcx, [rsp + 0xe0]
call fcn.140003030
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rbx
lea rsi, [rsp + 0x2b0]
cmp qword [rsp + 0x2c8], 8
cmovae rsi, qword [rsp + 0x2b0]
mov r12, qword [rsp + 0x2c0]
cmp r12, 8
jae 0x140014baf
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0xe0], xmm0
mov edi, r14d
jmp 0x140014c39
mov rdi, r12
or rdi, 7
cmp rdi, r13
cmova rdi, r13
lea rcx, [rdi + 1]
movabs r15, 0x7fffffffffffffff
cmp rcx, r15
ja 0x140016551
add rcx, rcx
cmp rcx, 0x1000
jb 0x140014c0f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016551
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x14001642e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014c1e
test rcx, rcx
je 0x140014c1b
call fcn.140062b60
jmp 0x140014c1e
mov rax, rbx
mov qword [rsp + 0xe0], rax
lea r8, [r12*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.140064fd0
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xf8], rdi
lea r8, [rsp + 0xe0]
lea rcx, [rsp + 0x120]
call fcn.140005330
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 0x14001639e
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 0x140014cb3
mov r15, qword [rcx]
cmp rdi, 8
jae 0x140014ccf
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x1d0], xmm0
mov esi, 7
jmp 0x140014d59
mov rsi, rdi
or rsi, 7
cmp rsi, r13
cmova rsi, r13
lea rcx, [rsi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140016545
add rcx, rcx
cmp rcx, 0x1000
jb 0x140014d2f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016545
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x140016527
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140014d3e
test rcx, rcx
je 0x140014d3b
call fcn.140062b60
jmp 0x140014d3e
mov rax, rbx
mov qword [rsp + 0x1d0], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064fd0
mov qword [rsp + 0x1e8], rsi
mov qword [rsp + 0x1e0], rdi
lea rax, [0x1400bbce8]
cmp qword [0x1400bbd00], 8
cmovae rax, qword [0x1400bbce8]
lea r8, [rsp + 0x1d0]
mov r9, qword [rsp + 0x1d0]
cmp rsi, 8
cmovae r8, r9
cmp rdi, qword [0x1400bbcf8]
jne 0x140014ddc
test rdi, rdi
je 0x140014ecc
movzx ecx, word [r8]
movzx edx, word [rax]
cmp cx, dx
jb 0x140014ddc
sub r8, rax
cmp cx, dx
ja 0x140014ddc
cmp rdi, 1
je 0x140014ecc
dec rdi
add rax, 2
movzx ecx, word [r8 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x140014dbc
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xd0], xmm0
mov r9b, 1
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.14001db70
or r14d, 8
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], 7
mov word [rsp + 0x250], bx
xor r8d, r8d
lea rdx, [0x1400a8658]
lea rcx, [rsp + 0x250]
call fcn.140002350
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, [0x1400a8658]
lea rcx, [rsp + 0x290]
call fcn.140002350
nop
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, [0x1400a8658]
lea rcx, [rsp + 0x270]
call fcn.140002350
nop
mov rax, r13
sub rax, r12
cmp rax, 1
jb 0x140016434
jmp 0x140014f19
cmp rsi, 8
jb 0x140016390
lea rdx, [rsi*2 + 2]
mov rax, r9
cmp rdx, 0x1000
jb 0x140014f03
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001643a
mov rcx, r9
call fcn.140062c6c
mov rcx, qword [rsp + 0x60]
add rcx, 0x20
jmp 0x140014c77
lea r9, [rsp + 0x2b0]
cmp qword [rsp + 0x2c8], 8
cmovae r9, qword [rsp + 0x2b0]
mov qword [rsp + 0x30], 1
lea rax, [0x1400a885c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x1b0]
call fcn.1400027e0
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 0x140014fe3
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.140064fd0
lea rax, [rsi + r15]
mov word [rdi + rax*2], bx
lea rax, [rsp + 0x1b0]
jmp 0x140014ff8
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x1b0]
call fcn.140002bc0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x2d0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x2e0], 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 0x14001506f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001506a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016440
call fcn.140062c6c
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.140002350
nop
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
lea r15, [rsp + 0x2d0]
mov r13, qword [rsp + 0x2d0]
mov qword [rsp + 0x70], r13
mov r12, qword [rsp + 0x2e8]
cmp r12, 8
cmovae r15, r13
mov rdi, qword [rsp + 0x2e0]
cmp rdi, 8
jae 0x140015137
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x188], 7
jmp 0x1400151d3
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 0x14001653f
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400151a1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001653f
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x140016446
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400151b0
test rcx, rcx
je 0x1400151ad
call fcn.140062b60
jmp 0x1400151b0
mov rax, rbx
mov qword [rsp + 0x170], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064fd0
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], rdi
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x170]
call fcn.140004c80
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.140002350
nop
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
lea r15, [rsp + 0x2d0]
cmp r12, 8
cmovae r15, r13
cmp rdi, 8
jae 0x140015287
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x188], 7
jmp 0x140015323
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 0x140016539
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400152f1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016539
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x14001644c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140015300
test rcx, rcx
je 0x1400152fd
call fcn.140062b60
jmp 0x140015300
mov rax, rbx
mov qword [rsp + 0x170], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064fd0
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], rdi
lea r9, [rsp + 0x290]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x170]
call fcn.140004c80
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.140002350
nop
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
lea r15, [rsp + 0x2d0]
cmp r12, 8
cmovae r15, r13
cmp rdi, 8
jae 0x1400153da
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x188], 7
jmp 0x140015476
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 0x140016533
add rcx, rcx
cmp rcx, 0x1000
jb 0x140015444
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140016533
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x140016452
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140015453
test rcx, rcx
je 0x140015450
call fcn.140062b60
jmp 0x140015453
mov rax, rbx
mov qword [rsp + 0x170], rax
lea r8, [rdi*2 + 2]
mov rdx, r15
mov rcx, rax
call fcn.140064fd0
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x180], rdi
lea r9, [rsp + 0x270]
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x170]
call fcn.140004c80
lea rax, [rsp + 0x80]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x330]
call fcn.140031f50
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.140034140
or r14d, 0xc0
mov dword [rsp + 0x40], r14d
lea rcx, [rsp + 0x330]
call fcn.140031e60
nop
xor eax, eax
mov qword [rsp + 0x88], rax
mov byte [rsp + 0x80], 3
lea ecx, [rax + 0x20]
call fcn.140062b60
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.14001e860
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.14001d4e0
nop
lea rax, [rsp + 0x90]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x330]
call fcn.140031f50
nop
lea r8, [rsp + 0x250]
cmp qword [rsp + 0x268], 8
cmovae r8, qword [rsp + 0x250]
mov rax, qword [rsp + 0x260]
lea r9, [r8 + rax*2]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x330]
call fcn.140034140
or r14d, 0x300
mov dword [rsp + 0x40], r14d
lea rcx, [rsp + 0x330]
call fcn.140031e60
nop
xor eax, eax
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x90], 3
lea ecx, [rax + 0x20]
call fcn.140062b60
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.14001e860
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.14001d4e0
nop
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xd0], rax
call fcn.140070a4c
mov rsi, rax
lea rdi, [rsp + 0x290]
cmp qword [rsp + 0x2a8], 8
cmovae rdi, qword [rsp + 0x290]
mov dword [rax], ebx
mov r8d, 0xa
lea rdx, [rsp + 0x110]
mov rcx, rdi
call fcn.14007084c
cmp rdi, qword [rsp + 0x110]
je 0x140016458
cmp dword [rsi], 0x22
je 0x140016464
mov byte [rsp + 0xa0], 5
mov qword [rsp + 0xa8], rax
lea rdx, str.installTime
lea rcx, [rsp + 0x50]
call fcn.14001e860
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.14001d4e0
nop
jmp 0x1400157bb
mov r13d, 0x5c
lea r12, [0x1400a885c]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xd0], rax
call fcn.140070a4c
mov rsi, rax
lea rdi, [rsp + 0x270]
cmp qword [rsp + 0x288], 8
cmovae rdi, qword [rsp + 0x270]
mov dword [rax], ebx
lea r8d, [r13 - 0x52]
lea rdx, [rsp + 0x118]
mov rcx, rdi
call fcn.14007084c
cmp rdi, qword [rsp + 0x118]
je 0x140016471
cmp dword [rsi], 0x22
je 0x14001647d
mov byte [rsp + 0xb0], 5
mov qword [rsp + 0xb8], rax
lea rdx, str.lastEligibleForUpdateTime
lea rcx, [rsp + 0x50]
call fcn.14001e860
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.14001d4e0
nop
jmp 0x1400158b9
mov qword [rsp + 0x48], rbx
lea r9, [rsp + 0x48]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140098700]
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 0x140015911
mov r8d, 0x10
lea rdx, str.C:Program_Files
jmp 0x14001592b
mov rdx, qword [rsp + 0x48]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140015920
lea rcx, [rsp + 0x1f0]
call fcn.140002350
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 0x14001598d
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 0x1400159ab
mov qword [rsp + 0x20], 1
mov r9, r12
mov edx, 1
lea rcx, [rsp + 0x1f0]
call fcn.140002bc0
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 [0x1400bbc98]
lea r9, [0x1400bbc88]
cmp qword [0x1400bbca0], 8
cmovae r9, qword [0x1400bbc88]
mov r15, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov rax, rcx
sub rax, r15
cmp rsi, rax
ja 0x140015a6f
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.140064fd0
lea rax, [rsi + r15]
mov word [rdi + rax*2], bx
lea rax, [rsp + 0x170]
jmp 0x140015a84
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x170]
call fcn.140002bc0
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 0x140015b1c
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 0x140015b3a
mov qword [rsp + 0x20], 1
mov r9, r12
mov edx, 1
lea rcx, [rsp + 0x190]
call fcn.140002bc0
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, 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 + 0x240]
mov rcx, qword [rsp + 0x248]
mov rax, rcx
sub rax, r15
cmp rsi, rax
ja 0x140015c02
lea rax, [r15 + rsi]
mov qword [rsp + 0x240], rax
lea rdi, [rsp + 0x230]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x230]
lea rcx, [rdi + r15*2]
lea r8, [rsi + rsi]
mov rdx, r9
call fcn.140064fd0
lea rax, [r15 + rsi]
mov word [rdi + rax*2], bx
lea rax, [rsp + 0x230]
jmp 0x140015c17
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x230]
call fcn.140002bc0
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], rbx
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
bts r14d, 0xe
mov dword [rsp + 0x40], r14d
mov rcx, qword [rsp + 0x220]
mov rdx, qword [rsp + 0x228]
mov rax, rdx
sub rax, rcx
cmp rax, 0x11
jb 0x140015cc0
lea rsi, [rcx + 0x11]
mov qword [rsp + 0x220], rsi
lea rdi, [rsp + 0x210]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x210]
lea rcx, [rdi + rcx*2]
mov r8d, 0x22
lea rdx, str.InstallerLib.dll
call fcn.140064fd0
mov word [rdi + rsi*2], bx
lea rax, [rsp + 0x210]
jmp 0x140015ce2
mov qword [rsp + 0x20], 0x11
lea r9, str.InstallerLib.dll
mov edx, 0x11
lea rcx, [rsp + 0x210]
call fcn.140002bc0
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 + 0x228]
cmp rdx, 8
jb 0x140015d5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x210]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015d55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001648a
call fcn.140062c6c
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], 7
mov word [rsp + 0x210], bx
mov rdx, qword [rsp + 0x248]
cmp rdx, 8
jb 0x140015dbe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x230]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015db9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016490
call fcn.140062c6c
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], 7
mov word [rsp + 0x230], bx
mov rdx, qword [rsp + 0x1a8]
cmp rdx, 8
jb 0x140015e22
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016496
call fcn.140062c6c
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x1a8], 7
mov word [rsp + 0x190], bx
mov rdx, qword [rsp + 0x188]
cmp rdx, 8
jb 0x140015e86
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001649c
call fcn.140062c6c
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], 7
mov word [rsp + 0x170], bx
mov rdx, qword [rsp + 0x208]
cmp rdx, 8
jb 0x140015eea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015ee5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400164a2
call fcn.140062c6c
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 0x140015f7a
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c8], 7
jmp 0x140016016
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 0x14001652d
add rcx, rcx
cmp rcx, 0x1000
jb 0x140015fe4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001652d
mov rcx, rax
call fcn.140062b60
mov rcx, rax
test rax, rax
je 0x1400164a8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140015ff3
test rcx, rcx
je 0x140015ff0
call fcn.140062b60
jmp 0x140015ff3
mov rax, rbx
mov qword [rsp + 0x1b0], rax
lea r8, [rsi*2 + 2]
mov rdx, r12
mov rcx, rax
call fcn.140064fd0
mov qword [rsp + 0x1c8], rdi
mov qword [rsp + 0x1c0], rsi
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x310]
call fcn.14002e310
mov rdi, rax
xor eax, eax
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xc0], 3
lea ecx, [rax + 0x20]
call fcn.140062b60
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.14001e860
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.14001d4e0
nop
mov rdx, qword [rsp + 0x328]
cmp rdx, 0x10
jb 0x140016117
inc rdx
mov rcx, qword [rsp + 0x310]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016112
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400164a8
call fcn.140062c6c
mov rdi, qword [rsp + 0x68]
movzx eax, byte [rdi]
test al, al
je 0x14001612d
cmp al, 2
jne 0x1400164ae
jmp 0x140016145
mov byte [rdi], 2
mov dl, 2
lea rcx, [rsp + 0x78]
call fcn.14001d930
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 0x140016167
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.14001bed0
add qword [rdi + 8], 0x10
jmp 0x140016178
lea r8, [rsp + 0x50]
mov rdx, rax
mov rcx, rdi
call fcn.14001f5a0
nop
cmp r13, 8
jb 0x1400161b4
lea rdx, [r13*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400161ab
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016509
mov rcx, r15
call fcn.140062c6c
nop
mov rdx, qword [rsp + 0x2e8]
cmp rdx, 8
jb 0x1400161fa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400161f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001650f
call fcn.140062c6c
nop
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x140016242
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001623d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016515
call fcn.140062c6c
mov qword [rsp + 0x280], rbx
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], bx
mov rdx, qword [rsp + 0x2a8]
cmp rdx, 8
jb 0x1400162a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400162a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001651b
call fcn.140062c6c
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], 7
mov word [rsp + 0x290], bx
mov rdx, qword [rsp + 0x268]
cmp rdx, 8
jb 0x14001630a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x250]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016305
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016521
call fcn.140062c6c
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], 7
mov word [rsp + 0x250], bx
movzx edx, byte [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.14001d4e0
nop
mov rdx, qword [rsp + 0x1e8]
cmp rdx, 8
jb 0x14001637e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x1d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016379
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016527
call fcn.140062c6c
movabs r13, 0x7ffffffffffffffe
mov r12, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x60]
add rcx, 0x20
jmp 0x140014c77
lea rcx, [rsp + 0x120]
call fcn.1400022c0
mov rdi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x2c8]
cmp rdx, 8
jb 0x1400163f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400163f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001654b
call fcn.140062c6c
mov rax, rdi
mov rcx, qword [rsp + 0x3b0]
xor rcx, rsp
call fcn.140062b40
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.14006ef68
nop
call fcn.140001480
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
lea rcx, str.invalid_stoll_argument
call fcn.14003d67c
lea rcx, str.stoll_argument_out_of_range
call fcn.14003d6c4
nop
lea rcx, str.invalid_stoll_argument
call fcn.14003d67c
lea rcx, str.stoll_argument_out_of_range
call fcn.14003d6c4
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
int3
call fcn.14006ef68
int3
mov rcx, rdi
call fcn.14001dae0
mov rdx, rax
lea rcx, [rsp + 0x310]
call fcn.140004420
nop
mov r8, rax
lea rdx, str.cannot_use_push_back___with
lea rcx, [rsp + 0x1b0]
call fcn.140008f10
nop
mov r8, rax
mov edx, 0x134
lea rcx, [rsp + 0x138]
call fcn.140013120
lea rdx, [0x1400b9700]
lea rcx, [rsp + 0x138]
call fcn.140064f00
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.14006ef68
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.1400013e0
nop
call fcn.14006ef68
nop
call fcn.1400013e0
int3