Function at 0x14005c030
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 [0x14030c918]
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 [0x1402c75d0]
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.140009b0c
nop
call fcn.14001fcc0
cmp dword [rax + 8], 4
jl 0x14005c0c6
lea rcx, [rsp + 0x460]
call fcn.140015ae0
cmp byte [r13 + 0x28], 0
je 0x14005d3db
mov qword [rsp + 0x98], r12
lea r8, [rsp + 0x98]
lea rdx, [0x1402ac5e8]
mov rcx, r13
call fcn.14005f290
test al, al
je 0x14005cde7
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 0x14005cdd8
inc ebx
mov dword [rsp + 0x48], ebx
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14005d479
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14005d479
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14005d479
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.140010210
mov rcx, rax
test rax, rax
je 0x14005d417
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.14005eb50
test al, al
je 0x14005c20a
mov rdx, qword [rsp + 0x30]
cmp dword [rdx - 0x10], 0
jne 0x14005c22f
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005eb50
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x58]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14005c294
cmp dword [rbx + 0x10], 0
jl 0x14005c286
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14005c286
call fcn.140002c68
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14005c273
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 0x14005c294
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x58]
call fcn.140002aa8
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, r14d
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005eb50
test al, al
je 0x14005c322
mov rdx, qword [rsp + 0x30]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x60]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14005c322
cmp dword [rbx + 0x10], 0
jl 0x14005c314
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14005c314
call fcn.140002c68
mov rdi, rax
mov ecx, 0xffffffff
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14005c301
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 0x14005c322
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140002aa8
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, SafeArrayGetDim
mov r8, rsi
lea rdx, [rsp + 0x420]
mov rcx, r13
call fcn.14005eb50
test al, al
je 0x14005c3c6
mov rbx, qword [rsp + 0x30]
movsxd rdi, dword [rbx - 0x10]
test edi, edi
js 0x14005d422
mov ecx, r14d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14005c37a
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140002a48
mov rbx, qword [rsp + 0x30]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.14022273c
cmp edi, dword [rbx - 0xc]
jg 0x14005d438
mov dword [rbx - 0x10], edi
mov word [rbx + rdi*2], r12w
cmp dword [rbx - 0x10], 0
jl 0x14005c429
lea rdx, str.pci_bus_0
mov rcx, rbx
call fcn.140217248
test rax, rax
je 0x14005c429
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14005c429
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.14005eb50
test al, al
je 0x14005cca1
call fcn.140010210
mov rcx, rax
test rax, rax
je 0x14005d42d
jmp 0x14005c430
mov byte [rsp + 0x68], 0
jmp 0x14005c3c6
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x50]
cmp r15, 0x10000
jae 0x14005c458
movzx edx, r15w
call fcn.140010ac0
jmp 0x14005c467
mov r8d, 0x27
mov rdx, r15
call fcn.140002aa8
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 0x14005d443
mov rdx, rax
mov rcx, rsi
call fcn.14021f4a8
mov r12, rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r15d
jl 0x14005d44d
lea r14d, [r15 + rax]
test r14d, r14d
js 0x14005d457
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r14d
or eax, ecx
jge 0x14005c4d9
mov edx, r14d
lea rcx, [rsp + 0x50]
call fcn.140002a48
mov rbx, qword [rsp + 0x50]
cmp rdi, r15
ja 0x14005c4e2
lea rsi, [rbx + rdi*2]
lea rcx, [rbx + r15*2]
movsxd r8, r12d
add r8, r8
je 0x14005c519
test rcx, rcx
je 0x14005c509
test rsi, rsi
je 0x14005c502
mov rdx, rsi
call fcn.140217710
jmp 0x14005c519
xor edx, edx
call fcn.140217dc0
call fcn.14021c0fc
mov dword [rax], 0x16
call fcn.14021bfac
cmp r14d, dword [rbx - 0xc]
jg 0x14005d46e
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 0x14005c597
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 0x14005c5f3
mov eax, dword [rsp + 0x88]
dec eax
cmp eax, 1
ja 0x14005c5f3
cmp dword [rsp + 0x3c], 0
jne 0x14005c5f3
mov word [rsp + 0x640], r12w
lea rcx, [rsp + 0x640]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14005c602
mov r8d, eax
lea rdx, [rsp + 0x640]
lea rcx, [rsp + 0x70]
call fcn.140002aa8
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 0x14005c67d
mov eax, dword [rsp + 0x8c]
dec eax
cmp eax, 1
ja 0x14005c67d
cmp dword [rsp + 0x40], 0
jne 0x14005c67d
mov word [rsp + 0x640], r12w
lea rdx, [rsp + 0x640]
lea rcx, [rsp + 0x400]
call fcn.140009744
nop
lea rdx, str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
lea rcx, [rsp + 0x360]
call fcn.140009744
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 0x14005c721
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.140217710
lea rax, [r14 + rsi]
mov word [rdi + rax*2], r12w
jmp 0x14005c736
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rsp + 0x360]
call fcn.140020db0
mov rsi, qword [rsp + 0x370]
mov rcx, qword [rsp + 0x378]
mov rax, rcx
sub rax, rsi
cmp rax, 0xb
jb 0x14005c791
lea rax, [rsi + 0xb]
mov qword [rsp + 0x370], rax
lea rdi, [rsp + 0x360]
cmp rcx, 8
cmovae rdi, qword [rsp + 0x360]
lea rcx, [rdi + rsi*2]
mov r8d, 0x16
lea rdx, str.Connection
call fcn.140217710
mov word [rdi + rsi*2 + 0x16], r12w
jmp 0x14005c7b3
mov qword [rsp + 0x20], VariantTimeToDosDateTime
lea r9, str.Connection
mov edx, VariantTimeToDosDateTime
lea rcx, [rsp + 0x360]
call fcn.140020db0
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 0x14005c834
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, [0x1402c0750]
mov qword [rsp + 0x100], rax
lea rax, [0x1402c0748]
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.140019ad0
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.140019a30
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.140018e50
mov eax, dword [rsp + 0x38]
cmp eax, 2
jne 0x14005c9cc
mov sil, 1
xor r14b, r14b
jmp 0x14005c9e5
cmp eax, 1
jne 0x14005c9da
xor sil, sil
movzx r14d, al
jmp 0x14005c9e5
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 0x14005ca4a
mov eax, dword [rsp + 0x94]
dec eax
cmp eax, 1
ja 0x14005ca4a
cmp dword [rsp + 0x80], 0
jne 0x14005ca4a
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.14001a720
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.1402157c0
nop
test rdi, rdi
je 0x14005cba5
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x378]
cmp rdx, 8
jb 0x14005cbed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cbe8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d462
call fcn.14000410c
mov qword [rsp + 0x370], r12
mov qword [rsp + 0x378], 7
mov word [rsp + 0x360], r12w
mov rdx, qword [rsp + 0x418]
cmp rdx, 8
jb 0x14005cc52
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005cc4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d468
call fcn.14000410c
mov qword [rsp + 0x410], r12
mov qword [rsp + 0x418], 7
mov word [rsp + 0x400], r12w
test r15, r15
je 0x14005cc7e
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 0x14005cc9a
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 0x14005cd35
mov qword [rsp + 0x210], rbx
mov rcx, qword [rsp + 0x58]
add rcx, 0xffffffffffffffe8
call fcn.140002c68
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.140002c68
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.140002c68
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 0x14005cd46
lea r8, [rsp + 0x58]
mov rdx, rbx
mov rcx, rsi
call fcn.140060cd0
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005cd68
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 0x14005cd89
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 0x14005cdaa
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 0x14005c125
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005c125
mov rcx, rsi
call qword [r13 + 0x88]
jmp 0x14005d3db
call fcn.14001fcc0
cmp dword [rax + 8], 2
jl 0x14005d3db
call fcn.14001fcc0
mov rdi, rax
lea rcx, [rsp + 0x260]
call fcn.140018c50
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 rdx, r12
mov qword [rsp + 0x390], rdx
mov r8d, 7
mov qword [rsp + 0x398], r8
mov word [rsp + 0x380], r12w
mov ebx, r12d
nop dword [rax]
cmp ebx, dword [rdi + 0x10]
jge 0x14005cf03
cmp ebx, 0xa
jge 0x14005cf03
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x380]
cmp rax, 2
jb 0x14005ced2
lea rax, [rdx + 2]
mov qword [rsp + 0x390], rax
cmp r8, 8
cmovae rcx, qword [rsp + 0x380]
mov eax, dword [0x1402c0b40]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
inc ebx
mov r8, qword [rsp + 0x398]
mov rdx, qword [rsp + 0x390]
jmp 0x14005ce70
mov qword [rsp + 0x20], 2
lea r9, [0x1402c0b40]
mov edx, 2
call fcn.140020db0
inc ebx
mov r8, qword [rsp + 0x398]
mov rdx, qword [rsp + 0x390]
jmp 0x14005ce70
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.14001fe10
lea rdi, [rsp + 0x380]
cmp qword [rsp + 0x398], 8
cmovae rdi, qword [rsp + 0x380]
mov edx, 0x2040
lea rcx, [rsp + 0x200]
call fcn.1402158b8
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.140016420
mov rbx, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [rsp + 0x98]
call fcn.1402158b8
mov rsi, rax
lea rdx, [0x1402c0678]
mov rcx, rbx
call fcn.140016160
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.1402158e0
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.1402158cc
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.140016420
mov rbx, rax
mov edx, 5
lea rcx, [rsp + 0x238]
call fcn.1402158e0
mov rsi, rax
lea rdx, [0x1402c0678]
mov rcx, rbx
call fcn.140016160
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.1402158b8
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.140016420
lea rdx, [0x1402c0b70]
mov rcx, rax
call fcn.140016160
mov rdx, rdi
mov rcx, rax
call fcn.140016160
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x14031c02c], eax
jg 0x14005d484
lea rdx, [rsp + 0x440]
lea rcx, [rsp + 0x278]
call fcn.140019820
nop
mov rdx, qword [reloc.OLEAUT32.dll_VariantInit]
cmp rdx, 8
jb 0x14005d1bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [0x14030d5d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d1b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d4d2
call fcn.14000410c
movups xmm0, xmmword [rsp + 0x440]
movups xmmword [0x14030d5d0], xmm0
movups xmm1, xmmword [rsp + 0x450]
movups xmmword [0x14030d5e0], 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 0x14005d23f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d23a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d4d8
call fcn.14000410c
mov qword [rsp + 0x3b0], r12
mov qword [rsp + 0x3b8], 7
mov word [rsp + 0x3a0], r12w
mov rdx, qword [rsp + 0x3d8]
cmp rdx, 8
jb 0x14005d2a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d29f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d4de
call fcn.14000410c
mov qword [rsp + 0x3d0], r12
mov qword [rsp + 0x3d8], 7
mov word [rsp + 0x3c0], r12w
mov rdx, qword [rsp + 0x398]
cmp rdx, 8
jb 0x14005d309
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d304
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d4e4
call fcn.14000410c
mov qword [rsp + 0x390], r12
mov qword [rsp + 0x398], 7
mov word [rsp + 0x380], r12w
mov rdx, qword [rsp + 0x3f8]
cmp rdx, 8
jb 0x14005d36e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005d369
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005d4ea
call fcn.14000410c
mov qword [rsp + 0x3f0], r12
mov qword [rsp + 0x3f8], 7
mov word [rsp + 0x3e0], r12w
lea rcx, [rsp + 0x260]
call fcn.140018b40
call fcn.14001fcc0
lea rdx, [0x14030d5d0]
cmp qword [reloc.OLEAUT32.dll_VariantInit], 8
cmovae rdx, qword [0x14030d5d0]
mov r8, qword [0x14030d5e0]
mov rcx, rax
call fcn.140016420
lea rdx, str.Failed_call_to_GetDeviceSet_for_GetSoundInfo
mov rcx, rax
call fcn.140016160
mov rcx, rax
call fcn.140017370
nop
lea rcx, [rsp + 0x460]
call fcn.140017400
xor al, al
mov rcx, qword [rsp + 0xe10]
xor rcx, rsp
call fcn.140212f90
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.140002d2c
nop
mov ecx, 0x80070057
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
mov ecx, 0x80070057
call fcn.140002d2c
nop
mov ecx, 0x80070057
call fcn.140002d2c
mov ecx, 0x80070057
call fcn.140002d2c
mov ecx, 0x80070057
call fcn.140002d2c
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
nop
mov ecx, 0x80070057
call fcn.140002d2c
nop
mov ecx, 0x80004005
call fcn.140002d2c
nop
lea rcx, [0x14031c02c]
call fcn.1402133b4
cmp dword [0x14031c02c], 0xffffffff
jne 0x14005d160
mov qword [0x14030d5d0], r12
movdqa xmm0, xmmword [0x1402c75d0]
movdqu xmmword [0x14030d5e0], xmm0
lea rcx, [0x14025fa00]
call fcn.1402131e8
lea rcx, [0x14031c02c]
call fcn.140213354
nop
jmp 0x14005d160
call fcn.14021bfcc
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
nop
call fcn.14021bfcc
int3