Function at 0x1400957c0
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov qword [rsp + 0x160], rbx
xor r14d, r14d
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x30], r14d
mov qword [rbp - 0x28], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x40], rbx
lea rdx, str.7E9286F3_152C_497F_94C3_521544037651
test rdx, 0xffffffffffff0000
jne 0x140095851
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x140095864
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.140001f70
jmp 0x140095860
mov r8d, Ordinal_43
lea rcx, [rbp - 0x40]
call fcn.140001e80
mov rbx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rcx, rdi
jae 0x14009593c
lea rcx, [rbp - 0x40]
cmp rax, rcx
ja 0x14009593c
lea r12, [rbp - 0x40]
sub r12, rax
sar r12, 3
movabs rsi, 0x1fffffffffffffff
movabs r13, 0x1ffffffffffffffe
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095911
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x1400958ce
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095911
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x1400958f3
mov rdx, r14
jmp 0x1400958f6
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x70], rdi
test rdi, rdi
je 0x140095937
mov rcx, qword [rax + r12*8]
sub rcx, 0x18
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
jmp 0x1400959d7
movabs rsi, 0x1fffffffffffffff
movabs r13, 0x1ffffffffffffffe
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x1400959b5
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095977
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x1400959b5
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x14009599c
mov rdx, r14
jmp 0x14009599f
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov qword [rbp + 0x68], rdi
mov qword [rbp + 0x70], rdi
test rdi, rdi
je 0x1400959d7
lea rcx, [rbx - 0x18]
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
add rdi, 8
mov qword [rsp + 0x68], rdi
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400959fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x60], rbx
lea rdx, str.C93BE4DA_D97D_49AC_B718_E723EAA9D091
test rdx, 0xffffffffffff0000
jne 0x140095a46
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x140095a59
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140001f70
jmp 0x140095a55
mov r8d, Ordinal_43
lea rcx, [rbp - 0x60]
call fcn.140001e80
mov rbx, qword [rbp - 0x60]
lea rcx, [rbp - 0x60]
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rcx, rdi
jae 0x140095b1d
lea rcx, [rbp - 0x60]
cmp rax, rcx
ja 0x140095b1d
lea r12, [rbp - 0x60]
sub r12, rax
sar r12, 3
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095af2
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095aaf
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095af2
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x140095ad4
mov rdx, r14
jmp 0x140095ad7
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], rdi
test rdi, rdi
je 0x140095b18
mov rcx, qword [rax + r12*8]
sub rcx, 0x18
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
jmp 0x140095ba4
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095b82
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095b44
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095b82
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x140095b69
mov rdx, r14
jmp 0x140095b6c
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140095ba4
lea rcx, [rbx - 0x18]
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
add rdi, 8
mov qword [rsp + 0x68], rdi
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140095bc8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x70], rbx
lea rdx, str.4EE3B587_5512_4A71_BB81_ADFC0559687B
test rdx, 0xffffffffffff0000
jne 0x140095c13
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x140095c26
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140001f70
jmp 0x140095c22
mov r8d, Ordinal_43
lea rcx, [rbp - 0x70]
call fcn.140001e80
mov rbx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rcx, rdi
jae 0x140095cea
lea rcx, [rbp - 0x70]
cmp rax, rcx
ja 0x140095cea
lea r12, [rbp - 0x70]
sub r12, rax
sar r12, 3
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095cbf
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095c7c
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095cbf
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x140095ca1
mov rdx, r14
jmp 0x140095ca4
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140095ce5
mov rcx, qword [rax + r12*8]
sub rcx, 0x18
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
jmp 0x140095d71
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095d4f
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095d11
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095d4f
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x140095d36
mov rdx, r14
jmp 0x140095d39
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140095d71
lea rcx, [rbx - 0x18]
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
add rdi, 8
mov qword [rsp + 0x68], rdi
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140095d95
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x50], rbx
lea rdx, str.FF400668_95B6_41CA_922E_125E5482B0B7
test rdx, 0xffffffffffff0000
jne 0x140095de0
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x140095df3
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140001f70
jmp 0x140095def
mov r8d, Ordinal_43
lea rcx, [rbp - 0x50]
call fcn.140001e80
mov rbx, qword [rbp - 0x50]
lea rcx, [rbp - 0x50]
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rcx, rdi
jae 0x140095eb7
lea rcx, [rbp - 0x50]
cmp rax, rcx
ja 0x140095eb7
lea r12, [rbp - 0x50]
sub r12, rax
sar r12, 3
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095e8c
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095e49
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095e8c
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x140095e6e
mov rdx, r14
jmp 0x140095e71
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140095eb2
mov rcx, qword [rax + r12*8]
sub rcx, 0x18
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
jmp 0x140095f3e
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140095f1c
mov rcx, rdi
sub rcx, rax
sar rcx, 3
cmp rcx, r13
jbe 0x140095ede
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rcx
sub rdx, rax
sar rdx, 3
cmp rcx, rdx
jbe 0x140095f1c
mov r8, rdx
shr r8, 1
mov rax, rsi
sub rax, r8
cmp rax, rdx
jae 0x140095f03
mov rdx, r14
jmp 0x140095f06
add rdx, r8
cmp rdx, rcx
cmovb rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140095f3e
lea rcx, [rbx - 0x18]
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
add rdi, 8
mov qword [rsp + 0x68], rdi
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140095f62
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x68], rbx
lea rdx, str.A0D941C5_A6B6_4838_9D90_48D4BDF42BF8
test rdx, 0xffffffffffff0000
jne 0x140095fad
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.1400017e0
test rax, rax
je 0x140095fc0
mov r8d, edi
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.140001f70
jmp 0x140095fbc
mov r8d, Ordinal_43
lea rcx, [rbp - 0x68]
call fcn.140001e80
mov rbx, qword [rbp - 0x68]
lea rax, [rbp - 0x68]
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
cmp rax, rdi
jae 0x140096081
lea rax, [rbp - 0x68]
cmp rcx, rax
ja 0x140096081
lea r12, [rbp - 0x68]
sub r12, rcx
sar r12, 3
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x140096056
mov rax, rdi
sub rax, rcx
sar rax, 3
cmp rax, r13
jbe 0x140096016
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
sub rdx, rcx
sar rdx, 3
cmp rax, rdx
jbe 0x140096056
mov rcx, rdx
shr rcx, 1
sub rsi, rcx
cmp rsi, rdx
jae 0x140096038
mov rdx, r14
jmp 0x14009603b
add rdx, rcx
cmp rdx, rax
cmovb rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x14009607c
mov rcx, qword [rcx + r12*8]
sub rcx, 0x18
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
jmp 0x140096105
mov rdx, qword [rsp + 0x70]
cmp rdi, rdx
jne 0x1400960e3
mov rax, rdi
sub rax, rcx
sar rax, 3
cmp rax, r13
jbe 0x1400960a8
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
sub rdx, rcx
sar rdx, 3
cmp rax, rdx
jbe 0x1400960e3
mov rcx, rdx
shr rcx, 1
sub rsi, rcx
cmp rsi, rdx
jae 0x1400960ca
mov rdx, r14
jmp 0x1400960cd
add rdx, rcx
cmp rdx, rax
cmovb rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14000dcf0
mov rdi, qword [rsp + 0x68]
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140096105
lea rcx, [rbx - 0x18]
call fcn.140001b90
add rax, 0x18
mov qword [rdi], rax
mov rdi, qword [rsp + 0x68]
add rdi, 8
mov qword [rsp + 0x68], rdi
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140096129
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x78], rax
lea rcx, [0x14011d880]
mov rax, qword [0x14011d880]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x80], rbx
mov r9d, 0x2001f
lea r8, str.SOFTWAREMicrosoftInternet_ExplorerActiveX_Compatibility
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x38]
call fcn.140008440
test eax, eax
jne 0x1400963de
mov esi, r14d
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x60]
sar rax, 3
test rax, rax
je 0x1400963c7
mov rbx, r14
nop dword [rax]
mov r8d, reloc.ATL100.DLL_Ordinal_58
lea rdx, str.SOFTWAREMicrosoftInternet_ExplorerActiveX_Compatibility
lea rcx, [rbp - 0x78]
call fcn.140001e80
lea r8, [0x1400ddd20]
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 8]
call fcn.140002ce0
nop
mov rcx, qword [rsp + 0x60]
lea r8, [rcx + rbx*8]
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.140008ad0
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x78]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14009623e
cmp dword [rbx + 0x10], 0
jl 0x140096230
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140096230
call fcn.140001b90
mov rdi, rax
or ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140096226
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rbp - 0x78], rax
jmp 0x14009623e
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x78]
call fcn.140001e80
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009625e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009627d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x18], r14
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x140096318
cmp qword [rbx], 0
je 0x14009630b
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1400962b0
mov eax, 1
jmp 0x140096353
lea rdx, str.RegCreateKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140096311
mov qword [rsp + 0x50], r14
mov rcx, qword [rbx]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x68]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x78]
mov rcx, 0xffffffff80000002
call rax
jmp 0x140096353
cmp dword [rbx + 8], 0
jne 0x140096318
mov eax, 1
jmp 0x140096353
lea rax, [rbp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x78]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1400963a7
mov eax, r14d
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140096369
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x38], rcx
mov dword [rbp - 0x30], r14d
test eax, eax
jne 0x1400963a7
mov dword [rbp + 0x78], 0x400
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.Compatibility_Flags
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
inc esi
movsxd rbx, esi
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x60]
sar rax, 3
cmp rbx, rax
jb 0x1400961a0
mov rbx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1400963da
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x30], r14d
call fcn.14001a970
cmp eax, 9
jne 0x1400967de
mov r9d, 0x2001f
lea r8, str.SOFTWAREWow6432NodeMicrosoftInternet_ExplorerActiveX_Compatibility
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x38]
call fcn.140008440
test eax, eax
jne 0x1400967de
mov r15d, r14d
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x60]
sar rax, 3
test rax, rax
je 0x1400967c7
nop dword [rax + rax]
mov esi, dword [rbx - 0x10]
lea rdi, str.SOFTWAREWow6432NodeMicrosoftInternet_ExplorerActiveX_Compatibility
sub rdi, rbx
sar rdi, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x46
or eax, ecx
jge 0x140096464
mov edx, 0x46
lea rcx, [rbp - 0x80]
call fcn.140001c20
mov rbx, qword [rbp - 0x80]
movsxd rdx, dword [rbx - 0xc]
mov r9d, 0x8c
mov rcx, rbx
add rdx, rdx
cmp rdi, rsi
ja 0x140096485
lea r8, [rbx + rdi*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x140096492
lea r8, str.SOFTWAREWow6432NodeMicrosoftInternet_ExplorerActiveX_Compatibility
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp dword [rbx - 0xc], 0x46
jl 0x1400967bc
mov dword [rbx - 0x10], 0x46
mov word [rbx + 0x8c], r14w
lea r8, [0x1400ddd20]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.140002ce0
nop
movsxd rdx, r15d
mov rcx, qword [rsp + 0x60]
lea r8, [rcx + rdx*8]
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.140008ad0
nop
mov r13, qword [rax]
lea rcx, [r13 - 0x18]
lea rdi, [rbx - 0x18]
cmp rcx, rdi
je 0x140096607
cmp dword [rdi + 0x10], 0
jl 0x14009652b
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14009652b
call fcn.140001b90
mov rbx, rax
or ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14009651e
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [r8 + 8]
lea rax, [rbx + 0x18]
mov qword [rbp - 0x80], rax
jmp 0x140096607
movsxd rsi, dword [r13 - 0x10]
test esi, esi
jne 0x14009658a
mov rsi, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140096607
cmp dword [rdi + 0x10], 0
jge 0x14009655d
cmp dword [rbx - 0xc], 0
jl 0x140096790
mov dword [rbx - 0x10], r14d
mov word [rbx], r14w
jmp 0x140096607
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
dec eax
test eax, eax
jg 0x140096577
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
jmp 0x140096607
test r13, r13
je 0x1400967b1
mov r14d, dword [rbx - 0x10]
mov r12, r13
sub r12, rbx
sar r12, 1
test esi, esi
js 0x1400967a6
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, esi
or eax, ecx
jge 0x1400965c8
mov edx, esi
lea rcx, [rbp - 0x80]
call fcn.140001c20
mov rbx, qword [rbp - 0x80]
lea rdi, [rsi + rsi]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
mov r9, rdi
add rdx, rdx
cmp r12, r14
ja 0x1400965ea
lea r8, [rbx + r12*2]
call qword [sym.imp.MSVCR100.dll_memmove_s]
jmp 0x1400965f3
mov r8, r13
call qword [sym.imp.MSVCR100.dll_memcpy_s]
cmp esi, dword [rbx - 0xc]
jg 0x14009679b
mov dword [rbx - 0x10], esi
xor r14d, r14d
mov word [rdi + rbx], r14w
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140096627
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140096646
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rbp - 0x20], r14
mov rbx, qword [rbp - 0x80]
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x1400966e4
cmp qword [rdi], 0
je 0x1400966d7
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x14009667d
mov eax, 1
jmp 0x14009671e
lea rdx, str.RegCreateKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400966dd
mov qword [rsp + 0x50], r14
mov rcx, qword [rdi]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000002
call rax
jmp 0x14009671e
cmp dword [rdi + 8], 0
jne 0x1400966e4
mov eax, 1
jmp 0x14009671e
lea rax, [rbp + 0x70]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140096772
mov eax, r14d
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140096734
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x38], rcx
mov dword [rbp - 0x30], r14d
test eax, eax
jne 0x140096772
mov dword [rbp - 0x10], 0x400
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.Compatibility_Flags
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
inc r15d
mov rcx, qword [rsp + 0x68]
sub rcx, qword [rsp + 0x60]
sar rcx, 3
movsxd rax, r15d
cmp rax, rcx
jae 0x1400967c7
jmp 0x140096430
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
int3
mov ecx, 0x80070057
call fcn.140001000
nop
mov ecx, 0x80070057
call fcn.140001000
int3
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1400967da
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x38], r14
mov dword [rbp - 0x30], r14d
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400967fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009681a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
cmp qword [rsp + 0x60], 0
je 0x140096874
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::_Container_base0::_Orphan_all_void____ptr64]
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
cmp rbx, rdi
je 0x14009686c
nop dword [rax]
mov rdx, qword [rbx]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14009685e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
add rbx, 8
cmp rbx, rdi
jne 0x140096840
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140096892
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret