Function at 0x1400720b0
Capabilities:
Extract resource via kernel32 functions
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov rbp, rcx
lea r9, [rcx + 0x3470]
lea r8, str.AutoTesting
lea rdx, str.SpkTestPage
mov rcx, qword [rcx + 0x940]
call fcn.140026f50
call fcn.1400cc6e8
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x140072119
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
lea rdx, [0x14012c778]
mov rax, rdx
or r15, 0xffffffffffffffff
shr rax, 0x10
mov qword [rsp + 0x78], rax
jne 0x14007216f
movzx edi, dx
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x14007219a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14000b050
lea rdi, [0x14012c778]
jmp 0x1400721a1
xor eax, eax
mov rcx, r15
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdi, [0x14012c778]
mov rdx, rdi
lea rcx, [rsp + 0x80]
call fcn.14000ace0
jmp 0x1400721a1
lea rdi, [0x14012c778]
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [rbp + 0x3470]
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400721dd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
cmp byte [rbp + 0xc60], 0
je 0x1400724bb
lea rax, str.HeadphoneLeft
mov qword [rsp + 0x88], rax
lea rax, str.HeadphoneRight
mov qword [rsp + 0x90], rax
mov r13d, esi
lea r14, [rsp + 0x88]
lea r12, [rbp + 0x948]
nop
nop
mov eax, r13d
imul rax, rax, 0x268
lea r9, [rax + rbp + 0xd48]
mov qword [r12], r9
mov r8, qword [r14]
lea rdx, str.SpkTestPage
mov rcx, qword [rbp + 0x940]
call fcn.140026f50
call fcn.1400cc6e8
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x1400724b0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x58], rbx
cmp qword [rsp + 0x78], 0
jne 0x1400722a8
movzx edi, di
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400723ae
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14000b050
mov rbx, qword [rsp + 0x58]
jmp 0x1400723ae
xor eax, eax
mov rcx, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x140072316
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1400723ae
cmp dword [rdx + 0x10], eax
jge 0x1400722e7
cmp dword [rbx - 0xc], eax
jl 0x14007244b
mov dword [rbx - 0x10], esi
mov word [rbx], ax
jmp 0x1400723ae
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400722ff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x58], rbx
jmp 0x1400723ae
mov esi, dword [rbx - 0x10]
lea rdx, [0x14012c778]
mov rbp, rdx
sub rbp, rbx
sar rbp, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140072352
mov edx, edi
lea rcx, [rsp + 0x58]
call fcn.1400025c0
mov rbx, qword [rsp + 0x58]
lea rdx, [0x14012c778]
cmp rbp, rsi
ja 0x140072372
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbx + rbp*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.1400fa430
jmp 0x14007238a
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400724a5
cmp edi, dword [rbx - 0xc]
jg 0x1400724a5
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
xor r8d, r8d
lea rdx, [rsp + 0x58]
mov rcx, qword [r12]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400723dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rdi, qword [r12]
mov edx, dword [rdi + 0x224]
mov ecx, dword [rdi + 0x220]
lea rax, [rdi + 0x1d0]
mov dword [rsp + 0x48], 0x32
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ecx
mov r9d, dword [rdi + 0x20c]
mov r8d, dword [rdi + 0x208]
mov rdx, qword [rdi + 0x1c0]
mov rcx, rdi
call fcn.140021d10
add r13d, 1
add r14, 8
add r12, 8
cmp r13d, 2
jae 0x140072456
lea rdi, [0x14012c778]
jmp 0x140072220
mov ecx, 0x80070057
call fcn.1400025a0
nop
lea r9, [rbp + 0x2ef8]
mov qword [rbp + 0x9e8], r9
mov r8, qword [str.LoudnessEq]
lea rdx, str.SpkTestPage
mov rcx, qword [rbp + 0x940]
call fcn.140026f50
lea rcx, [rbp + 0x33c8]
xor edx, edx
call fcn.1400dc9c4
lea rcx, [rbp + 0x3160]
xor edx, edx
call fcn.1400dc9c4
mov r14d, 1
jmp 0x140072d98
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov r12d, esi
lea r14, str.FrontLeft_2
lea r13, [rbp + 0x948]
lea rdx, [0x1401922e0]
mov r8d, r12d
mov eax, r12d
imul rax, rax, 0x268
lea r9, [rax + rbp + 0xd48]
mov qword [r13], r9
mov rcx, qword [rbp + 0x940]
cmp dword [rcx + 0x970], 0
jne 0x14007252e
cmp dword [rcx + 0x266e4], 0
je 0x14007252e
cmp dword [rcx + 0x21334], 0
je 0x14007252e
cmp dword [rcx + 0x204], 2
jne 0x14007252e
cmp r12d, 2
jae 0x140072544
mov r8, qword [r14]
lea rdx, str.SpkTestPage
call fcn.140026f50
jmp 0x140072544
imul r8, r8, 0x208
add r8, rdx
lea rdx, str.SpkTestPage
call fcn.140026f50
call fcn.1400cc6e8
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x140073245
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
cmp qword [rsp + 0x78], 0
jne 0x1400725a0
movzx edi, di
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400726a6
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000b050
mov rbx, qword [rsp + 0x70]
jmp 0x1400726a6
xor eax, eax
mov rcx, r15
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14007260e
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1400726a6
cmp dword [rdx + 0x10], eax
jge 0x1400725df
cmp dword [rbx - 0xc], eax
jl 0x140072796
mov dword [rbx - 0x10], esi
mov word [rbx], ax
jmp 0x1400726a6
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400725f7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
jmp 0x1400726a6
mov esi, dword [rbx - 0x10]
lea rdx, [0x14012c778]
mov rbp, rdx
sub rbp, rbx
sar rbp, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14007264a
mov edx, edi
lea rcx, [rsp + 0x70]
call fcn.1400025c0
mov rbx, qword [rsp + 0x70]
lea rdx, [0x14012c778]
cmp rbp, rsi
ja 0x14007266a
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbx + rbp*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.1400fa430
jmp 0x140072682
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x14007323a
cmp edi, dword [rbx - 0xc]
jg 0x14007323a
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, qword [r13]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400726d4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rdi, qword [r13]
mov edx, dword [rdi + 0x224]
mov ecx, dword [rdi + 0x220]
lea rax, [rdi + 0x1d0]
mov dword [rsp + 0x48], 0xc8
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ecx
mov r9d, dword [rdi + 0x20c]
mov r8d, dword [rdi + 0x208]
mov rdx, qword [rdi + 0x1c0]
mov rcx, rdi
call fcn.140021d10
mov rcx, qword [r13]
lea rdi, [rcx + 0x1c8]
cmp qword [rdi], 0
jne 0x140072771
mov eax, dword [rcx + 0x224]
mov edx, dword [rcx + 0x220]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
mov r9d, dword [rcx + 0x20c]
mov r8d, dword [rcx + 0x208]
mov rdx, qword [rcx + 0x1c0]
call fcn.140022200
add r12d, 1
add r14, 8
add r13, 8
cmp r12d, 8
jae 0x1400727a1
lea rdx, [0x1401922e0]
lea rdi, [0x14012c778]
jmp 0x1400724d3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov r12d, esi
lea r14, str.ChannelCfg2
lea r13, [rbp + 0x988]
mov eax, r12d
imul rax, rax, 0x268
lea r9, [rax + rbp + 0x2088]
mov qword [r13], r9
mov r8, qword [r14]
lea rdx, str.SpkTestPage
mov rcx, qword [rbp + 0x940]
call fcn.140026f50
call fcn.1400cc6e8
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x14007322f
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
cmp qword [rsp + 0x78], 0
jne 0x140072841
lea rax, [0x14012c778]
movzx edi, ax
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x14007294a
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000b050
mov rbx, qword [rsp + 0x68]
jmp 0x14007294a
xor eax, eax
mov rcx, r15
lea rdx, [0x14012c778]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x1400728b9
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14007294a
cmp dword [rdx + 0x10], eax
jge 0x14007288a
cmp dword [rbx - 0xc], eax
jl 0x14007298f
mov dword [rbx - 0x10], esi
mov word [rbx], ax
jmp 0x14007294a
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400728a2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
jmp 0x14007294a
mov esi, dword [rbx - 0x10]
mov rbp, rdx
sub rbp, rbx
sar rbp, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400728ee
mov edx, edi
lea rcx, [rsp + 0x68]
call fcn.1400025c0
mov rbx, qword [rsp + 0x68]
lea rdx, [0x14012c778]
cmp rbp, rsi
ja 0x14007290e
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbx + rbp*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.1400fa430
jmp 0x140072926
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x140073224
cmp edi, dword [rbx - 0xc]
jg 0x140073224
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
xor r8d, r8d
lea rdx, [rsp + 0x68]
mov rcx, qword [r13]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140072978
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
add r12d, 1
add r14, 8
add r13, 8
cmp r12d, 4
jae 0x14007299a
jmp 0x1400727b2
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov r13d, esi
lea r15, str.SpeakerFill
lea r14, [rbp + 0x9d8]
nop
nop
mov eax, r13d
imul rax, rax, 0x268
lea r9, [rax + rbp + 0x2a28]
mov qword [r14], r9
mov r8, qword [r15]
lea rdx, str.SpkTestPage
mov rcx, qword [rbp + 0x940]
call fcn.140026f50
call fcn.1400cc6e8
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
je 0x140073219
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
cmp qword [rsp + 0x78], 0
jne 0x140072b65
lea rax, [0x14012c778]
movzx esi, ax
mov ecx, esi
call fcn.1400de4e4
mov rbp, rax
test rax, rax
je 0x140072cbc
mov ecx, esi
shr ecx, 4
add cx, 1
movzx edx, cx
mov r8d, 6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov r12, rax
test rax, rax
je 0x140072cb0
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140072ca4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
je 0x140072c98
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rdi
and esi, 0xf
jbe 0x140072aa8
cmp rdi, rcx
jae 0x140072c8c
movzx eax, word [rdi]
lea rdi, [rdi + rax*2 + 2]
add esi, 0xffffffff
jne 0x140072a92
cmp rdi, rcx
jae 0x140072c74
movzx eax, word [rdi]
test ax, ax
je 0x140072c80
movzx esi, ax
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, ecx
jge 0x140072ae2
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.1400025c0
mov rbx, qword [rsp + 0x60]
movzx ecx, word [rdi]
lea r8, [rdi + 2]
cmp ecx, 0xffffffff
jne 0x140072aff
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
and ecx, ecx
lea rdi, [rsi + rsi]
movsxd r9, ecx
add r9, r9
mov rdx, rdi
mov rcx, rbx
call fcn.1400f9cc0
test eax, eax
je 0x140072b3c
cmp eax, 0xc
je 0x140072d16
cmp eax, 0x16
je 0x140072d10
cmp eax, 0x22
je 0x140072d10
cmp eax, 0x50
jne 0x140072d0a
test esi, esi
js 0x140072d1c
cmp esi, dword [rbx - 0xc]
jg 0x140072d1c
mov dword [rbx - 0x10], esi
mov word [rdi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor eax, eax
or r8, 0xffffffffffffffff
mov rcx, r8
lea rdx, [0x14012c778]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x140072be1
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x140072cc6
cmp dword [rdx + 0x10], eax
jge 0x140072bb2
cmp dword [rbx - 0xc], eax
jl 0x140072d27
mov dword [rbx - 0x10], esi
mov word [rbx], ax
jmp 0x140072cc6
mov eax, r8d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140072bca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x60], rbx
jmp 0x140072cc6
mov esi, dword [rbx - 0x10]
mov rbp, rdx
sub rbp, rbx
sar rbp, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140072c16
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.1400025c0
mov rbx, qword [rsp + 0x60]
lea rdx, [0x14012c778]
cmp rbp, rsi
ja 0x140072c36
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbx + rbp*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.1400fa430
jmp 0x140072c4e
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x14007320e
cmp edi, dword [rbx - 0xc]
jg 0x14007320e
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x140072cc6
xor esi, esi
mov rbp, qword [rsp + 0xf0]
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [r14]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140072cf3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
add r13d, 1
add r15, 8
add r14, 8
cmp r13d, 4
jae 0x140072d32
jmp 0x1400729b0
call fcn.1400d1dcc
int3
call fcn.1400d1dcc
int3
call fcn.1400d1d84
int3
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov r9, rax
mov edx, 0xf7
mov r8d, 2
mov rcx, qword [rbp + 0x3408]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbp + 0x33c8]
mov r14d, 1
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 0x1e
mov edx, 0x190
lea r9d, [r14 + 0x77]
lea r8d, [rdx - 0x64]
call fcn.1400dc97c
lea rcx, [rbp + 0x3160]
xor edx, edx
call fcn.1400dc9c4
or r15, 0xffffffffffffffff
lea r13, [rbp + 0x9f8]
mov r9, r13
lea r8, str.DTSSurrSensation
lea rdx, str.DTSSurrSensationPage
mov rcx, qword [rbp + 0x940]
call fcn.140026f50
call fcn.1400cc6e8
mov rdx, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x140072ddb
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
cmp qword [rsp + 0x78], 0
jne 0x140072f54
lea rax, [0x14012c778]
movzx esi, ax
mov ecx, esi
call fcn.1400de4e4
mov rbp, rax
test rax, rax
je 0x1400730ab
mov ecx, esi
shr ecx, 4
add cx, 1
movzx edx, cx
mov r8d, 6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov r12, rax
test rax, rax
je 0x14007309f
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140073093
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
je 0x140073087
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rdi
and esi, 0xf
jbe 0x140072e96
nop
cmp rdi, rcx
jae 0x14007307b
movzx eax, word [rdi]
lea rdi, [rdi + rax*2 + 2]
add esi, 0xffffffff
jne 0x140072e80
cmp rdi, rcx
jae 0x140073063
movzx eax, word [rdi]
test ax, ax
je 0x14007306f
movzx esi, ax
sub r14d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, esi
or eax, r14d
jge 0x140072ecd
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.1400025c0
mov rbx, qword [rsp + 0x50]
movzx ecx, word [rdi]
lea r8, [rdi + 2]
cmp ecx, 0xffffffff
jne 0x140072ee9
xor eax, eax
mov rcx, r15
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
and ecx, ecx
lea rdi, [rsi + rsi]
movsxd r9, ecx
add r9, r9
mov rdx, rdi
mov rcx, rbx
call fcn.1400f9cc0
test eax, eax
je 0x140072f28
cmp eax, 0xc
je 0x140072f22
cmp eax, 0x16
je 0x140072f1c
cmp eax, 0x22
je 0x140072f1c
cmp eax, 0x50
je 0x140072f28
call fcn.1400d1dcc
int3
call fcn.1400d1dcc
int3
call fcn.1400d1d84
int3
test esi, esi
js 0x140072f49
cmp esi, dword [rbx - 0xc]
jg 0x140072f49
mov dword [rbx - 0x10], esi
mov word [rdi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
mov ecx, 0x80070057
call fcn.1400025a0
int3
xor eax, eax
mov rcx, r15
lea rdx, [0x14012c778]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x140072fd3
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1400730b5
cmp dword [rdx + 0x10], eax
jge 0x140072fa4
cmp dword [rbx - 0xc], eax
jge 0x140072f99
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov dword [rbx - 0x10], esi
mov word [rbx], ax
jmp 0x1400730b5
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140072fbc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
jmp 0x1400730b5
mov esi, dword [rbx - 0x10]
mov rbp, rdx
sub rbp, rbx
sar rbp, 1
sub r14d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, r14d
jge 0x140073005
mov edx, ecx
lea rcx, [rsp + 0x50]
call fcn.1400025c0
mov rbx, qword [rsp + 0x50]
lea rdx, [0x14012c778]
cmp rbp, rsi
ja 0x140073025
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rbx + rbp*2]
mov r9, rsi
mov rdx, rsi
mov rcx, rbx
call fcn.1400fa430
jmp 0x14007303d
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
mov r8, rdx
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x140073203
cmp edi, dword [rbx - 0xc]
jg 0x140073203
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
jmp 0x1400730b5
xor esi, esi
mov rbp, qword [rsp + 0xf0]
xor r8d, r8d
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r15d
add r15d, 0xffffffff
test r15d, r15d
jg 0x1400730e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
lea rdx, [rbp + 0x734]
mov rcx, qword [rbp + 0x940]
add rcx, 0xa88
call fcn.14008a160
mov edi, eax
mov rcx, qword [rbp + 0x940]
mov rcx, qword [rcx + 0x110]
test rcx, rcx
je 0x1400731c9
mov dword [rsp + 0xf8], esi
add rcx, 4
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x14007315b
lea rcx, str.GetInstalledSoundeffects:_CreateFile:_INVALID_HANDLE_VALUE_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1400731c9
mov qword [rsp + 0x38], rsi
lea rax, [rsp + 0x108]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1d6070
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400731b2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.GetInstalledSoundeffects:_DeviceIoControl:_IOCTL_HDAUD_GET_VIA_DRVSUPPORT3RDPRTEFTS_failed_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1400731c9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [rsp + 0xf8]
mov dword [rsp + 0x100], edx
test byte [rsp + 0x100], 4
je 0x1400731f0
lea rax, [0x14018ce38]
nop
nop
cmp dword [rax], edi
je 0x1400731fa
add esi, 1
add rax, 4
cmp esi, 0xa
jb 0x1400731e0
xor edx, edx
mov rcx, r13
call fcn.1400dc9c4
mov byte [rbp + 0x38e0], 1
jmp 0x140073250
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
int3
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret