Function at 0x1400677f0
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1030
call fcn.14022a310
sub rsp, rax
mov qword [rsp + 0x3f0], 0xfffffffffffffffe
mov qword [rsp + 0x1070], rbx
mov qword [rsp + 0x1078], rsi
mov rax, qword [0x14035b8c0]
xor rax, rsp
mov qword [rsp + 0x1020], rax
mov r13, rdx
mov r12, rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea rcx, [rsp + 0x680]
call fcn.140009d24
nop
mov byte [rsp + 0x678], r14b
lea r8d, [r14 + 0x23]
lea rdx, str.srl::SetupLib::GetNetworkDeviceInfo
lea rcx, [rsp + 0x680]
call fcn.14000997c
nop
call fcn.140022280
cmp dword [rax + 8], 4
jl 0x140067892
mov byte [rsp + 0x678], 1
lea rcx, [rsp + 0x678]
call fcn.1400183a0
cmp byte [r12 + 0x28], 0
je 0x140068fbf
mov qword [rsp + 0x80], r14
lea r8, [rsp + 0x80]
lea rdx, [0x1402d8d28]
mov rcx, r12
call fcn.14006aee0
test al, al
je 0x140068a04
mov ebx, r14d
mov dword [rsp + 0x7c], ebx
xor eax, eax
mov qword [rsp + 0x5b0], rax
mov qword [rsp + 0x5b8], rax
mov qword [rsp + 0x5c0], rax
mov qword [rsp + 0x5c8], rax
mov eax, 0x20
mov dword [rsp + 0x5b0], eax
lea rdi, vtable.ATL::CAtlStringMgr.0
lea r15, vtable.ATL::CWin32Heap.0
nop dword [rax + rax]
lea r8, [rsp + 0x5b0]
mov edx, ebx
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
call qword [r12 + 0x40]
test eax, eax
je 0x1400689f4
inc ebx
mov dword [rsp + 0x7c], ebx
lea rcx, [rsp + 0x48]
call fcn.1400152d0
lea rcx, [rsp + 0x50]
call fcn.1400152d0
lea rcx, [rsp + 0x60]
call fcn.1400152d0
mov byte [rsp + 0x58], 0
mov word [rsp + 0x68], 0
call fcn.140011978
mov rcx, rax
mov qword [rsp + 0x140], rax
test rax, rax
je 0x140068ffb
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
cmp rax, rdi
jne 0x140069005
lock inc dword [rcx + 0x20]
mov rax, qword [rsp + 0x140]
add rax, 0x10
mov rsi, qword [rsp + 0x80]
mov qword [rsp + 0x3f8], rax
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006a860
test al, al
je 0x1400679ee
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx - 0x10]
mov dword [rsp + 0x128], eax
test eax, eax
jne 0x140067a13
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006a860
mov rdx, qword [rsp + 0x38]
lea rcx, [rdx - 0x18]
mov qword [rsp + 0x400], rcx
mov rbx, qword [rsp + 0x48]
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x148], rbx
cmp rcx, rbx
je 0x140067aea
cmp dword [rbx + 0x10], 0
jl 0x140067ad4
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140067ad4
call fcn.140002c14
mov qword [rsp + 0x150], rax
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140067ab9
mov rdx, qword [rsp + 0x148]
mov rcx, qword [rdx]
mov qword [rsp + 0x2c0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x14006900d
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x2c8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006900d
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x150]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rsi, qword [rsp + 0x80]
jmp 0x140067aea
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x130], r8d
lea rcx, [rsp + 0x48]
call fcn.1400029fc
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006a860
test al, al
je 0x140067bf1
mov rdx, qword [rsp + 0x38]
lea rcx, [rdx - 0x18]
mov qword [rsp + 0x2d0], rcx
mov rbx, qword [rsp + 0x50]
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x158], rbx
cmp rcx, rbx
je 0x140067bf1
cmp dword [rbx + 0x10], 0
jl 0x140067bdb
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140067bdb
call fcn.140002c14
mov qword [rsp + 0x160], rax
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140067bc0
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rdx]
mov qword [rsp + 0x2d8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x140069016
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x2e0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069016
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x160]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rsi, qword [rsp + 0x80]
jmp 0x140067bf1
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x134], r8d
lea rcx, [rsp + 0x50]
call fcn.1400029fc
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, SafeArrayGetDim
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006a860
test al, al
je 0x140067cda
mov rbx, qword [rsp + 0x38]
movsxd rdi, dword [rbx - 0x10]
mov dword [rsp + 0x138], edi
test edi, edi
js 0x14006901f
lea rax, [rbx - 0x18]
mov qword [rsp + 0x2e8], rax
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov dword [rsp + 0x13c], ecx
mov eax, dword [rax + 0xc]
sub eax, edi
mov dword [rsp + 0x1a8], eax
or eax, ecx
jge 0x140067c70
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.14000299c
mov rbx, qword [rsp + 0x38]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140236b6c
cmp edi, dword [rbx - 0xc]
jg 0x140069035
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r14w
mov eax, dword [rbx - 0x10]
mov dword [rsp + 0x1ac], eax
test eax, eax
js 0x140067d2e
lea rdx, str.pci_bus_0
mov rcx, rbx
call fcn.14022dc40
mov qword [rsp + 0x2f0], rax
test rax, rax
je 0x140067d2e
sub rax, rbx
sar rax, 1
mov dword [rsp + 0x1b0], eax
test eax, eax
js 0x140067d2e
mov byte [rsp + 0x58], 1
lea rdi, vtable.ATL::CAtlStringMgr.0
lea rcx, [rsp + 0x6a0]
call fcn.140009d24
nop
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 9
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006a860
test al, al
je 0x1400687da
call fcn.140011978
mov rcx, rax
mov qword [rsp + 0x168], rax
test rax, rax
je 0x14006902a
jmp 0x140067d35
mov byte [rsp + 0x58], 0
jmp 0x140067cd3
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
cmp rax, rdi
jne 0x140069040
lock inc dword [rcx + 0x20]
mov rax, qword [rsp + 0x168]
add rax, 0x10
mov qword [rsp + 0x2f8], rax
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rax, str.SYSTEMCurrentControlSetControlClass_
mov qword [rsp + 0x300], rax
mov byte [rsp + 0x34], 0
lea rcx, [rsp + 0x88]
cmp rax, 0x10000
jae 0x140067da3
movzx edx, ax
mov dword [rsp + 0xf0], edx
call fcn.140012160
mov byte [rsp + 0x34], 1
jmp 0x140067db2
mov r8d, 0x27
mov rdx, rax
call fcn.1400029fc
nop
mov rdx, qword [rsp + 0x38]
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0xf4], r8d
lea rcx, [rsp + 0x88]
call fcn.140005a9c
mov r15, r14
mov qword [rsp + 0xc0], r14
mov dword [rsp + 0xc8], r14d
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xa8], r14
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rbx, qword [rsp + 0x88]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x110], eax
test eax, eax
jne 0x140067e4c
mov dword [rsp + 0xc8], r14d
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0xc8], r14d
mov dword [rsp + 0x70], 0x7d0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x850]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
xor r8d, r8d
lea rdx, str.DriverVersion
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0xf8], eax
test eax, eax
jne 0x140067eaf
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x140067eaf
cmp dword [rsp + 0x70], 0
jne 0x140067eaf
mov word [rsp + 0x850], r14w
lea rax, [rsp + 0x850]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140067ec0
mov dword [rsp + 0xfc], edi
test edi, edi
jne 0x140067fd7
mov rdx, qword [rsp + 0x60]
lea rcx, [rdx - 0x18]
mov qword [rsp + 0x170], rcx
mov rax, qword [rcx]
mov qword [rsp + 0xb0], rax
cmp dword [rcx + 8], edi
je 0x1400680e9
cmp dword [rcx + 0x10], edi
jge 0x140067f1e
cmp dword [rdx - 0xc], edi
jl 0x140069048
mov dword [rdx - 0x10], r14d
mov rax, qword [rsp + 0x60]
mov word [rax], r14w
jmp 0x1400680e9
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
lea rbx, vtable.ATL::CAtlStringMgr.0
jg 0x140067f89
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rdx]
mov qword [rsp + 0x308], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rbx
jne 0x140069052
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x310], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea r9, vtable.ATL::CWin32Heap.0
cmp rax, r9
jne 0x140069052
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x18]
cmp rax, rbx
jne 0x14006905b
lock inc dword [rcx + 0x20]
mov rax, qword [rsp + 0xb0]
add rax, 0x10
mov qword [rsp + 0x318], rax
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0xc0]
jmp 0x1400680e9
mov r10, qword [rsp + 0x60]
mov r14d, dword [r10 - 0x10]
mov dword [rsp + 0x100], r14d
lea rsi, [rsp + 0x850]
sub rsi, r10
sar rsi, 1
mov qword [rsp + 0x320], rsi
test edi, edi
js 0x140069063
lea rax, [r10 - 0x18]
mov qword [rsp + 0x328], rax
mov ecx, 1
sub ecx, dword [rax + 0x10]
mov dword [rsp + 0x104], ecx
mov eax, dword [rax + 0xc]
sub eax, edi
mov dword [rsp + 0x108], eax
or eax, ecx
jge 0x140068042
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.14000299c
mov r10, qword [rsp + 0x60]
movsxd rax, dword [r10 - 0xc]
cmp rsi, r14
ja 0x1400680a9
mov dword [rsp + 0x10c], eax
lea rdx, [r10 + rsi*2]
mov qword [rsp + 0x330], rdx
movsxd r8, edi
add r8, r8
mov qword [rsp + 0x338], r8
je 0x1400680cb
test rdx, rdx
jne 0x140068085
call fcn.140230c94
mov dword [rax], 0x16
call fcn.140230b44
jmp 0x1400680c6
add rax, rax
cmp rax, r8
jae 0x14006809f
call fcn.140230c94
mov dword [rax], 0x22
call fcn.140230b44
jmp 0x1400680c6
mov rcx, r10
call fcn.14022e100
jmp 0x1400680c6
mov dword [rsp + 0x12c], eax
mov rdx, rax
mov r9d, edi
lea r8, [rsp + 0x850]
mov rcx, r10
call fcn.140002b98
mov r10, qword [rsp + 0x60]
cmp edi, dword [r10 - 0xc]
jg 0x14006907f
mov dword [r10 - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x60]
xor r14d, r14d
mov word [rax + rcx*2], r14w
mov dword [rsp + 0x74], 0x7d0
lea rax, [rsp + 0x74]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x850]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x94]
xor r8d, r8d
lea rdx, str.NetCFGInstanceID
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x114], eax
test eax, eax
jne 0x14006814c
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x14006814c
cmp dword [rsp + 0x74], 0
jne 0x14006814c
mov word [rsp + 0x850], r14w
lea rdx, [rsp + 0x850]
lea rcx, [rsp + 0x658]
call fcn.140009580
nop
lea rdx, str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
lea rcx, [rsp + 0x570]
call fcn.140009580
nop
lea r9, [rsp + 0x658]
cmp qword [rsp + 0x670], 8
cmovae r9, qword [rsp + 0x658]
mov qword [rsp + 0x340], r9
mov rsi, qword [rsp + 0x668]
mov qword [rsp + 0x348], rsi
mov r14, qword [rsp + 0x580]
mov qword [rsp + 0x350], r14
mov rcx, qword [rsp + 0x588]
mov rax, rcx
sub rax, r14
cmp rsi, rax
ja 0x140068213
lea rax, [rsi + r14]
mov qword [rsp + 0x580], rax
lea rdi, [rsp + 0x570]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x570]
mov qword [rsp + 0x358], rdi
lea r8, [rsi + rsi]
lea rcx, [rdi + r14*2]
mov rdx, r9
call fcn.14022e100
lea rax, [r14 + rsi]
xor r14d, r14d
mov word [rdi + rax*2], r14w
jmp 0x14006822b
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x570]
call fcn.1400230d0
xor r14d, r14d
mov rcx, qword [rsp + 0x580]
mov qword [rsp + 0x360], rcx
mov rdx, qword [rsp + 0x588]
mov rax, rdx
sub rax, rcx
cmp rax, 0xb
jb 0x140068295
lea rsi, [rcx + 0xb]
mov qword [rsp + 0x580], rsi
lea rdi, [rsp + 0x570]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x570]
mov qword [rsp + 0x368], rdi
lea rcx, [rdi + rcx*2]
mov r8d, 0x16
lea rdx, str.Connection
call fcn.14022e100
mov word [rdi + rsi*2], r14w
jmp 0x1400682b7
mov qword [rsp + 0x20], SafeArrayGetDim
lea r9, str.Connection
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x570]
call fcn.1400230d0
mov dword [rsp + 0x40], r14d
mov rdi, r14
mov qword [rsp + 0xd8], r14
mov dword [rsp + 0xe0], r14d
mov qword [rsp + 0xe8], r14
lea rdx, [rsp + 0x570]
cmp qword [rsp + 0x588], 8
cmovae rdx, qword [rsp + 0x570]
mov qword [rsp + 0x370], rdx
mov qword [rsp + 0xb8], r14
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [rsp + 0x118], eax
test eax, eax
jne 0x14006834f
mov dword [rsp + 0xe0], r14d
mov rdi, qword [rsp + 0xb8]
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xe0], r14d
mov dword [rsp + 0x98], 4
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x11c]
xor r8d, r8d
lea rdx, str.MediaSubType
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [0x1402efdd8]
mov qword [rsp + 0x1c0], rax
lea rax, [0x1402efdd0]
mov qword [rsp + 0x1d0], rax
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x258], rax
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x258], rax
or dword [rsp + 0x30], 1
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x1bc], edx
mov qword [rsp + 0x1c8], r14
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x1c0]
add rcx, rax
lea rdx, [rsp + 0x1d8]
call fcn.14001c250
nop
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x378], rax
mov rax, qword [rsp + 0x1d0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x1cc], edx
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0x1bc], edx
mov rax, qword [rsp + 0x1c0]
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 + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x1bc], edx
lea rax, [rsp + 0x1d8]
mov qword [rsp + 0x380], rax
lea rcx, [rsp + 0x1d8]
call fcn.14001c140
nop
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x240], r14
mov dword [rsp + 0x120], r14d
mov dword [rsp + 0x248], r14d
mov edx, dword [rsp + 0x40]
lea rcx, [rsp + 0x1d0]
call fcn.14001b6b0
mov eax, dword [rsp + 0x40]
cmp eax, 2
jne 0x14006853c
mov byte [rsp + 0x69], 1
mov byte [rsp + 0x68], 0
jmp 0x14006854a
cmp eax, 1
jne 0x14006854a
mov byte [rsp + 0x69], 0
mov byte [rsp + 0x68], al
mov dword [rsp + 0x78], 0x190
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x6c0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x9c]
xor r8d, r8d
lea rdx, str.Name
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [rsp + 0x124], eax
test eax, eax
jne 0x1400685ad
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x1400685ad
cmp dword [rsp + 0x78], 0
jne 0x1400685ad
mov word [rsp + 0x6c0], r14w
mov word [rsp + 0x6d0], r14w
lea rdx, str.Wi_Fi
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
movzx ecx, byte [rsp + 0x69]
test eax, eax
mov esi, 1
cmove ecx, esi
mov byte [rsp + 0x69], cl
lea rdx, str.Ethernet
lea rcx, [rsp + 0x6c0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
movzx ecx, byte [rsp + 0x68]
test eax, eax
cmove ecx, esi
mov byte [rsp + 0x68], cl
mov rax, qword [rsp + 0x1c0]
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 + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0x1bc], edx
lea rcx, [rsp + 0x1d8]
call fcn.14001ce00
nop
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x20]
mov dword [rsp + rcx + 0x1bc], eax
mov rax, qword [rsp + 0x1d0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x10]
mov dword [rsp + rcx + 0x1cc], eax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsxd rcx, dword [rax + 4]
lea eax, [rcx - 0x18]
mov dword [rsp + rcx + 0x1bc], eax
lea rax, vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x258], rax
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x258], rax
lea rcx, [rsp + 0x258]
call fcn.14022c0f4
nop
test rdi, rdi
je 0x140068718
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0xd8], r14
mov dword [rsp + 0xe0], r14d
lea rcx, [rsp + 0x570]
call fcn.140009568
nop
lea rcx, [rsp + 0x658]
call fcn.140009568
nop
test r15, r15
je 0x140068752
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0xc0], r14
mov dword [rsp + 0xc8], r14d
add rbx, 0xffffffffffffffe8
mov qword [rsp + 0x178], rbx
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
lea rdi, vtable.ATL::CAtlStringMgr.0
jg 0x1400687d3
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rdx]
mov qword [rsp + 0x388], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x140069076
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x390], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
lea r15, vtable.ATL::CWin32Heap.0
cmp rax, r15
jne 0x14006906e
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400687da
lea r15, vtable.ATL::CWin32Heap.0
lea rax, [r13 + 0x10]
mov qword [rsp + 0x398], rax
lea rbx, [r13 + 8]
mov qword [rsp + 0x3a0], rbx
mov rcx, qword [rbx]
cmp qword [rax], rcx
je 0x140068812
mov qword [rsp + 0x3a8], rcx
lea rdx, [rsp + 0x48]
call fcn.14006e0e0
add qword [rbx], 0x28
jmp 0x140068823
lea r8, [rsp + 0x48]
mov rdx, rcx
mov rcx, r13
call fcn.14006db70
nop
lea rcx, [rsp + 0x6a0]
call fcn.140009568
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x180], rcx
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400688a0
mov rdx, qword [rsp + 0x180]
mov rcx, qword [rdx]
mov qword [rsp + 0x3b0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x14006908a
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3b8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006908a
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x188], rcx
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x14006890e
mov rdx, qword [rsp + 0x188]
mov rcx, qword [rdx]
mov qword [rsp + 0x3c0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x140069093
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3c8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069093
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x190], rcx
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x14006897c
mov rdx, qword [rsp + 0x190]
mov rcx, qword [rdx]
mov qword [rsp + 0x3d0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x14006909c
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3d8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006909c
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x48]
add rcx, 0xffffffffffffffe8
mov qword [rsp + 0x198], rcx
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
jg 0x1400689eb
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rdx]
mov qword [rsp + 0x3e0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, rdi
jne 0x1400690a5
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3e8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x1400690a5
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov ebx, dword [rsp + 0x7c]
jmp 0x140067910
mov rcx, rsi
call qword [r12 + 0x88]
jmp 0x140068fbf
call fcn.140022280
cmp dword [rax + 8], 2
jl 0x140068fbf
call fcn.140022280
mov r14, rax
lea rcx, [rsp + 0x470]
call fcn.14001b520
nop
lea rcx, [rsp + 0x638]
call fcn.140009d24
nop
mov r8d, 4
lea rdx, str.WARN
lea rcx, [rsp + 0x638]
call fcn.14000997c
lea rcx, [rsp + 0x5d0]
call fcn.140009d24
nop
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0xa0], r15d
nop dword [rax]
cmp esi, dword [r14 + 0x10]
jge 0x140068b0d
cmp esi, 0xa
jge 0x140068b0d
mov rcx, qword [rsp + 0x5e0]
mov rdx, qword [rsp + 0x5e8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140068add
lea rdi, [rcx + 2]
mov qword [rsp + 0x5e0], rdi
lea rbx, [rsp + 0x5d0]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x5d0]
lea rcx, [rbx + rcx*2]
mov r8d, 4
lea rdx, [0x1402f0290]
call fcn.14022e100
mov word [rbx + rdi*2], r15w
jmp 0x140068aff
mov qword [rsp + 0x20], 2
lea r9, [0x1402f0290]
mov edx, 2
lea rcx, [rsp + 0x5d0]
call fcn.1400230d0
inc esi
mov dword [rsp + 0xa0], esi
jmp 0x140068a70
lea rcx, [rsp + 0x618]
call fcn.140009d24
nop
lea rcx, [rsp + 0x5f8]
call fcn.140009d24
nop
lea r8, [rsp + 0x5f8]
lea rdx, [rsp + 0x618]
mov rcx, r14
call fcn.1400223b0
lea rsi, [rsp + 0x5d0]
cmp qword [rsp + 0x5e8], 8
cmovae rsi, qword [rsp + 0x5d0]
mov edx, 0x2040
lea rcx, [rsp + 0x438]
call fcn.14022c1f4
mov rcx, qword [rsp + 0x480]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x480]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x618]
cmp qword [rsp + 0x630], 8
cmovae rdx, qword [rsp + 0x618]
mov r8, qword [rsp + 0x628]
lea rcx, [rsp + 0x480]
call fcn.140018d10
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x448]
call fcn.14022c1f4
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
mov edx, 6
lea rcx, [rsp + 0x458]
call fcn.14022c21c
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x30
mov word [rcx + rbx + 0x58], ax
lea edx, [rax - 0x2d]
lea rcx, [rsp + 0x408]
call fcn.14022c208
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x5f8]
cmp qword [rsp + 0x610], 8
cmovae rdx, qword [rsp + 0x5f8]
mov r8, qword [rsp + 0x608]
mov rcx, rbx
call fcn.140018d10
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x418]
call fcn.14022c21c
mov rdi, rax
lea rdx, [0x1402eff50]
mov rcx, rbx
call fcn.140018930
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rdi + 8]
call qword [rdi]
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov eax, 0x20
mov word [rdx + rbx + 0x58], ax
lea edx, [rax + 0x20]
lea rcx, [rsp + 0x428]
call fcn.14022c1f4
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x638]
cmp qword [rsp + 0x650], 8
cmovae rdx, qword [rsp + 0x638]
mov r8, qword [rsp + 0x648]
mov rcx, rbx
call fcn.140018d10
lea rdx, [0x1402f02e0]
mov rcx, rax
call fcn.140018930
mov rcx, rax
mov rdx, rsi
call fcn.140018930
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036af98], eax
jle 0x140068d76
lea rcx, [0x14036af98]
call fcn.140229c6c
cmp dword [0x14036af98], 0xffffffff
jne 0x140068d76
lea rbx, [0x14036afa0]
mov rcx, rbx
call fcn.140009d24
lea rcx, [0x14027cd90]
call fcn.140229a10
lea rcx, [0x14036af98]
call fcn.140229c0c
jmp 0x140068d7d
lea rbx, [0x14036afa0]
lea rcx, [rsp + 0x590]
call fcn.140006790
mov qword [rsp + 0x5a0], r15
mov qword [rsp + 0x5a8], 7
mov word [rsp + 0x590], r15w
or dword [rsp + 0x30], 0x20
mov rdx, qword [rsp + 0x4f8]
test dl, 2
jne 0x140068e10
mov rax, qword [rsp + 0x4c8]
mov rcx, qword [rax]
test rcx, rcx
je 0x140068e10
mov rax, qword [rsp + 0x4a8]
mov rdx, qword [rax]
mov qword [rsp + 0x1a0], rcx
lea r8, [rsp + 0x4f0]
lea rax, [rsp + 0x1a0]
cmp rcx, qword [rsp + 0x4f0]
cmovae r8, rax
mov r8, qword [r8]
sub r8, rdx
sar r8, 1
lea rcx, [rsp + 0x590]
call fcn.14000997c
jmp 0x140068e54
test dl, 4
jne 0x140068e54
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax]
test rcx, rcx
je 0x140068e54
mov rax, qword [rsp + 0x4a0]
mov rdx, qword [rax]
mov rax, qword [rsp + 0x4d8]
movsxd r8, dword [rax]
add r8, r8
sub r8, rdx
add r8, rcx
sar r8, 1
lea rcx, [rsp + 0x590]
call fcn.14000997c
and dword [rsp + 0x30], 0xffffffdf
or dword [rsp + 0x30], 0x10
mov rdx, qword [0x14036afb8]
cmp rdx, 8
jb 0x140068eb4
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x5f0], rdx
mov rcx, qword [0x14036afa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140068eaf
add rdx, 0x27
mov qword [rsp + 0x5f0], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400690ae
call fcn.140004154
mov qword [0x14036afb0], r15
mov qword [0x14036afb8], 7
mov word [0x14036afa0], r15w
movups xmm0, xmmword [rsp + 0x590]
movups xmmword [0x14036afa0], xmm0
movups xmm1, xmmword [rsp + 0x5a0]
movups xmmword [0x14036afb0], xmm1
mov qword [rsp + 0x5a0], r15
mov qword [rsp + 0x5a8], 7
mov word [rsp + 0x590], r15w
and dword [rsp + 0x30], 0xffffffef
lea rcx, [rsp + 0x590]
call fcn.140009568
nop
lea rcx, [rsp + 0x5f8]
call fcn.140009568
nop
lea rcx, [rsp + 0x618]
call fcn.140009568
nop
lea rcx, [rsp + 0x5d0]
call fcn.140009568
nop
lea rcx, [rsp + 0x638]
call fcn.140009568
nop
lea rcx, [rsp + 0x470]
call fcn.14001b1e0
call fcn.140022280
cmp qword [0x14036afb8], 8
cmovae rbx, qword [0x14036afa0]
mov r8, qword [0x14036afb0]
mov rdx, rbx
mov rcx, rax
call fcn.140018d10
lea rdx, str.Failed_call_to_GetDeviceSet_for_GetSoundInfo
mov rcx, rax
call fcn.140018930
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019200
movzx edx, ax
mov rcx, rbx
call fcn.140019040
mov rcx, rbx
call fcn.140019c40
nop
lea rcx, [rsp + 0x678]
call fcn.140019d90
xor al, al
mov rcx, qword [rsp + 0x1020]
xor rcx, rsp
call fcn.140229750
lea r11, [rsp + 0x1030]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140002cbc
call rdx
nop
jmp 0x1400679a3
call r8
nop
jmp 0x140067ab9
call r8
nop
jmp 0x140067bc0
mov ecx, 0x80070057
call fcn.140002cbc
nop
mov ecx, 0x80004005
call fcn.140002cbc
nop
mov ecx, 0x80070057
call fcn.140002cbc
nop
call rdx
nop
jmp 0x140067d55
mov ecx, 0x80070057
call fcn.140002cbc
call r8
nop
jmp 0x140067f89
call rdx
nop
jmp 0x140067fb1
mov ecx, 0x80070057
call fcn.140002cbc
nop
call r8
jmp 0x1400687da
call r8
nop
jmp 0x1400687d3
mov ecx, 0x80070057
call fcn.140002cbc
nop
call r8
nop
jmp 0x1400688a0
call r8
nop
jmp 0x14006890e
call r8
nop
jmp 0x14006897c
call r8
nop
jmp 0x1400689eb
call fcn.140230b64
int3