Function at 0x140037e90
Capabilities:
Query or enumerate registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r12
push r13
push r14
push r15
sub rsp, 0xc90
mov rax, qword [0x140313918]
xor rax, rsp
mov qword [rsp + 0xc80], rax
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov qword [r11 - 0x9f0], r14
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x2c8], xmm0
mov word [r11 - 0x9f0], r14w
mov byte [rsp + 0x2b0], r14b
lea rdx, str.srl::Software::Detect
lea rcx, [r11 - 0x9f0]
call fcn.140009b0c
nop
call fcn.14001fce0
cmp dword [rax + 8], 4
jl 0x140037f1f
lea rcx, [rsp + 0x2b0]
call fcn.140015ae0
nop
lea rbx, vtable.srl::Version.0
mov qword [rsp + 0xd8], rbx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400395cc
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov r8d, 5
lea rdx, str.6.5.5
lea rcx, [rsp + 0xe0]
call fcn.140002aa8
nop
mov edx, 0x116b7
lea rcx, [rsp + 0x2f8]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0xd8]
mov rdx, rax
call fcn.14004fb30
nop
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x2f8], r15
mov rdx, qword [rsp + 0x318]
cmp rdx, 8
jb 0x140037fea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037fe5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400395d7
call fcn.14000410c
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x310], xmm0
mov word [rsp + 0x300], r14w
mov qword [rsp + 0xd8], rbx
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140038034
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x50], r14
mov qword [rsp + 0xd0], r14
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareIntelNetwork_ServicesDMIX
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003831b
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x58], 0x7d0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
xor r8d, r8d
lea rdx, str.OEMVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038100
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x140038100
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1400381e2
test al, 1
jne 0x140038100
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400381eb
lea r12, vtable.srl::Name.0
mov qword [rsp + 0x38], r14
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareIntelWirelessCommonAppFrameworkSettings
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003861f
mov eax, r14d
test rdi, rdi
je 0x14003814c
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], r14d
test eax, eax
jne 0x14003861f
mov dword [rsp + 0x60], 0x7d0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x98]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038b46
mov eax, dword [rsp + 0x98]
dec eax
cmp eax, 1
ja 0x140038b46
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140038517
test al, 1
jne 0x140038b46
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140038520
jmp 0x140038b46
mov word [rsp + 0x4b0], r14w
lea r12, vtable.srl::Name.0
mov qword [rsp + 0xe8], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400395dd
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140038230
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0xf0]
call fcn.140002aa8
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x328]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0xe8]
mov rdx, rax
call fcn.14004fb30
nop
mov qword [rsp + 0x328], r15
mov rdx, qword [rsp + 0x348]
cmp rdx, 8
jb 0x1400382ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x330]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400382c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400395e8
call fcn.14000410c
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x340], xmm0
mov word [rsp + 0x330], r14w
mov qword [rsp + 0xe8], r12
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003850d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x140038107
mov qword [rsp + 0x168], r14
lea rax, [rsp + 0x168]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SoftwareIntelNetwork_ServicesDMIX
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140038100
mov rdi, qword [rsp + 0x168]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0x100
mov dword [rsp + 0x5c], 0x7d0
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x94]
xor r8d, r8d
lea rdx, str.OEMVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038100
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x140038100
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x1400383e1
test al, 1
jne 0x140038100
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400383ea
jmp 0x140038100
mov word [rsp + 0x4b0], r14w
lea r12, vtable.srl::Name.0
mov qword [rsp + 0xf8], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400395ee
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140038430
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x100]
call fcn.140002aa8
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x358]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0xf8]
mov rdx, rax
call fcn.14004fb30
nop
mov qword [rsp + 0x358], r15
mov rdx, qword [rsp + 0x378]
cmp rdx, 8
jb 0x1400384ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400384c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400395f9
call fcn.14000410c
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x370], xmm0
mov word [rsp + 0x360], r14w
mov qword [rsp + 0xf8], r12
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003850d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x140038107
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x108], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x1400395ff
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x110], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140038556
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x110]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x388]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x108]
mov rdx, rax
call fcn.14004fb30
nop
mov qword [rsp + 0x388], r15
mov rdx, qword [rsp + 0x3a8]
cmp rdx, 8
jb 0x1400385f0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x390]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400385eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003960a
call fcn.14000410c
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x3a0], xmm0
mov word [rsp + 0x390], r14w
mov qword [rsp + 0x108], r12
mov rdx, qword [rsp + 0x110]
jmp 0x140038b28
mov qword [rsp + 0xb8], r14
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SoftwareIntelWirelessAppFrameworkSettings
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140038809
mov eax, r14d
test rdi, rdi
je 0x14003866a
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0xb8]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], r14d
test eax, eax
jne 0x140038809
mov dword [rsp + 0x64], 0x7d0
lea rax, [rsp + 0x64]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x9c]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038b46
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x140038b46
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x1400386fb
test al, 1
jne 0x140038b46
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140038704
jmp 0x140038b46
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x118], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140039610
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140038740
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x120]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x3b8]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x118]
mov rdx, rax
call fcn.14004fb30
nop
mov qword [rsp + 0x3b8], r15
mov rdx, qword [rsp + 0x3d8]
cmp rdx, 8
jb 0x1400387da
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400387d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003961b
call fcn.14000410c
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x3d0], xmm0
mov word [rsp + 0x3c0], r14w
mov qword [rsp + 0x118], r12
mov rdx, qword [rsp + 0x120]
jmp 0x140038b28
mov qword [rsp + 0xc0], r14
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SoftwareIntelWirelessCommonAppFrameworkSettings
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003899d
mov eax, r14d
test rdi, rdi
je 0x140038854
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0x100
test eax, eax
jne 0x14003899d
mov dword [rsp + 0x68], 0x7d0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa0]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038b46
mov eax, dword [rsp + 0xa0]
dec eax
cmp eax, 1
ja 0x140038b46
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1400388e8
test al, 1
jne 0x140038b46
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400388f1
jmp 0x140038b46
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x128], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140039621
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140038930
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x130]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x448]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x128]
mov rdx, rax
call fcn.14004fb30
nop
lea rcx, [rsp + 0x448]
call fcn.140021670
nop
mov qword [rsp + 0x128], r12
mov rdx, qword [rsp + 0x130]
jmp 0x140038b28
mov qword [rsp + 0xc8], r14
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
lea rdx, str.SoftwareIntelWirelessAppFrameworkSettings
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x140038b46
mov eax, r14d
test rdi, rdi
je 0x1400389e8
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0xc8]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], 0x100
test eax, eax
jne 0x140038b46
mov dword [rsp + 0x6c], 0x7d0
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa4]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140038b46
mov eax, dword [rsp + 0xa4]
dec eax
cmp eax, 1
ja 0x140038b46
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x140038a7c
test al, 1
jne 0x140038b46
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140038a85
jmp 0x140038b46
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x138], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14003962c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140038ac0
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x140]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x478]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x138]
mov rdx, rax
call fcn.14004fb30
nop
lea rcx, [rsp + 0x478]
call fcn.140021670
nop
mov qword [rsp + 0x138], r12
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140038b41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
mov r13d, r14d
lea rbx, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
lea r8, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
lea rdx, [0x1402c62c8]
lea rcx, [0x1402c62d0]
cmp r13d, 0x64
jae 0x140039417
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x238], r14
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x240], xmm0
or dword [rsp + 0x30], 1
mov qword [rsp + 0x208], r8
mov dword [rsp + 0x204], 0x80
mov qword [rsp + 0x178], r14
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x208]
call fcn.140019ad0
nop
mov rax, qword [rsp + 0x180]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x180], rax
mov rax, qword [rsp + 0x180]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x17c], edx
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x170], rax
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x16c], edx
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x170], rbx
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x16c], edx
lea rcx, [rsp + 0x188]
call fcn.140019a30
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x1f0], r14
mov dword [rsp + 0x1f8], r14d
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x198], 4
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rsp + rcx + 0x1c8], ax
mov edx, r13d
lea rcx, [rsp + 0x180]
call fcn.140018e50
mov qword [rsp + 0x270], r14
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], r14w
mov ecx, LoadRegTypeLib
call fcn.140078dac
mov rcx, rax
mov qword [rsp + 0x280], 0x4e
mov qword [rsp + 0x288], 0x4f
movaps xmm0, xmmword [str.systemCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318_]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1402c8750]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1402c8760]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1402c8770]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x1402c8780]
movups xmmword [rax + 0x40], xmm0
movaps xmm1, xmmword [0x1402c8790]
movups xmmword [rax + 0x50], xmm1
movaps xmm0, xmmword [0x1402c87a0]
movups xmmword [rax + 0x60], xmm0
movaps xmm1, xmmword [0x1402c87b0]
movups xmmword [rax + 0x70], xmm1
movaps xmm0, xmmword [0x1402c87c0]
movups xmmword [rax + 0x80], xmm0
movsd xmm1, qword [0x1402c87d0]
movsd qword [rax + 0x90], xmm1
mov eax, dword [0x1402c87d8]
mov dword [rcx + 0x98], eax
mov word [rcx + 0x9c], r14w
mov qword [rsp + 0x270], rcx
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x188]
call fcn.140019820
or dword [rsp + 0x30], 0x10
lea r9, [rsp + 0x290]
cmp qword [rsp + 0x2a8], 8
cmovae r9, qword [rsp + 0x290]
mov r14, qword [rsp + 0x2a0]
mov r15, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x288]
mov rax, rcx
sub rax, r15
cmp r14, rax
ja 0x140038e3e
lea rax, [r15 + r14]
mov qword [rsp + 0x280], rax
lea rbx, [rsp + 0x270]
cmp rcx, 8
cmovae rbx, qword [rsp + 0x270]
lea rcx, [rbx + r15*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.14021a590
lea rax, [r15 + r14]
xor r14d, r14d
mov word [rbx + rax*2], r14w
jmp 0x140038e56
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x270]
call fcn.140020dd0
xor r14d, r14d
mov rdx, qword [rsp + 0x2a8]
cmp rdx, 8
jb 0x140038e9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038e99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039637
call fcn.14000410c
mov qword [rsp + 0x2d8], r14
mov qword [rsp + 0x2e8], r14
mov qword [rsp + 0x2f0], 7
mov word [rsp + 0x2d8], r14w
lea rdx, [rsp + 0x270]
cmp qword [rsp + 0x288], 8
cmovae rdx, qword [rsp + 0x270]
mov qword [rsp + 0x88], r14
lea rax, [rsp + 0x88]
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 0x14003939e
mov eax, r14d
test rdi, rdi
je 0x140038f21
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0x88]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], r14d
test eax, eax
jne 0x14003939e
mov dword [rsp + 0x70], 0x7d0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xa8]
xor r8d, r8d
lea rdx, str.DriverDesc
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140039084
mov eax, dword [rsp + 0xa8]
dec eax
cmp eax, 1
ja 0x140039084
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x140038fb2
test al, 1
jne 0x140039084
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140038fbb
jmp 0x140039084
mov word [rsp + 0x4b0], r14w
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14003963d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x4b0]
cmp rax, 0x10000
jae 0x140039002
lea rax, [rsp + 0x4b0]
movzx edx, ax
lea rcx, [rsp + 0x78]
call fcn.140010ac0
jmp 0x140039030
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140039010
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x78]
call fcn.140002aa8
nop
mov rbx, qword [rsp + 0x78]
mov rcx, rsi
lea r15, str.Intel_R__Advanced_Network_Services_Virtual_Adapter
nop
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r15 + rcx*2 + 2]
jne 0x140039066
add rcx, 2
cmp rcx, 0x33
je 0x140039164
movzx eax, word [rbx + rcx*2]
cmp ax, word [r15 + rcx*2]
je 0x140039040
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003907f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x1400390cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400390c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039659
call fcn.14000410c
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], r14w
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x170], rbx
mov rax, qword [rsp + 0x170]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x16c], edx
lea rcx, [rsp + 0x188]
call fcn.14001a720
lea rcx, [rsp + 0x190]
call fcn.140018d90
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x208], rax
lea rcx, [rsp + 0x208]
call fcn.140218640
nop
inc r13d
lea r15, vtable.srl::GroupID.0
jmp 0x140038b50
mov dword [rsp + 0x74], 0x7d0
lea rax, [rsp + 0x74]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xac]
xor r8d, r8d
lea rdx, str.DriverVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400391d2
mov eax, dword [rsp + 0xac]
dec eax
cmp eax, 1
ja 0x1400391d2
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x14003926d
test al, 1
jne 0x1400391d2
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140039276
lea r15, vtable.srl::GroupID.0
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1400391f1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x140039239
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039234
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039659
call fcn.14000410c
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], r14w
lea rcx, [rsp + 0x170]
call fcn.140018b40
mov rdi, qword [rsp + 0x40]
jmp 0x140039417
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x148], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140039648
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400392b0
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x150]
call fcn.140002aa8
nop
mov edx, 0x116ca
lea rcx, [rsp + 0x3e8]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x148]
mov rdx, rax
call fcn.14004fb30
nop
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x3e8], r15
mov rdx, qword [rsp + 0x408]
cmp rdx, 8
jb 0x140039351
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003934c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039653
call fcn.14000410c
movdqa xmm0, xmmword [0x1402cd3d0]
movdqu xmmword [rsp + 0x400], xmm0
mov word [rsp + 0x3f0], r14w
mov qword [rsp + 0x148], r12
mov rdx, qword [rsp + 0x150]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140039394
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x78]
jmp 0x1400391d9
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x1400393e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400393e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039659
call fcn.14000410c
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], r14w
lea rcx, [rsp + 0x170]
call fcn.140018b40
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x80], r14
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapDomains_newcorp.com
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14003957c
mov eax, r14d
test rdi, rdi
je 0x140039462
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], r14d
test eax, eax
jne 0x14003957c
mov dword [rsp + 0x80], r14d
mov dword [rsp + 0xb0], 4
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb4]
xor r8d, r8d
lea rdx, str.http
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140039528
cmp dword [rsp + 0xb4], 4
jne 0x140039528
lea rax, vtable.srl::Exists.0
mov qword [rsp + 0x158], rax
mov byte [rsp + 0x160], 1
mov edx, 0x11734
lea rcx, [rsp + 0x418]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x158]
mov rdx, rax
call fcn.14004fb30
nop
mov qword [rsp + 0x418], r15
lea rcx, [rsp + 0x420]
call fcn.140009aa8
nop
jmp 0x14003957c
lea rax, vtable.srl::Exists.0
mov qword [rsp + 0x158], rax
mov byte [rsp + 0x160], 0
mov edx, 0x11734
lea rcx, [rsp + 0x418]
call fcn.1400214e0
nop
xor r9d, r9d
lea r8, [rsp + 0x158]
mov rdx, rax
call fcn.14004fb30
nop
mov qword [rsp + 0x418], r15
lea rcx, [rsp + 0x420]
call fcn.140009aa8
nop
test rdi, rdi
je 0x14003958b
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x2b0]
call fcn.140017400
mov al, 1
mov rcx, qword [rsp + 0xc80]
xor rcx, rsp
call fcn.140215e10
lea r11, [rsp + 0xc90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
mov ecx, 0x80004005
call fcn.140002d2c
int3
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021f028
nop
call fcn.14021f028
int3