Function at 0x140068d20
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1030
call fcn.14022bce0
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.140022850
cmp dword [rax + 8], 4
jl 0x140068dc2
mov byte [rsp + 0x678], 1
lea rcx, [rsp + 0x678]
call fcn.140018900
cmp byte [r12 + 0x28], 0
je 0x14006a4ef
mov qword [rsp + 0x80], r14
lea r8, [rsp + 0x80]
lea rdx, [0x1402dad58]
mov rcx, r12
call fcn.14006c430
test al, al
je 0x140069f34
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 0x140069f24
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 0x14006a52b
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
cmp rax, rdi
jne 0x14006a535
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.14006bdb0
test al, al
je 0x140068f1e
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx - 0x10]
mov dword [rsp + 0x128], eax
test eax, eax
jne 0x140068f43
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x5b0]
mov rcx, r12
call fcn.14006bdb0
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 0x14006901a
cmp dword [rbx + 0x10], 0
jl 0x140069004
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140069004
call fcn.140002c94
mov qword [rsp + 0x150], rax
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140068fe9
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 0x14006a53d
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x2c8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006a53d
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 0x14006901a
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.14006bdb0
test al, al
je 0x140069121
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 0x140069121
cmp dword [rbx + 0x10], 0
jl 0x14006910b
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14006910b
call fcn.140002c94
mov qword [rsp + 0x160], rax
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x1400690f0
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 0x14006a546
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x2e0], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006a546
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 0x140069121
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.14006bdb0
test al, al
je 0x14006920a
mov rbx, qword [rsp + 0x38]
movsxd rdi, dword [rbx - 0x10]
mov dword [rsp + 0x138], edi
test edi, edi
js 0x14006a54f
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 0x1400691a0
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.14023853c
cmp edi, dword [rbx - 0xc]
jg 0x14006a565
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 0x14006925e
lea rdx, str.pci_bus_0
mov rcx, rbx
call fcn.14022f558
mov qword [rsp + 0x2f0], rax
test rax, rax
je 0x14006925e
sub rax, rbx
sar rax, 1
mov dword [rsp + 0x1b0], eax
test eax, eax
js 0x14006925e
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.14006bdb0
test al, al
je 0x140069d0a
call fcn.140011f18
mov rcx, rax
mov qword [rsp + 0x168], rax
test rax, rax
je 0x14006a55a
jmp 0x140069265
mov byte [rsp + 0x58], 0
jmp 0x140069203
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
cmp rax, rdi
jne 0x14006a570
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 0x1400692d3
movzx edx, ax
mov dword [rsp + 0xf0], edx
call fcn.140012700
mov byte [rsp + 0x30], 1
jmp 0x1400692e2
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 0x14006937c
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 0x1400693df
mov eax, dword [rsp + 0x90]
dec eax
cmp eax, 1
ja 0x1400693df
cmp dword [rsp + 0x70], 0
jne 0x1400693df
mov word [rsp + 0x850], r14w
lea rax, [rsp + 0x850]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400693f0
mov dword [rsp + 0xfc], edi
test edi, edi
jne 0x140069507
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 0x140069619
cmp dword [rcx + 0x10], edi
jge 0x14006944e
cmp dword [rdx - 0xc], edi
jl 0x14006a578
mov dword [rdx - 0x10], r14d
mov rax, qword [rsp + 0x60]
mov word [rax], r14w
jmp 0x140069619
mov eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
sub eax, 1
lea rbx, vtable.ATL::CAtlStringMgr.0
jg 0x1400694b9
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 0x14006a582
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 0x14006a582
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 0x14006a58b
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 0x140069619
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 0x14006a593
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 0x140069572
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.140002a1c
mov r10, qword [rsp + 0x60]
movsxd rax, dword [r10 - 0xc]
cmp rsi, r14
ja 0x1400695d9
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 0x1400695fb
test rdx, rdx
jne 0x1400695b5
call fcn.140232664
mov dword [rax], 0x16
call fcn.140232514
jmp 0x1400695f6
add rax, rax
cmp rax, r8
jae 0x1400695cf
call fcn.140232664
mov dword [rax], 0x22
call fcn.140232514
jmp 0x1400695f6
mov rcx, r10
call fcn.14022fad0
jmp 0x1400695f6
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 0x14006a5af
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 0x14006967c
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x14006967c
cmp dword [rsp + 0x74], 0
jne 0x14006967c
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 0x140069743
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.14022fad0
lea rax, [r14 + rsi]
xor r14d, r14d
mov word [rdi + rax*2], r14w
jmp 0x14006975b
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x570]
call fcn.1400236a0
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 0x1400697c5
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.14022fad0
mov word [rdi + rsi*2], r14w
jmp 0x1400697e7
mov qword [rsp + 0x20], VariantTimeToDosDateTime
lea r9, str.Connection
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x570]
call fcn.1400236a0
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 0x14006987f
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, [0x1402f2168]
mov qword [rsp + 0x1c0], rax
lea rax, [0x1402f2160]
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 0x140069a6c
mov byte [rsp + 0x69], 1
mov byte [rsp + 0x68], 0
jmp 0x140069a7a
cmp eax, 1
jne 0x140069a7a
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 0x140069add
mov eax, dword [rsp + 0x9c]
dec eax
cmp eax, 1
ja 0x140069add
cmp dword [rsp + 0x78], 0
jne 0x140069add
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.14022dac4
nop
test rdi, rdi
je 0x140069c48
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 0x140069c82
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 0x140069d03
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 0x14006a5a6
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 0x14006a59e
mov r8, rdx
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140069d0a
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 0x140069d42
mov qword [rsp + 0x3a8], rcx
lea rdx, [rsp + 0x48]
call fcn.14006f630
add qword [rbx], 0x28
jmp 0x140069d53
lea r8, [rsp + 0x48]
mov rdx, rcx
mov rcx, r13
call fcn.14006f0c0
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 0x140069dd0
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 0x14006a5ba
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3b8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006a5ba
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 0x140069e3e
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 0x14006a5c3
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3c8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006a5c3
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 0x140069eac
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 0x14006a5cc
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3d8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006a5cc
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 0x140069f1b
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 0x14006a5d5
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x3e8], rcx
mov rax, qword [rcx]
mov r8, qword [rax + 8]
cmp rax, r15
jne 0x14006a5d5
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 0x140068e40
mov rcx, rsi
call qword [r12 + 0x88]
jmp 0x14006a4ef
call fcn.140022850
cmp dword [rax + 8], 2
jl 0x14006a4ef
call fcn.140022850
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 0x14006a03d
cmp esi, 0xa
jge 0x14006a03d
mov rcx, qword [rsp + 0x5e0]
mov rdx, qword [rsp + 0x5e8]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14006a00d
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, [0x1402f2538]
call fcn.14022fad0
mov word [rbx + rdi*2], r15w
jmp 0x14006a02f
mov qword [rsp + 0x20], 2
lea r9, [0x1402f2538]
mov edx, 2
lea rcx, [rsp + 0x5d0]
call fcn.1400236a0
inc esi
mov dword [rsp + 0xa0], esi
jmp 0x140069fa0
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.140022980
lea r14, [rsp + 0x5d0]
cmp qword [rsp + 0x5e8], 8
cmovae r14, qword [rsp + 0x5d0]
mov edx, 0x2040
lea rcx, [rsp + 0x438]
call fcn.14022dbc4
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.14022dbc4
mov rdi, rax
lea rdx, [0x1402f2090]
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.14022dbec
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.14022dbd8
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.14022dbec
mov rdi, rax
lea rdx, [0x1402f2090]
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.14022dbc4
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, [0x1402f2588]
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 0x14006a2a4
lea rcx, [0x14036cfc0]
call fcn.14022b8d8
cmp dword [0x14036cfc0], 0xffffffff
jne 0x14006a2a4
lea rbx, [0x14036cfc8]
mov rcx, rbx
call fcn.14000a1bc
lea rcx, [0x14027e720]
call fcn.14022b3e0
lea rcx, [0x14036cfc0]
call fcn.14022b878
jmp 0x14006a2ab
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 0x14006a33d
mov rax, qword [rsp + 0x4c8]
mov rcx, qword [rax]
test rcx, rcx
je 0x14006a33d
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 0x14006a381
test dl, 4
jne 0x14006a381
mov rax, qword [rsp + 0x4c0]
mov rcx, qword [rax]
test rcx, rcx
je 0x14006a381
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 0x14006a3e2
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x5f0], rdx
mov rcx, qword [0x14036cfc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006a3dd
add rdx, 0x27
mov qword [rsp + 0x5f0], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006a5de
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.140022850
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.14022b120
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 0x140068ed3
call r8
nop
jmp 0x140068fe9
call r8
nop
jmp 0x1400690f0
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 0x140069285
mov ecx, 0x80070057
call fcn.140002d3c
call r8
nop
jmp 0x1400694b9
call rdx
nop
jmp 0x1400694e1
mov ecx, 0x80070057
call fcn.140002d3c
nop
call r8
jmp 0x140069d0a
call r8
nop
jmp 0x140069d03
mov ecx, 0x80070057
call fcn.140002d3c
nop
call r8
nop
jmp 0x140069dd0
call r8
nop
jmp 0x140069e3e
call r8
nop
jmp 0x140069eac
call r8
nop
jmp 0x140069f1b
call fcn.140232534
int3