Function at 0x14005bb30
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe20
mov rax, qword [0x14030b930]
xor rax, rsp
mov qword [rsp + 0xe10], rax
mov qword [rsp + 0x200], rdx
mov r13, rcx
xor r12d, r12d
mov dword [rsp + 0x44], r12d
mov qword [rsp + 0x468], r12
movdqa xmm0, xmmword [0x1402c6510]
movdqu xmmword [rsp + 0x478], xmm0
mov word [rsp + 0x468], r12w
mov byte [rsp + 0x460], r12b
lea rdx, str.srl::SetupLib::GetNetworkDeviceInfo
lea rcx, [rsp + 0x468]
call fcn.140009944
nop
call fcn.14001fe60
cmp dword [rax + 8], 4
jl 0x14005bbc6
lea rcx, [rsp + 0x460]
call fcn.140015c90
cmp byte [r13 + 0x28], 0
je 0x14005ce9f
mov qword [rsp + 0x98], r12
lea r8, [rsp + 0x98]
lea rdx, [0x1402ab5c8]
mov rcx, r13
call fcn.14005ed50
test al, al
je 0x14005c8e6
mov ebx, r12d
xorps xmm0, xmm0
movups xmmword [rsp + 0x420], xmm0
movups xmmword [rsp + 0x430], xmm0
mov eax, 0x20
mov dword [rsp + 0x420], eax
lea r14d, [rax - 0x1f]
lea r15, str.SYSTEMCurrentControlSetControlClass_
lea r8, [rsp + 0x420]
mov edx, ebx
mov rsi, qword [rsp + 0x98]
mov rcx, rsi
call qword [r13 + 0x40]
test eax, eax
je 0x14005c8d7
inc ebx
mov dword [rsp + 0x48], ebx
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x14005cf3d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x14005cf3d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x14005cf3d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x68], 0
mov word [rsp + 0x78], 0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x14005cedb
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005e610
test al, al
je 0x14005bd0a
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0x10], 0
jne 0x14005bd2f
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005e610
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x58]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14005bd94
cmp dword [rbx + 0x10], 0
jl 0x14005bd86
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14005bd86
call fcn.140002c44
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14005bd73
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x58], rax
mov rsi, qword [rsp + 0x98]
jmp 0x14005bd94
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x58]
call fcn.140002a88
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005e610
test al, al
je 0x14005be22
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x60]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14005be22
cmp dword [rbx + 0x10], 0
jl 0x14005be14
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14005be14
call fcn.140002c44
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14005be01
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0x98]
jmp 0x14005be22
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140002a88
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, SafeArrayGetDim
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005e610
test al, al
je 0x14005bec6
mov rbx, qword [rsp + 0x30]
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x14005cee6
mov ecx, r14d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005be7a
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140002a28
mov rbx, qword [rsp + 0x30]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140221fec
cmp edi, dword [rbx - 0xc]
jg 0x14005cefc
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r12w
cmp dword [rbx - 0x10], 0
jl 0x14005bf29
lea rdx, str.pci_bus_0
mov rcx, rbx
call fcn.140216d00
test rax, rax
je 0x14005bf29
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14005bf29
mov byte [rsp + 0x68], 1
mov qword [rsp + 0x488], r12
mov qword [rsp + 0x498], r12
mov qword [rsp + 0x4a0], 7
mov word [rsp + 0x488], r12w
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 9
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005e610
test al, al
je 0x14005c7a0
call fcn.140010400
mov rcx, rax
test rax, rax
je 0x14005cef1
jmp 0x14005bf30
mov byte [rsp + 0x68], 0
jmp 0x14005bec6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
cmp r15, 0x10000
jae 0x14005bf58
movzx edx, r15w
call fcn.140010c90
jmp 0x14005bf67
mov r8d, 0x27
mov rdx, r15
call fcn.140002a88
nop
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rsi - 0x10]
mov rdi, rsi
mov rbx, qword [rsp + 0x50]
sub rdi, rbx
sar rdi, 1
mov r15d, dword [rbx - 0x10]
test eax, eax
js 0x14005cf07
mov rdx, rax
mov rcx, rsi
call fcn.14021ed58
mov r12, rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r15d
jl 0x14005cf11
lea r14d, [r15 + rax]
test r14d, r14d
js 0x14005cf1b
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x14005bfd9
mov edx, r14d
lea rcx, [rsp + 0x50]
call fcn.140002a28
mov rbx, qword [rsp + 0x50]
cmp rdi, r15
ja 0x14005bfe2
lea rsi, [rbx + rdi*2]
lea rcx, [rbx + r15*2]
movsxd r8, r12d
add r8, r8
je 0x14005c019
test rcx, rcx
je 0x14005c009
test rsi, rsi
je 0x14005c002
mov rdx, rsi
call fcn.1402171d0
jmp 0x14005c019
xor edx, edx
call fcn.140217880
call fcn.14021b9ac
mov dword [rax], 0x16
call fcn.14021b85c
cmp r14d, dword [rbx - 0xc]
jg 0x14005cf32
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
xor r12d, r12d
mov word [rbx + rax*2], r12w
mov r15d, r12d
mov qword [rsp + 0xc8], r12
mov dword [rsp + 0xd0], r12d
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xa8], r12
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14005c097
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0x3c], 0x7d0
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x640]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x88]
xor r8d, r8d
lea rdx, str.DriverVersion
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14005c0f3
mov eax, dword [rsp + 0x88]
dec eax
cmp eax, 1
ja 0x14005c0f3
cmp dword [rsp + 0x3c], 0
jne 0x14005c0f3
mov word [rsp + 0x640], r12w
lea rcx, [rsp + 0x640]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14005c102
mov r8d, eax
lea rdx, [rsp + 0x640]
lea rcx, [rsp + 0x70]
call fcn.140002a88
mov dword [rsp + 0x40], 0x7d0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x640]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x8c]
xor r8d, r8d
lea rdx, str.NetCFGInstanceID
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14005c17d
mov eax, dword [rsp + 0x8c]
dec eax
cmp eax, 1
ja 0x14005c17d
cmp dword [rsp + 0x40], 0
jne 0x14005c17d
mov word [rsp + 0x640], r12w
lea rdx, [rsp + 0x640]
lea rcx, [rsp + 0x400]
call fcn.14000957c
nop
lea rdx, str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
lea rcx, [rsp + 0x360]
call fcn.14000957c
nop
lea r9, [rsp + 0x400]
cmp qword [rsp + 0x418], 8
cmovae r9, qword [rsp + 0x400]
mov rsi, qword [rsp + 0x410]
mov r14, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x378]
mov rax, rcx
sub rax, r14
cmp rsi, rax
ja 0x14005c221
lea rax, [r14 + rsi]
mov qword [rsp + 0x370], rax
lea rdi, [rsp + 0x360]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x360]
lea rcx, [rdi + r14*2]
lea r8, [rsi + rsi]
mov rdx, r9
call fcn.1402171d0
lea rax, [r14 + rsi]
mov word [rdi + rax*2], r12w
jmp 0x14005c236
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x360]
call fcn.140020f80
mov rcx, qword [rsp + 0x370]
mov rdx, qword [rsp + 0x378]
mov rax, rdx
sub rax, rcx
cmp rax, 0xb
jb 0x14005c290
lea rsi, [rcx + 0xb]
mov qword [rsp + 0x370], rsi
lea rdi, [rsp + 0x360]
cmp rdx, 8
cmovae rdi, qword [rsp + 0x360]
lea rcx, [rdi + rcx*2]
mov r8d, 0x16
lea rdx, str.Connection
call fcn.1402171d0
mov word [rdi + rsi*2], r12w
jmp 0x14005c2b2
mov qword [rsp + 0x20], VariantTimeToDosDateTime
lea r9, str.Connection
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x360]
call fcn.140020f80
mov dword [rsp + 0x38], r12d
mov rdi, r12
mov qword [rsp + 0xe0], r12
mov dword [rsp + 0xe8], r12d
mov qword [rsp + 0xf0], r12
lea rdx, [rsp + 0x360]
cmp qword [rsp + 0x378], 8
cmovae rdx, qword [rsp + 0x360]
mov qword [rsp + 0xb0], r12
lea rax, [rsp + 0xb0]
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 0x14005c333
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0xe0], rdi
mov dword [rsp + 0xe8], r12d
mov dword [rsp + 0x90], 4
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.MediaSubType
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea rax, [0x1402bf720]
mov qword [rsp + 0x100], rax
lea rax, [0x1402bf718]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1c8], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
or dword [rsp + 0x44], 1
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + 0x198], rax
mov dword [rsp + 0x194], 0x80
mov qword [rsp + 0x108], r12
lea rdx, [rsp + 0x118]
lea rcx, [rsp + 0x198]
call fcn.140019cf0
nop
mov rax, qword [rsp + 0x110]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x110], rax
mov rax, qword [rsp + 0x110]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x10c], edx
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x100], rax
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0xfc], edx
mov rax, qword [rsp + 0x100]
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 + 0x100], rax
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0xfc], edx
lea rcx, [rsp + 0x118]
call fcn.140019c50
lea rax, vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x180], r12
mov dword [rsp + 0x188], r12d
mov edx, dword [rsp + 0x38]
lea rcx, [rsp + 0x110]
call fcn.140018fc0
mov eax, dword [rsp + 0x38]
cmp eax, 2
jne 0x14005c4cb
mov sil, 1
xor r14b, r14b
jmp 0x14005c4e4
cmp eax, 1
jne 0x14005c4d9
xor sil, sil
movzx r14d, al
jmp 0x14005c4e4
movzx esi, byte [rsp + 0x79]
movzx r14d, byte [rsp + 0x78]
mov dword [rsp + 0x80], 0x190
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x94]
xor r8d, r8d
lea rdx, str.Name
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14005c549
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x14005c549
cmp dword [rsp + 0x80], 0
jne 0x14005c549
mov word [rsp + 0x4b0], r12w
mov word [rsp + 0x4c0], r12w
lea rdx, str.Wi_Fi
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
movzx ecx, sil
test eax, eax
mov eax, 1
cmove ecx, eax
mov byte [rsp + 0x79], cl
lea rdx, str.Ethernet
lea rcx, [rsp + 0x4b0]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
movzx ecx, r14b
test eax, eax
mov r14d, 1
cmove ecx, r14d
mov byte [rsp + 0x78], cl
mov rax, qword [rsp + 0x100]
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 + 0x100], rax
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rsp + rcx + 0xfc], edx
lea rcx, [rsp + 0x118]
call fcn.14001a830
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x100], rax
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x20]
mov dword [rsp + rcx + 0xfc], edx
mov rax, qword [rsp + 0x110]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x110], rax
mov rax, qword [rsp + 0x110]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x10c], edx
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rsp + rcx + 0x100], rax
mov rax, qword [rsp + 0x100]
movsxd rdx, dword [rax + 4]
lea r8d, [rdx - 0x18]
mov dword [rsp + rdx + 0xfc], r8d
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x198], rax
lea rcx, [rsp + 0x198]
call fcn.14021528c
nop
test rdi, rdi
je 0x14005c6a4
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x378]
cmp rdx, 8
jb 0x14005c6ec
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c6e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005cf26
call fcn.140004104
mov qword [rsp + 0x370], r12
mov qword [rsp + 0x378], 7
mov word [rsp + 0x360], r12w
mov rdx, qword [rsp + 0x418]
cmp rdx, 8
jb 0x14005c751
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c74c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005cf2c
call fcn.140004104
mov qword [rsp + 0x410], r12
mov qword [rsp + 0x418], 7
mov word [rsp + 0x400], r12w
test r15, r15
je 0x14005c77d
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005c799
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r15, str.SYSTEMCurrentControlSetControlClass_
mov rsi, qword [rsp + 0x200]
mov rbx, qword [rsi + 8]
cmp rbx, qword [rsi + 0x10]
je 0x14005c834
mov qword [rsp + 0x210], rbx
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
call fcn.140002c44
add rax, 0x18
mov qword [rbx], rax
lea rdi, [rbx + 8]
mov qword [rsp + 0xb8], rdi
mov rcx, qword [rsp + 0x60]
add rcx, 0xffffffffffffffe8
call fcn.140002c44
add rax, 0x18
mov qword [rdi], rax
movzx eax, byte [rsp + 0x68]
mov byte [rbx + 0x10], al
lea rdi, [rbx + 0x18]
mov qword [rsp + 0xb8], rdi
mov rcx, qword [rsp + 0x70]
add rcx, 0xffffffffffffffe8
call fcn.140002c44
add rax, 0x18
mov qword [rdi], rax
movzx eax, byte [rsp + 0x78]
mov byte [rbx + 0x20], al
movzx eax, byte [rsp + 0x79]
mov byte [rbx + 0x21], al
add qword [rsi + 8], 0x28
jmp 0x14005c845
lea r8, [rsp + 0x58]
mov rdx, rbx
mov rcx, rsi
call fcn.1400607a0
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005c867
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005c888
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005c8a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
mov ebx, dword [rsp + 0x48]
jg 0x14005bc25
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005bc25
mov rcx, rsi
call qword [r13 + 0x88]
jmp 0x14005ce9f
call fcn.14001fe60
cmp dword [rax + 8], 2
jl 0x14005ce9f
call fcn.14001fe60
mov rdi, rax
lea rcx, [rsp + 0x260]
call fcn.140018dc0
nop
mov qword [rsp + 0x3f8], 7
mov qword [rsp + 0x3f0], 4
movabs rax, 0x4e005200410057
mov qword [rsp + 0x3e0], rax
mov word [rsp + 0x3e8], r12w
mov qword [rsp + 0x380], r12
mov r8, r12
mov qword [rsp + 0x390], r12
mov r9d, 7
mov qword [rsp + 0x398], r9
mov word [rsp + 0x380], r12w
mov ebx, r12d
nop dword [rax + rax]
cmp ebx, dword [rdi + 0x10]
jge 0x14005ca03
cmp ebx, 0xa
jge 0x14005ca03
mov rax, r9
sub rax, r8
lea rcx, [rsp + 0x380]
cmp rax, 2
jb 0x14005c9d2
lea rdx, [r8 + 2]
mov qword [rsp + 0x390], rdx
cmp r9, 8
cmovae rcx, qword [rsp + 0x380]
mov eax, dword [0x1402bfb10]
mov dword [rcx + r8*2], eax
mov word [rcx + rdx*2], r12w
inc ebx
mov r9, qword [rsp + 0x398]
mov r8, qword [rsp + 0x390]
jmp 0x14005c970
mov qword [rsp + 0x20], 2
lea r9, [0x1402bfb10]
mov edx, 2
call fcn.140020f80
inc ebx
mov r9, qword [rsp + 0x398]
mov r8, qword [rsp + 0x390]
jmp 0x14005c970
mov qword [rsp + 0x3c0], r12
mov qword [rsp + 0x3d0], r12
mov qword [rsp + 0x3d8], 7
mov word [rsp + 0x3c0], r12w
mov qword [rsp + 0x3a0], r12
mov qword [rsp + 0x3b0], r12
mov qword [rsp + 0x3b8], 7
mov word [rsp + 0x3a0], r12w
lea r8, [rsp + 0x3a0]
lea rdx, [rsp + 0x3c0]
mov rcx, rdi
call fcn.14001ffb0
lea rdi, [rsp + 0x380]
cmp qword [rsp + 0x398], 8
cmovae rdi, qword [rsp + 0x380]
mov edx, 0x2040
lea rcx, [rsp + 0x200]
call fcn.140215384
mov rcx, qword [rsp + 0x270]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + 0x270]
add rcx, rdx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x3c0]
cmp qword [rsp + 0x3d8], 8
cmovae rdx, qword [rsp + 0x3c0]
mov r8, qword [rsp + 0x3d0]
lea rcx, [rsp + 0x270]
call fcn.1400165e0
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x98]
call fcn.140215384
mov rsi, rax
lea rdx, [0x1402bf648]
mov rcx, rbx
call fcn.140016310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov edx, dword [rsi + 8]
call qword [rsi]
mov edx, 6
lea rcx, [rsp + 0x218]
call fcn.1402153ac
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 + 0x228]
call fcn.140215398
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x3a0]
cmp qword [rsp + 0x3b8], 8
cmovae rdx, qword [rsp + 0x3a0]
mov r8, qword [rsp + 0x3b0]
mov rcx, rbx
call fcn.1400165e0
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x238]
call fcn.1402153ac
mov rsi, rax
lea rdx, [0x1402bf648]
mov rcx, rbx
call fcn.140016310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov rdx, qword [rsi + 8]
call qword [rsi]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
mov eax, 0x20
mov word [rcx + rbx + 0x58], ax
lea edx, [rax + 0x20]
lea rcx, [rsp + 0x248]
call fcn.140215384
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov edx, dword [rax + 8]
call qword [rax]
lea rdx, [rsp + 0x3e0]
cmp qword [rsp + 0x3f8], 8
cmovae rdx, qword [rsp + 0x3e0]
mov r8, qword [rsp + 0x3f0]
mov rcx, rbx
call fcn.1400165e0
lea rdx, [0x1402bfb40]
mov rcx, rax
call fcn.140016310
mov rdx, rdi
mov rcx, rax
call fcn.140016310
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14031b04c], eax
jg 0x14005cf48
lea rdx, [rsp + 0x440]
lea rcx, [rsp + 0x278]
call fcn.1400199b0
lea rbx, [0x14030c5e0]
mov rcx, rbx
call fcn.1400098e0
movups xmm0, xmmword [rsp + 0x440]
movups xmmword [0x14030c5e0], xmm0
movups xmm1, xmmword [rsp + 0x450]
movups xmmword [0x14030c5f0], xmm1
mov qword [rsp + 0x450], r12
mov qword [rsp + 0x458], 7
mov word [rsp + 0x440], r12w
mov rdx, qword [rsp + 0x3b8]
cmp rdx, 8
jb 0x14005cd07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cd02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005cf96
call fcn.140004104
mov qword [rsp + 0x3b0], r12
mov qword [rsp + 0x3b8], 7
mov word [rsp + 0x3a0], r12w
mov rdx, qword [rsp + 0x3d8]
cmp rdx, 8
jb 0x14005cd6c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cd67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005cf9c
call fcn.140004104
mov qword [rsp + 0x3d0], r12
mov qword [rsp + 0x3d8], 7
mov word [rsp + 0x3c0], r12w
mov rdx, qword [rsp + 0x398]
cmp rdx, 8
jb 0x14005cdd1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cdcc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005cfa2
call fcn.140004104
mov qword [rsp + 0x390], r12
mov qword [rsp + 0x398], 7
mov word [rsp + 0x380], r12w
mov rdx, qword [rsp + 0x3f8]
cmp rdx, 8
jb 0x14005ce36
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005ce31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005cfa8
call fcn.140004104
mov qword [rsp + 0x3f0], r12
mov qword [rsp + 0x3f8], 7
mov word [rsp + 0x3e0], r12w
lea rcx, [rsp + 0x260]
call fcn.140018ca0
call fcn.14001fe60
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rbx, qword [0x14030c5e0]
mov r8, qword [0x14030c5f0]
mov rdx, rbx
mov rcx, rax
call fcn.1400165e0
lea rdx, str.Failed_call_to_GetDeviceSet_for_GetSoundInfo
mov rcx, rax
call fcn.140016310
mov rcx, rax
call fcn.1400174d0
nop
lea rcx, [rsp + 0x460]
call fcn.140017560
xor al, al
mov rcx, qword [rsp + 0xe10]
xor rcx, rsp
call fcn.140212a70
lea r11, [rsp + 0xe20]
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.140002d08
nop
mov ecx, 0x80070057
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
nop
mov ecx, 0x80070057
call fcn.140002d08
nop
mov ecx, 0x80070057
call fcn.140002d08
mov ecx, 0x80070057
call fcn.140002d08
mov ecx, 0x80070057
call fcn.140002d08
nop
call fcn.14021b87c
nop
call fcn.14021b87c
nop
mov ecx, 0x80070057
call fcn.140002d08
nop
mov ecx, 0x80004005
call fcn.140002d08
nop
lea rcx, [0x14031b04c]
call fcn.140212e94
cmp dword [0x14031b04c], 0xffffffff
jne 0x14005cc60
mov qword [0x14030c5e0], r12
movdqa xmm0, xmmword [0x1402c6510]
movdqu xmmword [0x14030c5f0], xmm0
lea rcx, [0x14025f1b0]
call fcn.140212cc8
lea rcx, [0x14031b04c]
call fcn.140212e34
nop
jmp 0x14005cc60
call fcn.14021b87c
nop
call fcn.14021b87c
nop
call fcn.14021b87c
nop
call fcn.14021b87c
int3