Function at 0x14001e420
Capabilities:
Capture microphone audio

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3a0
movaps xmmword [rsp + 0x390], xmm6
mov rax, qword [0x1400a3080]
xor rax, rsp
mov qword [rsp + 0x380], rax
mov edi, dword [rsp + 0x410]
mov ebx, r8d
mov rsi, qword [rsp + 0x408]
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0x48], rcx
xor ebp, ebp
mov dword [rsp + 0x44], edi
mov qword [rdx], rbp
xor r9d, r9d
xor edx, edx
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r13d, dword [rsp + 0x420]
mov qword [r14], rax
test rax, rax
jne 0x14001e4ae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14001c620
mov esi, 0xffffd8f1
jmp 0x14001e702
lea eax, [rdi*8]
mov ecx, 0x40
movsxd rdx, eax
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov qword [r14 + 8], rax
test rax, rax
jne 0x14001e4d6
mov esi, 0xffffd8f8
jmp 0x14001e702
xor r8d, r8d
mov dword [r14 + 0x10], edi
test edi, edi
jle 0x14001e523
mov rcx, rdi
mov edx, r8d
test r13d, r13d
je 0x14001e510
nop dword [rax]
mov rax, qword [r14 + 8]
lea rdx, [rdx + 8]
mov qword [rdx + rax - 8], r8
sub rcx, 1
jne 0x14001e4f0
jmp 0x14001e523
mov rax, qword [r14 + 8]
lea rdx, [rdx + 8]
mov qword [rdx + rax - 8], r8
sub rcx, 1
jne 0x14001e510
test bl, 0x10
je 0x14001e52f
mov ebp, 0x92
jmp 0x14001e53f
test bl, 0x20
mov ebp, 1
mov eax, 0x164
cmovne ebp, eax
mov edx, r8d
mov dword [rsp + 0x40], edx
test edi, edi
jle 0x14001e784
movsd xmm6, qword [rsp + 0x400]
nop word [rax + rax]
mov rax, qword [r15 + 0x118]
mov ebx, r8d
movsxd rcx, dword [rsi]
movsxd r15, edx
shl r15, 3
mov r12d, dword [rax + rcx*4]
test ebx, ebx
je 0x14001e5b0
cmp ebx, 1
jne 0x14001e5da
mov eax, dword [rsi + 4]
mov word [rsp + 0x52], ax
mov word [rsp + 0x50], bp
mov dword [rsp + 0x5e], 0x10
lea ecx, [rax + rax]
cvttsd2si rax, xmm6
mov word [rsp + 0x5c], cx
mov dword [rsp + 0x54], eax
imul eax, ecx
mov dword [rsp + 0x58], eax
jmp 0x14001e5da
mov eax, dword [rsp + 0x418]
lea rcx, [rsp + 0x50]
mov edx, dword [rsi + 4]
mov r9d, ebp
mov dword [rsp + 0x28], eax
mov r8d, 8
movsd qword [rsp + 0x20], xmm6
call fcn.140023aa0
xor r8d, r8d
mov rcx, qword [r14 + 8]
mov edx, r12d
mov r9, qword [r14]
add rcx, r15
mov dword [rsp + 0x28], 0x50000
mov qword [rsp + 0x20], r8
lea r8, [rsp + 0x50]
test r13d, r13d
je 0x14001e606
call qword [sym.imp.WINMM.dll_waveInOpen]
jmp 0x14001e60c
call qword [sym.imp.WINMM.dll_waveOutOpen]
mov edi, eax
test eax, eax
je 0x14001e623
test ebx, ebx
jne 0x14001e648
mov ebx, 1
xor r8d, r8d
jmp 0x14001e578
mov edx, dword [rsp + 0x40]
add rsi, 8
inc edx
mov dword [rsp + 0x40], edx
cmp edx, dword [rsp + 0x44]
jge 0x14001e784
mov r15, qword [rsp + 0x48]
xor r8d, r8d
jmp 0x14001e560
mov eax, edi
sub eax, 2
je 0x14001e676
sub eax, 2
je 0x14001e66a
sub eax, 2
je 0x14001e66a
cmp eax, 1
jne 0x14001e676
mov esi, 0xffffd8f8
xor ebp, ebp
jmp 0x14001e702
mov esi, 0xffffd8ff
xor ebp, ebp
jmp 0x14001e702
lea rdx, [rsp + 0x180]
mov esi, 0xffffd8f1
mov r8d, pe_nt_image_headers64
mov ecx, edi
test r13d, r13d
je 0x14001e698
call qword [sym.imp.WINMM.dll_waveInGetErrorTextW]
jmp 0x14001e69e
call qword [sym.imp.WINMM.dll_waveOutGetErrorTextW]
xor ebp, ebp
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rbp
lea r8, [rsp + 0x180]
mov qword [rsp + 0x30], rbp
xor edx, edx
mov dword [rsp + 0x28], pe_nt_image_headers64
mov ecx, 0xfde9
lea r9d, [rbp - 1]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r8d, 0x400
mov dword [0x1400a3d88], 2
lea rdx, [rsp + 0x80]
mov dword [0x1400a3d8c], edi
lea rcx, [0x1400a6360]
call fcn.1400631d0
cmp qword [r14 + 8], 0
je 0x14001e75e
mov eax, dword [r14 + 0x10]
sub eax, 1
movsxd rbx, eax
js 0x14001e74b
nop word [rax + rax]
mov rax, qword [r14 + 8]
mov rcx, qword [rax + rbx*8]
test r13d, r13d
je 0x14001e73a
test rcx, rcx
je 0x14001e745
call qword [sym.imp.WINMM.dll_waveInClose]
jmp 0x14001e745
test rcx, rcx
je 0x14001e745
call qword [sym.imp.WINMM.dll_waveOutClose]
sub rbx, 1
jns 0x14001e720
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14001e75a
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov qword [r14 + 8], rbp
mov rcx, qword [r14]
test rcx, rcx
je 0x14001e780
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x14001e77d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14001c620
mov qword [r14], rbp
mov eax, esi
jmp 0x14001e786
xor eax, eax
mov rcx, qword [rsp + 0x380]
xor rcx, rsp
call fcn.140052e10
mov rbx, qword [rsp + 0x3f0]
movaps xmm6, xmmword [rsp + 0x390]
add rsp, 0x3a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret