Function at 0x14002e850
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x21e0
call fcn.14011c260
sub rsp, rax
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x2218], rbx
mov qword [rsp + 0x2220], rbp
mov qword [rsp + 0x2228], rsi
movaps xmmword [rsp + 0x21d0], xmm6
movaps xmmword [rsp + 0x21c0], xmm7
movaps xmmword [rsp + 0x21b0], xmm8
movaps xmmword [rsp + 0x21a0], xmm9
movaps xmmword [rsp + 0x2190], xmm10
movaps xmmword [rsp + 0x2180], xmm11
movaps xmmword [rsp + 0x2170], xmm12
movaps xmmword [rsp + 0x2160], xmm13
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x2150], rax
mov rbx, rcx
mov dword [rcx + 0x110], 0xffffffff
mov dword [rcx + 0x120], 0xffffffff
mov dword [rcx + 0x124], 0xffffffff
mov dword [rcx + 0x128], 0xffffffff
mov dword [rcx + 0x12c], 0xffffffff
mov dword [rcx + 0x130], 0xffffffff
mov dword [rcx + 0x134], 0xffffffff
mov dword [rcx + 0x138], 0xffffffff
mov dword [rcx + 0x13c], 0xffffffff
mov eax, dword [rcx + 0x568]
test eax, eax
jne 0x14002f62d
movsxd rax, dword [rcx + 0x14c]
mov rdx, qword [rcx + 0x980]
test eax, eax
js 0x14002f623
cmp rax, qword [rdx + 0xac0]
jge 0x14002f623
cmp rax, qword [rdx + 0xac0]
jge 0x14002e99b
test rax, rax
js 0x14002e99b
mov rcx, qword [rdx + 0xab0]
test rax, rax
je 0x14002e99d
nop
nop
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002e990
jmp 0x14002e99d
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002f623
movsxd r15, dword [rax + 0x2460]
test r15d, r15d
je 0x14002f623
cmp dword [rdx + 0x2672c], 0
je 0x14002ec38
xor ebp, ebp
mov r12d, dword [rsp + 0x54]
nop
test ebp, ebp
je 0x14002ea06
cmp ebp, 1
jne 0x14002ea35
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
lea edx, [rbp + 0xb]
lea r8d, [rbp + 8]
call fcn.140087d00
mov r12d, eax
cmp eax, 0xffffffff
jne 0x14002ea35
mov dword [rbx + 0x134], eax
jmp 0x14002ec2c
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov edx, 8
lea r8d, [rdx + 1]
call fcn.140087d00
mov r12d, eax
cmp eax, 0xffffffff
jne 0x14002ea35
mov dword [rbx + 0x130], eax
jmp 0x14002ec2c
mov rdi, qword [rbx + 0x980]
xor edx, edx
mov r8d, 0x828
lea rcx, [rsp + 0x890]
call fcn.1400fce30
test r12d, r12d
js 0x14002eac2
movsxd rax, r12d
cmp rax, qword [rdi + 0xac0]
jge 0x14002eac2
cmp rax, qword [rdi + 0xac0]
jge 0x14002ea8b
test r12d, r12d
js 0x14002ea8b
mov rcx, qword [rdi + 0xab0]
test r12d, r12d
je 0x14002ea8d
nop
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002ea80
jmp 0x14002ea8d
xor ecx, ecx
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x14002eab0
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x890]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x14002eada
lea rcx, [rsp + 0x68]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x14002eada
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x890]
mov r8d, 0x828
call fcn.1400fd180
lea rcx, [rsp + 0x10c0]
lea rdx, [rsp + 0x68]
mov r8d, 0x828
call fcn.1400fd180
xor esi, esi
test r15d, r15d
jle 0x14002ec2c
nop
mov word [rsp + 0x1910], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1912]
call fcn.1400fce30
mov word [rsp + 0x1b20], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1b22]
call fcn.1400fce30
movsxd rdx, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test edx, edx
js 0x14002ebba
mov rax, rdx
cmp rdx, qword [rcx + 0xac0]
jge 0x14002ebba
cmp rdx, qword [rcx + 0xac0]
jge 0x14002eb7f
test edx, edx
js 0x14002eb7f
mov rcx, qword [rcx + 0xab0]
test edx, edx
je 0x14002eb81
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002eb74
jmp 0x14002eb81
xor ecx, ecx
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14002ebba
test esi, esi
js 0x14002ebba
cmp esi, dword [rdx + 0xa78]
jge 0x14002ebba
movsxd rax, esi
imul rax, rax, 0x228
lea r8, [rax + rdx + 0xaa0]
mov edx, 0x104
lea rcx, [rsp + 0x1910]
call fcn.1400f9e00
mov r8d, 0x104
lea rdx, [rsp + 0x1b20]
lea rcx, [rsp + 0x1910]
call fcn.140085870
lea rdx, [rsp + 0x1b20]
lea rdi, [rsp + 0x10c4]
sub rdi, rdx
nop
nop
movzx ecx, word [rdx]
movzx eax, word [rdx + rdi]
sub ecx, eax
jne 0x14002ec03
add rdx, 2
test eax, eax
jne 0x14002ebf0
test ecx, ecx
je 0x14002ec15
add esi, 1
cmp esi, r15d
jl 0x14002eb00
jmp 0x14002ec2c
test ebp, ebp
je 0x14002ec26
cmp ebp, 1
jne 0x14002ec2c
mov dword [rbx + 0x134], esi
jmp 0x14002ec2c
mov dword [rbx + 0x130], esi
add ebp, 1
cmp ebp, 2
jl 0x14002e9d0
mov rax, qword [rbx + 0x980]
cmp dword [rax + 0x19380], 0
jne 0x14002edb1
xor r14d, r14d
xor ebp, ebp
xor r12d, r12d
test r15d, r15d
jle 0x14002ed51
xor edi, edi
nop
movsxd rax, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
mov dword [rsp + 0x30], 0
test eax, eax
js 0x14002ed4b
cmp rax, qword [rcx + 0xac0]
jge 0x14002ed4b
cmp rax, qword [rcx + 0xac0]
jge 0x14002ecb0
test rax, rax
js 0x14002ecb0
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002ecb2
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002eca5
jmp 0x14002ecb2
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002ed4b
test rdi, rdi
js 0x14002ed4b
cmp ebp, dword [rax + 0xa78]
jge 0x14002ed4b
xor ecx, ecx
mov qword [rsp + 0x40], rcx
cmp qword [rax + rdi + 0xa80], rcx
je 0x14002ed20
mov rcx, qword [rax + rdi + 0xa80]
mov rax, qword [rcx]
lea r9, [rsp + 0x40]
lea r8, [0x14013c388]
mov edx, 0x17
call qword [rax + 0x68]
test eax, eax
js 0x14002ed1b
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x40]
jmp 0x14002ed20
mov rcx, qword [rsp + 0x40]
mov esi, dword [rsp + 0x30]
test rcx, rcx
je 0x14002ed2f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test esi, esi
je 0x14002ed4b
add ebp, 1
add r12, 1
add rdi, 0x228
cmp r12, r15
jge 0x14002ed51
jmp 0x14002ec60
mov r14d, 1
movsxd rax, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test eax, eax
js 0x14002edb1
cmp rax, qword [rcx + 0xac0]
jge 0x14002edb1
cmp rax, qword [rcx + 0xac0]
jge 0x14002ed91
test rax, rax
js 0x14002ed91
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002ed93
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002ed86
jmp 0x14002ed93
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002edb1
mov rcx, qword [rax + 0x828]
test rcx, rcx
je 0x14002edb1
mov edx, r14d
call qword [0x1401ca970]
xor ebp, ebp
test r15d, r15d
jle 0x14002f0b0
xor r12d, r12d
nop
movsxd rax, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test eax, eax
js 0x14002ee31
cmp rax, qword [rcx + 0xac0]
jge 0x14002ee31
cmp rax, qword [rcx + 0xac0]
jge 0x14002ee00
test rax, rax
js 0x14002ee00
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002ee02
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002edf5
jmp 0x14002ee02
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002ee31
test ebp, ebp
js 0x14002ee31
cmp ebp, dword [rax + 0xa78]
jge 0x14002ee31
lea r8, [rax + r12 + 0xaa0]
mov edx, 0x104
lea rcx, [rsp + 0x1d30]
call fcn.1400f9e00
mov dword [rsp + 0x30], 0x104
lea rcx, [rsp + 0x1b20]
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionMMDevicesAudioCapture_
mov r8d, 0x86
call fcn.1400fd180
xor edx, edx
mov r8d, 0x182
lea rcx, [rsp + 0x1ba6]
call fcn.1400fce30
xor r11d, r11d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor esi, esi
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1d30]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
je 0x14002eebb
nop
cmp word [rsp + rdx*2 + 0x1d30], 0x7b
jne 0x14002ee9e
add esi, 1
cmp esi, 2
je 0x14002eeb5
add r8d, 1
add rdx, 1
mov eax, r8d
cmp rax, rcx
jb 0x14002ee90
jmp 0x14002eebb
mov r11d, r8d
mov r9, rdx
mov eax, r11d
cmp rax, rcx
ja 0x14002ef12
lea rdx, [rsp + 0x1d30]
lea rsi, [rsp + r9*2 + 0x1d30]
nop
nop
nop
nop
movzx eax, word [rsi]
mov word [rdx], ax
add r11d, 1
add rsi, 2
add rdx, 2
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1d30]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov eax, r11d
cmp rax, rcx
jbe 0x14002eee0
lea r8, [rsp + 0x1d30]
mov edx, 0x104
lea rcx, [rsp + 0x1b20]
call fcn.1400fb090
lea r8, str.Properties
mov edx, 0x104
lea rcx, [rsp + 0x1b20]
call fcn.1400fb090
mov edx, 0x104
lea rcx, [rsp + 0x1f40]
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
test eax, eax
jne 0x14002ef91
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x78
jne 0x14002ef91
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, [rsp + 0x1b20]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
jmp 0x14002efb9
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x101
xor r8d, r8d
lea rdx, [rsp + 0x1b20]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14002eff7
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1910]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.a45c254e_df1c_4efd_8020_67d146a850e0_2
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rdx, [0x140132444]
lea rcx, [rsp + 0x1910]
call fcn.1400fa3c0
test rax, rax
je 0x14002f01b
mov dword [rbx + 0x110], ebp
jmp 0x14002f09d
lea rsi, [rsp + 0x1910]
lea rdi, [0x140132450]
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
jne 0x14002f03c
mov dword [rbx + 0x120], ebp
jmp 0x14002f09d
lea rdx, str.Back
lea rcx, [rsp + 0x1910]
call fcn.1400fa3c0
test rax, rax
je 0x14002f05d
mov dword [rbx + 0x124], ebp
jmp 0x14002f09d
lea rdx, str.Center_LFE
lea rcx, [rsp + 0x1910]
call fcn.1400fa3c0
test rax, rax
je 0x14002f07e
mov dword [rbx + 0x128], ebp
jmp 0x14002f09d
lea rdx, str.Side
lea rcx, [rsp + 0x1910]
call fcn.1400fa3c0
test rax, rax
je 0x14002f09d
mov dword [rbx + 0x12c], ebp
add ebp, 1
add r12, 0x228
cmp ebp, r15d
jl 0x14002edc0
cmp dword [rbx + 0x110], 0xffffffff
jne 0x14002f0ed
lea rcx, [rbx + 0x10d8]
xor edx, edx
call fcn.1400dc9c4
xor edx, edx
mov rcx, qword [rbx + 0xc00]
call fcn.1400dc9c4
lea rcx, [rbx + 0x1340]
xor edx, edx
call fcn.1400dc9c4
mov eax, 1
jmp 0x14002fff3
xor edx, edx
lea r9d, [rdx + 1]
lea r8d, [rdx + 0x64]
mov rcx, qword [rbx + 0xc00]
call fcn.1400deadc
movsxd rdx, dword [rbx + 0x110]
movsxd rax, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test eax, eax
js 0x14002f3fa
cmp rax, qword [rcx + 0xac0]
jge 0x14002f3fa
cmp rax, qword [rcx + 0xac0]
jge 0x14002f152
test rax, rax
js 0x14002f152
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002f154
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002f147
jmp 0x14002f154
xor ecx, ecx
mov rdi, qword [rcx + 0x10]
test rdi, rdi
jne 0x14002f165
xorps xmm6, xmm6
jmp 0x14002f3fd
test edx, edx
js 0x14002f3f5
cmp edx, dword [rdi + 0x2460]
jge 0x14002f3f5
mov eax, 0x80004005
xorps xmm8, xmm8
movss dword [rsp + 0x3c], xmm8
movss dword [rsp + 0x38], xmm8
mov qword [rsp + 0x40], 0
mov rsi, rdx
imul rsi, rsi, 0x228
cmp qword [rsi + rdi + 0x2468], 0
je 0x14002f1c1
mov rcx, qword [rsi + rdi + 0x2468]
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
call qword [rax + 0x40]
cmp qword [rsi + rdi + 0x2468], 0
je 0x14002f1f2
cmp dword [rsp + 0x58], 0
jbe 0x14002f1f2
mov rcx, qword [rsi + rdi + 0x2468]
mov rax, qword [rcx]
lea r9, [rsp + 0x40]
lea r8, [0x14013c378]
mov edx, 0x17
call qword [rax + 0x68]
test eax, eax
js 0x14002f3d0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r8, [rsp + 0x3c]
xor edx, edx
call qword [rax + 0x28]
test eax, eax
js 0x14002f3d0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x54]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
xor edx, edx
call qword [rax + 0x20]
test eax, eax
js 0x14002f3d0
movsd xmm13, qword [0x1401432b0]
movss xmm12, dword [0x140143b68]
movss xmm10, dword [0x140143ddc]
movss xmm11, dword [0x140143dd8]
movss xmm9, dword [rsp + 0x3c]
movss xmm1, dword [rsp + 0x50]
comiss xmm9, xmm1
jb 0x14002f27d
movss dword [rsp + 0x3c], xmm12
jmp 0x14002f2f4
movss xmm6, dword [rsp + 0x30]
comiss xmm6, xmm9
jb 0x14002f292
movss dword [rsp + 0x3c], xmm8
jmp 0x14002f2f4
divss xmm1, xmm10
movaps xmm0, xmm11
call fcn.140119cd0
movaps xmm7, xmm0
movss dword [rsp + 0x50], xmm0
divss xmm6, xmm10
movaps xmm1, xmm6
movaps xmm0, xmm11
call fcn.140119cd0
movaps xmm6, xmm0
movss dword [rsp + 0x30], xmm0
divss xmm9, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm11
call fcn.140119cd0
subss xmm0, xmm6
subss xmm7, xmm6
divss xmm0, xmm7
cvtss2sd xmm0, xmm0
andpd xmm0, xmm13
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x3c], xmm0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea r8, [rsp + 0x38]
mov edx, 1
call qword [rax + 0x28]
test eax, eax
js 0x14002f3d0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x54]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
mov edx, 1
call qword [rax + 0x20]
test eax, eax
js 0x14002f3d0
movss xmm9, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x50]
comiss xmm9, xmm1
jb 0x14002f359
movss dword [rsp + 0x38], xmm12
jmp 0x14002f3d0
movss xmm6, dword [rsp + 0x30]
comiss xmm6, xmm9
jb 0x14002f36e
movss dword [rsp + 0x38], xmm8
jmp 0x14002f3d0
divss xmm1, xmm10
movaps xmm0, xmm11
call fcn.140119cd0
movaps xmm7, xmm0
movss dword [rsp + 0x50], xmm0
divss xmm6, xmm10
movaps xmm1, xmm6
movaps xmm0, xmm11
call fcn.140119cd0
movaps xmm6, xmm0
movss dword [rsp + 0x30], xmm0
divss xmm9, xmm10
movaps xmm1, xmm9
movaps xmm0, xmm11
call fcn.140119cd0
subss xmm0, xmm6
subss xmm7, xmm6
divss xmm0, xmm7
cvtss2sd xmm0, xmm0
andpd xmm0, xmm13
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x38], xmm0
movss xmm6, dword [rsp + 0x3c]
comiss xmm6, dword [rsp + 0x38]
ja 0x14002f3e3
movss xmm6, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14002f3fd
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14002f3fd
xorps xmm6, xmm6
jmp 0x14002f3fd
xorps xmm6, xmm6
mulss xmm6, dword [0x140143588]
cvttss2si edi, xmm6
mov rcx, qword [rbx + 0xc00]
movsxd r9, edi
mov edx, 0x405
mov r8d, 1
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 0xa
mov r8, r9
lea rdx, [rsp + 0x18f0]
mov ecx, edi
call fcn.1400fa960
mov rdi, qword [rbx + 0xc00]
cmp qword [rdi + 0x138], 0
jne 0x14002f480
lea rcx, [rdi + 0xf8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rdi
call qword [rax + 0x268]
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rdi + 0x138]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40d
mov rcx, qword [rdi + 0x138]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x14002f4d0
lea rdx, [rsp + 0x40]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
lea rcx, [rdi + 0xf8]
mov qword [rsp + 0x20], 1
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x18f0]
mov rdx, rdi
call fcn.1400d1498
lea rcx, [rdi + 0xf8]
mov r9d, 1
mov r8, rdi
lea rdx, [rsp + 0x18f0]
call fcn.1400d1538
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rdi + 0x138]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rdx, dword [rbx + 0x110]
movsxd rax, dword [rbx + 0x14c]
mov rcx, qword [rbx + 0x980]
mov dword [rsp + 0x30], 0
test eax, eax
js 0x14002f5e7
cmp rax, qword [rcx + 0xac0]
jge 0x14002f5e7
cmp rax, qword [rcx + 0xac0]
jge 0x14002f55d
test rax, rax
js 0x14002f55d
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002f55f
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002f552
jmp 0x14002f55f
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
jne 0x14002f56f
xor edi, edi
jmp 0x14002f5e9
test edx, edx
js 0x14002f5e3
cmp edx, dword [rax + 0xa78]
jge 0x14002f5e3
xor ecx, ecx
mov qword [rsp + 0x40], rcx
imul rdx, rdx, 0x228
cmp qword [rdx + rax + 0xa80], rcx
je 0x14002f5d2
mov rcx, qword [rdx + rax + 0xa80]
mov rax, qword [rcx]
lea r9, [rsp + 0x40]
lea r8, [0x14013c388]
mov edx, 0x17
call qword [rax + 0x68]
test eax, eax
js 0x14002f5cd
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x40]
jmp 0x14002f5d2
mov rcx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x30]
test rcx, rcx
je 0x14002f5e9
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x14002f5e9
xor edi, edi
jmp 0x14002f5e9
xor edi, edi
mov dword [rbx + 0x118], edi
test edi, edi
jne 0x14002f5fb
mov dword [rbx + 0x15a0], edi
jmp 0x14002f606
cmp edi, 1
jne 0x14002f606
mov dword [rbx + 0x15a0], edi
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbx + 0x1380]
call qword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x14002ffe7
mov eax, 1
jmp 0x14002fff3
cmp eax, 9
jne 0x14002fbd0
add rcx, 0x10d8
xor edx, edx
call fcn.1400dc9c4
xor edx, edx
mov rcx, qword [rbx + 0xc00]
call fcn.1400dc9c4
lea rcx, [rbx + 0x1340]
xor edx, edx
call fcn.1400dc9c4
mov rcx, qword [rbx + 0x980]
cmp dword [rcx + 0x266e0], 0
jne 0x14002f67a
mov eax, 1
jmp 0x14002fff3
movsxd rax, dword [rbx + 0x150]
test eax, eax
js 0x14002fbc6
cmp rax, qword [rcx + 0xac0]
jge 0x14002fbc6
cmp rax, qword [rcx + 0xac0]
jge 0x14002f6bb
test rax, rax
js 0x14002f6bb
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002f6bd
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002f6b0
jmp 0x14002f6bd
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002fbc6
mov r13d, dword [rax + 0x2460]
test r13d, r13d
je 0x14002fbc6
xor r12d, r12d
mov ebp, dword [rsp + 0x54]
mov ecx, r12d
test r12d, r12d
je 0x14002f78e
sub ecx, 1
je 0x14002f760
sub ecx, 1
je 0x14002f732
cmp ecx, 1
jne 0x14002f7bc
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov edx, SafeArrayGetDim
lea r8d, [rdx - 4]
call fcn.140087d00
mov ebp, eax
cmp eax, 0xffffffff
jne 0x14002f7bc
mov dword [rbx + 0x13c], eax
jmp 0x14002f9ca
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov edx, 0xa
lea r8d, [rdx - 1]
call fcn.140087d00
mov ebp, eax
cmp eax, 0xffffffff
jne 0x14002f7bc
mov dword [rbx + 0x138], eax
jmp 0x14002f9ca
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov edx, reloc.QsApoApi64.dll_Ordinal_12
lea r8d, [rdx - 3]
call fcn.140087d00
mov ebp, eax
cmp eax, 0xffffffff
jne 0x14002f7bc
mov dword [rbx + 0x134], eax
jmp 0x14002f9ca
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov edx, 8
lea r8d, [rdx + 1]
call fcn.140087d00
mov ebp, eax
cmp eax, 0xffffffff
jne 0x14002f7bc
mov dword [rbx + 0x130], eax
jmp 0x14002f9ca
mov rdi, qword [rbx + 0x980]
xor edx, edx
mov r8d, 0x828
lea rcx, [rsp + 0x890]
call fcn.1400fce30
test ebp, ebp
js 0x14002f842
movsxd rax, ebp
cmp rax, qword [rdi + 0xac0]
jge 0x14002f842
cmp rax, qword [rdi + 0xac0]
jge 0x14002f80b
test ebp, ebp
js 0x14002f80b
mov rcx, qword [rdi + 0xab0]
test ebp, ebp
je 0x14002f80d
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002f800
jmp 0x14002f80d
xor ecx, ecx
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x14002f830
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x890]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x14002f85a
lea rcx, [rsp + 0x68]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x14002f85a
lea rcx, [rsp + 0x68]
lea rdx, [rsp + 0x890]
mov r8d, 0x828
call fcn.1400fd180
lea rcx, [rsp + 0x10c0]
lea rdx, [rsp + 0x68]
mov r8d, 0x828
call fcn.1400fd180
xor esi, esi
test r13d, r13d
jle 0x14002f9ca
nop
mov word [rsp + 0x1910], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1912]
call fcn.1400fce30
mov word [rsp + 0x1b20], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1b22]
call fcn.1400fce30
movsxd rdx, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test edx, edx
js 0x14002f93a
mov rax, rdx
cmp rdx, qword [rcx + 0xac0]
jge 0x14002f93a
cmp rdx, qword [rcx + 0xac0]
jge 0x14002f8ff
test edx, edx
js 0x14002f8ff
mov rcx, qword [rcx + 0xab0]
test edx, edx
je 0x14002f901
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002f8f4
jmp 0x14002f901
xor ecx, ecx
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14002f93a
test esi, esi
js 0x14002f93a
cmp esi, dword [rdx + 0xa78]
jge 0x14002f93a
movsxd rax, esi
imul rax, rax, 0x228
lea r8, [rax + rdx + 0xaa0]
mov edx, 0x104
lea rcx, [rsp + 0x1910]
call fcn.1400f9e00
mov r8d, 0x104
lea rdx, [rsp + 0x1b20]
lea rcx, [rsp + 0x1910]
call fcn.140085870
lea rdx, [rsp + 0x1b20]
lea rdi, [rsp + 0x10c4]
sub rdi, rdx
nop
nop
movzx ecx, word [rdx]
movzx eax, word [rdx + rdi]
sub ecx, eax
jne 0x14002f983
add rdx, 2
test eax, eax
jne 0x14002f970
test ecx, ecx
je 0x14002f995
add esi, 1
cmp esi, r13d
jl 0x14002f880
jmp 0x14002f9ca
mov ecx, r12d
test r12d, r12d
je 0x14002f9c4
sub ecx, 1
je 0x14002f9bc
sub ecx, 1
je 0x14002f9b4
cmp ecx, 1
jne 0x14002f9ca
mov dword [rbx + 0x13c], esi
jmp 0x14002f9ca
mov dword [rbx + 0x138], esi
jmp 0x14002f9ca
mov dword [rbx + 0x134], esi
jmp 0x14002f9ca
mov dword [rbx + 0x130], esi
add r12d, 1
cmp r12d, 4
jl 0x14002f6e1
mov rax, qword [rbx + 0x980]
cmp dword [rax + 0x8b4], 0
je 0x14002ffe7
xor ebp, ebp
test r13d, r13d
jle 0x14002ffe7
xor r12d, r12d
nop
nop
mov word [rsp + 0x1910], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1912]
call fcn.1400fce30
mov word [rsp + 0x1d30], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1d32]
call fcn.1400fce30
movsxd rdx, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test edx, edx
js 0x14002fab0
mov rax, rdx
cmp rdx, qword [rcx + 0xac0]
jge 0x14002fab0
cmp rdx, qword [rcx + 0xac0]
jge 0x14002fa7f
test edx, edx
js 0x14002fa7f
mov rcx, qword [rcx + 0xab0]
test edx, edx
je 0x14002fa81
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002fa74
jmp 0x14002fa81
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002fab0
test ebp, ebp
js 0x14002fab0
cmp ebp, dword [rax + 0xa78]
jge 0x14002fab0
lea r8, [rax + r12 + 0xaa0]
mov edx, 0x104
lea rcx, [rsp + 0x1910]
call fcn.1400f9e00
mov r8d, 0x104
lea rdx, [rsp + 0x1d30]
lea rcx, [rsp + 0x1910]
call fcn.140085870
lea rdx, [0x140132444]
lea rcx, [rsp + 0x1d30]
call fcn.1400fa3c0
test rax, rax
jne 0x14002fbae
lea rsi, [rsp + 0x1d30]
lea rdi, [0x140132450]
mov ecx, 6
repe cmpsw word [rsi], word [rdi]
je 0x14002fbae
lea rdx, str.Back
lea rcx, [rsp + 0x1d30]
call fcn.1400fa3c0
test rax, rax
jne 0x14002fbae
lea rdx, str.Center_LFE
lea rcx, [rsp + 0x1d30]
call fcn.1400fa3c0
test rax, rax
jne 0x14002fbae
lea rdx, str.Side
lea rcx, [rsp + 0x1d30]
call fcn.1400fa3c0
test rax, rax
jne 0x14002fbae
mov eax, dword [rbx + 0x130]
cmp ebp, eax
je 0x14002fbae
mov ecx, dword [rbx + 0x134]
cmp ebp, ecx
je 0x14002fbae
mov edx, dword [rbx + 0x138]
cmp ebp, edx
je 0x14002fbae
mov edi, dword [rbx + 0x13c]
cmp ebp, edi
je 0x14002fbae
cmp eax, 0xffffffff
jne 0x14002fb89
mov dword [rbx + 0x130], ebp
jmp 0x14002fbae
cmp ecx, 0xffffffff
jne 0x14002fb96
mov dword [rbx + 0x134], ebp
jmp 0x14002fbae
cmp edx, 0xffffffff
jne 0x14002fba3
mov dword [rbx + 0x138], ebp
jmp 0x14002fbae
cmp edi, 0xffffffff
jne 0x14002fbae
mov dword [rbx + 0x13c], ebp
add ebp, 1
add r12, 0x228
cmp ebp, r13d
jl 0x14002fa00
jmp 0x14002ffe7
mov eax, 1
jmp 0x14002fff3
cmp eax, 8
je 0x14002fc13
cmp eax, 0xa
je 0x14002fc13
cmp eax, 0xc
je 0x14002fc13
cmp eax, 0xd
je 0x14002fc13
add rcx, 0x10d8
xor edx, edx
call fcn.1400dc9c4
xor edx, edx
mov rcx, qword [rbx + 0xc00]
call fcn.1400dc9c4
lea rcx, [rbx + 0x1340]
xor edx, edx
call fcn.1400dc9c4
jmp 0x14002ffe7
movsxd rax, dword [rcx + 0x150]
mov rcx, qword [rcx + 0x980]
test eax, eax
js 0x14002ffee
cmp rax, qword [rcx + 0xac0]
jge 0x14002ffee
cmp rax, qword [rcx + 0xac0]
jge 0x14002fc5b
test rax, rax
js 0x14002fc5b
mov rcx, qword [rcx + 0xab0]
test rax, rax
je 0x14002fc5d
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002fc50
jmp 0x14002fc5d
xor ecx, ecx
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002ffee
mov ebp, dword [rax + 0x2460]
test ebp, ebp
je 0x14002ffee
xor esi, esi
test ebp, ebp
jle 0x14002fd9a
mov word [rsp + 0x1910], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1912]
call fcn.1400fce30
mov word [rsp + 0x1b20], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1b22]
call fcn.1400fce30
movsxd rdx, dword [rbx + 0x150]
mov rcx, qword [rbx + 0x980]
test edx, edx
js 0x14002fd3c
mov rax, rdx
cmp rdx, qword [rcx + 0xac0]
jge 0x14002fd3c
cmp rdx, qword [rcx + 0xac0]
jge 0x14002fd01
test edx, edx
js 0x14002fd01
mov rcx, qword [rcx + 0xab0]
test edx, edx
je 0x14002fd03
sub rax, 1
mov rcx, qword [rcx]
jne 0x14002fcf6
jmp 0x14002fd03
xor ecx, ecx
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14002fd3c
test esi, esi
js 0x14002fd3c
cmp esi, dword [rdx + 0xa78]
jge 0x14002fd3c
movsxd rax, esi
imul rax, rax, 0x228
lea r8, [rax + rdx + 0xaa0]
mov edx, 0x104
lea rcx, [rsp + 0x1910]
call fcn.1400f9e00
mov r8d, 0x104
lea rdx, [rsp + 0x1b20]
lea rcx, [rsp + 0x1910]
call fcn.140085870
lea rdx, [rsp + 0x1b20]
lea rdi, [rbx + 0x158]
sub rdi, rdx
nop
nop
movzx ecx, word [rdx]
movzx eax, word [rdx + rdi]
sub ecx, eax
jne 0x14002fd83
add rdx, 2
test eax, eax
jne 0x14002fd70
test ecx, ecx
je 0x14002fd94
add esi, 1
cmp esi, ebp
jl 0x14002fc82
jmp 0x14002fd9a
mov dword [rbx + 0x110], esi
cmp dword [rbx + 0x110], 0xffffffff
jne 0x14002fdd8
lea rsi, [rbx + 0x10d8]
xor edx, edx
mov rcx, rsi
call fcn.1400dc9c4
xor edx, edx
mov rcx, qword [rbx + 0xc00]
call fcn.1400dc9c4
lea rdi, [rbx + 0x1340]
xor edx, edx
mov rcx, rdi
call fcn.1400dc9c4
jmp 0x14002ffab
xor edx, edx
lea r9d, [rdx + 1]
lea r8d, [rdx + 0x64]
mov rcx, qword [rbx + 0xc00]
call fcn.1400deadc
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov r8d, dword [rbx + 0x110]
mov edx, dword [rbx + 0x150]
call fcn.140088a20
mulss xmm0, dword [0x140143588]
cvttss2si edi, xmm0
movsxd r9, edi
mov rcx, qword [rbx + 0xc00]
mov edx, 0x405
mov r8d, 1
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 0xa
mov r8, r9
lea rdx, [rsp + 0x18f0]
mov ecx, edi
call fcn.1400fa960
mov rdi, qword [rbx + 0xc00]
cmp qword [rdi + 0x138], 0
jne 0x14002fe9c
lea rcx, [rdi + 0xf8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rdi
call qword [rax + 0x268]
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rdi + 0x138]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40d
mov rcx, qword [rdi + 0x138]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x14002feec
lea rdx, [rsp + 0x40]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
lea rcx, [rdi + 0xf8]
mov qword [rsp + 0x20], 1
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x18f0]
mov rdx, rdi
call fcn.1400d1498
lea rcx, [rdi + 0xf8]
mov r9d, 1
mov r8, rdi
lea rdx, [rsp + 0x18f0]
call fcn.1400d1538
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rdi + 0x138]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x980]
add rcx, 0xa88
mov r8d, dword [rbx + 0x110]
mov edx, dword [rbx + 0x150]
call fcn.140089090
mov dword [rbx + 0x118], eax
lea rdi, [rbx + 0x1340]
test eax, eax
jne 0x14002ff59
mov dword [rdi + 0x260], eax
cmp eax, 1
jne 0x14002ff64
mov dword [rdi + 0x260], eax
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_RedrawWindow]
lea rsi, [rbx + 0x10d8]
mov edx, 5
mov rcx, rsi
call fcn.1400dc9c4
mov edx, 5
mov rcx, qword [rbx + 0xc00]
call fcn.1400dc9c4
mov edx, 5
mov rcx, rdi
call fcn.1400dc9c4
mov rax, qword [rbx + 0x980]
cmp dword [rax + 0x8b4], 0
je 0x14002ffe7
xor edx, edx
mov rcx, rsi
call fcn.1400dc9c4
xor edx, edx
mov rcx, qword [rbx + 0xc00]
call fcn.1400dc9c4
xor edx, edx
mov rcx, rdi
call fcn.1400dc9c4
mov dword [rbx + 0x110], 0xffffffff
mov eax, 1
jmp 0x14002fff3
mov eax, 1
mov rcx, qword [rsp + 0x2150]
xor rcx, rsp
call fcn.1400f9790
lea r11, [rsp + 0x21e0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret