Function at 0x140037440
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 [0x14030c918]
xor rax, rsp
mov qword [rsp + 0xc80], rax
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov qword [r11 - 0x9f0], r14
movdqa xmm0, xmmword [0x1402c75d0]
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.14001fcc0
cmp dword [rax + 8], 4
jl 0x1400374cf
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 0x140038b7c
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov r8d, 5
lea rdx, str.6.5.4
lea rcx, [rsp + 0xe0]
call fcn.140002aa8
nop
mov edx, 0x116b7
lea rcx, [rsp + 0x2f8]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0xd8]
mov rdx, rax
call fcn.14004ecb0
nop
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x2f8], r15
mov rdx, qword [rsp + 0x318]
cmp rdx, 8
jb 0x14003759a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037595
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038b87
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x1400375e4
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 0x1400378cb
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 0x1400376b0
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x1400376b0
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x140037792
test al, 1
jne 0x1400376b0
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x14003779b
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 0x140037bcf
mov eax, r14d
test rdi, rdi
je 0x1400376fc
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 0x140037bcf
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 0x1400380f6
mov eax, dword [rsp + 0x98]
dec eax
cmp eax, 1
ja 0x1400380f6
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140037ac7
test al, 1
jne 0x1400380f6
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140037ad0
jmp 0x1400380f6
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 0x140038b8d
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 0x1400377e0
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0xf0]
call fcn.140002aa8
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x328]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0xe8]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rsp + 0x328], r15
mov rdx, qword [rsp + 0x348]
cmp rdx, 8
jb 0x14003787a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x330]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037875
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038b98
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140037abd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x1400376b7
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 0x1400376b0
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 0x1400376b0
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x1400376b0
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x140037991
test al, 1
jne 0x1400376b0
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x14003799a
jmp 0x1400376b0
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 0x140038b9e
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 0x1400379e0
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x100]
call fcn.140002aa8
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x358]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0xf8]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rsp + 0x358], r15
mov rdx, qword [rsp + 0x378]
cmp rdx, 8
jb 0x140037a7a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037a75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038ba9
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140037abd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x1400376b7
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x108], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140038baf
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 0x140037b06
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x110]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x388]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x108]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rsp + 0x388], r15
mov rdx, qword [rsp + 0x3a8]
cmp rdx, 8
jb 0x140037ba0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x390]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037b9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038bba
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
movdqu xmmword [rsp + 0x3a0], xmm0
mov word [rsp + 0x390], r14w
mov qword [rsp + 0x108], r12
mov rdx, qword [rsp + 0x110]
jmp 0x1400380d8
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 0x140037db9
mov eax, r14d
test rdi, rdi
je 0x140037c1a
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 0x140037db9
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 0x1400380f6
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x1400380f6
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x140037cab
test al, 1
jne 0x1400380f6
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140037cb4
jmp 0x1400380f6
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x118], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140038bc0
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 0x140037cf0
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x120]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x3b8]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x118]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rsp + 0x3b8], r15
mov rdx, qword [rsp + 0x3d8]
cmp rdx, 8
jb 0x140037d8a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037d85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038bcb
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
movdqu xmmword [rsp + 0x3d0], xmm0
mov word [rsp + 0x3c0], r14w
mov qword [rsp + 0x118], r12
mov rdx, qword [rsp + 0x120]
jmp 0x1400380d8
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 0x140037f4d
mov eax, r14d
test rdi, rdi
je 0x140037e04
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 0x140037f4d
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 0x1400380f6
mov eax, dword [rsp + 0xa0]
dec eax
cmp eax, 1
ja 0x1400380f6
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140037e98
test al, 1
jne 0x1400380f6
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140037ea1
jmp 0x1400380f6
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x128], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140038bd1
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 0x140037ee0
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x130]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x448]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x128]
mov rdx, rax
call fcn.14004ecb0
nop
lea rcx, [rsp + 0x448]
call fcn.140021650
nop
mov qword [rsp + 0x128], r12
mov rdx, qword [rsp + 0x130]
jmp 0x1400380d8
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 0x1400380f6
mov eax, r14d
test rdi, rdi
je 0x140037f98
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 0x1400380f6
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 0x1400380f6
mov eax, dword [rsp + 0xa4]
dec eax
cmp eax, 1
ja 0x1400380f6
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x14003802c
test al, 1
jne 0x1400380f6
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140038035
jmp 0x1400380f6
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x138], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140038bdc
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 0x140038070
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x140]
call fcn.140002aa8
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x478]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x138]
mov rdx, rax
call fcn.14004ecb0
nop
lea rcx, [rsp + 0x478]
call fcn.140021650
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 0x1400380f1
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, [0x1402c0748]
lea rcx, [0x1402c0750]
cmp r13d, 0x64
jae 0x1400389c7
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.140075f2c
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 [0x1402c2bd0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1402c2be0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1402c2bf0]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x1402c2c00]
movups xmmword [rax + 0x40], xmm0
movaps xmm1, xmmword [0x1402c2c10]
movups xmmword [rax + 0x50], xmm1
movaps xmm0, xmmword [0x1402c2c20]
movups xmmword [rax + 0x60], xmm0
movaps xmm1, xmmword [0x1402c2c30]
movups xmmword [rax + 0x70], xmm1
movaps xmm0, xmmword [0x1402c2c40]
movups xmmword [rax + 0x80], xmm0
movsd xmm1, qword [0x1402c2c50]
movsd qword [rax + 0x90], xmm1
mov eax, dword [0x1402c2c58]
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 0x1400383ee
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.140217710
lea rax, [r15 + r14]
xor r14d, r14d
mov word [rbx + rax*2], r14w
jmp 0x140038406
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x270]
call fcn.140020db0
xor r14d, r14d
mov rdx, qword [rsp + 0x2a8]
cmp rdx, 8
jb 0x14003844e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038449
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038be7
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 0x14003894e
mov eax, r14d
test rdi, rdi
je 0x1400384d1
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 0x14003894e
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 0x140038634
mov eax, dword [rsp + 0xa8]
dec eax
cmp eax, 1
ja 0x140038634
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x140038562
test al, 1
jne 0x140038634
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x14003856b
jmp 0x140038634
mov word [rsp + 0x4b0], r14w
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140038bed
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x4b0]
cmp rax, 0x10000
jae 0x1400385b2
lea rax, [rsp + 0x4b0]
movzx edx, ax
lea rcx, [rsp + 0x78]
call fcn.140010ac0
jmp 0x1400385e0
lea rcx, [rsp + 0x4b0]
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400385c0
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 0x140038616
add rcx, 2
cmp rcx, 0x33
je 0x140038714
movzx eax, word [rbx + rcx*2]
cmp ax, word [r15 + rcx*2]
je 0x1400385f0
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003862f
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 0x14003867c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038677
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038c09
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.1402157c0
nop
inc r13d
lea r15, vtable.srl::GroupID.0
jmp 0x140038100
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 0x140038782
mov eax, dword [rsp + 0xac]
dec eax
cmp eax, 1
ja 0x140038782
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x14003881d
test al, 1
jne 0x140038782
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140038826
lea r15, vtable.srl::GroupID.0
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1400387a1
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 0x1400387e9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400387e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038c09
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 0x1400389c7
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x148], r12
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x140038bf8
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 0x140038860
mov r8d, eax
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x150]
call fcn.140002aa8
nop
mov edx, 0x116ca
lea rcx, [rsp + 0x3e8]
call fcn.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x148]
mov rdx, rax
call fcn.14004ecb0
nop
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x3e8], r15
mov rdx, qword [rsp + 0x408]
cmp rdx, 8
jb 0x140038901
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400388fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038c03
call fcn.14000410c
movdqa xmm0, xmmword [0x1402c75d0]
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 0x140038944
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x78]
jmp 0x140038789
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x140038996
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140038991
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140038c09
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 0x140038b2c
mov eax, r14d
test rdi, rdi
je 0x140038a12
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 0x140038b2c
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 0x140038ad8
cmp dword [rsp + 0xb4], 4
jne 0x140038ad8
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.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x158]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rsp + 0x418], r15
lea rcx, [rsp + 0x420]
call fcn.140009aa8
nop
jmp 0x140038b2c
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.1400214c0
nop
xor r9d, r9d
lea r8, [rsp + 0x158]
mov rdx, rax
call fcn.14004ecb0
nop
mov qword [rsp + 0x418], r15
lea rcx, [rsp + 0x420]
call fcn.140009aa8
nop
test rdi, rdi
je 0x140038b3b
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.140212f90
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.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
int3
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3