Function at 0x14000d990
Capabilities:
Check if file exists
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x6b0]
sub rsp, 0x7b0
mov rax, qword [0x14008d310]
xor rax, rsp
mov qword [rbp + 0x6a0], rax
mov r14d, edx
mov rsi, rcx
xor r15d, r15d
mov dword [rbp - 0x74], r15d
or dword [rbp - 0x7c], 0xffffffff
mov edi, r15d
mov r12d, r15d
mov dword [rbp - 0x80], r15d
mov dword [rbp - 0x18], r15d
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x1400100db
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x70], rbx
mov byte [rbp - 0x78], r15b
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x1400100e9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x10], rax
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x1400100f7
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp], rax
mov qword [rbp - 0x50], r15
mov qword [rbp + 0x1c0], r15
lea rdx, str.VisualStudio.17.0
lea rcx, [rbp + 0x68]
call fcn.140002cec
lea rdx, str._Client_
lea rcx, [rbp + 0x110]
call fcn.140002cec
mov eax, r15d
xchg qword [0x14008e010], rax
lea r9, str.SoftwareMicrosoftVSCommon17.0SQM
mov r8d, r14d
mov rdx, rsi
lea rcx, [0x14008dcb0]
call fcn.1400116c0
mov esi, eax
mov r15d, 0x104
xor r14d, r14d
test eax, eax
jns 0x14000dbdb
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x14001016c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x118], rax
lea r8, str.util_InitMainParam
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0x118]
call fcn.14001d078
mov r9d, esi
mov rbx, qword [rbp + 0x118]
mov r8, rbx
lea rdx, str.VisualStudio
lea r13d, [r14 + 1]
mov ecx, r13d
call fcn.1400071b0
mov edi, esi
lea rdx, [rbx - 0x18]
or r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000db22
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor ebx, ebx
mov r14d, 0xbee
mov rcx, qword [0x14008dfb0]
test rcx, rcx
je 0x14000db49
add rcx, 0x5f8
call fcn.140007568
mov rcx, qword [0x14008dfb0]
test edi, edi
jns 0x14000ff1b
cmp dword [0x14008de9c], ebx
jne 0x14000ff1b
cmp dword [0x14008de98], ebx
jne 0x14000ff1b
mov rax, qword [0x14008dd68]
test rax, rax
lea rdx, str.SoftwareMicrosoftVisualStudio17.0
cmovne rdx, rax
mov qword [0x14008dd68], rdx
test rcx, rcx
je 0x14000db95
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x30]
cmp qword [0x14008e010], rbx
je 0x14000ff06
mov esi, 0xbea
test r12d, r12d
jne 0x14000fe13
cmp edi, 0x80070002
je 0x14000fe10
cmp edi, 0x8007000e
je 0x14000fe08
lea r12d, [rsi + 1]
cmp edi, 0x80070057
cmovne r12d, r14d
jmp 0x14000fe13
mov r13d, 1
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r15d
or eax, ecx
jge 0x14000dbfd
mov edx, r15d
lea rcx, [rbp - 0x70]
call fcn.140002b54
mov r8d, r15d
mov rbx, qword [rbp - 0x70]
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, eax
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsnlen]
test eax, eax
js 0x1400100cd
cmp eax, dword [rbx - 0xc]
jg 0x1400100cd
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r14w
lea r15, str.VisualStudio
test esi, esi
je 0x14000dd52
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, rax
test rax, rax
je 0x14000dd52
sub rsi, rbx
sar rsi, 1
cmp esi, 0xffffffff
je 0x14000dd52
test esi, esi
js 0x1400100cd
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x14000dc93
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.140002b54
mov rbx, qword [rbp - 0x70]
cmp esi, dword [rbx - 0xc]
jg 0x1400100cd
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], r14w
lea rdx, str.VsWerHandler.dll
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r14w
jne 0x14000dcb6
mov r8d, eax
lea rcx, [rbp - 0x70]
call fcn.140008448
xor edx, edx
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_WerRegisterRuntimeExceptionModule]
mov ebx, eax
test eax, eax
jne 0x14000dce4
mov byte [rbp - 0x78], r13b
jmp 0x14000dd52
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x14001016c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x88], rax
mov r9, qword [rbp - 0x70]
mov r8d, ebx
lea rdx, str.HRESULT__d_returned_when_registering_WER_handler_path___s_.
lea rcx, [rbp + 0x88]
call fcn.1400069fc
mov rbx, qword [rbp + 0x88]
mov r8, rbx
mov rdx, r15
mov ecx, 2
call fcn.140003c50
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000dd52
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [0x14008e760]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, [0x14008dcf8]
lea r8, [0x14008d530]
mov rdx, qword [0x14008dcf0]
lea rcx, str.SoftwareMicrosoftVisualStudio17.0
call fcn.14001fcd8
mov dword [rbp + 0x30], eax
test eax, eax
jns 0x14000dd94
cmp eax, 0x80070057
je 0x14000ddb4
jmp 0x14000dda6
lea rcx, [0x14008dcb0]
call fcn.14001177c
mov edi, eax
test eax, eax
jns 0x14000ddb4
mov dword [0x14008dd38], r13d
mov dword [0x14009008c], r13d
cmp dword [0x14008dd3c], r14d
je 0x14000ddc3
call qword [sym.imp.KERNEL32.dll_DebugBreak]
call fcn.140011310
cmp qword [0x14008dd68], r14
jne 0x14000de18
cmp qword [0x14008ded0], r14
jne 0x14000de18
lea rcx, [rbp + 0x490]
call fcn.1400273b8
cmp word [rbp + 0x490], r14w
je 0x14000de18
mov r9d, 0x103
lea r8, [rbp + 0x490]
lea edx, [r9 + 1]
lea rbx, [0x1400900d0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov qword [0x14008ded0], rbx
lea rcx, [0x14008dee0]
call fcn.14002753c
mov rdx, r15
mov ecx, 3
test eax, eax
jns 0x14000de39
lea r8, str.Running_in_traditional_mode.
jmp 0x14000de5d
lea r8, str.Running_in_isolation_mode.
call fcn.140003c50
call fcn.140018b08
test eax, eax
jns 0x14000de65
lea r8, str.Failed_to_read_installation_config_info.
mov rdx, r15
mov ecx, 2
mov r9d, eax
call fcn.1400071b0
cmp byte [0x14008dee0], r14b
je 0x14000df4f
lea rcx, [rbp + 0x1a0]
call fcn.14000b088
mov rbx, qword [rax]
mov rdx, qword [rbp + 0x1a0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000dea2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rbx + rcx*2], r14w
jne 0x14000dea6
movabs rax, 0x7ffffffffffffffe
mov rdx, qword [0x14008e310]
sub rax, rdx
cmp rax, rcx
jb 0x140010105
lea r9, [0x14008e300]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae r9, qword [0x14008e300]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x250]
call fcn.1400113c0
mov dword [rbp - 0x74], 2
lea rdx, [rbp + 0x250]
cmp qword [rbp + 0x268], 8
jb 0x14000df28
mov rdx, qword [rbp + 0x250]
test rdx, rdx
jne 0x14000df28
mov eax, r14d
jmp 0x14000df36
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r14w
jne 0x14000df2c
mov r8d, eax
lea rcx, [rbp + 0x68]
call fcn.140002a20
nop
lea rcx, [rbp + 0x250]
call fcn.140010498
mov rbx, qword [rbp + 0x68]
cmp byte [0x14008ea80], r14b
jne 0x14000df97
lea rcx, str.shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x14000df87
lea rdx, str.SetCurrentProcessExplicitAppUserModelID
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14008ea78], rax
jmp 0x14000df8e
mov rax, qword [0x14008ea78]
mov byte [0x14008ea80], r13b
jmp 0x14000df9e
mov rax, qword [0x14008ea78]
test rax, rax
je 0x14000dfa8
mov rcx, rbx
call rax
mov ecx, dword [0x14008deb4]
mov eax, ecx
neg eax
sbb esi, esi
and esi, 0x100
add esi, r13d
test ecx, ecx
je 0x14000dfc5
bts esi, 9
or esi, 0x11800
cmp dword [0x14008debc], r14d
je 0x14000dfd8
bts esi, 0x11
mov r14d, r13d
call fcn.140017830
xor ebx, ebx
test eax, eax
js 0x14000db24
call fcn.140026584
mov edi, eax
mov rcx, qword [0x14008dfb0]
test rcx, rcx
jne 0x14000e00d
mov edi, 0x8007000e
mov r14d, 0xbee
jmp 0x14000db51
add rcx, 8
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp byte [0x14008dee0], bl
je 0x14000e03b
bts esi, 0xd
mov al, byte [0x14008e08a]
neg al
sbb r14d, r14d
and r14d, 2
add r14d, 3
call fcn.140025e58
mov rdx, qword [0x14008dd68]
test rdx, rdx
je 0x14000e056
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], bx
jne 0x14000e04b
jmp 0x14000e062
lea rdx, str.SoftwareMicrosoftVisualStudio17.0
mov eax, SafeArrayAllocDescriptorEx
lea rcx, [rbp]
mov r8d, eax
call fcn.140002a20
mov rdx, qword [0x14008ded0]
lea rax, [0x1400631a8]
test rdx, rdx
cmove rdx, rax
test rdx, rdx
je 0x14001016c
mov rcx, qword [rbp + 0x110]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14000e108
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x14001016c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x90], rax
mov r8, qword [0x14008ded0]
lea rdx, str.Cannot_create_app_id_object_with_suffix_:_s.
lea rcx, [rbp + 0x90]
call fcn.14001d078
mov r9d, r13d
mov rbx, qword [rbp + 0x90]
mov r8, rbx
mov rdx, r15
mov ecx, r13d
call fcn.1400071b0
mov edi, r13d
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jmp 0x14000db17
lea rcx, [rbp + 0x150]
call fcn.14000b088
nop
lea r9, [rbp - 0x50]
mov r8, qword [0x14008ded0]
mov rdx, qword [rax]
mov rcx, qword [rbp]
call fcn.14002b0b0
nop
mov rdx, qword [rbp + 0x150]
add rdx, 0xffffffffffffffe8
or r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e154
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x158]
call fcn.140009b44
nop
mov rdx, qword [rax]
lea rcx, [rbp + 0x40]
call fcn.140002cec
nop
mov rdx, qword [rbp + 0x158]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e195
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, str.LegacyExtensions.enabled
lea rcx, [rbp + 0x40]
call fcn.140009ab0
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne r12b
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e1d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x160]
call fcn.140009768
mov r15, qword [rax]
mov rdx, qword [rbp + 0x160]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000e209
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp + 0x170]
call fcn.140012238
mov rbx, rax
lea rcx, [rbp + 0x168]
call fcn.14000b088
nop
mov r8, qword [rax]
mov dword [rsp + 0x70], 0xa
lea rax, str.CommonExtensionsPlatform
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x60], 0x158
lea rax, [0x140066f10]
mov qword [rsp + 0x58], rax
mov rax, qword [0x14008dfb0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
mov rax, qword [rbx]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x38], r12b
mov dword [rsp + 0x30], r14d
mov rax, qword [rbp]
mov qword [rsp + 0x28], rax
xor r12d, r12d
mov qword [rsp + 0x20], r12
mov r9d, esi
mov rdx, qword [0x14008ded0]
lea r14, [0x14008e060]
mov rcx, r14
call fcn.14001b710
mov esi, eax
mov rdx, qword [rbp + 0x168]
add rdx, 0xffffffffffffffe8
or r15, 0xffffffffffffffff
mov ecx, r15d
lock xadd dword [rdx + 0x10], ecx
add ecx, r15d
test ecx, ecx
jg 0x14000e2c8
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rdx, qword [rbp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e2eb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test esi, esi
jns 0x14000e36e
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x14001016c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x98], rax
lea r8, str.InitializeAppID
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0x98]
call fcn.14001d078
mov r9d, esi
mov rbx, qword [rbp + 0x98]
mov r8, rbx
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
mov edi, esi
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e365
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r12d, dword [rbp - 0x80]
jmp 0x14000db22
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, r14
call fcn.1400096d0
mov r8, qword [rbp + 0x10]
mov edx, 0x400
lea rbx, [0x14008eab0]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov qword [0x14008dd68], rbx
mov eax, dword [0x14008de90]
test eax, eax
jne 0x14000e433
cmp dword [0x14008dd70], r12d
jne 0x14000e3fb
cmp dword [0x14008dd50], r12d
jne 0x14000e3fb
cmp dword [0x14008de9c], r12d
jne 0x14000e3fb
cmp dword [0x14008de98], r12d
jne 0x14000e3fb
mov rcx, qword [0x14008dfb0]
mov rax, qword [rcx]
call qword [rax + 0x68]
test al, al
je 0x14000e3f5
mov r12d, 0xc22
xor ebx, ebx
mov edi, 0x80004005
mov dword [rbp - 0x7c], ebx
jmp 0x14000db24
mov eax, dword [0x14008de90]
test eax, eax
jne 0x14000e433
cmp dword [0x14008dd70], r12d
jne 0x14000e433
cmp dword [0x14008dd50], r12d
jne 0x14000e433
cmp dword [0x14008de98], r12d
jne 0x14000e433
mov rcx, qword [0x14008dfb0]
mov rax, qword [rcx]
call qword [rax + 0x70]
test al, al
je 0x14000e433
mov r12d, 0xc25
jmp 0x14000e3e6
mov rax, qword [0x14008dfb0]
lea r14, [rax + 0x694]
lea rbx, [rax + 0x690]
test rbx, rbx
je 0x14000e4ca
lea rdx, str.Community
mov rsi, qword [0x14008df70]
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14000e46f
mov dword [rbx], 0x708
jmp 0x14000e4ca
lea rdx, str.Professional
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14000e48a
mov dword [rbx], 0x7d0
jmp 0x14000e4ca
lea rdx, str.Enterprise
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14000e4b1
mov dword [rbx], 0xbb8
test r14, r14
je 0x14000e4ca
mov dword [r14], 0x188
jmp 0x14000e4ca
lea rdx, str.V3UNKNOWN
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x14000e4ca
mov dword [rbx], 0x578
call fcn.1400124bc
mov rax, qword [rbp - 0x50]
test rax, rax
jne 0x14000e4dd
mov rcx, r12
jmp 0x14000e4f9
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov edx, eax
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov rcx, rax
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0xa0], rcx
test rax, rax
je 0x14000e50e
test rcx, rcx
je 0x14001010b
mov rax, qword [0x14008e070]
mov rdx, qword [rax + 0xe8]
mov rcx, qword [0x14008d518]
test rdx, rdx
cmovne rcx, rdx
lea rdx, [rbp + 0xa0]
call fcn.14001ad5c
mov rcx, qword [0x14008dd68]
call fcn.1400117dc
mov esi, eax
test eax, eax
jns 0x14000e5a7
call fcn.1400027c4
test rax, rax
je 0x14001016c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0xa8], rax
lea r8, str.util_OleInitialize
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0xa8]
call fcn.14001d078
mov r9d, esi
mov rbx, qword [rbp + 0xa8]
mov r8, rbx
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
mov edi, esi
jmp 0x14000e349
mov dword [rbp - 0x18], r13d
cmp dword [0x14008de94], r12d
je 0x14000e64d
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x14001016c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xb0], rax
lea rdx, [0x14008e100]
lea rcx, [rbp + 0xb0]
call fcn.140006324
mov rax, qword [0x14008e070]
mov rdx, qword [rax + 0xe8]
mov rcx, qword [0x14008d518]
test rdx, rdx
cmovne rcx, rdx
mov rbx, qword [rbp + 0xb0]
mov r8, rbx
mov rdx, qword [0x14008dd68]
call fcn.140034180
cmp dword [0x14008dd50], r12d
jne 0x14000e631
mov dword [rbp - 0x7c], r12d
jmp 0x14000e349
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e64d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [0x14008dd60], r12d
jne 0x14000e766
cmp dword [0x14008dd70], r12d
jne 0x14000e766
cmp dword [0x14008dd50], r12d
jne 0x14000e797
cmp dword [0x14008dd00], r12d
jne 0x14000e76f
cmp dword [0x14008dd10], r12d
jne 0x14000e76f
cmp dword [0x14008dd38], r12d
jne 0x14000e76f
cmp dword [0x14008dd04], r12d
jne 0x14000e76f
cmp dword [0x14008dd58], r12d
jne 0x14000e76f
cmp dword [0x14008dd0c], r12d
jne 0x14000e76f
cmp dword [0x14008dd08], r12d
jne 0x14000e76f
cmp dword [0x14008dd28], r12d
jne 0x14000e76f
cmp dword [0x14008dd2c], r12d
jne 0x14000e76f
cmp dword [0x14008dec4], r12d
jne 0x14000e76f
cmp dword [0x14008decc], r12d
jne 0x14000e76f
cmp dword [0x14008de2c], r12d
jne 0x14000e76f
cmp dword [0x14008de58], r12d
jne 0x14000e76f
cmp dword [0x14008de28], r12d
jne 0x14000e76f
cmp dword [0x14008dcc8], r12d
je 0x14000e76f
cmp dword [0x14008deb4], r12d
jne 0x14000e76f
cmp dword [0x14008de9c], r12d
jne 0x14000e797
cmp dword [0x14008de98], r12d
jne 0x14000e797
cmp dword [0x14008de30], r12d
jne 0x14000ef50
cmp dword [0x14008de7c], r12d
jne 0x14000ef50
cmp dword [0x14008de40], r12d
jne 0x14000ef50
call fcn.14002d468
cmp dword [0x14008dd50], r12d
jne 0x14000e797
cmp dword [0x14008de9c], r12d
jne 0x14000e797
cmp dword [0x14008de98], r12d
jne 0x14000e797
cmp dword [0x14008de28], r12d
jne 0x14000e797
cmp dword [0x14008deb4], r12d
je 0x14000ef50
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x14001016c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xb8], rax
lea rdx, [0x14008e100]
lea rcx, [rbp + 0xb8]
call fcn.140006324
mov rax, qword [0x14008e070]
mov rcx, qword [rax + 0xe8]
mov rsi, qword [0x14008d518]
test rcx, rcx
cmovne rsi, rcx
mov rbx, qword [rbp + 0xb8]
test rbx, rbx
je 0x14000e823
mov rcx, rbx
call fcn.1400353e0
test eax, eax
jns 0x14000e83c
xor r9d, r9d
lea r8, str.ConfigurationChanged
lea rdx, [0x14008eab0]
mov rcx, rsi
call fcn.1400355e0
mov rcx, rsi
call fcn.1400354f0
jmp 0x14000e84c
mov r9b, r13b
lea r8, str.ConfigurationChanged
lea rdx, [0x14008eab0]
mov rcx, rsi
call fcn.1400355e0
mov rcx, rsi
call fcn.1400354f0
mov rcx, rsi
call fcn.140035318
cmp dword [0x14008de28], r12d
jne 0x14000fdff
cmp dword [0x14008de98], r12d
jne 0x14000fdff
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000e882
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [0x14008dd50], r12d
je 0x14000ef50
mov qword [rbp + 0x48], r12
mov rbx, qword [0x14008dfb0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x40]
shr eax, 4
test r13b, al
je 0x14000ef41
lea rdx, [rbp + 0x48]
mov rcx, rbx
call fcn.14003a73c
test eax, eax
js 0x14000ef41
mov rcx, qword [rbp + 0x48]
mov rax, qword [rcx]
lea rdx, [rbp + 0x178]
call qword [rax + 0x18]
test eax, eax
js 0x14000ef41
mov rax, qword [rbp + 0x178]
mov r15d, dword [rax + 8]
mov r14, qword [rax]
mov rbx, qword [0x14008dd68]
test rbx, rbx
je 0x14000ef3d
test r14, r14
je 0x14000ef3d
mov rdi, r12
mov qword [rbp + 0x18], r12
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x138], r12
mov dword [rbp + 0x140], r12d
mov qword [rbp + 0x148], r12
mov rsi, r12
mov qword [rbp + 0x70], r12
mov dword [rbp + 0x78], r12d
mov qword [rbp + 0x80], r12
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.140002cec
lea r8, str.Capabilities
lea rdx, [0x140075db8]
lea rcx, [rbp - 0x68]
call fcn.14001d078
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.140002cec
nop
nop dword [rax]
lea r8, str.ShellFileAssociations
lea rdx, [0x140075db8]
lea rcx, [rbp - 0x60]
call fcn.14001d078
mov qword [rbp + 0xc0], r12
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, 0x2000e
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, 0x80070000
test eax, eax
jne 0x14000ea85
mov rdi, qword [rbp + 0xc0]
mov qword [rbp + 0x18], rdi
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0xd0], r12
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, eax
test eax, eax
jne 0x14000ea15
mov ecx, r12d
mov rsi, qword [rbp + 0xd0]
mov qword [rbp + 0x70], rsi
mov dword [rbp + 0x78], r12d
movzx eax, cx
or eax, ebx
test ecx, ecx
cmovle eax, ecx
test eax, eax
jns 0x14000eb55
or r15, 0xffffffffffffffff
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ea4c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ea6d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x14000eb3d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000eb3d
mov qword [rbp + 0xc8], r12
lea rax, [rbp + 0x198]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ecx, eax
test eax, eax
jne 0x14000eae5
mov ecx, r12d
mov rdi, qword [rbp + 0xc8]
mov qword [rbp + 0x18], rdi
mov dword [rbp + 0x20], r12d
movzx eax, cx
or eax, ebx
test ecx, ecx
cmovle eax, ecx
test eax, eax
jns 0x14000e9d0
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
or r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000eb1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000eb3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x14000ef41
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000ef41
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010119
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 8], rbx
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010129
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x10]
call fcn.14003f3bc
test eax, eax
jns 0x14000ebe7
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
or r15, 0xffffffffffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ebc5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ebe2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x14000ea2b
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.140009ab0
mov r9d, r15d
mov rbx, qword [rbp - 0x10]
mov r8, rbx
lea rdx, str.__s___d
lea rcx, [rbp - 8]
call fcn.1400069fc
mov rax, qword [rbp - 8]
or r15, 0xffffffffffffffff
test rax, rax
je 0x14000ef12
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x14000ec21
lea ecx, [rcx*2 + 2]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov r9d, r13d
xor r8d, r8d
lea rdx, str.ApplicationDescription
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx ecx, ax
mov r14d, 0x80070000
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
js 0x14000ef12
lea rdx, str.FileAssociations
lea rcx, [rbp + 0x18]
call fcn.140032bf8
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r12d
lea r8, str.FileAssociations
mov rdx, rdi
lea rcx, [rbp + 0x138]
call fcn.140032300
movzx ecx, ax
or ecx, r14d
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x14000ed60
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ecd2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ecf3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ed14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ed35
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x14000ed45
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x14000eb3d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000eb3d
mov ebx, r12d
mov edi, 0x104
mov dword [rbp - 0x20], edi
mov r8d, edi
lea rcx, [rbp - 0x30]
call fcn.14003f4c0
nop
mov r8, qword [rbp - 0x30]
cmp dword [r8 - 8], r13d
jle 0x14000ed93
mov edx, dword [r8 - 0x10]
lea rcx, [rbp - 0x30]
call fcn.140002bb0
mov r8, qword [rbp - 0x30]
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x20]
mov edx, ebx
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x14000eee4
mov dword [rbp + 0x38], edi
mov qword [rbp + 0x120], r12
mov dword [rbp + 0x128], r12d
mov qword [rbp + 0x130], r12
mov r8d, edi
lea rcx, [rbp - 0x38]
call fcn.14003f4c0
mov qword [rbp + 0xd8], r12
lea rax, [rbp + 0xd8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rbp - 0x30]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000eea2
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x120], rax
mov dword [rbp + 0x128], r12d
mov r8, qword [rbp - 0x38]
cmp dword [r8 - 8], r13d
jle 0x14000ee4a
mov edx, dword [r8 - 0x10]
lea rcx, [rbp - 0x38]
call fcn.140002bb0
mov r8, qword [rbp - 0x38]
lea r9, [rbp + 0x38]
lea rdx, [0x1400631a8]
lea rcx, [rbp + 0x120]
call fcn.140026bb8
test eax, eax
jne 0x14000eea2
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x14000eea6
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x14000ee71
lea ecx, [rcx*2 + 2]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov r9d, r13d
xor r8d, r8d
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x138]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rax, qword [rbp - 0x38]
mov dword [rbp - 0x20], edi
add ebx, r13d
lea rdx, [rax - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000eec9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x120]
test rcx, rcx
je 0x14000eedb
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rsi, qword [rbp + 0x70]
jmp 0x14000ed78
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ef05
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe8
jmp 0x14000ecb9
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000ef30
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
jmp 0x14000ebc9
or r15, 0xffffffffffffffff
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x14000ef50
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [0x14008dfb0]
test rax, rax
lea rdx, [rax + 0x18]
jne 0x14000ef63
mov rdx, r12
lea r14, [0x14008e060]
mov rcx, r14
call fcn.140019e6c
mov edi, eax
test eax, eax
jns 0x14000efa7
mov r9d, eax
lea r8, str.Failure_calling_FinishInitialize.
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
cmp edi, 0x80070005
setne r12b
add r12d, 0xc23
jmp 0x14000db22
mov eax, dword [0x14008de90]
test eax, eax
jne 0x14000f3cd
cmp dword [0x14008dd70], r12d
jne 0x14000f2e8
cmp dword [0x14008dd50], r12d
jne 0x14000f2e8
cmp dword [0x14008de9c], r12d
jne 0x14000f2e8
cmp dword [0x14008de98], r12d
jne 0x14000f2e8
call fcn.140020970
mov edi, eax
test eax, eax
jns 0x14000f2e2
mov rcx, qword [0x14008dfb0]
test rcx, rcx
je 0x14000f010
add rcx, 0x5f8
call fcn.140007568
mov r9d, edi
lea r8, str.Failure_calling_IsCompatibleNDPVersionInstalled.
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
mov rcx, qword [0x14008dfb0]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x30]
mov rsi, qword [0x14008e010]
test rsi, rsi
jne 0x14000f051
mov edi, 0x80070057
jmp 0x14000f1cc
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010177
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
call fcn.140012608
mov ebx, eax
test eax, eax
jns 0x14000f0a6
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov ecx, r15d
lock xadd dword [rdx + 0x10], ecx
add ecx, r15d
test ecx, ecx
jg 0x14000f09f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, ebx
jmp 0x14000f1cc
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010137
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x48], rax
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010145
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010153
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0xe8], rbx
lea rcx, [rbp - 0x48]
call fcn.140003970
mov r8d, 0xbb8
mov rdx, rsi
lea rcx, [rbp - 0x48]
call fcn.14000c72c
test eax, eax
je 0x14000f148
lea rcx, [rbp - 0x28]
call fcn.140003970
mov r8d, 0x7010
mov rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.14000c72c
test eax, eax
jne 0x14000f22a
mov edi, 0x80070490
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f16a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f18b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f1ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f1cc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010177
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xe0], rax
lea r8, str.ShowNDPVersionError
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0xe0]
call fcn.14001d078
mov r9d, edi
mov rbx, qword [rbp + 0xe0]
mov r8, rbx
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
nop
jmp 0x14000e349
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp + 0xe8]
call fcn.1400069fc
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov r8, qword [rbp - 0x48]
mov rbx, qword [rbp + 0xe8]
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f277
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f298
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f2b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f2d9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rbp - 0x7c], r12d
jmp 0x14000e365
mov eax, dword [0x14008de90]
test eax, eax
jne 0x14000f3cd
cmp dword [0x14008dd70], r12d
jne 0x14000f3cd
cmp dword [0x14008dd50], r12d
jne 0x14000f3cd
cmp dword [0x14008de9c], r12d
jne 0x14000f3cd
cmp dword [0x14008de98], r12d
jne 0x14000f3cd
mov rcx, qword [0x14008dfb0]
test rcx, rcx
je 0x14000f349
cmp dword [rcx + 0x690], 0x3e8
jne 0x14000f349
cmp dword [rcx + 0x694], 0x10
je 0x14000f3d4
lea rcx, [rbp + 0x188]
call fcn.140012310
nop
or dword [rbp - 0x74], r13d
mov rdx, qword [rax]
mov al, byte [0x14008dee0]
neg al
sbb cl, cl
and cl, byte [0x14008def0]
test rdx, rdx
je 0x14000f3c1
test cl, cl
je 0x14000f3c1
lea rcx, [rbp + 0x180]
call fcn.140002cec
nop
mov rax, qword [rbp + 0x180]
cmp word [rax], 0x31
jne 0x14000f39c
cmp word [rax + 2], r12w
jne 0x14000f39c
mov ebx, r12d
jmp 0x14000f3a1
sbb ebx, ebx
or ebx, r13d
lea rdx, [rax - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f3bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x14000f3cd
mov bl, r13b
mov rcx, qword [0x14008dfb0]
jmp 0x14000f3d7
mov rcx, qword [0x14008dfb0]
mov bl, r12b
test byte [rbp - 0x74], r13b
je 0x14000f407
mov rdx, qword [rbp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x14000f400
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [0x14008dfb0]
test bl, bl
je 0x14000f57a
test rcx, rcx
je 0x14000f427
add rcx, 0x5f8
call fcn.140007568
mov rcx, qword [0x14008dfb0]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x30]
lea rdx, [rbp + 0x270]
mov rcx, r14
call fcn.140007830
mov esi, eax
test eax, eax
jns 0x14000f4a6
call fcn.1400027c4
test rax, rax
je 0x140010161
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0xf0], rax
lea r8, str.GetConfigurationTimestamp
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0xf0]
call fcn.14001d078
mov r9d, esi
mov rbx, qword [rbp + 0xf0]
mov r8, rbx
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
mov edi, esi
jmp 0x14000e349
lea rcx, [rbp + 0x190]
call fcn.140012310
nop
mov cl, byte [0x14008dee0]
neg cl
sbb cl, cl
and cl, byte [0x14008def0]
lea rdx, [rbp - 0x77]
mov qword [rsp + 0x28], rdx
mov rdx, qword [0x14008e010]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x270]
mov rdx, qword [rax]
call fcn.14003f7ac
mov esi, eax
mov rdx, qword [rbp + 0x190]
add rdx, 0xffffffffffffffe8
mov ecx, r15d
lock xadd dword [rdx + 0x10], ecx
add ecx, r15d
test ecx, ecx
jg 0x14000f50d
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
test esi, esi
jns 0x14000f570
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010161
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xf8], rax
lea r8, str.ShowSetupError
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0xf8]
call fcn.14001d078
mov r9d, esi
mov rbx, qword [rbp + 0xf8]
mov r8, rbx
lea rdx, str.VisualStudio
mov ecx, r13d
call fcn.1400071b0
mov edi, esi
jmp 0x14000e349
cmp byte [rbp - 0x77], r12b
je 0x14000f2d9
cmp dword [rbp + 0x30], 0x80070057
jne 0x14000f632
lea rcx, [0x14008dcb0]
call fcn.140034b9c
mov qword [0x14008e760], r12
mov rbx, qword [0x14008d4d0]
jmp 0x14000f5ac
mov rbx, qword [rbx + 0x10]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
test rbx, rbx
mov rcx, rbx
jne 0x14000f5a3
mov qword [0x14008d4d0], r12
lea rax, [0x14008e760]
mov qword [rsp + 0x28], rax
lea rax, [0x14008d4d0]
mov qword [rsp + 0x20], rax
lea r9, [0x14008dcf8]
lea r8, [0x14008d530]
mov rdx, qword [0x14008dcf0]
mov rcx, qword [0x14008dd68]
call fcn.14001fcd8
test eax, eax
jns 0x14000f606
mov dword [0x14009008c], r13d
mov dword [0x14008dd38], r13d
lea rax, [0x14008eab0]
mov qword [0x14008dd68], rax
lea rcx, [0x14008dcb0]
call fcn.14001177c
test eax, eax
jns 0x14000f632
mov dword [0x14009008c], r13d
mov dword [0x14008dd38], r13d
lea r14, str.VisualStudio
cmp dword [0x14008de84], r12d
je 0x14000f65f
cmp dword [0x14008de14], r12d
je 0x14000f65f
lea r8, str.Ignoring_RANU_command_line_argument__deprecated_
mov rdx, r14
mov ecx, 2
call fcn.140003c50
cmp dword [0x14008deac], r12d
jne 0x14000f674
mov rcx, qword [0x14008dd68]
call fcn.140012734
mov rax, qword [0x14008e070]
mov rdx, qword [rax + 0xe8]
mov rcx, qword [0x14008d518]
test rdx, rdx
cmovne rcx, rdx
mov rdx, qword [rbp + 0x10]
call fcn.1400127d4
mov edx, eax
mov rcx, qword [0x14008dd68]
call fcn.140016950
mov edi, eax
test eax, eax
jns 0x14000f707
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010177
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x100], rax
lea r8, str.VsHookCLRLoading
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0x100]
call fcn.14001d078
mov r9d, edi
mov rbx, qword [rbp + 0x100]
mov r8, rbx
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
nop
jmp 0x14000e349
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [0x14008dd68]
mov rsi, 0xffffffff80000002
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000f7fb
mov ebx, 0x208
mov dword [rbp - 0x58], ebx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x280]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x34]
xor r8d, r8d
lea rdx, str.ThisVersionDTECLSID
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000f787
lea rdx, [0x14008dda8]
lea rcx, [rbp + 0x280]
call qword [sym.imp.ole32.dll_IIDFromString]
jmp 0x14000f796
movups xmm0, xmmword [0x140064340]
movdqu xmmword [0x14008dda8], xmm0
mov dword [rbp - 0x58], ebx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x280]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x34]
xor r8d, r8d
lea rdx, str.ThisVersionSolutionCLSID
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000f7e0
lea rdx, [0x14008ddb8]
lea rcx, [rbp + 0x280]
call qword [sym.imp.ole32.dll_IIDFromString]
jmp 0x14000f7ef
movups xmm0, xmmword [0x140064340]
movdqu xmmword [0x14008ddb8], xmm0
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14000f812
movups xmm0, xmmword [0x140064340]
movdqu xmmword [0x14008dda8], xmm0
movdqu xmmword [0x14008ddb8], xmm0
cmp dword [0x14008de2c], r12d
je 0x14000f871
mov rax, qword [0x14008dda8]
mov rcx, qword [0x140064340]
cmp rax, rcx
jne 0x14000f841
mov rdx, qword [0x14008ddb0]
mov r8, qword [0x140064348]
cmp rdx, r8
je 0x14000f88d
lea r9, [0x14008dcf8]
lea rcx, [0x14008dda8]
call fcn.140035778
mov edi, eax
mov ecx, 0x80000000
add eax, ecx
test ecx, eax
jne 0x14000e365
cmp edi, 0x80070002
je 0x14000e365
mov rdx, qword [0x14008ddb0]
mov rax, qword [0x14008dda8]
mov r8, qword [0x140064348]
mov rcx, qword [0x140064340]
cmp dword [0x14008de58], r12d
je 0x14000f8bd
cmp rax, rcx
jne 0x14000f8a0
cmp rdx, r8
je 0x14000f8bd
mov r9, qword [0x14008de50]
lea rcx, [0x14008dda8]
call fcn.140035ac8
mov edi, eax
test eax, eax
jns 0x14000e365
mov dword [rbp - 0x1c], r12d
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x20], rax
mov rcx, qword [0x14008dd68]
call fcn.140011b30
mov edi, eax
test eax, eax
js 0x14000fd8e
cmp dword [rbp - 0x1c], r12d
jne 0x14000fd8e
mov rbx, qword [0x14008dfb0]
lea rcx, [0x14008e060]
mov rax, qword [0x14008e060]
call qword [rax + 0x60]
test al, al
je 0x14000f914
lea rax, [0x14008e060]
mov qword [rbx + 0x5c0], rax
mov rax, qword [0x14008dfb0]
lea rcx, [0x140066b90]
mov qword [rax + 0x180], rcx
mov dword [rax + 0x188], 5
cmp dword [0x14008de9c], r12d
jne 0x14000f95c
call fcn.140026c48
mov edi, eax
test eax, eax
jns 0x14000f95c
mov r9d, eax
lea r8, str.Failure_calling_InitJITHelper.
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
mov eax, dword [0x14008dd50]
cmp dword [0x14008deb4], r12d
cmovne eax, r13d
mov dword [0x14008dd50], eax
cmp dword [0x14008dd54], r12d
jne 0x14000f2d9
test eax, eax
jne 0x14000f9de
cmp dword [0x14008de28], r12d
jne 0x14000f9de
cmp dword [0x14008dec8], r12d
je 0x14000fa70
mov qword [rbp + 0x58], r12
lea r8, [0x14007498c]
lea rdx, str.devenv.ver
lea rcx, [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x14000e365
lea rdx, str.SoftwareMicrosoftVisualStudio17.0_n
call fcn.140034974
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x14000e365
call fcn.140001a10
mov byte [rax + 0xa], r13b
mov qword [rbp + 0x1a8], r12
mov dword [rbp + 0x1b0], r12d
mov qword [rbp + 0x1b8], r12
mov r9d, 0x20006
mov r8, qword [0x14008dd68]
mov rdx, rsi
lea rcx, [rbp + 0x1a8]
call fcn.140033f94
mov rbx, qword [rbp + 0x1a8]
test eax, eax
jne 0x14000fa62
mov rdx, qword [0x14008dcc0]
test rdx, rdx
je 0x14000fa62
mov rax, r15
inc rax
cmp word [rdx + rax*2], r12w
jne 0x14000fa32
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
mov r9d, r13d
xor r8d, r8d
lea rdx, str.SetupCommandLine
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rbx, rbx
je 0x14000fa70
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rbx, [0x14008e060]
mov rcx, rbx
call fcn.140013108
test al, al
jne 0x14000fa8f
cmp byte [0x14008dee0], r12b
mov dl, r12b
je 0x14000fa92
mov dl, r13b
call fcn.14001d214
test al, al
jne 0x14000fac2
mov edi, 0x80004005
mov r9d, edi
lea r8, str.Returning_E_FAIL_due_to_InitProfilePaths_failing.
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
xor ebx, ebx
mov r12d, 0xbef
jmp 0x14000db24
mov rcx, qword [0x14008dfb0]
lea rax, [rcx + 0x1ac]
mov qword [0x14008dda0], rax
test rcx, rcx
je 0x14000fae9
lea rax, [rcx + 8]
mov qword [0x14008ddc8], rax
jmp 0x14000faf0
mov qword [0x14008ddc8], r12
call fcn.14001865c
mov esi, eax
test eax, eax
jns 0x14000fb56
call fcn.1400027c4
test rax, rax
je 0x140010177
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x108], rax
lea r8, str.SetCmdUICtxts
lea rdx, str.Failure_calling__s.
lea rcx, [rbp + 0x108]
call fcn.14001d078
mov r9d, esi
mov rbx, qword [rbp + 0x108]
mov r8, rbx
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
mov edi, esi
jmp 0x14000e349
mov dword [rbp + 0x1e0], 0x19f0
mov dword [rbp + 0x1e4], 0x1a10
mov dword [rbp + 0x1e8], 0x1a11
lea rax, str.RDRERRRRRRI2RRRRQEQPPKEHRRRERRRRRIRRRIRRP0E2HPZZZKC9KHQTM9P3KICHHKZCPHARPQE9C3K0E3Q3ARK9ERHCPMKZICK9ZQRHHREZETREZQP8Q1ZDIKDREHR2C3K9RDP9MZQ9JQHCKEIMARRZC8RZE0E2EMMTZHC8
mov qword [rbp + 0x1f0], rax
mov dword [rbp + 0x1f8], 0x8003
mov eax, 0x19fa
lea rcx, [rbp + 0x1fc]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov dword [rcx], eax
add eax, r13d
lea rcx, [rcx + 4]
sub rdx, r13
jne 0x14000fb9d
mov dword [rbp + 0x248], r12d
mov dword [rbp + 0x24c], 0x1a0f
mov rax, qword [0x14008dfb0]
mov ecx, dword [rax + 0x698]
mov dword [rsp + 0x28], ecx
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
mov rdx, qword [0x14008dd68]
call fcn.140027c18
mov rax, qword [0x14008dfb0]
lea rcx, str.SoftwareMicrosoftVisualStudio7.0
mov qword [rax + 0x1a0], rcx
mov dword [rax + 0x1a8], 9
cmp dword [0x14008dec0], r12d
jne 0x14000fc20
cmp dword [0x14008dd50], r12d
jne 0x14000fc20
mov eax, dword [0x14008de9c]
test eax, eax
je 0x14000fc2b
call fcn.1400382b8
mov eax, dword [0x14008de9c]
cmp dword [0x14008deb4], r12d
je 0x14000fcb9
call fcn.140036874
call fcn.1400369e8
cmp byte [0x14008dee0], r12b
je 0x14000fc75
mov rax, qword [0x14008e070]
mov rdx, qword [rax + 0xe8]
mov rcx, qword [0x14008d518]
test rdx, rdx
cmovne rcx, rdx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, rbx
call fcn.14002f398
mov rbx, qword [0x14008dfb0]
lea rdx, [rbx + 0x1ac]
call fcn.140038584
mov dil, al
lea rdx, [rbx + 0x3b4]
call fcn.140038584
test dil, dil
je 0x14000fca3
test al, al
mov edi, r12d
jne 0x14000fca8
mov edi, 0x80004005
mov dword [rbp - 0x7c], r12d
xor ebx, ebx
mov r12d, 0xc26
jmp 0x14000db24
cmp dword [0x14008de7c], r12d
je 0x14000fd02
lea rcx, [0x14008dcb0]
call fcn.140034c04
test eax, eax
jns 0x14000e365
mov r9d, edi
lea r8, str.Returning_3002_error_due_to_util_CallVSValidateCommands_failing.
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
mov dword [rbp - 0x7c], 0xbba
mov r14d, 0xbee
mov r12d, r14d
xor ebx, ebx
jmp 0x14000db2a
test eax, eax
je 0x14000fd4f
call fcn.140020970
test eax, eax
js 0x14000fd44
lea rcx, [0x14008dcb0]
call fcn.140034c6c
mov edi, eax
test eax, eax
jns 0x14000fd44
mov r9d, eax
lea r8, str.Returning_3001_error_due_to_util_CallVSComposeMEFAndCommands_failing.
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
mov dword [rbp - 0x80], 0xbeb
mov eax, 0xbb9
jmp 0x14000fd47
mov eax, r12d
mov dword [rbp - 0x7c], eax
jmp 0x14000e365
lea rdx, [rbp - 0x7c]
lea rcx, [0x14008dcb0]
call fcn.140010184
test eax, eax
jne 0x14000e365
mov edi, 0x80004005
mov r9d, edi
lea r8, str.Returning_E_FAIL_due_to_util_CallVsMain_failing.
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
xor ebx, ebx
mov r12d, 0xbeb
jmp 0x14000db24
call fcn.1400027c4
mov rcx, rax
test rax, rax
je 0x140010177
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x60], rax
mov rax, r15
test edi, edi
jns 0x14000fdc7
lea rdx, str.Failure_calling_util_CheckMigrationRequired.
inc rax
cmp word [rdx + rax*2], r12w
jne 0x14000fdbb
jmp 0x14000fdd8
lea rdx, str.fMigrationRequired_is_true.
inc rax
cmp word [rdx + rax*2], r12w
jne 0x14000fdce
mov r8d, eax
lea rcx, [rbp + 0x60]
call fcn.140002a20
mov r9d, edi
mov rbx, qword [rbp + 0x60]
mov r8, rbx
mov rdx, r14
mov ecx, r13d
call fcn.1400071b0
nop
jmp 0x14000e349
mov dword [rbp - 0x7c], r12d
jmp 0x14000e349
mov r12d, 0xbed
jmp 0x14000fe13
mov r12d, esi
call fcn.1400027c4
mov rcx, rax
xor edi, edi
test rax, rax
je 0x140010177
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 8], rbx
mov ecx, r12d
sub ecx, esi
je 0x14000fed5
sub ecx, 4
je 0x14000fe52
sub ecx, 0x35
je 0x14000fe52
cmp ecx, 1
jne 0x14000fed5
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
mov esi, 0x104
sub eax, esi
or eax, ecx
jge 0x14000fe75
mov edx, esi
lea rcx, [rbp + 8]
call fcn.140002b54
mov rbx, qword [rbp + 8]
mov edx, esi
mov rcx, rbx
call fcn.140058ac8
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsnlen]
test eax, eax
js 0x1400100bf
cmp eax, dword [rbx - 0xc]
jg 0x1400100bf
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], di
mov rdi, qword [0x14008e010]
cmp dword [rbx - 8], r13d
jle 0x14000fec3
mov edx, dword [rbx - 0x10]
lea rcx, [rbp + 8]
call fcn.140002bb0
mov rbx, qword [rbp + 8]
mov r9, rbx
mov r8d, r12d
mov rcx, rdi
call fcn.1400351e0
xor edi, edi
jmp 0x14000feea
mov r8d, r12d
mov edx, 0xbb8
mov rcx, qword [0x14008e010]
call fcn.140034cec
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ff1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000ff1d
mov edx, 0x19e6
lea r8d, [rdx + 1]
mov rcx, qword [0x14008e008]
call fcn.140034cec
xor edi, edi
mov rbx, qword [0x14008d4d0]
jmp 0x14000ff2f
mov rbx, qword [rbx + 0x10]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
test rbx, rbx
mov rcx, rbx
jne 0x14000ff26
mov qword [0x14008d4d0], rdi
mov rbx, qword [0x14008dcb8]
lea rcx, [0x14008dcb0]
call fcn.140010208
mov rcx, qword [0x14008dfb0]
test rcx, rcx
je 0x14000ff67
add rcx, 8
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp dword [rbp - 0x18], edi
je 0x14000ff76
call fcn.14001033c
call fcn.14002e7b8
test rbx, rbx
je 0x14000ff9c
lea rdx, str.VStudioTerm
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14000ff98
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14000ff9c
xor ecx, ecx
call rax
mov rbx, qword [0x14008dfd0]
test rbx, rbx
je 0x14000ffbd
mov rcx, rbx
call fcn.14002e820
mov edx, reloc.OLEAUT32.dll_SafeArrayAllocDescriptorEx
mov rcx, rbx
call fcn.140002da0
mov qword [0x14008dfd0], rdi
lea rcx, [0x14008e060]
call fcn.14002f398
cmp byte [rbp - 0x78], dil
je 0x14000ffe3
xor edx, edx
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_WerUnregisterRuntimeExceptionModule]
nop
mov rdx, qword [rbp + 0x110]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010005
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010024
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010055
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010074
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010092
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rbp + 0x6a0]
xor rcx, rsp
call fcn.140001020
mov rbx, qword [rsp + 0x800]
add rsp, 0x7b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80070057
call fcn.1400312f0
nop
jmp 0x1400100cc
nop
mov ecx, 0x80070057
call fcn.1400312f0
nop
jmp 0x1400100da
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x1400100e8
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x1400100f6
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x140010104
nop
call fcn.14003416c
int3
mov ecx, 0x8007000e
call fcn.1400312f0
nop
jmp 0x140010118
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x140010128
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x140010136
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x140010144
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x140010152
nop
mov ecx, 0x80004005
call fcn.1400312f0
nop
jmp 0x140010160
nop
mov ecx, 0x80004005
call fcn.1400312f0
int3
mov ecx, 0x80004005
call fcn.1400312f0
int3
mov ecx, 0x80004005
call fcn.1400312f0
int3