Function at 0x423730
Capabilities:
Create thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
movups xmmword [rsp + 0x140], xmm6
movups xmmword [rsp + 0x150], xmm7
movups xmmword [rsp + 0x160], xmm8
mov r12, rcx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov rax, qword [r12 + 0x1b0]
mov rbp, qword [r12 + 0x250]
lea r9, [rsp + 0x130]
mov r8d, dword [r12 + 0x1a8]
mov qword [rsp + 0x68], r9
mov rdi, qword [rax]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x70], rbp
mov rcx, qword [rax + 0x18]
mov rbx, qword [rax + 0x28]
mov qword [rsp + 0xc0], 0
mov r13, qword [rax + 8]
mov rsi, qword [rax + 0x20]
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0xb8], rcx
mov ebp, dword [r12 + 0x1ac]
lea rcx, str.AVRT.dll
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov dword [rsp + 0xf0], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0x4c], r8d
mov qword [rsp + 0x120], r9
mov qword [rsp + 0x128], 0
mov byte [rsp + 0x130], 0
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x4238cb
mov dword [rsp + 0xd8], 0
lea rdx, str.AvSetMmThreadCharacteristicsW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rsp + 0xd8]
lea rcx, str.Pro_Audio
call rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x423dd0
mov r15, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [r15 + 0x40]
test eax, eax
js 0x424c40
mov edx, dword [r12 + 0x214]
mov rcx, r12
call fcn.0044cf90
mov ecx, 0x38
lea ebx, [rax*8]
call fcn.005052f0
mov r11d, dword [r12 + 0x1e0]
mov rdi, rax
xor edx, edx
mov r8d, ebx
mov rax, qword [rsp + 0xc0]
mov r10d, dword [r12 + 0x214]
mov dword [rsp + 0x28], r11d
mov ecx, dword [rax + 4]
sub r10d, 0x10
and r10d, 0xffffffef
mov dword [rsp + 0x20], ecx
mov r9d, dword [r12 + 0x1f8]
sete dl
mov rcx, rdi
call fcn.0042b7c0
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
cmp qword [rsp + 0xb0], 0
mov r14d, dword [r12 + 0x1e0]
mov ebx, dword [rdx + 4]
mov r11, qword [rcx]
je 0x424200
mov dword [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xd8]
call qword [r11 + 0x20]
test eax, eax
js 0x424cb8
pxor xmm6, xmm6
pxor xmm0, xmm0
pxor xmm3, xmm3
mov ecx, dword [r12 + 0x1e4]
cvtsi2ss xmm6, rbx
movss xmm1, dword [0x0050fa40]
movss xmm2, dword [0x0050fa58]
cvtsi2ss xmm0, r14
cvtsi2ss xmm3, rcx
divss xmm6, xmm0
mulss xmm3, xmm6
andps xmm1, xmm3
comiss xmm2, xmm1
ja 0x4241d8
cvttss2si rbx, xmm3
mov r14d, dword [r12 + 0x1f8]
mov edx, dword [r12 + 0x214]
mov rcx, r12
imul ebx, r14d
imul r14d, dword [rsp + 0xd8]
mov dword [rsp + 0xd8], r14d
call fcn.0044cf90
mov rcx, qword [rsp + 0xe0]
mov r15d, eax
add ebx, dword [rsp + 0xd8]
call sub.msvcrt.dll_free
mov edx, r15d
mov ecx, ebx
call sub.msvcrt.dll_calloc
mov dword [rsp + 0xe8], ebx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xec], 0
test r13, r13
je 0x423ddf
mov rax, qword [r13]
lea rdx, [rsp + 0xc8]
mov rcx, r13
call qword [rax + 0x40]
test eax, eax
js 0x424cd8
mov edx, dword [r12 + 0x210]
mov rcx, r12
call fcn.0044cf90
mov ecx, 0x38
lea r14d, [rax*8]
call fcn.005052f0
mov r8, qword [rsp + 0xc8]
mov r10d, dword [r12 + 0x210]
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x58], rax
mov r9d, dword [r8 + 4]
sub r10d, 0x10
mov r8d, r14d
and r10d, 0xffffffef
mov dword [rsp + 0x28], r9d
mov r11d, dword [r12 + 0x1e0]
sete dl
mov dword [rsp + 0x20], r11d
mov r9d, dword [r12 + 0x1f4]
call fcn.0042b7c0
mov rcx, qword [rsp + 0xc8]
mov r15d, dword [r12 + 0x1e0]
cmp qword [rsp + 0xb8], 0
mov r11, qword [r13]
mov ebx, dword [rcx + 4]
je 0x424da0
mov dword [rsp + 0xd8], 0
lea rdx, [rsp + 0xd8]
mov rcx, r13
call qword [r11 + 0x20]
test eax, eax
js 0x4242b3
pxor xmm7, xmm7
pxor xmm8, xmm8
pxor xmm0, xmm0
mov r9d, dword [r12 + 0x1e4]
cvtsi2ss xmm7, rbx
movss xmm3, dword [0x0050fa40]
movss xmm1, dword [0x0050fa58]
cvtsi2ss xmm8, r15
cvtsi2ss xmm0, r9
divss xmm7, xmm8
mulss xmm0, xmm7
andps xmm3, xmm0
comiss xmm1, xmm3
jbe 0x423b98
cvttss2si ecx, xmm0
pxor xmm4, xmm4
movss xmm2, dword [0x0050fa54]
cvtsi2ss xmm4, ecx
cmpnless xmm0, xmm4
andps xmm0, xmm2
addss xmm0, xmm4
cvttss2si rbx, xmm0
mov r15d, dword [r12 + 0x1f4]
mov edx, dword [r12 + 0x210]
mov rcx, r12
imul ebx, r15d
imul r15d, dword [rsp + 0xd8]
mov dword [rsp + 0xd8], r15d
call fcn.0044cf90
mov rcx, qword [rsp + 0x100]
mov r14d, eax
add ebx, dword [rsp + 0xd8]
call sub.msvcrt.dll_free
mov edx, r14d
mov ecx, ebx
call sub.msvcrt.dll_calloc
mov dword [rsp + 0x108], ebx
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x10c], 0
mov r10d, dword [r12 + 0x1b8]
cmp r10d, 1
je 0x424e71
test r10d, r10d
je 0x424d00
xor ebx, ebx
xor ecx, ecx
cmp r10d, 2
je 0x425072
mov edx, 1
call sub.msvcrt.dll_calloc
mov edx, 1
mov rcx, rbx
mov r14, rax
call sub.msvcrt.dll_calloc
test r14, r14
sete r11b
test rax, rax
mov qword [r12 + 0x1d0], rax
sete al
or r11b, al
jne 0x425353
cmp dword [r12 + 0x1bc], 1
je 0x4241c8
cmp ebp, dword [rsp + 0x4c]
mov byte [rsp + 0x93], 0
cmove rsi, qword [rsp + 0x60]
mov byte [rsp + 0x4c], 1
movss xmm7, dword [0x0050fa40]
mov qword [rsp + 0x78], rsi
xor esi, esi
nop dword [rax]
test sil, sil
je 0x423e0f
test r13, r13
je 0x423fd0
cmp byte [rsp + 0x4c], 0
jne 0x423cc4
mov esi, dword [rsp + 0xac]
test esi, esi
jne 0x423d2c
cmp byte [r12 + 0x1d8], 0
je 0x424ad0
mov rdx, qword [r12 + 0x1d0]
mov r8, qword [r12 + 0x1c0]
lea r9, [r12 + 0x278]
mov rcx, r12
call fcn.0044d090
lea rax, [rsp + 0xac]
mov dword [rsp + 0x28], 0xffffffff
mov rcx, qword [rsp + 0x58]
mov rdx, r14
mov qword [rsp + 0x20], rax
mov r9d, dword [r12 + 0x1e4]
mov r8, qword [r12 + 0x1d0]
call fcn.0042b460
mov esi, dword [rsp + 0xac]
imul esi, dword [r12 + 0x1f4]
test esi, esi
je 0x4245b0
mov ecx, dword [rsp + 0x108]
cmp esi, ecx
ja 0x4245b0
mov r11d, dword [rsp + 0x10c]
mov r8d, dword [rsp + 0x110]
lea eax, [rsi + r11]
cmp r8d, r11d
jae 0x423d76
cmp ecx, eax
lea ebx, [r8 + rcx]
setbe r10b
test r10b, r10b
cmovne r8d, ebx
cmp r11d, r8d
setb bl
cmp eax, r8d
setae r15b
and bl, r15b
jne 0x424a90
mov ebx, eax
mov r9d, 0
mov edx, esi
sub ebx, ecx
cmovs ebx, r9d
sub edx, ebx
cmp dword [r12 + 0x210], 0x20
ja case.0x423dc3.0
mov ebp, dword [r12 + 0x210]
lea r8, [0x0050d4d4]
movsxd r10, dword [r8 + rbp*4]
add r10, r8
jmp r10
xor edi, edi
pxor xmm6, xmm6
test r13, r13
jne 0x423a64
mov qword [rsp + 0x58], 0
pxor xmm7, xmm7
jmp 0x423c06
mov r9d, dword [r12 + 0x1bc]
mov byte [rsp + 0x4c], 1
cmp r9d, 1
je 0x4241c8
cmp qword [rsp + 0x50], 0
jne 0x4245d0
cmp byte [rsp + 0x93], 0
jne 0x423ca9
mov rcx, qword [r12]
mov esi, dword [rsp + 0xa0]
lea r11, [0x0044fb30]
mov rbp, qword [r12 + 0x258]
mov r8, qword [rcx + 0x58]
and esi, 1
cmp r8, r11
jne 0x424c30
mov r10d, dword [r12 + 0x1bc]
cmp r10d, 0xffffffce
je 0x424c70
movsd xmm3, qword [r12 + 0x308]
cmp r10d, 2
jne 0x423ef8
comisd xmm3, xmmword [0x0050fa60]
je 0x423ef8
lea rcx, [rsp + 0xd8]
xor edx, edx
call fcn.0040ea20
pxor xmm3, xmm3
pxor xmm1, xmm1
pxor xmm4, xmm4
movsd xmm8, qword [0x0050fa68]
cvtsi2sd xmm3, dword [rsp + 0xdc]
pxor xmm0, xmm0
movsd xmm5, qword [r12 + 0x308]
cvtsi2sd xmm1, dword [rsp + 0xd8]
cvtsi2sd xmm4, dword [r12 + 0x310]
cvtsi2sd xmm0, dword [r12 + 0x314]
mulsd xmm3, xmm8
subsd xmm5, xmm4
mulsd xmm0, xmm8
addsd xmm3, xmm1
addsd xmm3, xmm5
subsd xmm3, xmm0
nop dword [rax]
mov rdx, qword [r12 + 0x1c8]
mov rcx, qword [r12 + 0x1c0]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], esi
mov rbx, qword [rsp + 0x70]
mov r8d, dword [r12 + 0x1e4]
call rbx
mov edx, dword [r12 + 0x1e0]
pxor xmm3, xmm3
pxor xmm2, xmm2
mov r15d, eax
mov r9d, dword [r12 + 0x1e4]
lea rcx, [r12 + 0x310]
cvtsi2sd xmm2, rdx
xor edx, edx
cvtsi2sd xmm3, r9
divsd xmm3, xmm2
addsd xmm3, qword [r12 + 0x308]
movsd qword [r12 + 0x308], xmm3
call fcn.0040ea20
cmp r15d, 1
je 0x424bd0
cmp r15d, 2
jne 0x423ca9
mov qword [rsp + 0x28], 0
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
lea r8, [0x00426e50]
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
je 0x425321
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x42533a
mov byte [rsp + 0x93], 1
test r13, r13
jne 0x423cb2
cmp qword [rsp + 0x50], 0
je 0x423df8
mov byte [rsp + 0x4c], 1
xor ebx, ebx
mov esi, 1
jmp 0x424060
movsxd r9, edx
mov rdx, qword [rsp + 0x100]
lea rbp, [r9*4]
lea rcx, [rdx + r11*4]
mov r8, rbp
mov rdx, r14
call sub.msvcrt.dll_memcpy
movsxd r8, ebx
lea rdx, [r14 + rbp]
shl r8, 2
mov rcx, qword [rsp + 0x100]
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x10c]
mov ecx, dword [rsp + 0x108]
add eax, esi
xor edx, edx
div ecx
cmp qword [rsp + 0x50], 0
mov dword [rsp + 0x10c], edx
je 0x424bb8
mov byte [rsp + 0x4c], 1
mov esi, 1
mov ebx, 1
nop word [rax + rax]
mov rcx, qword [rsp + 0xb0]
lea r15, [rsp + 0xa4]
lea rdx, [rsp + 0xd0]
lea r9, [rsp + 0xa0]
mov r8, r15
mov rbp, qword [rcx]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [rbp + 0x18]
test eax, eax
js 0x424f3a
mov r8d, dword [rsp + 0xa4]
test r8d, r8d
jne 0x424a48
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x20]
test eax, eax
js 0x424f6c
test bl, bl
je 0x4241a5
cmp byte [rsp + 0x4c], 0
jne 0x4240e4
test sil, sil
jne 0x424aa8
mov rbx, qword [r13]
mov rdx, r15
mov rcx, r13
call qword [rbx + 0x20]
test eax, eax
js 0x424f53
mov rbp, qword [r13]
lea rdx, [rsp + 0xa8]
mov rcx, r13
call qword [rbp + 0x30]
test eax, eax
js 0x424f85
mov rcx, qword [rsp + 0xb8]
mov edx, dword [rsp + 0xa4]
sub edx, dword [rsp + 0xa8]
mov dword [rsp + 0xa4], edx
mov rax, qword [rcx]
je 0x4245a0
lea r8, [rsp + 0xd0]
call qword [rax + 0x18]
test eax, eax
js 0x4251ef
mov r8d, dword [r12 + 0x1f4]
mov r9d, dword [r12 + 0x210]
lea rcx, [rsp + 0x100]
imul r8d, dword [rsp + 0xa4]
mov rdx, qword [rsp + 0xd0]
call fcn.00429380
mov rcx, qword [rsp + 0xb8]
mov r8d, 0
test al, al
mov rax, qword [rcx]
je 0x4245a3
mov edx, dword [rsp + 0xa4]
call qword [rax + 0x20]
test eax, eax
js 0x425059
cmp byte [rsp + 0x4c], 0
mov r9d, dword [r12 + 0x1bc]
jne 0x423e00
cmp r9d, 1
jne 0x423ca0
nop word [rax + rax]
mov r13d, 8
jmp 0x4242d0
cvttss2si edx, xmm3
pxor xmm4, xmm4
movss xmm5, dword [0x0050fa54]
cvtsi2ss xmm4, edx
cmpnless xmm3, xmm4
andps xmm3, xmm5
addss xmm3, xmm4
jmp 0x4239ed
cmp ebp, dword [rsp + 0x4c]
mov r8d, 0x20000
mov r10d, 0x40000
mov r15, qword [r11 + 0x18]
cmovne r8d, r10d
mov qword [rsp + 0x28], rdx
mov r9d, 0
xor edx, edx
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], 0
call r15
test eax, eax
js 0x425208
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0xb0]
lea rdx, [0x00520c50]
mov rax, qword [rcx]
call qword [rax + 0x70]
test eax, eax
js 0x42523a
cmp ebp, dword [rsp + 0x4c]
jne 0x424ef6
mov r8, qword [r12 + 0x1b0]
mov rcx, qword [rsp + 0x50]
mov r9, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov qword [r8 + 0x10], r9
call qword [rax + 0x60]
test eax, eax
js 0x425253
mov r15, qword [rsp + 0x50]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x50]
test eax, eax
js 0x425285
mov r11, qword [r15]
jmp 0x423982
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_get_render_buffer_size.
call fcn.004e4a20
mov r13d, 8
xor r14d, r14d
mov rcx, qword [rsp + 0xc0]
mov rsi, qword [sym.imp.ole32.dll_CoTaskMemFree]
call rsi
mov rcx, qword [rsp + 0xc8]
call rsi
mov rcx, r14
call sub.msvcrt.dll_free
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x4243bb
mov rcx, qword [r14 + 0x18]
xor r8d, r8d
mov edx, 0x10000002
mov r15, qword [rcx]
call qword [r15 + 0xb8]
mov rcx, qword [r14 + 0x18]
xor r8d, r8d
mov edx, 0x10000001
mov rbx, qword [rcx]
call qword [rbx + 0xb8]
call sub.MFPlat.DLL_MFShutdown
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x424348
mov rbp, qword [rcx]
call qword [rbp + 0x10]
mov qword [r14 + 0x10], 0
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x424364
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x18], 0
mov r14, qword [rsp + 0x58]
mov rcx, qword [r14 + 0x20]
test rcx, rcx
je 0x424381
mov r15, qword [rcx]
call qword [r15 + 0x10]
mov qword [r14 + 0x20], 0
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x42439d
mov rbp, qword [rcx]
call qword [rbp + 0x10]
mov qword [rbx + 0x28], 0
mov r8, qword [rsp + 0x58]
mov rcx, qword [r8 + 0x30]
test rcx, rcx
je 0x4243b1
mov rsi, qword [rcx]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x58]
call fcn.005052a0
test rdi, rdi
je 0x424468
mov rcx, qword [rdi + 0x18]
xor r8d, r8d
mov edx, 0x10000002
mov rax, qword [rcx]
call qword [rax + 0xb8]
mov rcx, qword [rdi + 0x18]
xor r8d, r8d
mov edx, 0x10000001
mov r14, qword [rcx]
call qword [r14 + 0xb8]
call sub.MFPlat.DLL_MFShutdown
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x42440c
mov r15, qword [rcx]
call qword [r15 + 0x10]
mov qword [rdi + 0x10], 0
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x424423
mov rbx, qword [rcx]
call qword [rbx + 0x10]
mov qword [rdi + 0x18], 0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x42443a
mov rbp, qword [rcx]
call qword [rbp + 0x10]
mov qword [rdi + 0x20], 0
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x424451
mov rsi, qword [rcx]
call qword [rsi + 0x10]
mov qword [rdi + 0x28], 0
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x424460
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rdi
call fcn.005052a0
call qword [sym.imp.ole32.dll_CoUninitialize]
cmp qword [rsp + 0x128], 0
mov dword [r12 + 0x1bc], 0
jne 0x424b50
mov rcx, qword [rsp + 0x120]
cmp rcx, qword [rsp + 0x68]
je 0x42449d
call fcn.005052a0
mov rcx, qword [rsp + 0x100]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_free
nop
movups xmm6, xmmword [rsp + 0x140]
movups xmm7, xmmword [rsp + 0x150]
movups xmm8, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rcx, edx
mov rax, qword [rsp + 0x100]
mov rdx, r14
lea r15, [rcx*8]
mov r8, r15
lea rcx, [rax + r11*8]
call sub.msvcrt.dll_memcpy
movsxd r8, ebx
lea rdx, [r14 + r15]
shl r8, 3
jmp 0x424017
movsxd r8, edx
lea rcx, [r11 + r11*2]
mov rdx, r14
add rcx, qword [rsp + 0x100]
lea r15, [r8 + r8*2]
mov r8, r15
call sub.msvcrt.dll_memcpy
movsxd r11, ebx
lea rdx, [r14 + r15]
lea r8, [r11 + r11*2]
jmp 0x424017
movsxd r10, edx
mov rcx, qword [rsp + 0x100]
mov rdx, r14
lea rbp, [r10 + r10]
mov r8, rbp
lea rcx, [rcx + r11*2]
call sub.msvcrt.dll_memcpy
movsxd r8, ebx
lea rdx, [r14 + rbp]
add r8, r8
jmp 0x424017
mov rcx, qword [rsp + 0x100]
movsxd r15, edx
mov rdx, r14
mov r8, r15
add rcx, r11
call sub.msvcrt.dll_memcpy
lea rdx, [r14 + r15]
movsxd r8, ebx
jmp 0x424017
xor r8d, r8d
xor edx, edx
call qword [rax + 0x20]
jmp 0x42419d
cmp qword [rsp + 0x50], 0
je 0x424aa8
mov byte [rsp + 0x4c], 0
mov esi, 1
mov ebx, 1
jmp 0x424060
mov ebp, dword [r12 + 0x1e4]
pxor xmm2, xmm2
movss xmm1, dword [0x0050fa58]
cvtsi2ss xmm2, rbp
mov rsi, rbp
mulss xmm2, xmm6
movups xmm3, xmm2
andps xmm3, xmm7
comiss xmm1, xmm3
jbe 0x424623
cvttss2si r9d, xmm2
pxor xmm4, xmm4
movss xmm0, dword [0x0050fa54]
cvtsi2ss xmm4, r9d
movups xmm5, xmm4
cmpnless xmm5, xmm2
andps xmm0, xmm5
subss xmm4, xmm0
movups xmm2, xmm4
mov dword [rsp + 0xac], 0
cvttss2si rax, xmm2
mov r15d, eax
test esi, esi
je 0x424a20
mov ebx, dword [r12 + 0x1f8]
imul eax, ebx
test eax, eax
je 0x424a20
mov r10d, dword [r12 + 0x214]
xor esi, esi
nop dword [rax + rax]
mov ebp, dword [rsp + 0xe8]
cmp ebp, eax
jb 0x424a20
mov edx, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0xec]
lea r11d, [rdx + rax]
cmp ecx, edx
jae 0x424a10
cmp ebp, r11d
ja 0x424698
add ecx, ebp
cmp edx, ecx
jbe 0x424a10
mov r9d, r11d
mov r8d, 0
sub r9d, ebp
cmovs r9d, r8d
sub eax, r9d
cmp r10d, 0x20
ja case.0x4246c6.0
lea r8, [0x0050d558]
mov ecx, r10d
movsxd rcx, dword [r8 + rcx*4]
add rcx, r8
jmp rcx
mov dword [rsp + 0x94], r10d
cdqe
mov rcx, r14
mov r10, qword [rsp + 0xe0]
lea r8, [rax*8]
mov dword [rsp + 0x98], r11d
lea rdx, [r10 + rdx*8]
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x9c], r9d
mov qword [rsp + 0x88], r8
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x88]
movsxd r8, dword [rsp + 0x9c]
lea rcx, [r14 + rdx]
mov rdx, qword [rsp + 0x80]
shl r8, 3
call sub.msvcrt.dll_memcpy
mov r11d, dword [rsp + 0x98]
mov r10d, dword [rsp + 0x94]
nop dword [rax + rax]
mov eax, r11d
imul ebx, esi
xor edx, edx
mov rcx, r12
div ebp
mov dword [rsp + 0xf0], edx
mov edx, r10d
call fcn.0044cf90
mov esi, dword [rsp + 0xac]
imul ebx, eax
mov ebp, 0xffffffff
mov dword [rsp + 0xd8], 0
test esi, esi
je 0x424794
mov ebp, dword [r12 + 0x1e4]
sub ebp, esi
mov edx, ebx
lea rbx, [rsp + 0xd8]
mov r9d, r15d
mov r8, r14
add rdx, qword [r12 + 0x1d0]
mov dword [rsp + 0x28], ebp
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.0042b460
mov r15d, dword [r12 + 0x1e4]
mov esi, dword [rsp + 0xd8]
add esi, dword [rsp + 0xac]
mov dword [rsp + 0xac], esi
cmp r15d, esi
jbe 0x424b18
mov ebx, dword [r12 + 0x1f8]
test ebx, ebx
je 0x424a20
mov r10d, dword [r12 + 0x214]
mov eax, ebx
mov r15d, 1
jmp 0x424660
cdqe
mov rcx, r14
mov dword [rsp + 0x98], r11d
lea r8, [rax*4]
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x94], r10d
mov dword [rsp + 0x9c], r9d
lea rdx, [rax + rdx*4]
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x80], rax
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x88]
movsxd r8, dword [rsp + 0x9c]
mov rdx, qword [rsp + 0x80]
lea rcx, [r14 + r9]
shl r8, 2
call sub.msvcrt.dll_memcpy
mov r10d, dword [rsp + 0x94]
mov r11d, dword [rsp + 0x98]
jmp case.0x4246c6.0
mov dword [rsp + 0x98], r11d
cdqe
mov rcx, r14
mov r11, qword [rsp + 0xe0]
lea r8, [rax + rax]
mov dword [rsp + 0x9c], r9d
lea rdx, [r11 + rdx*2]
mov qword [rsp + 0x80], r11
mov dword [rsp + 0x94], r10d
mov qword [rsp + 0x88], r8
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x88]
movsxd r8, dword [rsp + 0x9c]
mov rdx, qword [rsp + 0x80]
lea rcx, [r14 + r10]
add r8, r8
call sub.msvcrt.dll_memcpy
mov r10d, dword [rsp + 0x94]
mov r11d, dword [rsp + 0x98]
jmp case.0x4246c6.0
movsxd r8, eax
mov rax, qword [rsp + 0xe0]
mov rcx, r14
mov dword [rsp + 0x98], r11d
mov dword [rsp + 0x94], r10d
add rdx, rax
mov dword [rsp + 0x9c], r9d
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x80], rax
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x88]
movsxd r8, dword [rsp + 0x9c]
mov rdx, qword [rsp + 0x80]
lea rcx, [r14 + r9]
call sub.msvcrt.dll_memcpy
mov r10d, dword [rsp + 0x94]
mov r11d, dword [rsp + 0x98]
jmp case.0x4246c6.0
mov rcx, qword [rsp + 0xe0]
cdqe
lea rdx, [rdx + rdx*2]
mov dword [rsp + 0x98], r11d
lea r8, [rax + rax*2]
mov dword [rsp + 0x94], r10d
add rdx, rcx
mov qword [rsp + 0x80], rcx
mov rcx, r14
mov dword [rsp + 0x9c], r9d
mov qword [rsp + 0x88], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x88]
movsxd rdx, dword [rsp + 0x9c]
lea rcx, [r14 + r8]
lea r8, [rdx + rdx*2]
mov rdx, qword [rsp + 0x80]
call sub.msvcrt.dll_memcpy
mov r10d, dword [rsp + 0x94]
mov r11d, dword [rsp + 0x98]
jmp case.0x4246c6.0
cmp r11d, ecx
jbe 0x424698
nop dword [rax]
test r13, r13
mov rcx, qword [rsp + 0x78]
mov edx, 0xffffffff
setne bl
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [rsp + 0x4c], 1
xor esi, esi
jmp 0x424060
mov r9d, dword [r12 + 0x214]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0xe0]
imul r8d, dword [r12 + 0x1f8]
call fcn.00429580
mov rcx, qword [rsp + 0xb0]
test al, al
mov rax, qword [rcx]
je 0x4240bf
mov edx, dword [rsp + 0xa4]
call qword [rax + 0x20]
jmp 0x4240c4
cmp qword [rsp + 0x50], 0
mov byte [rsp + 0x4c], 0
mov esi, ebx
jne 0x424060
nop dword [rax + rax]
mov rcx, qword [rsp + 0x60]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [rsp + 0x4c], 0
mov esi, 1
lea r15, [rsp + 0xa4]
jmp 0x4240e4
mov edx, dword [r12 + 0x20c]
mov rcx, r12
mov ebp, dword [r12 + 0x1e4]
imul ebp, dword [r12 + 0x1ec]
call fcn.0044cf90
mov r8d, ebp
mov rcx, qword [r12 + 0x1d0]
mov rdx, qword [r12 + 0x1c0]
imul r8d, eax
call sub.msvcrt.dll_memcpy
jmp 0x423cf3
cmp byte [r12 + 0x1d9], 0
je 0x424b78
mov rdx, qword [r12 + 0x1c8]
mov r8, qword [r12 + 0x1d0]
lea r9, [r12 + 0x2c0]
mov rcx, r12
call fcn.0044d090
jmp 0x423e1b
lea rdx, [rsp + 0x120]
lea rcx, [r12 + 0x180]
call fcn.004e59a0
mov edx, r13d
mov rcx, r12
call fcn.004514f0
jmp 0x424489
mov edx, dword [r12 + 0x20c]
mov rcx, r12
imul r15d, dword [r12 + 0x1f0]
call fcn.0044cf90
mov r8d, r15d
mov rcx, qword [r12 + 0x1c8]
mov rdx, qword [r12 + 0x1d0]
imul r8d, eax
call sub.msvcrt.dll_memcpy
jmp 0x423e1b
mov byte [rsp + 0x4c], 1
mov esi, 1
lea r15, [rsp + 0xa4]
jmp 0x4240e4
mov qword [rsp + 0x28], 0
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
lea r8, [0x00426ca0]
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
je 0x425308
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x423fbf
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_close_stream_stop_thread_handle.
call fcn.004e4a20
mov r13d, 0xa
jmp 0x4242d0
mov rcx, r12
call r8
movupd xmm3, xmm0
jmp 0x423ef8
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_device_mix_format.
call fcn.004e4a20
mov r13d, 8
xor edi, edi
mov qword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x4242d0
mov qword [rsp + 0x20], 0x1d
mov r8, qword [r12 + 0x188]
lea rcx, [r12 + 0x180]
xor edx, edx
lea r9, str.RtApi::_a_stream_is_not_open_
call fcn.004e3b90
mov edx, 7
mov rcx, r12
call fcn.004514f0
mov r10d, dword [r12 + 0x1bc]
jmp 0x423e65
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_get_capture_buffer_size.
call fcn.004e4a20
mov r13d, 8
jmp 0x424c5c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_device_mix_format.
call fcn.004e4a20
mov qword [rsp + 0x58], 0
mov r13d, 8
jmp 0x4242cd
mov ecx, dword [r12 + 0x1e4]
pxor xmm8, xmm8
movss xmm0, dword [0x0050fa58]
cvtsi2ss xmm8, rcx
mulss xmm8, xmm7
movss xmm7, dword [0x0050fa40]
andps xmm7, xmm8
comiss xmm0, xmm7
ja 0x424fb6
comiss xmm8, dword [0x0050fb08]
cvttss2si rbx, xmm8
jae 0x424f9e
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov r15d, dword [r12 + 0x1f4]
call fcn.0044cf90
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov r14d, dword [r12 + 0x1e4]
imul r15d, eax
imul r14d, dword [r12 + 0x1f4]
call fcn.0044cf90
imul ebx, r15d
lea ecx, [rbx + rbx]
mov ebx, r14d
imul ebx, eax
jmp 0x423c2f
mov qword [rsp + 0x28], rcx
xor r9d, r9d
mov r8d, 0x40000
xor edx, edx
mov qword [rsp + 0x30], 0
mov rcx, r13
mov qword [rsp + 0x20], 0
call qword [r11 + 0x18]
test eax, eax
js 0x42526c
mov rax, qword [r13]
lea r8, [rsp + 0xb8]
lea rdx, [0x00520c30]
mov rcx, r13
call qword [rax + 0x70]
test eax, eax
js 0x425221
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x4252e9
mov r14, qword [r13]
mov rdx, rax
mov rcx, r13
call qword [r14 + 0x68]
test eax, eax
js 0x425021
mov r10, qword [r12 + 0x1b0]
mov rdx, qword [rsp + 0xb8]
mov rcx, r13
mov r8, qword [rsp + 0x60]
mov rax, qword [r13]
mov qword [r10 + 0x18], rdx
mov qword [r10 + 0x28], r8
call qword [rax + 0x60]
test eax, eax
js 0x4252b7
mov r14, qword [r13]
mov rcx, r13
call qword [r14 + 0x50]
test eax, eax
js 0x4252d0
mov r11, qword [r13]
jmp 0x423b11
mov edx, dword [r12 + 0x1e4]
pxor xmm4, xmm4
movss xmm5, dword [0x0050fa40]
movss xmm2, dword [0x0050fa58]
cvtsi2ss xmm4, rdx
mulss xmm4, xmm6
andps xmm5, xmm4
comiss xmm2, xmm5
ja 0x424ff7
comiss xmm4, dword [0x0050fb08]
cvttss2si rbx, xmm4
jae 0x424fe0
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r15d, dword [r12 + 0x1f8]
call fcn.0044cf90
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r14d, dword [r12 + 0x1e4]
imul r15d, eax
imul r14d, dword [r12 + 0x1f8]
call fcn.0044cf90
jmp 0x424d84
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov rsi, rax
test rax, rax
je 0x42503a
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov r15, qword [rcx]
call qword [r15 + 0x68]
test eax, eax
js 0x42529e
mov r8, qword [r12 + 0x1b0]
mov qword [r8 + 0x20], rsi
jmp 0x424276
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_capture_buffer.
call fcn.004e4a20
jmp 0x4241c8
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer_size.
call fcn.004e4a20
jmp 0x4241c8
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_release_capture_buffer.
call fcn.004e4a20
jmp 0x4241c8
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer_padding.
call fcn.004e4a20
jmp 0x4241c8
subss xmm8, dword [0x0050fb08]
cvttss2si rbx, xmm8
btc rbx, 0x3f
jmp 0x424d47
cvttss2si r10d, xmm8
pxor xmm3, xmm3
movss xmm1, dword [0x0050fa54]
cvtsi2ss xmm3, r10d
cmpnless xmm8, xmm3
andps xmm8, xmm1
addss xmm8, xmm3
jmp 0x424d34
subss xmm4, dword [0x0050fb08]
cvttss2si rbx, xmm4
btc rbx, 0x3f
jmp 0x424eb4
cvttss2si r8d, xmm4
pxor xmm8, xmm8
movss xmm7, dword [0x0050fa54]
cvtsi2ss xmm8, r8d
cmpnless xmm4, xmm8
andps xmm4, xmm7
addss xmm4, xmm8
jmp 0x424ea2
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_set_render_event_handle.
call fcn.004e4a20
jmp 0x4242c7
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_create_capture_event.
call fcn.004e4a20
mov r13d, 9
jmp 0x424c5c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_release_render_buffer.
call fcn.004e4a20
jmp 0x4241c8
mov edx, dword [r12 + 0x1e4]
pxor xmm5, xmm5
movss xmm8, dword [0x0050fa58]
cvtsi2ss xmm5, rdx
mulss xmm5, xmm7
movss xmm7, dword [0x0050fa40]
movups xmm0, xmm7
andps xmm0, xmm5
comiss xmm8, xmm0
jbe 0x4250c6
cvttss2si r8d, xmm5
pxor xmm3, xmm3
movss xmm1, dword [0x0050fa54]
cvtsi2ss xmm3, r8d
cmpnless xmm5, xmm3
andps xmm5, xmm1
addss xmm5, xmm3
comiss xmm5, dword [0x0050fb08]
cvttss2si r15, xmm5
jb 0x4250e6
subss xmm5, dword [0x0050fb08]
cvttss2si r15, xmm5
btc r15, 0x3f
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov ebx, dword [r12 + 0x1f4]
call fcn.0044cf90
mov r14d, eax
mov eax, dword [r12 + 0x1e4]
pxor xmm4, xmm4
imul r14, r15
cvtsi2ss xmm4, rax
imul r14, rbx
mulss xmm4, xmm6
andps xmm7, xmm4
comiss xmm8, xmm7
jbe 0x425149
cvttss2si r11d, xmm4
pxor xmm5, xmm5
movss xmm2, dword [0x0050fa54]
cvtsi2ss xmm5, r11d
cmpnless xmm4, xmm5
andps xmm4, xmm2
addss xmm4, xmm5
comiss xmm4, dword [0x0050fb08]
cvttss2si r15, xmm4
jb 0x425169
subss xmm4, dword [0x0050fb08]
cvttss2si r15, xmm4
btc r15, 0x3f
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov ebx, dword [r12 + 0x1f8]
call fcn.0044cf90
mov r9d, eax
mov edx, dword [r12 + 0x210]
mov rcx, r12
imul r15, r9
imul rbx, r15
cmp rbx, r14
cmovb rbx, r14
mov r14d, dword [r12 + 0x1e4]
imul r14d, dword [r12 + 0x1f4]
call fcn.0044cf90
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r15d, dword [r12 + 0x1e4]
imul r14d, eax
imul r15d, dword [r12 + 0x1f8]
call fcn.0044cf90
imul r15d, eax
lea ecx, [rbx + rbx]
cmp r15d, r14d
cmovae r14d, r15d
mov ebx, r14d
jmp 0x423c2f
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer.
call fcn.004e4a20
jmp 0x4241c8
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_initialize_capture_audio_client.
call fcn.004e4a20
jmp 0x424ccc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_client_handle.
call fcn.004e4a20
jmp 0x4242c7
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_capture_client_handle.
call fcn.004e4a20
jmp 0x424ccc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_reset_capture_stream.
call fcn.004e4a20
jmp 0x424ccc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_initialize_render_audio_client.
call fcn.004e4a20
jmp 0x4242c7
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_start_capture_stream.
call fcn.004e4a20
jmp 0x424ccc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_set_capture_event_handle.
call fcn.004e4a20
jmp 0x424ccc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_reset_render_stream.
call fcn.004e4a20
jmp 0x4242c7
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_start_render_stream.
call fcn.004e4a20
jmp 0x4242c7
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_create_render_event.
call fcn.004e4a20
mov r13d, 9
jmp 0x4242cd
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_instantiate_stream_stop_thread.
call fcn.004e4a20
jmp 0x424c23
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_instantiate_stream_abort_thread.
call fcn.004e4a20
jmp 0x424c23
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_close_stream_abort_thread_handle.
call fcn.004e4a20
jmp 0x424c23
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Error_allocating_device_buffer_memory.
call fcn.004e4a20
mov r13d, 5
jmp 0x4242d0