Function at 0x140019680
Capabilities:
Query or enumerate registry value

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x290
mov qword [rsp + 0xe8], 0xfffffffffffffffe
mov qword [rsp + 0x2d0], rbx
mov r15d, r8d
mov edi, edx
mov r13, rcx
call fcn.140025894
mov rcx, rax
xor r12d, r12d
mov eax, r12d
test rcx, rcx
setne al
test eax, eax
jne 0x1400196d5
mov ecx, 0x80004005
call fcn.140007cd0
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rcx, str.msi.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x50], rax
mov r14d, 1
test rax, rax
je 0x140019929
test edi, edi
je 0x140019929
lea rdx, str.MsiQueryProductStateW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rcx, qword [r13 + 0xb8]
mov edx, r14d
sub edx, dword [rcx - 8]
mov ecx, dword [rcx - 0xc]
or ecx, edx
jge 0x140019742
xor edx, edx
lea rcx, [r13 + 0xb8]
call fcn.140009290
mov rcx, qword [r13 + 0xb8]
call rbx
cmp eax, 5
jne 0x140019922
call fcn.140025894
mov rcx, rax
test rax, rax
setne r12b
test r12d, r12d
jne 0x140019773
mov ecx, 0x80004005
call fcn.140007cd0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
lea rdi, str.Comp_Deinst_
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.Comp_Deinst_
lea rcx, [rsp + 0x48]
call fcn.140009100
mov r12, qword [r13 + 0xa0]
mov edx, dword [r12 - 0x10]
mov dword [rsp + 0x2e8], edx
mov rbp, r12
mov rdi, qword [rsp + 0x48]
sub rbp, rdi
sar rbp, 1
mov r15d, dword [rdi - 0x10]
lea ebx, [r15 + rdx]
mov ecx, r14d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x1400197fd
mov edx, ebx
lea rcx, [rsp + 0x48]
call fcn.140009290
mov rdi, qword [rsp + 0x48]
mov edx, dword [rsp + 0x2e8]
cmp rbp, r15
ja 0x140019806
lea r12, [rdi + rbp*2]
movsxd rdx, edx
add rdx, rdx
lea rcx, [rdi + r15*2]
mov r9, rdx
mov r8, r12
call fcn.14003b8f0
test ebx, ebx
js 0x140019917
cmp ebx, dword [rdi - 0xc]
jg 0x140019917
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], 0
lea rdx, str.MsiDoActionW
mov r15, qword [rsp + 0x50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov ecx, r14d
sub ecx, dword [rdi - 8]
or ecx, dword [rdi - 0xc]
jge 0x14001986c
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140009290
mov rdi, qword [rsp + 0x48]
mov rdx, rdi
mov r12d, dword [rsp + 0x2d8]
mov ecx, r12d
call rbx
mov ebp, eax
sub r14d, dword [rdi - 8]
mov ecx, dword [rdi - 0xc]
or ecx, r14d
jge 0x14001989b
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140009290
mov rdi, qword [rsp + 0x48]
lea rcx, [r13 + 0x38]
mov rax, qword [rcx]
mov dword [rsp + 0x20], ebp
mov r9, rdi
lea r8, str.Deinstallation_ended:_Custom_Action__s_returned__d
mov edx, 0xa
call qword [rax + 0xd0]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400198d7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0xf0]
call fcn.14001f590
nop
lea r8, [rsp + 0xf0]
mov edx, r12d
mov rcx, r13
call fcn.140017b40
test eax, eax
jns 0x140019905
mov rcx, r13
call fcn.140015f30
nop
lea rcx, [rsp + 0xf0]
call fcn.14001f6c0
jmp 0x14001a351
mov ecx, 0x80070057
call fcn.140007cd0
nop
mov edi, dword [rsp + 0x2d8]
call fcn.140025894
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x140019949
mov ecx, 0x80004005
call fcn.140007cd0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
call fcn.140025894
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14001997b
mov ecx, 0x80004005
call fcn.140007cd0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov ebp, r12d
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, r13
call fcn.140014f00
or rsi, 0xffffffffffffffff
test eax, eax
jns 0x140019e70
test edi, edi
jne 0x140019e70
xor eax, eax
mov rcx, rsi
lea rdi, str.msiexec.exe__x
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.msiexec.exe__x
lea rcx, [rsp + 0x30]
call fcn.140009100
cmp r15d, 1
jne 0x140019a32
lea rdx, [r13 + 0xb8]
lea r8, str.__qn__ADS_DEINSTPre
lea rcx, [rsp + 0x90]
call fcn.140007a00
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000eab0
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x140019a7f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140019a7f
lea rdx, [r13 + 0xb8]
lea r8, str.__qn__ADS_DEINST1
lea rcx, [rsp + 0x80]
call fcn.140007a00
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000eab0
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019a7f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [r13 + 0x74], 0
je 0x140019a97
lea rdx, str._UPDATEMODE1
lea rcx, [rsp + 0x30]
call fcn.140007280
call fcn.140025894
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x140019ab7
mov ecx, 0x80004005
call fcn.140007cd0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
xor eax, eax
mov rcx, rsi
lea rdi, str.SOFTWARESiemensAUTSWGlobal
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SOFTWARESiemensAUTSWGlobal
lea rcx, [rsp + 0x38]
call fcn.140009100
lea r9, [rsp + 0x58]
lea r8, str.SharedPath
mov rdx, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x248]
call fcn.1400055b0
test eax, eax
jne 0x140019b9c
lea r8, [rsp + 0x58]
lea rdx, str._COMMONDIR_
lea rcx, [rsp + 0xd0]
call fcn.140007ae0
nop
lea r8, [0x1400617b0]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140007a00
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000eab0
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019b79
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019b9c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [r13 + 0x1b8], 0
je 0x140019de2
mov rax, qword [r13 + 0x1a8]
cmp dword [rax - 0x10], 3
jle 0x140019de2
call fcn.140025894
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x140019bdb
mov ecx, 0x80004005
call fcn.140007cd0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [r13 + 0x1a8]
lea rcx, [rsp + 0x40]
call fcn.1400085e0
mov dx, 0x2e
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14003aa30
test rax, rax
je 0x140019c66
sub rax, rdi
sar rax, 1
cmp eax, 0xffffffff
jle 0x140019c66
mov r8d, eax
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x40]
call fcn.140007860
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400085e0
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019c66
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str._msi_uninst_intern.txt
lea rcx, [rsp + 0x40]
call fcn.140007280
lea rdx, [r13 + 0x1f0]
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0xe0]
call fcn.140007910
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400085e0
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019cc2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [r13 + 0x208]
lea rdx, [0x14005f874]
lea rcx, [rsp + 0xa8]
call fcn.140007ae0
nop
lea r8, [0x140063bc4]
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.140007a00
nop
lea r8, [rsp + 0x40]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140007910
nop
lea r8, [0x1400617b0]
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.140007a00
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000eab0
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019d56
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019d7a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019d9e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019dc2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019de2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r13 + 0x38]
mov rdi, qword [rsp + 0x30]
mov r9, rdi
lea r8, str.Launch_deinstallation_by_MSI:__s
mov edx, 8
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
mov rdx, qword [r13 + 0x88]
mov rcx, rdi
call fcn.1400023a0
mov ebp, eax
mov r8d, eax
lea rdx, [0x140064858]
lea rcx, [rsp + 0x78]
call fcn.140009660
mov rax, qword [r13 + 0x38]
lea r8, [0x140060b20]
mov edx, 9
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019e64
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp ebp, 0x652
je 0x14001a2f2
xor eax, eax
mov rcx, rsi
lea rdi, str.SoftwareSiemensShared_Tools
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SoftwareSiemensShared_Tools
lea rcx, [rsp + 0x38]
call fcn.140009100
lea r8, [r13 + 0x190]
lea rdx, [0x14005cc80]
lea rcx, [rsp + 0xc8]
call fcn.140007ae0
nop
mov r8, qword [rax]
mov qword [rsp + 0xb8], r8
mov edx, dword [r8 - 0x10]
mov dword [rsp + 0x2e8], edx
mov r15, r8
mov rdi, qword [rsp + 0x38]
sub r15, rdi
sar r15, 1
mov eax, dword [rdi - 0x10]
mov dword [rsp + 0x68], eax
lea ebx, [rax + rdx]
mov ecx, r14d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x140019f10
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.140009290
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0xb8]
mov edx, dword [rsp + 0x2e8]
mov eax, dword [rsp + 0x68]
cmp r15, rax
ja 0x140019f1d
lea r8, [rdi + r15*2]
movsxd rdx, edx
add rdx, rdx
lea rcx, [rdi + rax*2]
mov r9, rdx
call fcn.14003b8f0
test ebx, ebx
js 0x14001a3bb
cmp ebx, dword [rdi - 0xc]
jg 0x14001a3bb
mov dword [rdi - 0x10], ebx
movsxd rax, ebx
mov word [rdi + rax*2], 0
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140019f6f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x38]
mov eax, r14d
sub eax, dword [rdx - 8]
or eax, dword [rdx - 0xc]
jge 0x140019f90
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.140009290
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14001a2f9
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jne 0x140019fc7
mov ecx, r12d
jmp 0x140019fe1
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
test ecx, ecx
js 0x14001a2e7
cmp ecx, dword [rbx - 0xc]
jg 0x14001a2e7
mov dword [rbx - 0x10], ecx
movsxd rax, ecx
mov word [rbx + rax*2], 0
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14001a04e
cmp dword [rdx + 0x10], 0
jge 0x14001a025
cmp dword [rbx - 0xc], 0
jge 0x14001a01a
mov ecx, 0x80070057
call fcn.140007cd0
int3
mov dword [rbx - 0x10], r12d
mov word [rbx], 0
jmp 0x14001a04e
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001a03c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
lea rbp, [rbx - 0x18]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbp + 0x10], 0
jl 0x14001a07a
cmp rax, qword [rbp]
jne 0x14001a07a
mov rdi, rbp
lock add dword [rbp + 0x10], 1
mov rbx, qword [rsp + 0x30]
jmp 0x14001a0b9
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rbp + 8]
call qword [rax]
mov rdi, rax
test rax, rax
jne 0x14001a096
call fcn.140009230
int3
mov eax, dword [rbp + 8]
mov dword [rdi + 8], eax
mov eax, dword [rbp + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rbp + 0x18]
add rdx, rdx
lea rcx, [rdi + 0x18]
call fcn.14003b8f0
add rdi, 0x18
mov qword [rsp + 0x70], rdi
movsxd r12, dword [rdi - 0x10]
mov ecx, r14d
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, r12d
or eax, ecx
jge 0x14001a0e8
mov edx, r12d
lea rcx, [rsp + 0x70]
call fcn.140009290
mov rdi, qword [rsp + 0x70]
lea eax, [r12 + 1]
movsxd rdx, eax
mov rcx, rdi
call fcn.14003cd30
test r12d, r12d
js 0x14001a2dc
cmp r12d, dword [rdi - 0xc]
jg 0x14001a2dc
mov dword [rdi - 0x10], r12d
mov word [rdi + r12*2], 0
mov dword [rsp + 0x6c], 0x800
mov ecx, r14d
sub ecx, dword [rbp + 0x10]
mov eax, dword [rbp + 0xc]
sub eax, 0x800
or eax, ecx
jge 0x14001a144
mov edx, 0x800
lea rcx, [rsp + 0x30]
call fcn.140009290
mov rbx, qword [rsp + 0x30]
cmp dword [rbx - 0xc], 0x800
jl 0x14001a2d1
mov dword [rbx - 0x10], 0x800
mov word [rbx + 0x1000], 0
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0xd8]
xor r8d, r8d
lea rdx, str.UninstallString
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14001a29f
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rax, qword [r13 + 0x1e0]
mov ecx, r14d
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
or eax, ecx
jge 0x14001a1c2
xor edx, edx
lea rcx, [r13 + 0x1e0]
call fcn.140009290
mov rbp, qword [r13 + 0x1e0]
sub r14d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
or eax, r14d
jge 0x14001a1e6
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140009290
mov rbx, qword [rsp + 0x30]
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x20], rbp
mov r9, rbx
lea r8, str._Launch_old_deinstallation:__s___Lang:__s
mov edx, 8
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
mov rdx, qword [r13 + 0x88]
mov rcx, rbx
call fcn.140002780
mov ebp, eax
mov r15, qword [rsp + 0x50]
test r15, r15
jne 0x14001a23c
mov rax, qword [r13 + 0x38]
lea r8, str.________________________________________
lea edx, [r15 + 9]
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
cmp ebp, 0x643
jne 0x14001a25d
mov rax, qword [r13 + 0x38]
lea r8, str.MSI_Error:_A_fatal_error_occurred_during__un_installation
xor edx, edx
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
jmp 0x14001a2b4
cmp ebp, 0x64c
jne 0x14001a27e
mov rax, qword [r13 + 0x38]
lea r8, str.MSI_Error:_The__un_installation_source_for_this_product_is_not_available.
xor edx, edx
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
jmp 0x14001a2b4
cmp ebp, 0x653
jne 0x14001a2b4
mov rax, qword [r13 + 0x38]
lea r8, str.MSI_Error:__un_This_installation_package_could_not_be_opened.
xor edx, edx
lea rcx, [r13 + 0x38]
call qword [rax + 0xd0]
jmp 0x14001a2b4
mov ebp, 0x64
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15, qword [rsp + 0x50]
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001a2fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14001a2fe
mov ecx, 0x80070057
call fcn.140007cd0
int3
mov ecx, 0x80070057
call fcn.140007cd0
nop
mov ecx, 0x80070057
call fcn.140007cd0
int3
mov r15, qword [rsp + 0x50]
jmp 0x14001a2fe
mov r15, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001a31f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14001a349
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r12d, dword [rsp + 0x2d8]
jmp 0x14001a351
mov r12d, dword [rsp + 0x2d8]
test r15, r15
je 0x14001a361
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x14001a369
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea rcx, [rsp + 0x1c0]
call fcn.14001f590
nop
lea r8, [rsp + 0x1c0]
mov edx, r12d
mov rcx, r13
call fcn.140017b40
nop
lea rcx, [rsp + 0x1c0]
call fcn.14001f6c0
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x14001a3b7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, ebp
jmp 0x14001a3c6
mov ecx, 0x80070057
call fcn.140007cd0
nop
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x290
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret