Function at 0x140036630
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0xc90
mov rax, qword [0x14031a940]
xor rax, rsp
mov qword [rsp + 0xc80], rax
xor r14d, r14d
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
movups xmmword [rsp + 0x2b8], xmm0
movdqa xmm1, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x2c8], xmm1
mov word [rsp + 0x2b8], r14w
mov byte [rsp + 0x2b0], r14b
lea rdx, str.srl::Software::Detect
lea rcx, [rsp + 0x2b8]
call fcn.140018440
nop
call fcn.1400210a0
cmp dword [rax + 8], 4
jl 0x1400366c6
lea rcx, [rsp + 0x2b0]
call fcn.1400162a0
nop
lea rbx, vtable.srl::Version.0
mov qword [rsp + 0xd8], rbx
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037d96
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov r8d, 6
lea rdx, str.6.5.16
lea rcx, [rsp + 0xe0]
call fcn.140002a9c
nop
mov edx, 0x116b7
lea rcx, [rsp + 0x328]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0xd8]
mov rdx, rax
call fcn.140050650
nop
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x328], r15
mov rdx, qword [rsp + 0x348]
cmp rdx, 8
jb 0x140036791
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x330]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003678c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037da1
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x340], xmm0
mov word [rsp + 0x330], 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 0x1400367db
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 0x140036ab9
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 + 0x88]
xor r8d, r8d
lea rdx, str.OEMVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400368a7
mov eax, dword [rsp + 0x88]
dec eax
cmp eax, 1
ja 0x1400368a7
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x140036989
test al, 1
jne 0x1400368a7
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036992
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 0x140036dd9
mov eax, r14d
test rdi, rdi
je 0x1400368f3
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 0x140036dd9
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 + 0x90]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037313
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x140037313
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140036caa
test al, 1
jne 0x140037313
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036cb3
jmp 0x140037313
mov word [rsp + 0x4b0], r14w
lea r12, vtable.srl::Name.0
mov qword [rsp + 0xe8], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037da7
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400369d0
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0xf0]
call fcn.140002a9c
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x358]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0xe8]
mov rdx, rax
call fcn.140050650
nop
mov qword [rsp + 0x358], r15
mov rdx, qword [rsp + 0x378]
cmp rdx, 8
jb 0x140036a68
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036a63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037db2
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x370], xmm0
mov word [rsp + 0x360], 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 0x140036ca0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x1400368ae
mov qword [rsp + 0x158], r14
lea rax, [rsp + 0x158]
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 0x1400368a7
mov rdi, qword [rsp + 0x158]
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 + 0x8c]
xor r8d, r8d
lea rdx, str.OEMVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400368a7
mov eax, dword [rsp + 0x8c]
dec eax
cmp eax, 1
ja 0x1400368a7
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x140036b7f
test al, 1
jne 0x1400368a7
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036b88
jmp 0x1400368a7
mov word [rsp + 0x4b0], r14w
lea r12, vtable.srl::Name.0
mov qword [rsp + 0xf8], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037db8
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140036bc5
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x100]
call fcn.140002a9c
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x388]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0xf8]
mov rdx, rax
call fcn.140050650
nop
mov qword [rsp + 0x388], r15
mov rdx, qword [rsp + 0x3a8]
cmp rdx, 8
jb 0x140036c5d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x390]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036c58
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037dc3
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x3a0], xmm0
mov word [rsp + 0x390], 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 0x140036ca0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x1400368ae
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x108], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037dc9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x110], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140036cf0
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x110]
call fcn.140002a9c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x3b8]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x108]
mov rdx, rax
call fcn.140050650
nop
mov qword [rsp + 0x3b8], r15
mov rdx, qword [rsp + 0x3d8]
cmp rdx, 8
jb 0x140036d88
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036d83
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037dd4
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x3d0], xmm0
mov word [rsp + 0x3c0], r14w
mov qword [rsp + 0x108], r12
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003717f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x140037313
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 0x140036fdd
mov eax, r14d
test rdi, rdi
je 0x140036e24
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 0x140036fdd
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 + 0x94]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037313
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x140037313
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x140036eb5
test al, 1
jne 0x140037313
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036ebe
jmp 0x140037313
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x118], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037dda
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140036ef4
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x120]
call fcn.140002a9c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x3e8]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x118]
mov rdx, rax
call fcn.140050650
nop
mov qword [rsp + 0x3e8], r15
mov rdx, qword [rsp + 0x408]
cmp rdx, 8
jb 0x140036f8c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036f87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037de5
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x400], xmm0
mov word [rsp + 0x3f0], r14w
mov qword [rsp + 0x118], r12
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003717f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x140037313
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 0x140037189
mov eax, r14d
test rdi, rdi
je 0x140037028
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 0x140037189
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 + 0x98]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037313
mov eax, dword [rsp + 0x98]
dec eax
cmp eax, 1
ja 0x140037313
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1400370bc
test al, 1
jne 0x140037313
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400370c5
jmp 0x140037313
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x128], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037deb
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140037100
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x130]
call fcn.140002a9c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x448]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x128]
mov rdx, rax
call fcn.140050650
nop
lea rcx, [rsp + 0x448]
call fcn.140022930
nop
mov qword [rsp + 0x128], r12
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003717f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x140037313
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 0x140037313
mov eax, r14d
test rdi, rdi
je 0x1400371d4
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 0x140037313
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 + 0x9c]
xor r8d, r8d
lea rdx, str.PROSetVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037313
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x140037313
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x140037268
test al, 1
jne 0x140037313
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140037271
jmp 0x140037313
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x160], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037df6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400372b0
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x168]
call fcn.140002a9c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x478]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x160]
mov rdx, rax
call fcn.140050650
nop
lea rcx, [rsp + 0x478]
call fcn.140022930
nop
lea rcx, [rsp + 0x160]
call fcn.14004bb90
mov r13d, r14d
mov r15d, 0x30
lea rbx, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
lea rcx, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
lea r8, [0x1402cc628]
lea rdx, [0x1402cc630]
cmp r13d, 0x64
jae 0x140037b97
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x180], r8
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], rcx
mov dword [rsp + 0x204], 0x80
mov qword [rsp + 0x178], r14
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x208]
call fcn.14001a370
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]
lea rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x170], rax
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.14001a2d0
mov qword [rsp + 0x188], rbx
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 word [rsp + rcx + 0x1c8], r15w
mov edx, r13d
lea rcx, [rsp + 0x180]
call fcn.1400196c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], r14w
lea rdx, str.systemCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318_
lea rcx, [rsp + 0x270]
call fcn.140018440
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x188]
call fcn.14001a0c0
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 0x14003756e
lea rax, [r14 + r15]
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.140224cf0
lea rax, [r15 + r14]
xor r14d, r14d
mov word [rbx + rax*2], r14w
jmp 0x140037586
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x270]
call fcn.140022090
xor r14d, r14d
mov rdx, qword [rsp + 0x2a8]
cmp rdx, 8
jb 0x1400375ce
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400375c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e01
call fcn.140004144
xorps xmm0, xmm0
movups xmmword [rsp + 0x308], xmm0
mov qword [rsp + 0x318], r14
mov qword [rsp + 0x320], 7
mov word [rsp + 0x308], r14w
lea rdx, [rsp + 0x270]
cmp qword [rsp + 0x288], 8
cmovae rdx, qword [rsp + 0x270]
mov qword [rsp + 0x80], r14
lea rax, [rsp + 0x80]
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 0x140037b1c
mov eax, r14d
test rdi, rdi
je 0x140037654
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 0x140037b1c
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 + 0xa0]
xor r8d, r8d
lea rdx, str.DriverDesc
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1400377b4
mov eax, dword [rsp + 0xa0]
dec eax
cmp eax, 1
ja 0x1400377b4
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x1400376e5
test al, 1
jne 0x1400377b4
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400376ee
jmp 0x1400377b4
mov word [rsp + 0x4b0], r14w
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037e07
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x4b0]
cmp rax, 0x10000
lea rax, [rsp + 0x4b0]
jae 0x140037735
movzx edx, ax
lea rcx, [rsp + 0x78]
call fcn.140010ab0
jmp 0x14003775e
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140037740
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x78]
call fcn.140002a9c
nop
mov rbx, qword [rsp + 0x78]
mov rcx, rsi
lea r15, str.Intel_R__Advanced_Network_Services_Virtual_Adapter
nop dword [rax]
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r15 + rcx*2 + 2]
jne 0x140037796
add rcx, 2
cmp rcx, 0x33
je 0x140037912
movzx eax, word [rbx + rcx*2]
cmp ax, word [r15 + rcx*2]
je 0x140037770
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400377af
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 0x1400377fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400377f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e23
call fcn.140004144
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 rax, vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + rcx + 0x170], rax
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.14001b030
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 + 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_istream_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 - 0x18]
mov dword [rsp + rcx + 0x16c], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x208], rax
lea rcx, [rsp + 0x208]
call fcn.140222d80
nop
inc r13d
jmp 0x140037316
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 + 0xa4]
xor r8d, r8d
lea rdx, str.DriverVersion
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14003797c
mov eax, dword [rsp + 0xa4]
dec eax
cmp eax, 1
ja 0x14003797c
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x1400379ec
test al, 1
jne 0x14003797c
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400379f5
lea rdi, vtable.srl::GroupID.0
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14003799b
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 0x140037b6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400379e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e23
call fcn.140004144
jmp 0x140037b6b
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x138], r12
call fcn.140010254
mov rcx, rax
test rax, rax
je 0x140037e12
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140037a30
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x140]
call fcn.140002a9c
nop
mov edx, 0x116ca
lea rcx, [rsp + 0x418]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x138]
mov rdx, rax
call fcn.140050650
nop
lea rdi, vtable.srl::GroupID.0
mov qword [rsp + 0x418], rdi
mov rdx, qword [rsp + 0x438]
cmp rdx, 8
jb 0x140037acf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x420]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037aca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e1d
call fcn.140004144
movdqa xmm0, xmmword [0x1402d3560]
movdqu xmmword [rsp + 0x430], xmm0
mov word [rsp + 0x420], r14w
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 0x140037b12
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x78]
jmp 0x140037983
mov rdx, qword [rsp + 0x288]
cmp rdx, 8
jb 0x140037b64
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037b5f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e23
call fcn.140004144
lea rdi, vtable.srl::GroupID.0
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 7
mov word [rsp + 0x270], r14w
lea rcx, [rsp + 0x170]
call fcn.1400193b0
jmp 0x140037b9e
lea rdi, vtable.srl::GroupID.0
mov r9d, 0x20019
lea r8, str.SOFTWAREMicrosoftWindowsCurrentVersionInternet_SettingsZoneMapDomains_newcorp.com
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x40]
call fcn.140034aa0
mov rbx, qword [rsp + 0x40]
test eax, eax
jne 0x140037d46
mov dword [rsp + 0xac], r14d
mov dword [rsp + 0xa8], 4
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xac]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb0]
xor r8d, r8d
lea rdx, str.http
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140037c23
cmp dword [rsp + 0xb0], 4
je 0x140037cb7
lea rax, vtable.srl::Exists.0
mov qword [rsp + 0x148], rax
mov byte [rsp + 0x150], 0
mov edx, 0x11734
lea rcx, [rsp + 0x2d8]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x148]
mov rdx, rax
call fcn.140050650
nop
mov qword [rsp + 0x2d8], rdi
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 8
jb 0x140037cb2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037cac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e29
call fcn.140004144
nop
jmp 0x140037d46
lea rax, vtable.srl::Exists.0
mov qword [rsp + 0x148], rax
mov byte [rsp + 0x150], 1
mov edx, 0x11734
lea rcx, [rsp + 0x2d8]
call fcn.1400227a0
nop
xor r9d, r9d
lea r8, [rsp + 0x148]
mov rdx, rax
call fcn.140050650
nop
mov qword [rsp + 0x2d8], rdi
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 8
jb 0x140037d46
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037d40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037e2f
call fcn.140004144
nop
test rbx, rbx
je 0x140037d55
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x2b0]
call fcn.140017c90
mov al, 1
mov rcx, qword [rsp + 0xc80]
xor rcx, rsp
call fcn.140220510
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.140002d6c
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
int3
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
mov ecx, 0x80004005
call fcn.140002d6c
nop
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
nop
call fcn.140229804
int3