Function at 0x1400364a0
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 [0x14031b940]
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 [0x1402d4850]
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.1400182b0
nop
call fcn.140020e90
cmp dword [rax + 8], 4
jl 0x140036536
lea rcx, [rsp + 0x2b0]
call fcn.140016100
nop
lea rbx, vtable.srl::Version.0
mov qword [rsp + 0xd8], rbx
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037b56
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
mov r8d, 6
lea rdx, str.6.5.21
lea rcx, [rsp + 0xe0]
call fcn.140002b6c
nop
mov edx, 0x116b7
lea rcx, [rsp + 0x328]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0xd8]
mov rdx, rax
call fcn.1400511e0
nop
lea r15, vtable.srl::GroupID.0
mov qword [rsp + 0x328], r15
mov rdx, qword [rsp + 0x348]
cmp rdx, 7
jbe 0x140036601
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x330]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400365fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037b61
call fcn.140003e94
movdqa xmm0, xmmword [0x1402d4850]
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 0x14003664b
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 0x140036925
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 0x140036717
mov eax, dword [rsp + 0x88]
dec eax
cmp eax, 1
ja 0x140036717
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1400367f9
test al, 1
jne 0x140036717
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036802
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 0x140036c19
mov eax, r14d
test rdi, rdi
je 0x140036763
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 0x140036c19
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 0x1400370a3
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x1400370a3
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140036af5
test al, 1
jne 0x1400370a3
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036afe
jmp 0x1400370a3
mov word [rsp + 0x4b0], r14w
lea r12, vtable.srl::Name.0
mov qword [rsp + 0xe8], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037b67
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 0x140036840
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0xf0]
call fcn.140002b6c
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x358]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0xe8]
mov rdx, rax
call fcn.1400511e0
nop
mov qword [rsp + 0x358], r15
mov rdx, qword [rsp + 0x378]
cmp rdx, 7
jbe 0x1400368d8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400368d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037b72
call fcn.140003e94
movdqa xmm0, xmmword [0x1402d4850]
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 0x14003691b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x14003671e
mov qword [rsp + 0x128], r14
lea rax, [rsp + 0x128]
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 0x140036717
mov rdi, qword [rsp + 0x128]
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 0x140036717
mov eax, dword [rsp + 0x8c]
dec eax
cmp eax, 1
ja 0x140036717
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x1400369eb
test al, 1
jne 0x140036717
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400369f4
jmp 0x140036717
mov word [rsp + 0x4b0], r14w
lea r12, vtable.srl::Name.0
mov qword [rsp + 0x150], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037b78
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140036a31
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x158]
call fcn.140002b6c
nop
mov edx, 0x116d1
lea rcx, [rsp + 0x388]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x150]
mov rdx, rax
call fcn.1400511e0
nop
mov qword [rsp + 0x388], r15
mov rdx, qword [rsp + 0x3a8]
cmp rdx, 7
jbe 0x140036ac9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x390]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036ac4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037b83
call fcn.140003e94
movdqa xmm0, xmmword [0x1402d4850]
movdqu xmmword [rsp + 0x3a0], xmm0
mov word [rsp + 0x390], r14w
lea rcx, [rsp + 0x150]
call fcn.14004c810
jmp 0x14003671e
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0xf8], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037b89
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 0x140036b34
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x100]
call fcn.140002b6c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x3b8]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0xf8]
mov rdx, rax
call fcn.1400511e0
nop
mov qword [rsp + 0x3b8], r15
mov rdx, qword [rsp + 0x3d8]
cmp rdx, 7
jbe 0x140036bcc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036bc7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037b94
call fcn.140003e94
movdqa xmm0, xmmword [0x1402d4850]
movdqu xmmword [rsp + 0x3d0], xmm0
mov word [rsp + 0x3c0], 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 0x140036c0f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x40]
jmp 0x1400370a3
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 0x140036d97
mov eax, r14d
test rdi, rdi
je 0x140036c64
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 0x140036d97
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 0x1400370a3
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x1400370a3
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x140036cf5
test al, 1
jne 0x1400370a3
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036cfe
jmp 0x1400370a3
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x160], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037b9a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140036d34
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x168]
call fcn.140002b6c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x418]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x160]
mov rdx, rax
call fcn.1400511e0
nop
lea rcx, [rsp + 0x418]
call fcn.1400226c0
nop
lea rcx, [rsp + 0x160]
jmp 0x14003709e
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 0x140036f18
mov eax, r14d
test rdi, rdi
je 0x140036de2
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 0x140036f18
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 0x1400370a3
mov eax, dword [rsp + 0x98]
dec eax
cmp eax, 1
ja 0x1400370a3
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140036e76
test al, 1
jne 0x1400370a3
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140036e7f
jmp 0x1400370a3
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x130], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037ba5
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x138], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140036eb5
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x138]
call fcn.140002b6c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x448]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x130]
mov rdx, rax
call fcn.1400511e0
nop
lea rcx, [rsp + 0x448]
call fcn.1400226c0
nop
lea rcx, [rsp + 0x130]
jmp 0x14003709e
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 0x1400370a3
mov eax, r14d
test rdi, rdi
je 0x140036f63
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 0x1400370a3
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 0x1400370a3
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x1400370a3
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x140036ff7
test al, 1
jne 0x1400370a3
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x140037000
jmp 0x1400370a3
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x140], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037bb0
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x4b0]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140037040
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x148]
call fcn.140002b6c
nop
mov edx, 0x116c9
lea rcx, [rsp + 0x478]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x140]
mov rdx, rax
call fcn.1400511e0
nop
lea rcx, [rsp + 0x478]
call fcn.1400226c0
nop
lea rcx, [rsp + 0x140]
call fcn.14004c810
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, [0x1402cd690]
lea rdx, [0x1402cd698]
cmp r13d, 0x64
jae 0x140037957
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], 0
mov dword [rsp + 0x220], r14d
mov qword [rsp + 0x228], r14
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x230], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x240], xmm1
movdqa xmmword [rsp + 0x250], xmm0
mov word [rsp + 0x260], r14w
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.14001a280
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.14001a190
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.140019580
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.1400182b0
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x188]
call fcn.140019f80
or dword [rsp + 0x30], 0x10
lea r9, [rsp + 0x290]
cmp qword [rsp + 0x2a8], 7
cmova 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 0x140037330
lea rax, [r15 + r14]
mov qword [rsp + 0x280], rax
lea rbx, [rsp + 0x270]
cmp rcx, 7
cmova rbx, qword [rsp + 0x270]
lea rcx, [rbx + r15*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.1402544d0
lea rax, [r15 + r14]
xor r14d, r14d
mov word [rbx + rax*2], r14w
jmp 0x140037348
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rsp + 0x270]
call fcn.140021e20
xor r14d, r14d
mov rdx, qword [rsp + 0x2a8]
cmp rdx, 7
jbe 0x140037390
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x290]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003738b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037bbb
call fcn.140003e94
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], 7
cmova 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 0x1400378dc
mov eax, r14d
test rdi, rdi
je 0x140037416
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 0x1400378dc
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 0x140037574
mov eax, dword [rsp + 0xa0]
dec eax
cmp eax, 1
ja 0x140037574
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x1400374a7
test al, 1
jne 0x140037574
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400374b0
jmp 0x140037574
mov word [rsp + 0x4b0], r14w
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037bc1
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 0x1400374f7
movzx edx, ax
lea rcx, [rsp + 0x78]
call fcn.1400108d0
jmp 0x14003751e
mov r8, rsi
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140037500
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x78]
call fcn.140002b6c
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 0x140037556
add rcx, 2
cmp rcx, 0x33
je 0x1400376d2
movzx eax, word [rbx + rcx*2]
cmp ax, word [r15 + rcx*2]
je 0x140037530
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003756f
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, 7
jbe 0x1400375bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400375b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037bdd
call fcn.140003e94
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.14001aee0
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.140223700
nop
inc r13d
jmp 0x1400370a6
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 0x14003773c
mov eax, dword [rsp + 0xa4]
dec eax
cmp eax, 1
ja 0x14003773c
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x1400377ac
test al, 1
jne 0x14003773c
shr rax, 1
cmp word [rsp + rax*2 + 0x4ae], 0
je 0x1400377b5
lea rdi, vtable.srl::GroupID.0
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14003775b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x288]
cmp rdx, 7
jbe 0x14003792b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400377a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037bdd
call fcn.140003e94
jmp 0x14003792b
mov word [rsp + 0x4b0], r14w
mov qword [rsp + 0x108], r12
call fcn.140010070
mov rcx, rax
test rax, rax
je 0x140037bcc
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 + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400377f0
lea rdx, [rsp + 0x4b0]
lea rcx, [rsp + 0x110]
call fcn.140002b6c
nop
mov edx, 0x116ca
lea rcx, [rsp + 0x3e8]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x108]
mov rdx, rax
call fcn.1400511e0
nop
lea rdi, vtable.srl::GroupID.0
mov qword [rsp + 0x3e8], rdi
mov rdx, qword [rsp + 0x408]
cmp rdx, 7
jbe 0x14003788f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3f0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003788a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037bd7
call fcn.140003e94
movdqa xmm0, xmmword [0x1402d4850]
movdqu xmmword [rsp + 0x400], xmm0
mov word [rsp + 0x3f0], 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 0x1400378d2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x78]
jmp 0x140037743
mov rdx, qword [rsp + 0x288]
cmp rdx, 7
jbe 0x140037924
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x270]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003791f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037bdd
call fcn.140003e94
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.140019240
jmp 0x14003795e
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.140034910
mov rbx, qword [rsp + 0x40]
test eax, eax
jne 0x140037b06
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 0x1400379e3
cmp dword [rsp + 0xb0], 4
je 0x140037a77
lea rax, vtable.srl::Exists.0
mov qword [rsp + 0x118], rax
mov byte [rsp + 0x120], 0
mov edx, 0x11734
lea rcx, [rsp + 0x2d8]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x118]
mov rdx, rax
call fcn.1400511e0
nop
mov qword [rsp + 0x2d8], rdi
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 7
jbe 0x140037a72
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037a6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037be3
call fcn.140003e94
nop
jmp 0x140037b06
lea rax, vtable.srl::Exists.0
mov qword [rsp + 0x118], rax
mov byte [rsp + 0x120], 1
mov edx, 0x11734
lea rcx, [rsp + 0x2d8]
call fcn.140022530
nop
xor r9d, r9d
lea r8, [rsp + 0x118]
mov rdx, rax
call fcn.1400511e0
nop
mov qword [rsp + 0x2d8], rdi
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 7
jbe 0x140037b06
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140037b00
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140037be9
call fcn.140003e94
nop
test rbx, rbx
je 0x140037b15
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rcx, [rsp + 0x2b0]
call fcn.140017b00
mov al, 1
mov rcx, qword [rsp + 0xc80]
xor rcx, rsp
call fcn.140220eb0
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.140002e3c
nop
call fcn.14022a650
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.14022a650
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.14022a650
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.14022a650
nop
mov ecx, 0x80004005
call fcn.140002e3c
int3
mov ecx, 0x80004005
call fcn.140002e3c
int3
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.14022a650
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
mov ecx, 0x80004005
call fcn.140002e3c
nop
call fcn.14022a650
nop
call fcn.14022a650
nop
call fcn.14022a650
nop
call fcn.14022a650
int3