Function at 0x1400beba0
Capabilities:
Query or enumerate registry value

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x17a0
call fcn.14011c260
sub rsp, rax
mov qword [rsp + 0xe8], 0xfffffffffffffffe
mov qword [rsp + 0x17d8], rbx
mov qword [rsp + 0x17e0], rbp
mov qword [rsp + 0x17e8], rsi
movaps xmmword [rsp + 0x1790], xmm6
mov rax, qword [0x14016adb0]
xor rax, rsp
mov qword [rsp + 0x1780], rax
mov r15, rcx
mov qword [rsp + 0xa8], rcx
mov r13, qword [rcx + 0x110]
mov qword [rsp + 0x60], r13
xor r14d, r14d
lea r12, str.Playback
mov qword [rsp + 0x88], r12
lea rsi, [rcx + 0xd8f8]
mov eax, r14d
imul rax, rax, 0x268
lea r15, [rax + r15 + 0xd718]
mov r9, r15
mov r8, qword [r12]
lea rdx, str.SimpleMode
mov rcx, r13
call fcn.140026f50
test byte [rsi + 0x78], 8
jne 0x1400becf9
lea rcx, [rsi - 0x130]
call fcn.1400cfe64
lea rcx, [r13 + 0x27434]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdx, rax
lea rcx, [rsi - 0x130]
call fcn.1400cfde4
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400befb2
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xb8], rax
lea rdx, [rsp + 0xb8]
lea rcx, [rsi - 0x1e0]
call fcn.1400d7278
xor r8d, r8d
lea rdx, [rsp + 0xb8]
lea rcx, [rsi - 0x1e0]
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400becf9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
lea ecx, [r14 + 0x22]
imul rcx, rcx, 0x208
lea rbp, [rcx + r13 + 0x27978]
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c02fc
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x90], rbx
test rbp, rbp
je 0x1400bee30
test rbp, 0xffffffffffff0000
jne 0x1400bed7b
movzx edi, bp
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400bee88
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.14000b050
mov rbx, qword [rsp + 0x90]
jmp 0x1400bee88
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
je 0x1400bee30
mov r12d, dword [rbx - 0x10]
mov r13, rbp
sub r13, rbx
sar r13, 1
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, edx
jge 0x1400bedce
mov edx, ecx
lea rcx, [rsp + 0x90]
call fcn.1400025c0
mov rbx, qword [rsp + 0x90]
cmp r13, r12
ja 0x1400bedee
movsxd rax, edi
lea r12, [rax + rax]
lea r8, [rbx + r13*2]
mov r9, r12
mov rdx, r12
mov rcx, rbx
call fcn.1400fa430
jmp 0x1400bee06
movsxd rax, edi
lea r12, [rax + rax]
mov r9, r12
mov r8, rbp
mov rdx, r12
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400befbd
cmp edi, dword [rbx - 0xc]
jg 0x1400befbd
mov dword [rbx - 0x10], edi
mov word [r12 + rbx], 0
mov r12, qword [rsp + 0x88]
mov r13, qword [rsp + 0x60]
jmp 0x1400bee88
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400bee88
cmp dword [rdx + 0x10], 0
jge 0x1400bee5b
cmp dword [rbx - 0xc], 0
jl 0x1400befc8
mov dword [rbx - 0x10], 0
mov word [rbx], 0
jmp 0x1400bee88
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bee73
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 + 0x90], rbx
xor r8d, r8d
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400beeb8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rcx, qword [rsi - 0x1a0]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.1400cf94c
mov rbp, rax
mov rcx, qword [rsi]
test rcx, rcx
je 0x1400beede
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r8d, dword [rsi + 0x4c]
mov edx, dword [rsi + 0x48]
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsi], rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov rdx, qword [rsi]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov r15, qword [rsp + 0xa8]
mov rdx, qword [r15 + 0xdbe8]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [rsi + 0x4c]
mov r9d, dword [rsi + 0x48]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r9d
mov ecx, dword [rsi + 0x34]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsi + 0x30]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edx
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rdx, qword [rbp + 8]
mov rcx, qword [rsi - 0x1a0]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
add r14d, 1
add r12, 8
mov qword [rsp + 0x88], r12
add rsi, 0x268
cmp r14d, 2
jae 0x1400befd3
jmp 0x1400bec25
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
xor r14d, r14d
mov dword [rsp + 0x88], r14d
xor eax, eax
mov qword [rsp + 0xa8], rax
lea rdi, str.OPTIONS
lea rbp, [0x14016ef30]
movsd xmm6, qword [0x140144208]
nop
mov r12, rax
imul r12, r12, 0xd60
mov qword [rsp + 0xe0], r12
cmp dword [r12 + r15 + 0xe5c], 0
je 0x1400c021a
lea r13, [r12 + r15 + 0x118]
test byte [r13 + 0x258], 8
jne 0x1400bf0df
lea rcx, [r13 + 0xb0]
call fcn.1400cfe64
mov rbx, qword [rsp + 0x60]
lea rcx, [rbx + 0x27434]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdx, rax
lea rcx, [r13 + 0xb0]
call fcn.1400cfde4
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c0241
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea rdx, [rsp + 0xb0]
mov rcx, r13
call fcn.1400d7278
xor r8d, r8d
lea rdx, [rsp + 0xb0]
mov rcx, r13
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf0e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
lea rdi, str.OPTIONS
jmp 0x1400bf0ed
mov rbx, qword [rsp + 0x60]
jmp 0x1400bf0ed
lea rdi, str.OPTIONS
cmp r14d, 0xc
jne 0x1400bf395
lea rcx, [r15 + 0xacd4]
lea rdx, str.Front_Analog_In
call fcn.1400fa3c0
test rax, rax
je 0x1400bf395
mov r9, qword [r15 + 0x110]
add r9, 0x27568
je 0x1400bf8bf
mov dword [rsp + 0xc8], 0x104
mov qword [rsp + 0x20], rdi
lea r8, str.SYSTEMCurrentControlSetServicesVIA_HD_Audio_Codec_DefaultVDeckINI
lea rdx, str._s_s_s_
lea rcx, [rsp + 0x1570]
call fcn.14001e4d0
lea rdx, [rsp + 0xd8]
mov qword [rsp + 0x20], rdx
lea r9d, [r14 - 0xb]
xor r8d, r8d
lea rdx, [rsp + 0x1570]
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400bf8bf
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x1360]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.VIA_GeneralInpute
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test edi, edi
jne 0x1400bf8bf
lea rcx, [rsp + 0x1360]
call fcn.1400fa6e0
cmp eax, 7
jne 0x1400bf2b9
add rbx, 0x287b0
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c024c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x98], rax
test rbx, rbx
je 0x1400bf25e
test rbx, 0xffffffffffff0000
jne 0x1400bf249
movzx edi, bx
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400bf274
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.14000b050
jmp 0x1400bf274
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
jmp 0x1400bf260
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.14000ace0
nop
lea rcx, [r15 + 0xa198]
xor r8d, r8d
lea rdx, [rsp + 0x98]
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf8bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
jmp 0x1400bf8bf
cmp eax, 6
jne 0x1400bf8bf
add rbx, 0x37968
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c0257
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
test rbx, rbx
je 0x1400bf33a
test rbx, 0xffffffffffff0000
jne 0x1400bf325
movzx edi, bx
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400bf350
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.14000b050
jmp 0x1400bf350
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
jmp 0x1400bf33c
xor ecx, ecx
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0xa0]
call fcn.14000ace0
nop
lea rcx, [r15 + 0xa198]
xor r8d, r8d
lea rdx, [rsp + 0xa0]
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf8bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
jmp 0x1400bf8bf
movsxd rdi, dword [r12 + r15 + 0xa48]
mov rsi, qword [r15 + 0x110]
xor edx, edx
mov r8d, 0x828
lea rcx, [rsp + 0x920]
call fcn.1400fce30
test edi, edi
js 0x1400bf429
mov rax, rdi
cmp rdi, qword [rsi + 0xac0]
jge 0x1400bf429
cmp rax, qword [rsi + 0xac0]
jge 0x1400bf3ec
test edi, edi
js 0x1400bf3ec
mov rcx, qword [rsi + 0xab0]
test edi, edi
je 0x1400bf3ee
sub rax, 1
mov rcx, qword [rcx]
jne 0x1400bf3e1
jmp 0x1400bf3ee
xor ecx, ecx
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x1400bf414
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x920]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400bf444
lea rcx, [rsp + 0xf0]
mov r8d, 0x828
call fcn.1400fd180
jmp 0x1400bf444
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x920]
mov r8d, 0x828
call fcn.1400fd180
movsxd rax, dword [rsp + 0x504]
cmp dword [rsi + 0x266f4], 0
je 0x1400bf70c
cmp eax, 6
jne 0x1400bf70c
lea rdx, [rsp + 0x710]
lea rcx, [rsi + 0xa88]
call fcn.14008a160
mov edi, eax
mov edx, 4
movsd xmm0, xmm6
call fcn.1400b4ed0
cvttsd2si rcx, xmm0
xor edx, edx
mov eax, edi
div ecx
cmp eax, 0x10de
jne 0x1400bf4b3
lea r8, str.Nvidia
mov edx, 0x104
lea rcx, [rsp + 0x1150]
call fcn.1400f9e00
jmp 0x1400bf510
cmp eax, 0x8086
jne 0x1400bf4d5
lea r8, str.Intel
mov edx, 0x104
lea rcx, [rsp + 0x1150]
call fcn.1400f9e00
jmp 0x1400bf510
cmp eax, 0x1002
jne 0x1400bf4f7
lea r8, str.AMD
mov edx, 0x104
lea rcx, [rsp + 0x1150]
call fcn.1400f9e00
jmp 0x1400bf510
lea r8, [0x14012c778]
mov edx, 0x104
lea rcx, [rsp + 0x1150]
call fcn.1400f9e00
movsxd rax, dword [rsp + 0x504]
movsxd rcx, dword [rbp + rax*4]
imul rcx, rcx, 0x208
mov rax, qword [r15 + 0x110]
lea r8, [rcx + rax + 0x27978]
mov edx, 0x104
lea rcx, [rsp + 0x1150]
call fcn.1400fb090
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c0278
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
lea rcx, [rsp + 0x1150]
lea rax, [rsp + 0x1150]
test rax, 0xffffffffffff0000
jne 0x1400bf5ba
movzx edi, cx
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400bf6c4
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14000b050
mov rbx, qword [rsp + 0x80]
jmp 0x1400bf6c4
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x1150]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x1400bf634
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1400bf6c4
cmp dword [rdx + 0x10], eax
jge 0x1400bf602
cmp dword [rbx - 0xc], eax
jl 0x1400c0262
mov dword [rbx - 0x10], eax
mov word [rbx], ax
jmp 0x1400bf6c4
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf61a
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 + 0x80], rbx
jmp 0x1400bf6c4
mov esi, dword [rbx - 0x10]
lea rbp, [rsp + 0x1150]
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 0x1400bf66d
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.1400025c0
mov rbx, qword [rsp + 0x80]
cmp rbp, rsi
ja 0x1400bf68d
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 0x1400bf6aa
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
lea r8, [rsp + 0x1150]
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400c026d
cmp edi, dword [rbx - 0xc]
jg 0x1400c026d
mov dword [rbx - 0x10], edi
mov word [rsi + rbx], 0
mov eax, r14d
imul rax, rax, 0xd60
lea rcx, [rax + r15 + 0x118]
xor r8d, r8d
lea rdx, [rsp + 0x80]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf8bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
jmp 0x1400bf8bf
movsxd rcx, dword [rbp + rax*4]
imul rcx, rcx, 0x208
lea rsi, [rcx + rsi + 0x27978]
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c02f1
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
test rsi, rsi
je 0x1400bf82e
test rsi, 0xffffffffffff0000
jne 0x1400bf786
movzx edi, si
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400bf883
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14000b050
mov rbx, qword [rsp + 0x68]
jmp 0x1400bf883
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
je 0x1400bf82e
mov ebp, dword [rbx - 0x10]
mov r12, rsi
sub r12, rbx
sar r12, 1
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, edx
jge 0x1400bf7d2
mov edx, ecx
lea rcx, [rsp + 0x68]
call fcn.1400025c0
mov rbx, qword [rsp + 0x68]
cmp r12, rbp
ja 0x1400bf7f2
movsxd rax, edi
lea rbp, [rax + rax]
lea r8, [rbx + r12*2]
mov r9, rbp
mov rdx, rbp
mov rcx, rbx
call fcn.1400fa430
jmp 0x1400bf80a
movsxd rax, edi
lea rbp, [rax + rax]
mov r9, rbp
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400c0283
cmp edi, dword [rbx - 0xc]
jg 0x1400c0283
mov dword [rbx - 0x10], edi
mov word [rbx + rbp], 0
mov r12, qword [rsp + 0xe0]
jmp 0x1400bf883
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400bf883
cmp dword [rdx + 0x10], 0
jge 0x1400bf859
cmp dword [rbx - 0xc], 0
jl 0x1400c028e
mov dword [rbx - 0x10], 0
mov word [rbx], 0
jmp 0x1400bf883
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf871
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
mov eax, r14d
imul rax, rax, 0xd60
lea rcx, [rax + r15 + 0x118]
xor r8d, r8d
lea rdx, [rsp + 0x68]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bf8bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.1400cf94c
mov rsi, rax
mov rcx, qword [r13 + 0x1e0]
test rcx, rcx
je 0x1400bf8e6
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r8d, dword [r13 + 0x22c]
mov edx, dword [r13 + 0x228]
mov rcx, qword [rsi + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [r13 + 0x1e0], rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov rdx, qword [r13 + 0x1e0]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, qword [r15 + 0xdbe8]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [r13 + 0x22c]
mov r9d, dword [r13 + 0x228]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r9d
mov ecx, dword [r13 + 0x214]
mov dword [rsp + 0x38], ecx
mov ecx, dword [r13 + 0x210]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edx
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rdx, qword [rsi + 8]
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
lea rsi, [r12 + r15 + 0x7e0]
test byte [rsi + 0x258], 8
jne 0x1400bfa61
lea rcx, [rsi + 0xb0]
call fcn.1400cfe64
mov r13, qword [rsp + 0x60]
lea rcx, [r13 + 0x27434]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdx, rax
lea rcx, [rsi + 0xb0]
call fcn.1400cfde4
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c0299
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xd0], rax
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400d7278
xor r8d, r8d
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bfa66
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
jmp 0x1400bfa66
mov r13, qword [rsp + 0x60]
lea rbp, [r13 + 0x2bc80]
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c02e6
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x70], rbx
test rbp, rbp
je 0x1400bfb82
test rbp, 0xffffffffffff0000
jne 0x1400bfad3
movzx edi, bp
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400bfbd7
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000b050
mov rbx, qword [rsp + 0x70]
jmp 0x1400bfbd7
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
je 0x1400bfb82
mov r12d, dword [rbx - 0x10]
mov r13, rbp
sub r13, rbx
sar r13, 1
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, edx
jge 0x1400bfb20
mov edx, ecx
lea rcx, [rsp + 0x70]
call fcn.1400025c0
mov rbx, qword [rsp + 0x70]
cmp r13, r12
ja 0x1400bfb40
movsxd rax, edi
lea r12, [rax + rax]
lea r8, [rbx + r13*2]
mov r9, r12
mov rdx, r12
mov rcx, rbx
call fcn.1400fa430
jmp 0x1400bfb58
movsxd rax, edi
lea r12, [rax + rax]
mov r9, r12
mov r8, rbp
mov rdx, r12
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400c02a4
cmp edi, dword [rbx - 0xc]
jg 0x1400c02a4
mov dword [rbx - 0x10], edi
mov word [r12 + rbx], 0
mov r12, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x60]
jmp 0x1400bfbd7
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400bfbd7
cmp dword [rdx + 0x10], 0
jge 0x1400bfbad
cmp dword [rbx - 0xc], 0
jl 0x1400c02af
mov dword [rbx - 0x10], 0
mov word [rbx], 0
jmp 0x1400bfbd7
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bfbc5
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
imul r14, r14, 0xd60
lea rcx, [r14 + r15 + 0x7e0]
xor r8d, r8d
lea rdx, [rsp + 0x70]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bfc10
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.1400cf94c
mov rbp, rax
mov rcx, qword [rsi + 0x1e0]
test rcx, rcx
je 0x1400bfc37
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r8d, dword [rsi + 0x22c]
mov edx, dword [rsi + 0x228]
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsi + 0x1e0], rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov rdx, qword [rsi + 0x1e0]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, qword [r15 + 0xdbe8]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [rsi + 0x22c]
mov r9d, dword [rsi + 0x228]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r9d
mov ecx, dword [rsi + 0x214]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsi + 0x210]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edx
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rdx, qword [rbp + 8]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [rsp + 0x88], 8
jae 0x1400bfda0
lea rbx, [r13 + 0x45ef0]
test rbx, rbx
je 0x1400bfe35
cmp qword [rsi + 0x118], 0
jne 0x1400bfd4f
lea rcx, [rsi + 0xd8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rsi
call qword [rax + 0x268]
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
lea rcx, [rsi + 0xd8]
call fcn.1400d1498
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
lea rcx, [rsi + 0xd8]
call fcn.1400d1538
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400bfe35
lea rbx, [r13 + 0x46508]
test rbx, rbx
je 0x1400bfe35
cmp qword [rsi + 0x118], 0
jne 0x1400bfde9
lea rcx, [rsi + 0xd8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rsi
call qword [rax + 0x268]
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
lea rcx, [rsi + 0xd8]
call fcn.1400d1498
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
lea rcx, [rsi + 0xd8]
call fcn.1400d1538
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rsi, [r12 + r15 + 0x578]
test byte [rsi + 0x258], 8
jne 0x1400bfee4
lea rcx, [rsi + 0xb0]
call fcn.1400cfe64
lea rcx, [r13 + 0x27434]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdx, rax
lea rcx, [rsi + 0xb0]
call fcn.1400cfde4
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c02ba
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xc0], rax
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.1400d7278
xor r8d, r8d
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.1400211e0
nop
mov rdx, qword [rsp + 0xc0]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400bfee4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
lea rbp, [r13 + 0x2f560]
call fcn.1400cc6e8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400c02db
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
test rbp, rbp
je 0x1400bfff8
test rbp, 0xffffffffffff0000
jne 0x1400bff51
movzx edi, bp
mov ecx, edi
call fcn.1400de4e4
test rax, rax
je 0x1400c004d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.14000b050
mov rbx, qword [rsp + 0x78]
jmp 0x1400c004d
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
je 0x1400bfff8
mov r12d, dword [rbx - 0x10]
mov r13, rbp
sub r13, rbx
sar r13, 1
mov edx, 1
sub edx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, ecx
or eax, edx
jge 0x1400bff9e
mov edx, ecx
lea rcx, [rsp + 0x78]
call fcn.1400025c0
mov rbx, qword [rsp + 0x78]
cmp r13, r12
ja 0x1400bffbe
movsxd rax, edi
lea r12, [rax + rax]
lea r8, [rbx + r13*2]
mov r9, r12
mov rdx, r12
mov rcx, rbx
call fcn.1400fa430
jmp 0x1400bffd6
movsxd rax, edi
lea r12, [rax + rax]
mov r9, r12
mov r8, rbp
mov rdx, r12
mov rcx, rbx
call fcn.1400f9cc0
test edi, edi
js 0x1400c02c5
cmp edi, dword [rbx - 0xc]
jg 0x1400c02c5
mov dword [rbx - 0x10], edi
mov word [r12 + rbx], 0
mov r13, qword [rsp + 0x60]
jmp 0x1400c004d
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400c004d
cmp dword [rdx + 0x10], 0
jge 0x1400c0023
cmp dword [rbx - 0xc], 0
jl 0x1400c02d0
mov dword [rbx - 0x10], 0
mov word [rbx], 0
jmp 0x1400c004d
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c003b
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 + 0x78], rbx
lea rcx, [r14 + r15 + 0x578]
xor r8d, r8d
lea rdx, [rsp + 0x78]
call fcn.1400211e0
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c007f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.DSOUND.dll_DirectSoundCaptureEnumerateW]
lea rbx, [r13 + 0x44ca8]
test rbx, rbx
je 0x1400c0114
cmp qword [rsi + 0x118], 0
jne 0x1400c00c8
lea rcx, [rsi + 0xd8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rsi
call qword [rax + 0x268]
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
lea rcx, [rsi + 0xd8]
call fcn.1400d1498
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
lea rcx, [rsi + 0xd8]
call fcn.1400d1538
xor r9d, r9d
mov edx, 0x401
lea r8d, [r9 + 1]
mov rcx, qword [rsi + 0x118]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.1400cf94c
mov rbp, rax
mov rcx, qword [rsi + 0x1e0]
test rcx, rcx
je 0x1400c013b
call qword [sym.imp.GDI32.dll_DeleteObject]
mov r8d, dword [rsi + 0x22c]
mov edx, dword [rsi + 0x228]
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsi + 0x1e0], rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rbx, rax
mov rcx, qword [rbp + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov rdx, qword [rsi + 0x1e0]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, qword [r15 + 0xdbe8]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [rsi + 0x22c]
mov r9d, dword [rsi + 0x228]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x40], r9d
mov ecx, dword [rsi + 0x214]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsi + 0x210]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edx
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.GDI32.dll_StretchBlt]
mov rdx, qword [rbp + 8]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_ReleaseDC]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
mov r14d, dword [rsp + 0x88]
mov rax, qword [rsp + 0xa8]
lea rbp, [0x14016ef30]
lea rdi, str.OPTIONS
add r14d, 1
mov dword [rsp + 0x88], r14d
add rax, 1
mov qword [rsp + 0xa8], rax
cmp r14d, 0x10
jae 0x1400c0307
jmp 0x1400bf000
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
nop
mov ecx, 0x80070057
call fcn.1400025a0
int3
mov ecx, 0x80070057
call fcn.1400025a0
nop
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov ecx, 0x80004005
call fcn.1400025a0
int3
mov rcx, qword [rsp + 0x1780]
xor rcx, rsp
call fcn.1400f9790
lea r11, [rsp + 0x17a0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret