Function at 0x1400685c0
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1030
call fcn.14022b5e0
sub rsp, rax
mov qword [rsp + 0x3f0], 0xfffffffffffffffe
mov qword [rsp + 0x1070], rbx
mov qword [rsp + 0x1078], rsi
mov rax, qword [0x14035d8c0]
xor rax, rsp
mov qword [rsp + 0x1020], rax
mov r13, rdx
mov r12, rcx
xor r14d, r14d
mov dword [rsp + 0x34], r14d
lea rcx, [rsp + 0x680]
call fcn.14000a1bc
nop
mov byte [rsp + 0x678], r14b
lea r8d, [r14 + 0x23]
lea rdx, str.srl::SetupLib::GetNetworkDeviceInfo
lea rcx, [rsp + 0x680]
call fcn.140009e14
nop
call fcn.1400227c0
cmp dword [rax + 8], 4
jl 0x140068662
mov byte [rsp + 0x678], 1
lea rcx, [rsp + 0x678]
call fcn.140018900
cmp byte [r12 + 0x28], 0
je 0x140069d8f
mov qword [rsp + 0x80], r14
lea r8, [rsp + 0x80]
lea rdx, [0x1402dad58]
mov rcx, r12
call fcn.14006bcd0
test al, al
je 0x1400697d4
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 edi, 0x20
mov dword [rsp + 0x5b0], edi
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 0x1400697c4
inc ebx
mov dword [rsp + 0x7c], ebx
lea rcx, [rsp + 0x48]
call fcn.140015830
lea rcx, [rsp + 0x50]
call fcn.140015830
lea rcx, [rsp + 0x60]
call fcn.140015830
mov byte [rsp + 0x58], 0
mov word [rsp + 0x68], 0
call fcn.140011f18
mov rcx, rax
mov qword [rsp + 0x140], rax
test rax, rax
je 0x140069dcb
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
cmp rax, rdi
jne 0x140069dd5
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.14006b650
test al, al
je 0x1400687be
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx - 0x10]
mov dword [rsp + 0x128], eax
test eax, eax
jne 0x1400687e3
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006b650
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 0x1400688ba
cmp dword [rbx + 0x10], 0
jl 0x1400688a4
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400688a4
call fcn.140002c94
mov qword [rsp + 0x150], rax
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140068889
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 0x140069ddd
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x2c8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069ddd
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 0x1400688ba
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x130], r8d
lea rcx, [rsp + 0x48]
call fcn.140002a7c
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006b650
test al, al
je 0x1400689c1
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 0x1400689c1
cmp dword [rbx + 0x10], 0
jl 0x1400689ab
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400689ab
call fcn.140002c94
mov qword [rsp + 0x160], rax
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140068990
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 0x140069de6
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x2e0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069de6
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 0x1400689c1
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0x134], r8d
lea rcx, [rsp + 0x50]
call fcn.140002a7c
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, SafeArrayGetDim
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006b650
test al, al
je 0x140068aaa
mov rbx, qword [rsp + 0x38]
movsxd rdi, dword [rbx - 0x10]
mov dword [rsp + 0x138], edi
test edi, edi
js 0x140069def
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 0x140068a40
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.140002a1c
mov rbx, qword [rsp + 0x38]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140237e3c
cmp edi, dword [rbx - 0xc]
jg 0x140069e05
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 0x140068afe
lea rdx, str.pci_bus_0
mov rcx, rbx
call fcn.14022ee58
mov qword [rsp + 0x2f0], rax
test rax, rax
je 0x140068afe
sub rax, rbx
sar rax, 1
mov dword [rsp + 0x1b0], eax
test eax, eax
js 0x140068afe
mov byte [rsp + 0x58], 1
lea rdi, vtable.ATL::CAtlStringMgr.0
lea rcx, [rsp + 0x6a0]
call fcn.14000a1bc
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.14006b650
test al, al
je 0x1400695aa
call fcn.140011f18
mov rcx, rax
mov qword [rsp + 0x168], rax
test rax, rax
je 0x140069dfa
jmp 0x140068b05
mov byte [rsp + 0x58], 0
jmp 0x140068aa3
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
cmp rax, rdi
jne 0x140069e10
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 + 0x30], 0
lea rcx, [rsp + 0x88]
cmp rax, 0x10000
jae 0x140068b73
movzx edx, ax
mov dword [rsp + 0xf0], edx
call fcn.140012700
mov byte [rsp + 0x30], 1
jmp 0x140068b82
mov r8d, 0x27
mov rdx, rax
call fcn.140002a7c
nop
mov rdx, qword [rsp + 0x38]
mov r8d, dword [rdx - 0x10]
mov dword [rsp + 0xf4], r8d
lea rcx, [rsp + 0x88]
call fcn.140006378
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 0x140068c1c
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 0x140068c7f
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x140068c7f
cmp dword [rsp + 0x70], 0
jne 0x140068c7f
mov word [rsp + 0x850], r14w
lea rax, [rsp + 0x850]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140068c90
mov dword [rsp + 0xfc], edi
test edi, edi
jne 0x140068da7
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 0x140068eb9
cmp dword [rcx + 0x10], edi
jge 0x140068cee
cmp dword [rdx - 0xc], edi
jl 0x140069e18
mov dword [rdx - 0x10], r14d
mov rax, qword [rsp + 0x60]
mov word [rax], r14w
jmp 0x140068eb9
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
lea rbx, vtable.ATL::CAtlStringMgr.0
jg 0x140068d59
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 0x140069e22
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 0x140069e22
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 0x140069e2b
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 0x140068eb9
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 0x140069e33
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 0x140068e12
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.140002a1c
mov r10, qword [rsp + 0x60]
movsxd rax, dword [r10 - 0xc]
cmp rsi, r14
ja 0x140068e79
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 0x140068e9b
test rdx, rdx
jne 0x140068e55
call fcn.140231f64
mov dword [rax], 0x16
call fcn.140231e14
jmp 0x140068e96
add rax, rax
cmp rax, r8
jae 0x140068e6f
call fcn.140231f64
mov dword [rax], 0x22
call fcn.140231e14
jmp 0x140068e96
mov rcx, r10
call fcn.14022f3d0
jmp 0x140068e96
mov dword [rsp + 0x12c], eax
mov rdx, rax
mov r9d, edi
lea r8, [rsp + 0x850]
mov rcx, r10
call fcn.140002c18
mov r10, qword [rsp + 0x60]
cmp edi, dword [r10 - 0xc]
jg 0x140069e4f
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 0x140068f1c
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x140068f1c
cmp dword [rsp + 0x74], 0
jne 0x140068f1c
mov word [rsp + 0x850], r14w
lea rdx, [rsp + 0x850]
lea rcx, [rsp + 0x658]
call fcn.140009bd0
nop
lea rdx, str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
lea rcx, [rsp + 0x570]
call fcn.140009bd0
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 0x140068fe3
lea rax, [r14 + rsi]
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.14022f3d0
lea rax, [r14 + rsi]
xor r14d, r14d
mov word [rdi + rax*2], r14w
jmp 0x140068ffb
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x570]
call fcn.140023610
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 0x140069065
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.14022f3d0
mov word [rdi + rsi*2], r14w
jmp 0x140069087
mov qword [rsp + 0x20], VariantTimeToDosDateTime
lea r9, str.Connection
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x570]
call fcn.140023610
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 0x14006911f
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, [0x1402f21a8]
mov qword [rsp + 0x1c0], rax
lea rax, [0x1402f21a0]
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 + 0x34], 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.14001c830
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.14001c720
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.14001bc90
mov eax, dword [rsp + 0x40]
cmp eax, 2
jne 0x14006930c
mov byte [rsp + 0x69], 1
mov byte [rsp + 0x68], 0
jmp 0x14006931a
cmp eax, 1
jne 0x14006931a
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 0x14006937d
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x14006937d
cmp dword [rsp + 0x78], 0
jne 0x14006937d
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.14001d3e0
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.14022d3c4
nop
test rdi, rdi
je 0x1400694e8
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.140009bb8
nop
lea rcx, [rsp + 0x658]
call fcn.140009bb8
nop
test r15, r15
je 0x140069522
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 0x1400695a3
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 0x140069e46
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 0x140069e3e
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400695aa
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 0x1400695e2
mov qword [rsp + 0x3a8], rcx
lea rdx, [rsp + 0x48]
call fcn.14006eed0
add qword [rbx], 0x28
jmp 0x1400695f3
lea r8, [rsp + 0x48]
mov rdx, rcx
mov rcx, r13
call fcn.14006e960
nop
lea rcx, [rsp + 0x6a0]
call fcn.140009bb8
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 0x140069670
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 0x140069e5a
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3b8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069e5a
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 0x1400696de
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 0x140069e63
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3c8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069e63
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 0x14006974c
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 0x140069e6c
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3d8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069e6c
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 0x1400697bb
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 0x140069e75
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3e8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x140069e75
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 0x1400686e0
mov rcx, rsi
call qword [r12 + 0x88]
jmp 0x140069d8f
call fcn.1400227c0
cmp dword [rax + 8], 2
jl 0x140069d8f
call fcn.1400227c0
mov r14, rax
lea rcx, [rsp + 0x470]
call fcn.14001bb00
nop
lea rcx, [rsp + 0x638]
call fcn.14000a1bc
nop
mov r8d, 4
lea rdx, str.WARN
lea rcx, [rsp + 0x638]
call fcn.140009e14
lea rcx, [rsp + 0x5d0]
call fcn.14000a1bc
nop
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0xa0], r15d
nop dword [rax]
cmp esi, dword [r14 + 0x10]
jge 0x1400698dd
cmp esi, 0xa
jge 0x1400698dd
mov rcx, qword [rsp + 0x5e0]
mov rdx, qword [rsp + 0x5e8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x1400698ad
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, [0x1402f2578]
call fcn.14022f3d0
mov word [rbx + rdi*2], r15w
jmp 0x1400698cf
mov qword [rsp + 0x20], 2
lea r9, [0x1402f2578]
mov edx, 2
lea rcx, [rsp + 0x5d0]
call fcn.140023610
inc esi
mov dword [rsp + 0xa0], esi
jmp 0x140069840
lea rcx, [rsp + 0x618]
call fcn.14000a1bc
nop
lea rcx, [rsp + 0x5f8]
call fcn.14000a1bc
nop
lea r8, [rsp + 0x5f8]
lea rdx, [rsp + 0x618]
mov rcx, r14
call fcn.1400228f0
lea r14, [rsp + 0x5d0]
cmp qword [rsp + 0x5e8], 8
cmovae r14, qword [rsp + 0x5d0]
mov edx, 0x2040
lea rcx, [rsp + 0x438]
call fcn.14022d4c4
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.140019270
mov rbx, rax
mov esi, reloc.OLEAUT32.dll_SafeArrayGetDim
mov edx, esi
lea rcx, [rsp + 0x448]
call fcn.14022d4c4
mov rdi, rax
lea rdx, [0x1402f20d0]
mov rcx, rbx
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rdi + 8]
call qword [rdi]
lea edx, [rsi - 0xa]
lea rcx, [rsp + 0x458]
call fcn.14022d4ec
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, [rsi - 0xd]
lea rcx, [rsp + 0x408]
call fcn.14022d4d8
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.140019270
mov rbx, rax
lea edx, [rsi - 0xb]
lea rcx, [rsp + 0x418]
call fcn.14022d4ec
mov rdi, rax
lea rdx, [0x1402f20d0]
mov rcx, rbx
call fcn.140018e90
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 edi, 0x20
mov word [rdx + rbx + 0x58], di
lea edx, [rsi + 0x30]
lea rcx, [rsp + 0x428]
call fcn.14022d4c4
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.140019270
lea rdx, [0x1402f25c8]
mov rcx, rax
call fcn.140018e90
mov rcx, rax
mov rdx, r14
call fcn.140018e90
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14036cfc0], eax
jle 0x140069b44
lea rcx, [0x14036cfc0]
call fcn.14022b1d8
cmp dword [0x14036cfc0], 0xffffffff
jne 0x140069b44
lea rbx, [0x14036cfc8]
mov rcx, rbx
call fcn.14000a1bc
lea rcx, [0x14027e0e0]
call fcn.14022ace0
lea rcx, [0x14036cfc0]
call fcn.14022b178
jmp 0x140069b4b
lea rbx, [0x14036cfc8]
lea rcx, [rsp + 0x590]
call fcn.140009da0
mov qword [rsp + 0x5a0], r15
mov qword [rsp + 0x5a8], 7
mov word [rsp + 0x590], r15w
mov dword [rsp + 0x34], edi
mov rdx, qword [rsp + 0x4f8]
test dl, 2
jne 0x140069bdd
mov rax, qword [rsp + 0x4c8]
mov rcx, qword [rax]
test rcx, rcx
je 0x140069bdd
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.140009e14
jmp 0x140069c21
test dl, 4
jne 0x140069c21
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax]
test rcx, rcx
je 0x140069c21
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.140009e14
and edi, 0xffffffdf
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x34], esi
mov rdx, qword [0x14036cfe0]
cmp rdx, 8
jb 0x140069c82
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x5f0], rdx
mov rcx, qword [0x14036cfc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140069c7d
add rdx, 0x27
mov qword [rsp + 0x5f0], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140069e7e
call fcn.1400045a8
mov qword [0x14036cfd8], r15
mov qword [0x14036cfe0], 7
mov word [0x14036cfc8], r15w
movups xmm0, xmmword [rsp + 0x590]
movups xmmword [0x14036cfc8], xmm0
movups xmm1, xmmword [rsp + 0x5a0]
movups xmmword [0x14036cfd8], xmm1
mov qword [rsp + 0x5a0], r15
mov qword [rsp + 0x5a8], 7
mov word [rsp + 0x590], r15w
and esi, 0xffffffef
mov dword [rsp + 0x34], esi
lea rcx, [rsp + 0x590]
call fcn.140009bb8
nop
lea rcx, [rsp + 0x5f8]
call fcn.140009bb8
nop
lea rcx, [rsp + 0x618]
call fcn.140009bb8
nop
lea rcx, [rsp + 0x5d0]
call fcn.140009bb8
nop
lea rcx, [rsp + 0x638]
call fcn.140009bb8
nop
lea rcx, [rsp + 0x470]
call fcn.14001b7c0
call fcn.1400227c0
cmp qword [0x14036cfe0], 8
cmovae rbx, qword [0x14036cfc8]
mov r8, qword [0x14036cfd8]
mov rdx, rbx
mov rcx, rax
call fcn.140019270
lea rdx, str.Failed_call_to_GetDeviceSet_for_GetSoundInfo
mov rcx, rax
call fcn.140018e90
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140019760
movzx edx, ax
mov rcx, rbx
call fcn.1400195a0
mov rcx, rbx
call fcn.14001a220
nop
lea rcx, [rsp + 0x678]
call fcn.14001a370
xor al, al
mov rcx, qword [rsp + 0x1020]
xor rcx, rsp
call fcn.14022aa20
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.140002d3c
call rdx
nop
jmp 0x140068773
call r8
nop
jmp 0x140068889
call r8
nop
jmp 0x140068990
mov ecx, 0x80070057
call fcn.140002d3c
nop
mov ecx, 0x80004005
call fcn.140002d3c
nop
mov ecx, 0x80070057
call fcn.140002d3c
nop
call rdx
nop
jmp 0x140068b25
mov ecx, 0x80070057
call fcn.140002d3c
call r8
nop
jmp 0x140068d59
call rdx
nop
jmp 0x140068d81
mov ecx, 0x80070057
call fcn.140002d3c
nop
call r8
jmp 0x1400695aa
call r8
nop
jmp 0x1400695a3
mov ecx, 0x80070057
call fcn.140002d3c
nop
call r8
nop
jmp 0x140069670
call r8
nop
jmp 0x1400696de
call r8
nop
jmp 0x14006974c
call r8
nop
jmp 0x1400697bb
call fcn.140231e34
int3