Function at 0x140059670
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
mov qword [rsp + 0xf8], 0xfffffffffffffffe
mov r15, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x1400596ae
mov rax, qword [rcx]
call qword [rax + 0xb0]
jmp 0x14005b80e
cmp qword [r15 + 0x10], 0
je 0x14005b80e
mov rcx, r15
call fcn.140059510
mov rcx, qword [r15 + 0x10]
test byte [rcx + 0xc], 8
je 0x140059727
mov rcx, qword [rcx + 0x1a20]
test rcx, rcx
je 0x140059727
mov rax, rcx
test rcx, rcx
je 0x140059721
mov rcx, qword [rcx]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14005970a
cmp dword [rax + 0xb8], 8
jne 0x14005970a
cmp dword [rax + 0x48], 0
jne 0x14005970a
mov rax, qword [rax + 0xc8]
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x140059711
test rcx, rcx
je 0x140059727
jmp 0x1400596d7
mov dword [rdx + 0x34], 0
mov dword [rdx + 0x30], 0
jmp 0x140059727
call fcn.1401f8920
int3
mov rbp, qword [r15 + 0x10]
mov eax, dword [rbp + 0xc]
test al, 0x20
jne 0x14005973c
bt eax, 0xb
jae 0x140059859
mov dword [rsp + 0x158], 0
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x140059859
nop
nop
nop
mov rsi, rbp
test rbp, rbp
je 0x140059853
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x140059843
test byte [rsi + 0x178], 8
je 0x140059843
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x1400597b4
test al, 0x40
jne 0x1400597b4
test al, al
js 0x1400597b4
bt dword [rsi + 0x180], 0x12
jb 0x1400597b4
mov rax, qword [r15 + 0x10]
test byte [rax + 0xc], 0x20
jne 0x140059843
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x1400597eb
mov rbx, rdi
test rdi, rdi
je 0x14005984d
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400597e6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 1
je 0x1400597ed
test rdi, rdi
jne 0x1400597c0
xor ebx, ebx
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x140059843
cmp dword [rsi + 0x48], 0
je 0x140059843
lea rdx, [rsp + 0x158]
mov rcx, rax
call fcn.14017e830
test eax, eax
jne 0x140059843
cmp dword [rsp + 0x158], eax
jne 0x140059843
lea edx, [rax + 1]
mov rcx, rdi
call fcn.14017e9a0
test rbp, rbp
je 0x140059859
jmp 0x140059760
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rbp, qword [r15 + 0x10]
test byte [rbp + 0xe2], 1
je 0x140059992
mov dword [rsp + 0x160], 0
mov rbp, qword [rbp + 0x1a20]
test rbp, rbp
je 0x140059992
nop
nop
nop
mov rsi, rbp
test rbp, rbp
je 0x14005998c
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14005997c
test byte [rsi + 0x178], 8
je 0x14005997c
mov eax, dword [rsi + 0x17c]
test al, 0x20
jne 0x1400598e4
test al, 0x40
jne 0x1400598e4
test al, al
js 0x1400598e4
bt dword [rsi + 0x180], 0x12
jb 0x1400598e4
mov rax, qword [r15 + 0x10]
test byte [rax + 0xc], 0x20
jne 0x14005997c
mov rdi, qword [rsi + 0x100]
test rdi, rdi
je 0x14005991b
mov rbx, rdi
test rdi, rdi
je 0x140059986
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140059916
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 1
je 0x14005991d
test rdi, rdi
jne 0x1400598f0
xor ebx, ebx
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rdi, rax
test rax, rax
je 0x14005997c
cmp dword [rsi + 0x48], 0
je 0x14005997c
lea rdx, [rsp + 0x160]
mov rcx, rax
call fcn.14017e830
test eax, eax
jne 0x14005997c
cmp dword [rsp + 0x160], eax
jne 0x14005997c
cmp dword [rsi + 0xb8], 1
jne 0x14005997c
lea edx, [rax + 1]
mov rcx, rdi
call fcn.14017e9a0
test rbp, rbp
je 0x140059992
jmp 0x140059890
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r15 + 0x10]
mov ecx, dword [rax + 0x10]
lea rsi, [0x140273028]
or r14, 0xffffffffffffffff
mov r13d, 4
mov dword [rsp + 0x168], r13d
test cl, 8
jne 0x1400599c6
test cl, 0x10
jne 0x1400599c6
bt ecx, 0xe
jae 0x140059f67
cmp dword [0x140326104], 0
jne 0x1400599e6
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x140059f67
cmp dword [0x140326108], 0
jne 0x140059f67
call fcn.1401fa4b0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140059a1f
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov r12, rsi
shr r12, 0x10
jne 0x140059a5b
movzx edi, si
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x140059a7b
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140007610
jmp 0x140059a7b
xor eax, eax
mov rcx, r14
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.140007880
nop
mov rax, qword [r15 + 0x10]
mov ecx, dword [rax + 0x10]
test cl, 8
je 0x140059ab5
xor eax, eax
mov rcx, r14
lea rdi, str.SetSpeakersAsDefaultAt1stPlugIn
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetSpeakersAsDefaultAt1stPlugIn
lea rcx, [rsp + 0x48]
call fcn.140007880
mov ebp, 1
jmp 0x140059b21
test cl, 0x10
je 0x140059ae8
xor eax, eax
mov rcx, r14
lea rdi, str.SetHDMIAsDefaultAt1stPlugIn
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetHDMIAsDefaultAt1stPlugIn
lea rcx, [rsp + 0x48]
call fcn.140007880
mov ebp, 9
jmp 0x140059b21
bt ecx, 0xe
jae 0x140059b1a
xor eax, eax
mov rcx, r14
lea rdi, str.SetFrontMicAsDefaultAt1stPlugIn
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetFrontMicAsDefaultAt1stPlugIn
lea rcx, [rsp + 0x48]
call fcn.140007880
mov ebp, r13d
jmp 0x140059b21
mov ebp, dword [rsp + 0x150]
xor r9d, r9d
mov r8, qword [rsp + 0x48]
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
jne 0x140059f46
mov rax, qword [r15 + 0x10]
mov rsi, qword [rax + 0x1a20]
nop
test rsi, rsi
je 0x140059f3f
mov rbx, qword [rsi + 0x10]
mov rsi, qword [rsi]
test rbx, rbx
je 0x140059b50
cmp dword [rbx + 0xb8], ebp
jne 0x140059b50
mov rax, qword [r15 + 0x10]
bt dword [rax + 0x10], 0xe
jae 0x140059d13
call fcn.1401fa4b0
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140059d81
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
test r12, r12
jne 0x140059bd0
lea rax, [0x140273028]
movzx edi, ax
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x140059bf4
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140007610
jmp 0x140059bf4
xor eax, eax
mov rcx, r14
lea rdx, [0x140273028]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x30]
call fcn.140007880
nop
mov rax, qword [rbx]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [rax + 0x28]
test eax, eax
jne 0x140059c30
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140059b50
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140059b50
mov rcx, qword [rsp + 0x30]
movsxd rdi, dword [rcx - 0x10]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, edi
or eax, edx
jge 0x140059c5b
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.140003d40
mov rcx, qword [rsp + 0x30]
lea eax, [rdi + 1]
movsxd rdx, eax
call fcn.140228500
test edi, edi
js 0x140059d76
mov rax, qword [rsp + 0x30]
cmp edi, dword [rax - 0xc]
jg 0x140059d76
mov dword [rax - 0x10], edi
mov rax, qword [rsp + 0x30]
mov word [rax + rdi*2], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax - 0x10], 0
jge 0x140059c9a
mov edx, r14d
jmp 0x140059cc6
lea rdx, str.FRONTMICINWAVE
mov rcx, rax
call fcn.140228250
mov rdx, rax
test rax, rax
jne 0x140059cbb
mov edx, r14d
mov rax, qword [rsp + 0x30]
jmp 0x140059cc6
mov rax, qword [rsp + 0x30]
sub rdx, rax
sar rdx, 1
xor ecx, ecx
cmp edx, 0xffffffff
setne cl
test ecx, ecx
jne 0x140059cf7
lea rdx, [rax - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140059b50
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140059b50
lea rdx, [rax - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140059d13
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbx + 0x100]
test rdi, rdi
je 0x140059d47
nop
mov rbx, rdi
test rdi, rdi
je 0x140059d8c
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140059d42
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 5
je 0x140059d49
test rdi, rdi
jne 0x140059d20
xor ebx, ebx
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rbx, rax
test rax, rax
jne 0x140059d92
jmp 0x140059b50
mov ecx, 0x80070057
call fcn.140003d20
nop
mov ecx, 0x80004005
call fcn.140003d20
int3
call fcn.1401f8920
int3
cmp qword [rax + 0x30], 0
je 0x140059e12
mov qword [rsp + 0xe0], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x140059de5
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x140059e12
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140059e12
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xe0]
mov rdi, qword [rcx]
xor r8d, r8d
mov rdx, qword [rax + 0x28]
call qword [rdi + 0x60]
nop
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x140059e12
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [rbx + 0x30], 0
je 0x140059e95
mov qword [rsp + 0xf0], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x140059e65
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x140059e95
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140059e95
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xf0]
mov rdi, qword [rcx]
mov r8d, 1
mov rdx, qword [rax + 0x28]
call qword [rdi + 0x60]
nop
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x140059e95
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [rbx + 0x30], 0
je 0x140059f18
mov qword [rsp + 0x80], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x140059ee8
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140059f18
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140059f18
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x80]
mov rdi, qword [rcx]
mov r8d, 2
mov rdx, qword [rax + 0x28]
call qword [rdi + 0x60]
nop
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140059f18
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9d, 1
mov r8, qword [rsp + 0x48]
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
lea rsi, [0x140273028]
jmp 0x140059f46
lea rsi, [0x140273028]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140059f67
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x10]
test byte [rax + 0x19b], 1
je 0x14005a30d
call fcn.1401fa4b0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140059f97
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xc0], rax
test rsi, 0xffffffffffff0000
jne 0x140059fd9
movzx edi, si
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x140059ffc
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.140007610
jmp 0x140059ffc
xor eax, eax
mov rcx, r14
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0xc0]
call fcn.140007880
nop
xor eax, eax
mov rcx, r14
lea rdi, str.SetHeadphonesAsDefaultAt1stPlugIn
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetHeadphonesAsDefaultAt1stPlugIn
lea rcx, [rsp + 0xc0]
call fcn.140007880
xor r9d, r9d
mov rdi, qword [rsp + 0xc0]
mov r8, rdi
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
jne 0x14005a2f1
mov rax, qword [r15 + 0x10]
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x14005a2f1
mov rbx, rbp
test rbp, rbp
je 0x14005a2eb
mov rbp, qword [rbp]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14005a0e8
cmp dword [rbx + 0xb8], 3
jne 0x14005a0e8
cmp dword [rbx + 0x58], 1
jne 0x14005a0e8
mov rbx, qword [rbx + 0x100]
test rbx, rbx
je 0x14005a0be
mov rsi, rbx
test rbx, rbx
je 0x14005a0f6
mov rbx, qword [rbx]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14005a0b9
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
cmp eax, 5
je 0x14005a0c0
test rbx, rbx
jne 0x14005a097
xor esi, esi
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rsi
call fcn.140227810
mov r12, rax
test rax, rax
jne 0x14005a0fc
test rbp, rbp
je 0x14005a2e2
jmp 0x14005a063
call fcn.1401f8920
int3
xor esi, esi
mov ebp, esi
cmp qword [r12 + 0x30], 0
jne 0x14005a10c
mov ebx, esi
jmp 0x14005a18b
mov qword [rsp + 0x90], rsi
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005a156
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14005a152
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov ebx, esi
jmp 0x14005a18b
mov rax, qword [r12 + 0x30]
mov rcx, qword [rsp + 0x90]
mov r9, qword [rcx]
xor r8d, r8d
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
mov ebx, esi
test eax, eax
setns bl
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14005a18b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [r12 + 0x30], 0
je 0x14005a203
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005a1d2
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14005a203
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005a203
mov rax, qword [r12 + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9, qword [rcx]
mov r8d, 1
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
test eax, eax
setns sil
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14005a203
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
and ebx, esi
cmp qword [r12 + 0x30], 0
jne 0x14005a214
xor esi, esi
jmp 0x14005a29b
mov qword [rsp + 0xa0], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005a262
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14005a25e
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
xor esi, esi
jmp 0x14005a29b
mov rax, qword [r12 + 0x30]
mov rcx, qword [rsp + 0xa0]
mov r9, qword [rcx]
mov r8d, 2
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
xor esi, esi
test eax, eax
setns sil
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14005a29b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
and ebx, esi
jne 0x14005a2a8
lea ecx, [rbx + 0xa]
call qword [sym.imp.KERNEL32.dll_Sleep]
add ebp, 1
test ebx, ebx
jne 0x14005a2ba
cmp ebp, 5
mov esi, ebx
jb 0x14005a100
xor r9d, r9d
test ebx, ebx
setne r9b
mov r8, rdi
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
lea rsi, [0x140273028]
jmp 0x14005a2f1
lea rsi, [0x140273028]
jmp 0x14005a2f1
call fcn.1401f8920
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a30d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x10]
test byte [rax + 0x28], 0x10
je 0x14005a6e5
call fcn.1401fa4b0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14005a33a
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x50], rdi
test rsi, 0xffffffffffff0000
jne 0x14005a37b
movzx ebx, si
mov ecx, ebx
call fcn.1401fc234
test rax, rax
je 0x14005a39f
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.140007610
mov rdi, qword [rsp + 0x50]
jmp 0x14005a39f
xor eax, eax
mov rcx, r14
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140007880
mov rdi, qword [rsp + 0x50]
mov rax, qword [r15 + 0x10]
test byte [rax + 0x28], 0x10
je 0x14005a3dd
xor eax, eax
mov rcx, r14
lea rdi, str.SetSpeakersAsDefaultAt1stPlugIn
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetSpeakersAsDefaultAt1stPlugIn
lea rcx, [rsp + 0x50]
call fcn.140007880
mov r13d, 1
mov rdi, qword [rsp + 0x50]
jmp 0x14005a3e5
mov r13d, dword [rsp + 0x150]
xor r9d, r9d
mov r8, rdi
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
jne 0x14005a6bb
mov rax, qword [r15 + 0x10]
mov r12, qword [rax + 0x1a20]
test r12, r12
je 0x14005a6bb
nop
nop
mov rbx, r12
test r12, r12
je 0x14005a6b5
mov r12, qword [r12]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14005a4a5
cmp dword [rbx + 0xb8], r13d
jne 0x14005a4a5
cmp dword [rbx + 0x58], 1
jne 0x14005a4a5
mov rbx, qword [rbx + 0x100]
test rbx, rbx
je 0x14005a47b
mov rsi, rbx
test rbx, rbx
je 0x14005a4b3
mov rbx, qword [rbx]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14005a476
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
cmp eax, 5
je 0x14005a47d
test rbx, rbx
jne 0x14005a454
xor esi, esi
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rsi
call fcn.140227810
mov rbp, rax
test rax, rax
jne 0x14005a4b9
test r12, r12
je 0x14005a6ac
jmp 0x14005a420
call fcn.1401f8920
int3
xor r13d, r13d
mov r12d, r13d
nop
cmp qword [rbp + 0x30], 0
jne 0x14005a4cf
mov ebx, r13d
jmp 0x14005a54f
mov qword [rsp + 0xd0], r13
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005a51a
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14005a515
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov ebx, r13d
jmp 0x14005a54f
mov rax, qword [rbp + 0x30]
mov rcx, qword [rsp + 0xd0]
mov r9, qword [rcx]
xor r8d, r8d
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
mov ebx, r13d
test eax, eax
setns bl
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14005a54f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [rbp + 0x30], 0
jne 0x14005a55e
mov esi, r13d
jmp 0x14005a5e2
mov qword [rsp + 0xb0], r13
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005a5a9
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14005a5a4
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov esi, r13d
jmp 0x14005a5e2
mov rax, qword [rbp + 0x30]
mov rcx, qword [rsp + 0xb0]
mov r9, qword [rcx]
mov r8d, 1
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
mov esi, r13d
test eax, eax
setns sil
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14005a5e2
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
and ebx, esi
cmp qword [rbp + 0x30], 0
jne 0x14005a5f0
mov esi, r13d
jmp 0x14005a665
mov qword [rsp + 0x70], r13
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005a632
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14005a62d
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov esi, r13d
jmp 0x14005a665
mov rax, qword [rbp + 0x30]
mov rcx, qword [rsp + 0x70]
mov r9, qword [rcx]
mov r8d, 2
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
mov esi, r13d
test eax, eax
setns sil
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14005a665
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
and ebx, esi
jne 0x14005a672
lea ecx, [rbx + 0xa]
call qword [sym.imp.KERNEL32.dll_Sleep]
add r12d, 1
test ebx, ebx
jne 0x14005a684
cmp r12d, 5
jb 0x14005a4c0
mov r9d, r13d
test ebx, ebx
setne r9b
mov r8, rdi
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
lea rsi, [0x140273028]
jmp 0x14005a6bb
lea rsi, [0x140273028]
jmp 0x14005a6bb
call fcn.1401f8920
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a6df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r13d, 4
jmp 0x14005a6e5
mov r13d, 4
mov rax, qword [r15 + 0x10]
bt dword [rax + 0x28], 0xb
jae 0x14005aa29
call fcn.1401fa4b0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14005a713
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
test rsi, 0xffffffffffff0000
jne 0x14005a754
movzx ebx, si
mov ecx, ebx
call fcn.1401fc234
test rax, rax
je 0x14005a778
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140007610
mov rdi, qword [rsp + 0x40]
jmp 0x14005a778
xor eax, eax
mov rcx, r14
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140007880
mov rdi, qword [rsp + 0x40]
mov rax, qword [r15 + 0x10]
bt dword [rax + 0x28], 0xb
jae 0x14005a7b1
xor eax, eax
mov rcx, r14
lea rdi, str.SetMicAsDefaultAt1stPlugIn
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetMicAsDefaultAt1stPlugIn
lea rcx, [rsp + 0x40]
call fcn.140007880
mov rdi, qword [rsp + 0x40]
jmp 0x14005a7b9
mov r13d, dword [rsp + 0x150]
mov rax, qword [r15 + 0x10]
mov rbp, qword [rax + 0x1a20]
test rbp, rbp
je 0x14005aa0d
nop
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.140007530
nop
mov rsi, rbp
test rbp, rbp
je 0x14005aa07
mov rbp, qword [rbp]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x14005a821
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a9e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005a9e3
cmp dword [rsi + 0xb8], r13d
jne 0x14005a9c2
cmp dword [rsi + 0x58], 1
jne 0x14005a9c2
mov edx, 5
mov rcx, rsi
call fcn.1400160a0
mov rcx, rax
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
call fcn.140227810
mov r12, rax
test rax, rax
jne 0x14005a897
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a9e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005a9e3
lea rcx, [rdi - 0x18]
mov rbx, qword [rsp + 0x38]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14005a8f6
cmp dword [rbx + 0x10], 0
jl 0x14005a8e5
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14005a8e5
call fcn.1400074a0
mov rdi, rax
mov ecx, r14d
lock xadd dword [rbx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x14005a8da
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x14005a8f6
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140007880
lea rdx, [0x140277670]
lea rcx, [rsp + 0x38]
call fcn.14001c4f0
lea rdx, [rsi + 0x28]
lea rcx, [rsp + 0x38]
call fcn.1400072a0
xor r9d, r9d
mov r8, qword [rsp + 0x38]
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
je 0x14005a95e
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a9e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005a9e3
mov rcx, r12
call fcn.1400653c0
mov edi, eax
mov rcx, r12
call fcn.140065480
and edi, eax
mov rcx, r12
call fcn.140065550
and edi, eax
mov r9d, 0
setne r9b
mov r8, qword [rsp + 0x38]
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a9e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005a9e3
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005a9e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbp, rbp
je 0x14005a9f9
mov rdi, qword [rsp + 0x40]
lea rsi, [0x140273028]
jmp 0x14005a7d0
mov rdi, qword [rsp + 0x40]
lea rsi, [0x140273028]
jmp 0x14005aa0d
call fcn.1401f8920
nop
lea rdx, [rdi - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005aa29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x10]
bt dword [rax + 0x10], 0xf
jae 0x14005ab9d
cmp dword [0x140326104], 0
jne 0x14005aa58
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x14005ab9d
cmp dword [0x140326108], 0
jne 0x14005ab9d
xor r9d, r9d
lea r8, str.SetSpkAsDefaultAt1stSPDIFPlugIn
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
jne 0x14005ab9d
mov rax, qword [r15 + 0x10]
mov rdi, qword [rax + 0x1a20]
mov rcx, rdi
test rdi, rdi
je 0x14005ab9d
nop
mov rax, rcx
test rcx, rcx
je 0x14005ab97
mov rcx, qword [rcx]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x14005aadd
cmp dword [rax + 0xb8], 8
jne 0x14005aadd
cmp dword [rax + 0x48], 0
je 0x14005aadd
cmp dword [rax + 0x58], 1
je 0x14005aae8
test rcx, rcx
je 0x14005ab9d
jmp 0x14005aab0
test rdi, rdi
je 0x14005ab9d
mov rcx, rdi
test rdi, rdi
je 0x14005ab91
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005ab50
cmp dword [rcx + 0xb8], 1
jne 0x14005ab50
cmp dword [rcx + 0x48], 0
je 0x14005ab50
cmp dword [rcx + 0x58], 1
jne 0x14005ab50
mov edx, 5
call fcn.1400160a0
mov rcx, rax
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
call fcn.140227810
mov rbx, rax
test rax, rax
jne 0x14005ab57
test rdi, rdi
je 0x14005ab9d
jmp 0x14005aaf1
mov rcx, rax
call fcn.1400653c0
mov rcx, rbx
call fcn.140065480
mov rcx, rbx
call fcn.140065550
mov r9d, 1
lea r8, str.SetSpkAsDefaultAt1stSPDIFPlugIn
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
jmp 0x14005ab9d
call fcn.1401f8920
int3
call fcn.1401f8920
int3
mov rax, qword [r15 + 0x10]
bt dword [rax + 0x2c], 0xa
jae 0x14005b00b
cmp dword [0x140326104], 0
jne 0x14005abcc
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x14005b00b
cmp dword [0x140326108], 1
jne 0x14005b034
call fcn.1401fa4b0
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14005ac05
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov r15, rsi
shr r15, 0x10
jne 0x14005ac41
movzx edi, si
mov ecx, edi
call fcn.1401fc234
test rax, rax
je 0x14005ac61
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140007610
jmp 0x14005ac61
xor eax, eax
mov rcx, r14
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140007880
nop
mov r12d, r14d
mov rbx, qword [rsp + 0x150]
mov rax, qword [rbx + 0x10]
bt dword [rax + 0x2c], 0xa
jae 0x14005acaa
xor eax, eax
mov rcx, r14
lea rdi, str.SetWId1EDigitalOutAsDefCommDev
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetWId1EDigitalOutAsDefCommDev
lea rcx, [rsp + 0x58]
call fcn.140007880
mov r13d, 8
lea r12d, [r13 + 0x16]
jmp 0x14005acb2
mov r13d, dword [rsp + 0x150]
xor r9d, r9d
mov r8, qword [rsp + 0x58]
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
jne 0x14005afd8
mov rax, qword [rbx + 0x10]
mov rbp, qword [rax + 0x1a20]
movsxd r14, r12d
test rbp, rbp
je 0x14005afd4
nop
call fcn.1401fa4b0
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14005afc9
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x78], rdi
test r15, r15
jne 0x14005ad46
movzx ebx, si
mov ecx, ebx
call fcn.1401fc234
test rax, rax
je 0x14005ad74
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.140007610
mov rdi, qword [rsp + 0x78]
or rsi, 0xffffffffffffffff
jmp 0x14005ad78
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
lea rdx, [0x140273028]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x78]
call fcn.140007880
mov rdi, qword [rsp + 0x78]
jmp 0x14005ad78
or rsi, 0xffffffffffffffff
mov rbx, rbp
test rbp, rbp
je 0x14005afc3
mov rbp, qword [rbp]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14005adb5
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005aecb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005aecb
cmp dword [rbx + 0xb8], r13d
jne 0x14005aeb0
cmp dword [rbx + 0x58], 1
jne 0x14005aeb0
cmp r14, 0xffffffffffffffff
je 0x14005ae93
cmp dword [rbx + 0x5c], 0xffffffff
jne 0x14005ae93
xor ecx, ecx
mov edx, dword [rbx + 0x214]
test edx, edx
je 0x14005ae93
lea rax, [rbx + 0x218]
cmp dword [rax], r12d
je 0x14005ae0c
add ecx, 1
add rax, 4
cmp ecx, edx
jb 0x14005adf7
jmp 0x14005ae93
mov rbx, qword [rbx + 0x100]
test rbx, rbx
je 0x14005ae4b
nop
nop
mov rsi, rbx
test rbx, rbx
je 0x14005aee0
mov rbx, qword [rbx]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14005ae46
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
cmp eax, 5
je 0x14005ae4d
test rbx, rbx
jne 0x14005ae20
xor esi, esi
mov dword [rsp + 0x20], 0
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rsi
call fcn.140227810
mov rbx, rax
test rax, rax
jne 0x14005aee6
lea rdx, [rdi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005aecb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005aecb
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005aecb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005aecb
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005aecb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test rbp, rbp
je 0x14005afbd
lea rsi, [0x140273028]
jmp 0x14005acf0
call fcn.1401f8920
int3
cmp qword [rax + 0x30], 0
jne 0x14005aef4
xor ebx, ebx
jmp 0x14005af79
mov qword [rsp + 0x88], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005af42
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14005af3e
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
xor ebx, ebx
jmp 0x14005af79
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x88]
mov r9, qword [rcx]
mov r8d, 2
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
xor ebx, ebx
test eax, eax
setns bl
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14005af79
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
xor r9d, r9d
test ebx, ebx
setne r9b
mov r8, qword [rsp + 0x58]
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
nop
lea rdx, [rdi - 0x18]
or r14, 0xffffffffffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14005afd8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005afd8
or r14, 0xffffffffffffffff
jmp 0x14005afd8
call fcn.1401f8920
nop
mov ecx, 0x80004005
call fcn.140003d20
int3
or r14, 0xffffffffffffffff
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005b003
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x150]
jmp 0x14005b00b
mov r15, qword [rsp + 0x150]
cmp dword [0x140326104], 0
jne 0x14005b02b
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x140326104], 6
jne 0x14005b03f
cmp dword [0x140326108], 1
jae 0x14005b056
jmp 0x14005b048
cmp dword [0x140326104], 6
ja 0x14005b056
mov rax, qword [r15 + 0x10]
bt dword [rax + 0x108], 0x12
jae 0x14005b08c
mov rax, qword [r15 + 0x10]
mov rdi, qword [rax + 0x1a20]
test rdi, rdi
je 0x14005b08c
mov rcx, rdi
test rdi, rdi
je 0x14005b086
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005b07f
call fcn.140045ed0
test rdi, rdi
jne 0x14005b066
jmp 0x14005b08c
call fcn.1401f8920
int3
mov rcx, qword [r15 + 0x10]
bt dword [rcx + 0x28], 0xc
jae 0x14005b311
cmp dword [r15 + 0x78], 0
je 0x14005b30c
movsxd rax, dword [r15 + 0x74]
cmp eax, 0xffffffff
je 0x14005b307
imul rax, rax, 0xa4
mov ebp, dword [rax + rcx + 0x5f8]
mov r12d, dword [rax + rcx + 0x608]
mov rsi, qword [rcx + 0x1a20]
xor r13d, r13d
test rsi, rsi
je 0x14005b316
mov rdi, qword [rsi + 0x10]
mov rsi, qword [rsi]
test rdi, rdi
je 0x14005b0d3
cmp dword [rdi + 0x58], r13d
je 0x14005b0d3
cmp r12d, dword [rdi + 0x5c]
jne 0x14005b0d3
mov ecx, r13d
mov edx, dword [rdi + 0x214]
test edx, edx
je 0x14005b0d3
lea rax, [rdi + 0x218]
cmp dword [rax], ebp
je 0x14005b119
add ecx, 1
add rax, 4
cmp ecx, edx
jb 0x14005b108
jmp 0x14005b0d3
mov rdi, qword [rdi + 0x100]
test rdi, rdi
je 0x14005b14c
mov rbx, rdi
test rdi, rdi
je 0x14005b179
mov rdi, qword [rdi]
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x14005b147
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
cmp eax, 5
je 0x14005b14f
test rdi, rdi
jne 0x14005b125
mov rbx, r13
mov dword [rsp + 0x20], r13d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rbx
call fcn.140227810
mov rbx, rax
test rax, rax
jne 0x14005b17f
jmp 0x14005b0d3
call fcn.1401f8920
int3
cmp qword [rax + 0x30], r13
je 0x14005b200
xor r12d, r12d
mov qword [rsp + 0x98], r12
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [r12 + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005b1d1
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14005b203
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b203
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x98]
mov rdi, qword [rcx]
xor r8d, r8d
mov rdx, qword [rax + 0x28]
call qword [rdi + 0x60]
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14005b203
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b203
xor r12d, r12d
cmp qword [rbx + 0x30], 0
je 0x14005b282
mov qword [rsp + 0xa8], r12
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005b252
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14005b282
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b282
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rcx]
mov r8d, 1
mov rdx, qword [rax + 0x28]
call qword [rdi + 0x60]
nop
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14005b282
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [rbx + 0x30], 0
je 0x14005b301
mov qword [rsp + 0xb8], r12
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005b2d1
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14005b301
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b301
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rcx]
mov r8d, 2
mov rdx, qword [rax + 0x28]
call qword [rdi + 0x60]
nop
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14005b301
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov dword [r15 + 0x78], r12d
jmp 0x14005b319
xor r12d, r12d
jmp 0x14005b319
xor r12d, r12d
jmp 0x14005b319
xor r12d, r12d
jmp 0x14005b319
xor r12d, r12d
mov rdi, qword [r15 + 0x10]
test byte [rdi + 0x2c], 0x80
je 0x14005b402
mov rdi, qword [rdi + 0x1a20]
test rdi, rdi
je 0x14005b368
mov rcx, rdi
test rdi, rdi
je 0x14005b362
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005b35b
cmp dword [rcx + 0xb8], 4
jne 0x14005b35b
cmp dword [rcx + 0x58], 1
jne 0x14005b35b
call fcn.14001a110
test rdi, rdi
jne 0x14005b333
jmp 0x14005b368
call fcn.1401f8920
int3
mov rcx, qword [r15 + 0x10]
mov eax, dword [rcx + 0x234]
bt eax, 0xe
jae 0x14005b3c5
shr eax, 0xd
and eax, 1
je 0x14005b3c5
mov rdi, qword [rcx + 0x1a20]
test rdi, rdi
je 0x14005b402
nop
mov rcx, rdi
test rdi, rdi
je 0x14005b3bf
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005b3b8
cmp dword [rcx + 0xb8], 4
jne 0x14005b3b8
cmp dword [rcx + 0x58], 1
jne 0x14005b3b8
call fcn.140019c00
test rdi, rdi
jne 0x14005b390
jmp 0x14005b402
call fcn.1401f8920
int3
mov rax, qword [rcx + 0x1a20]
test rax, rax
je 0x14005b402
mov rcx, rax
test rax, rax
je 0x14005b3fc
mov rax, qword [rax]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005b3ee
cmp dword [rcx + 0xb8], 4
je 0x14005b3f5
test rax, rax
je 0x14005b402
jmp 0x14005b3d1
call fcn.140019c00
jmp 0x14005b402
call fcn.1401f8920
int3
mov rcx, qword [r15 + 0x10]
test byte [rcx + 0x34], 0x80
je 0x14005b411
call fcn.140048050
mov rcx, qword [r15 + 0x10]
test byte [rcx + 0x34], 0x40
je 0x14005b420
call fcn.140047f00
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x148]
mov rdx, qword [r15 + 0x10]
test byte [rdx + 0x190], 8
je 0x14005b7cd
mov eax, dword [0x140326104]
test eax, eax
jne 0x14005b464
mov dword [0x140326100], 0x114
lea rcx, [0x140326100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [0x140326104]
cmp eax, 6
jne 0x14005b7cd
cmp dword [0x140326108], 0
jne 0x14005b7cd
call fcn.1401fa4b0
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14005b49a
mov ecx, 0x80004005
call fcn.140003d20
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x60], rdi
lea rdx, [0x140273028]
test rdx, 0xffffffffffff0000
jne 0x14005b4e2
movzx ebx, dx
mov ecx, ebx
call fcn.1401fc234
test rax, rax
je 0x14005b503
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140007610
mov rdi, qword [rsp + 0x60]
jmp 0x14005b503
xor eax, eax
mov rcx, r14
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x60]
call fcn.140007880
mov rdi, qword [rsp + 0x60]
mov rax, qword [r15 + 0x10]
test byte [rax + 0x190], 8
je 0x14005b543
xor eax, eax
mov rcx, r14
lea rdi, str.SetDefaultInternalMicrophoneDevice
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SetDefaultInternalMicrophoneDevice
lea rcx, [rsp + 0x60]
call fcn.140007880
mov rdi, qword [rsp + 0x60]
mov esi, 4
jmp 0x14005b551
mov esi, dword [rsp + 0x150]
mov dword [rsp + 0x168], esi
xor r9d, r9d
mov r8, rdi
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffa54
test eax, eax
jne 0x14005b7b1
mov rax, qword [r15 + 0x10]
mov rbp, qword [rax + 0x1a20]
nop
test rbp, rbp
je 0x14005b7b1
mov rbx, qword [rbp + 0x10]
mov rbp, qword [rbp]
test rbx, rbx
je 0x14005b580
cmp dword [rbx + 0xb8], esi
jne 0x14005b580
mov rcx, rbx
call fcn.14001b8f0
test eax, eax
je 0x14005b580
mov rbx, qword [rbx + 0x100]
test rbx, rbx
je 0x14005b5dd
mov rsi, rbx
test rbx, rbx
je 0x14005b611
mov rbx, qword [rbx]
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x14005b5d8
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x28]
cmp eax, 5
je 0x14005b5e0
test rbx, rbx
jne 0x14005b5b6
mov rsi, r12
mov dword [rsp + 0x20], r12d
lea r9, str.0r__
lea r8, str.0r__
xor edx, edx
mov rcx, rsi
call fcn.140227810
mov rbx, rax
test rax, rax
jne 0x14005b617
mov esi, dword [rsp + 0x168]
jmp 0x14005b580
call fcn.1401f8920
int3
cmp qword [rax + 0x30], 0
je 0x14005b694
mov qword [rsp + 0xc8], r12
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005b666
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14005b694
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b694
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rcx]
xor r8d, r8d
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
nop
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x14005b694
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [rbx + 0x30], 0
je 0x14005b714
mov qword [rsp + 0xd8], r12
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005b6e3
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x14005b714
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b714
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rcx]
mov r8d, 1
mov rdx, qword [rax + 0x28]
call qword [r9 + 0x60]
nop
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x14005b714
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp qword [rbx + 0x30], 0
je 0x14005b794
mov qword [rsp + 0xe8], r12
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
lea r9, [0x140272ff8]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140272f98]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x14005b763
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x14005b794
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14005b794
mov rax, qword [rbx + 0x30]
mov rcx, qword [rsp + 0xe8]
mov r10, qword [rcx]
mov r8d, 2
mov rdx, qword [rax + 0x28]
call qword [r10 + 0x60]
nop
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x14005b794
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r9d, 1
mov r8, rdi
lea rdx, str.General
lea rcx, [0x14032a360]
call fcn.1401ffaf4
nop
lea rdx, [rdi - 0x18]
lock xadd dword [rdx + 0x10], r14d
add r14d, 0xffffffff
test r14d, r14d
jg 0x14005b7cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x10]
mov rdi, qword [rax + 0x1a20]
test rdi, rdi
je 0x14005b80e
nop
mov rcx, rdi
test rdi, rdi
je 0x14005b808
mov rdi, qword [rdi]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14005b801
cmp dword [rcx + 0x58], 1
jne 0x14005b801
xor edx, edx
call fcn.14001aa20
test rdi, rdi
jne 0x14005b7e0
jmp 0x14005b80e
call fcn.1401f8920
int3
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret