Function at 0x422ca0
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 0x422e3b
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 0x423340
mov r15, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [r15 + 0x40]
test eax, eax
js 0x4241b0
mov edx, dword [r12 + 0x214]
mov rcx, r12
call fcn.0044a950
mov ecx, 0x38
lea ebx, [rax*8]
call fcn.005017b0
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.0042ad30
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 0x423770
mov dword [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xd8]
call qword [r11 + 0x20]
test eax, eax
js 0x424228
pxor xmm6, xmm6
pxor xmm0, xmm0
pxor xmm3, xmm3
mov ecx, dword [r12 + 0x1e4]
cvtsi2ss xmm6, rbx
movss xmm1, dword [0x0050b990]
movss xmm2, dword [0x0050b9a8]
cvtsi2ss xmm0, r14
cvtsi2ss xmm3, rcx
divss xmm6, xmm0
mulss xmm3, xmm6
andps xmm1, xmm3
comiss xmm2, xmm1
ja 0x423748
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.0044a950
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 0x42334f
mov rax, qword [r13]
lea rdx, [rsp + 0xc8]
mov rcx, r13
call qword [rax + 0x40]
test eax, eax
js 0x424248
mov edx, dword [r12 + 0x210]
mov rcx, r12
call fcn.0044a950
mov ecx, 0x38
lea r14d, [rax*8]
call fcn.005017b0
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.0042ad30
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 0x424310
mov dword [rsp + 0xd8], 0
lea rdx, [rsp + 0xd8]
mov rcx, r13
call qword [r11 + 0x20]
test eax, eax
js 0x423823
pxor xmm7, xmm7
pxor xmm8, xmm8
pxor xmm0, xmm0
mov r9d, dword [r12 + 0x1e4]
cvtsi2ss xmm7, rbx
movss xmm3, dword [0x0050b990]
movss xmm1, dword [0x0050b9a8]
cvtsi2ss xmm8, r15
cvtsi2ss xmm0, r9
divss xmm7, xmm8
mulss xmm0, xmm7
andps xmm3, xmm0
comiss xmm1, xmm3
jbe 0x423108
cvttss2si ecx, xmm0
pxor xmm4, xmm4
movss xmm2, dword [0x0050b9a4]
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.0044a950
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 0x4243e1
test r10d, r10d
je 0x424270
xor ebx, ebx
xor ecx, ecx
cmp r10d, 2
je 0x4245e2
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 0x4248c3
cmp dword [r12 + 0x1bc], 1
je 0x423738
cmp ebp, dword [rsp + 0x4c]
mov byte [rsp + 0x93], 0
cmove rsi, qword [rsp + 0x60]
mov byte [rsp + 0x4c], 1
movss xmm7, dword [0x0050b990]
mov qword [rsp + 0x78], rsi
xor esi, esi
nop dword [rax]
test sil, sil
je 0x42337f
test r13, r13
je 0x423540
cmp byte [rsp + 0x4c], 0
jne 0x423234
mov esi, dword [rsp + 0xac]
test esi, esi
jne 0x42329c
cmp byte [r12 + 0x1d8], 0
je 0x424040
mov rdx, qword [r12 + 0x1d0]
mov r8, qword [r12 + 0x1c0]
lea r9, [r12 + 0x278]
mov rcx, r12
call fcn.0044aa50
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.0042a9d0
mov esi, dword [rsp + 0xac]
imul esi, dword [r12 + 0x1f4]
test esi, esi
je 0x423b20
mov ecx, dword [rsp + 0x108]
cmp esi, ecx
ja 0x423b20
mov r11d, dword [rsp + 0x10c]
mov r8d, dword [rsp + 0x110]
lea eax, [rsi + r11]
cmp r8d, r11d
jae 0x4232e6
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 0x424000
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.0x423333.0
mov ebp, dword [r12 + 0x210]
lea r8, [0x00509414]
movsxd r10, dword [r8 + rbp*4]
add r10, r8
jmp r10
xor edi, edi
pxor xmm6, xmm6
test r13, r13
jne 0x422fd4
mov qword [rsp + 0x58], 0
pxor xmm7, xmm7
jmp 0x423176
mov r9d, dword [r12 + 0x1bc]
mov byte [rsp + 0x4c], 1
cmp r9d, 1
je 0x423738
cmp qword [rsp + 0x50], 0
jne 0x423b40
cmp byte [rsp + 0x93], 0
jne 0x423219
mov rcx, qword [r12]
mov esi, dword [rsp + 0xa0]
lea r11, [0x0044d4f0]
mov rbp, qword [r12 + 0x258]
mov r8, qword [rcx + 0x58]
and esi, 1
cmp r8, r11
jne 0x4241a0
mov r10d, dword [r12 + 0x1bc]
cmp r10d, 0xffffffce
je 0x4241e0
movsd xmm3, qword [r12 + 0x308]
cmp r10d, 2
jne 0x423468
comisd xmm3, xmmword [0x0050b9b0]
je 0x423468
lea rcx, [rsp + 0xd8]
xor edx, edx
call fcn.0040e040
pxor xmm3, xmm3
pxor xmm1, xmm1
pxor xmm4, xmm4
movsd xmm8, qword [0x0050b9b8]
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.0040e040
cmp r15d, 1
je 0x424140
cmp r15d, 2
jne 0x423219
mov qword [rsp + 0x28], 0
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
lea r8, [0x004263c0]
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
je 0x424891
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4248aa
mov byte [rsp + 0x93], 1
test r13, r13
jne 0x423222
cmp qword [rsp + 0x50], 0
je 0x423368
mov byte [rsp + 0x4c], 1
xor ebx, ebx
mov esi, 1
jmp 0x4235d0
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 0x424128
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 0x4244aa
mov r8d, dword [rsp + 0xa4]
test r8d, r8d
jne 0x423fb8
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x20]
test eax, eax
js 0x4244dc
test bl, bl
je 0x423715
cmp byte [rsp + 0x4c], 0
jne 0x423654
test sil, sil
jne 0x424018
mov rbx, qword [r13]
mov rdx, r15
mov rcx, r13
call qword [rbx + 0x20]
test eax, eax
js 0x4244c3
mov rbp, qword [r13]
lea rdx, [rsp + 0xa8]
mov rcx, r13
call qword [rbp + 0x30]
test eax, eax
js 0x4244f5
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 0x423b10
lea r8, [rsp + 0xd0]
call qword [rax + 0x18]
test eax, eax
js 0x42475f
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.004288f0
mov rcx, qword [rsp + 0xb8]
mov r8d, 0
test al, al
mov rax, qword [rcx]
je 0x423b13
mov edx, dword [rsp + 0xa4]
call qword [rax + 0x20]
test eax, eax
js 0x4245c9
cmp byte [rsp + 0x4c], 0
mov r9d, dword [r12 + 0x1bc]
jne 0x423370
cmp r9d, 1
jne 0x423210
nop word [rax + rax]
mov r13d, 8
jmp 0x423840
cvttss2si edx, xmm3
pxor xmm4, xmm4
movss xmm5, dword [0x0050b9a4]
cvtsi2ss xmm4, edx
cmpnless xmm3, xmm4
andps xmm3, xmm5
addss xmm3, xmm4
jmp 0x422f5d
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 0x424778
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0xb0]
lea rdx, [0x00523c50]
mov rax, qword [rcx]
call qword [rax + 0x70]
test eax, eax
js 0x4247aa
cmp ebp, dword [rsp + 0x4c]
jne 0x424466
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 0x4247c3
mov r15, qword [rsp + 0x50]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x50]
test eax, eax
js 0x4247f5
mov r11, qword [r15]
jmp 0x422ef2
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_get_render_buffer_size.
call fcn.004e0d80
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 0x42392b
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 0x4238b8
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 0x4238d4
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 0x4238f1
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 0x42390d
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 0x423921
mov rsi, qword [rcx]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x58]
call fcn.00501760
test rdi, rdi
je 0x4239d8
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 0x42397c
mov r15, qword [rcx]
call qword [r15 + 0x10]
mov qword [rdi + 0x10], 0
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x423993
mov rbx, qword [rcx]
call qword [rbx + 0x10]
mov qword [rdi + 0x18], 0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x4239aa
mov rbp, qword [rcx]
call qword [rbp + 0x10]
mov qword [rdi + 0x20], 0
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x4239c1
mov rsi, qword [rcx]
call qword [rsi + 0x10]
mov qword [rdi + 0x28], 0
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x4239d0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rdi
call fcn.00501760
call qword [sym.imp.ole32.dll_CoUninitialize]
cmp qword [rsp + 0x128], 0
mov dword [r12 + 0x1bc], 0
jne 0x4240c0
mov rcx, qword [rsp + 0x120]
cmp rcx, qword [rsp + 0x68]
je 0x423a0d
call fcn.00501760
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 0x423587
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 0x423587
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 0x423587
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 0x423587
xor r8d, r8d
xor edx, edx
call qword [rax + 0x20]
jmp 0x42370d
cmp qword [rsp + 0x50], 0
je 0x424018
mov byte [rsp + 0x4c], 0
mov esi, 1
mov ebx, 1
jmp 0x4235d0
mov ebp, dword [r12 + 0x1e4]
pxor xmm2, xmm2
movss xmm1, dword [0x0050b9a8]
cvtsi2ss xmm2, rbp
mov rsi, rbp
mulss xmm2, xmm6
movups xmm3, xmm2
andps xmm3, xmm7
comiss xmm1, xmm3
jbe 0x423b93
cvttss2si r9d, xmm2
pxor xmm4, xmm4
movss xmm0, dword [0x0050b9a4]
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 0x423f90
mov ebx, dword [r12 + 0x1f8]
imul eax, ebx
test eax, eax
je 0x423f90
mov r10d, dword [r12 + 0x214]
xor esi, esi
nop dword [rax + rax]
mov ebp, dword [rsp + 0xe8]
cmp ebp, eax
jb 0x423f90
mov edx, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0xec]
lea r11d, [rdx + rax]
cmp ecx, edx
jae 0x423f80
cmp ebp, r11d
ja 0x423c08
add ecx, ebp
cmp edx, ecx
jbe 0x423f80
mov r9d, r11d
mov r8d, 0
sub r9d, ebp
cmovs r9d, r8d
sub eax, r9d
cmp r10d, 0x20
ja case.0x423c36.0
lea r8, [0x00509498]
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.0044a950
mov esi, dword [rsp + 0xac]
imul ebx, eax
mov ebp, 0xffffffff
mov dword [rsp + 0xd8], 0
test esi, esi
je 0x423d04
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.0042a9d0
mov r15d, dword [r12 + 0x1e4]
mov esi, dword [rsp + 0xd8]
add esi, dword [rsp + 0xac]
mov dword [rsp + 0xac], esi
cmp r15d, esi
jbe 0x424088
mov ebx, dword [r12 + 0x1f8]
test ebx, ebx
je 0x423f90
mov r10d, dword [r12 + 0x214]
mov eax, ebx
mov r15d, 1
jmp 0x423bd0
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.0x423c36.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.0x423c36.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.0x423c36.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.0x423c36.0
cmp r11d, ecx
jbe 0x423c08
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 0x4235d0
mov r9d, dword [r12 + 0x214]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0xe0]
imul r8d, dword [r12 + 0x1f8]
call fcn.00428af0
mov rcx, qword [rsp + 0xb0]
test al, al
mov rax, qword [rcx]
je 0x42362f
mov edx, dword [rsp + 0xa4]
call qword [rax + 0x20]
jmp 0x423634
cmp qword [rsp + 0x50], 0
mov byte [rsp + 0x4c], 0
mov esi, ebx
jne 0x4235d0
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 0x423654
mov edx, dword [r12 + 0x20c]
mov rcx, r12
mov ebp, dword [r12 + 0x1e4]
imul ebp, dword [r12 + 0x1ec]
call fcn.0044a950
mov r8d, ebp
mov rcx, qword [r12 + 0x1d0]
mov rdx, qword [r12 + 0x1c0]
imul r8d, eax
call sub.msvcrt.dll_memcpy
jmp 0x423263
cmp byte [r12 + 0x1d9], 0
je 0x4240e8
mov rdx, qword [r12 + 0x1c8]
mov r8, qword [r12 + 0x1d0]
lea r9, [r12 + 0x2c0]
mov rcx, r12
call fcn.0044aa50
jmp 0x42338b
lea rdx, [rsp + 0x120]
lea rcx, [r12 + 0x180]
call fcn.004e1d00
mov edx, r13d
mov rcx, r12
call fcn.0044eeb0
jmp 0x4239f9
mov edx, dword [r12 + 0x20c]
mov rcx, r12
imul r15d, dword [r12 + 0x1f0]
call fcn.0044a950
mov r8d, r15d
mov rcx, qword [r12 + 0x1c8]
mov rdx, qword [r12 + 0x1d0]
imul r8d, eax
call sub.msvcrt.dll_memcpy
jmp 0x42338b
mov byte [rsp + 0x4c], 1
mov esi, 1
lea r15, [rsp + 0xa4]
jmp 0x423654
mov qword [rsp + 0x28], 0
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
lea r8, [0x00426210]
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
je 0x424878
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x42352f
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_close_stream_stop_thread_handle.
call fcn.004e0d80
mov r13d, 0xa
jmp 0x423840
mov rcx, r12
call r8
movupd xmm3, xmm0
jmp 0x423468
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_device_mix_format.
call fcn.004e0d80
mov r13d, 8
xor edi, edi
mov qword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x423840
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.004dfef0
mov edx, 7
mov rcx, r12
call fcn.0044eeb0
mov r10d, dword [r12 + 0x1bc]
jmp 0x4233d5
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_get_capture_buffer_size.
call fcn.004e0d80
mov r13d, 8
jmp 0x4241cc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_device_mix_format.
call fcn.004e0d80
mov qword [rsp + 0x58], 0
mov r13d, 8
jmp 0x42383d
mov ecx, dword [r12 + 0x1e4]
pxor xmm8, xmm8
movss xmm0, dword [0x0050b9a8]
cvtsi2ss xmm8, rcx
mulss xmm8, xmm7
movss xmm7, dword [0x0050b990]
andps xmm7, xmm8
comiss xmm0, xmm7
ja 0x424526
comiss xmm8, dword [0x0050ba58]
cvttss2si rbx, xmm8
jae 0x42450e
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov r15d, dword [r12 + 0x1f4]
call fcn.0044a950
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov r14d, dword [r12 + 0x1e4]
imul r15d, eax
imul r14d, dword [r12 + 0x1f4]
call fcn.0044a950
imul ebx, r15d
lea ecx, [rbx + rbx]
mov ebx, r14d
imul ebx, eax
jmp 0x42319f
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 0x4247dc
mov rax, qword [r13]
lea r8, [rsp + 0xb8]
lea rdx, [0x00523c30]
mov rcx, r13
call qword [rax + 0x70]
test eax, eax
js 0x424791
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 0x424859
mov r14, qword [r13]
mov rdx, rax
mov rcx, r13
call qword [r14 + 0x68]
test eax, eax
js 0x424591
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 0x424827
mov r14, qword [r13]
mov rcx, r13
call qword [r14 + 0x50]
test eax, eax
js 0x424840
mov r11, qword [r13]
jmp 0x423081
mov edx, dword [r12 + 0x1e4]
pxor xmm4, xmm4
movss xmm5, dword [0x0050b990]
movss xmm2, dword [0x0050b9a8]
cvtsi2ss xmm4, rdx
mulss xmm4, xmm6
andps xmm5, xmm4
comiss xmm2, xmm5
ja 0x424567
comiss xmm4, dword [0x0050ba58]
cvttss2si rbx, xmm4
jae 0x424550
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r15d, dword [r12 + 0x1f8]
call fcn.0044a950
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r14d, dword [r12 + 0x1e4]
imul r15d, eax
imul r14d, dword [r12 + 0x1f8]
call fcn.0044a950
jmp 0x4242f4
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 0x4245aa
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov r15, qword [rcx]
call qword [r15 + 0x68]
test eax, eax
js 0x42480e
mov r8, qword [r12 + 0x1b0]
mov qword [r8 + 0x20], rsi
jmp 0x4237e6
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_capture_buffer.
call fcn.004e0d80
jmp 0x423738
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer_size.
call fcn.004e0d80
jmp 0x423738
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_release_capture_buffer.
call fcn.004e0d80
jmp 0x423738
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer_padding.
call fcn.004e0d80
jmp 0x423738
subss xmm8, dword [0x0050ba58]
cvttss2si rbx, xmm8
btc rbx, 0x3f
jmp 0x4242b7
cvttss2si r10d, xmm8
pxor xmm3, xmm3
movss xmm1, dword [0x0050b9a4]
cvtsi2ss xmm3, r10d
cmpnless xmm8, xmm3
andps xmm8, xmm1
addss xmm8, xmm3
jmp 0x4242a4
subss xmm4, dword [0x0050ba58]
cvttss2si rbx, xmm4
btc rbx, 0x3f
jmp 0x424424
cvttss2si r8d, xmm4
pxor xmm8, xmm8
movss xmm7, dword [0x0050b9a4]
cvtsi2ss xmm8, r8d
cmpnless xmm4, xmm8
andps xmm4, xmm7
addss xmm4, xmm8
jmp 0x424412
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_set_render_event_handle.
call fcn.004e0d80
jmp 0x423837
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_create_capture_event.
call fcn.004e0d80
mov r13d, 9
jmp 0x4241cc
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_release_render_buffer.
call fcn.004e0d80
jmp 0x423738
mov edx, dword [r12 + 0x1e4]
pxor xmm5, xmm5
movss xmm8, dword [0x0050b9a8]
cvtsi2ss xmm5, rdx
mulss xmm5, xmm7
movss xmm7, dword [0x0050b990]
movups xmm0, xmm7
andps xmm0, xmm5
comiss xmm8, xmm0
jbe 0x424636
cvttss2si r8d, xmm5
pxor xmm3, xmm3
movss xmm1, dword [0x0050b9a4]
cvtsi2ss xmm3, r8d
cmpnless xmm5, xmm3
andps xmm5, xmm1
addss xmm5, xmm3
comiss xmm5, dword [0x0050ba58]
cvttss2si r15, xmm5
jb 0x424656
subss xmm5, dword [0x0050ba58]
cvttss2si r15, xmm5
btc r15, 0x3f
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov ebx, dword [r12 + 0x1f4]
call fcn.0044a950
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 0x4246b9
cvttss2si r11d, xmm4
pxor xmm5, xmm5
movss xmm2, dword [0x0050b9a4]
cvtsi2ss xmm5, r11d
cmpnless xmm4, xmm5
andps xmm4, xmm2
addss xmm4, xmm5
comiss xmm4, dword [0x0050ba58]
cvttss2si r15, xmm4
jb 0x4246d9
subss xmm4, dword [0x0050ba58]
cvttss2si r15, xmm4
btc r15, 0x3f
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov ebx, dword [r12 + 0x1f8]
call fcn.0044a950
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.0044a950
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r15d, dword [r12 + 0x1e4]
imul r14d, eax
imul r15d, dword [r12 + 0x1f8]
call fcn.0044a950
imul r15d, eax
lea ecx, [rbx + rbx]
cmp r15d, r14d
cmovae r14d, r15d
mov ebx, r14d
jmp 0x42319f
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer.
call fcn.004e0d80
jmp 0x423738
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_initialize_capture_audio_client.
call fcn.004e0d80
jmp 0x42423c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_client_handle.
call fcn.004e0d80
jmp 0x423837
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_capture_client_handle.
call fcn.004e0d80
jmp 0x42423c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_reset_capture_stream.
call fcn.004e0d80
jmp 0x42423c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_initialize_render_audio_client.
call fcn.004e0d80
jmp 0x423837
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_start_capture_stream.
call fcn.004e0d80
jmp 0x42423c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_set_capture_event_handle.
call fcn.004e0d80
jmp 0x42423c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_reset_render_stream.
call fcn.004e0d80
jmp 0x423837
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_start_render_stream.
call fcn.004e0d80
jmp 0x423837
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_create_render_event.
call fcn.004e0d80
mov r13d, 9
jmp 0x42383d
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_instantiate_stream_stop_thread.
call fcn.004e0d80
jmp 0x424193
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_instantiate_stream_abort_thread.
call fcn.004e0d80
jmp 0x424193
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_close_stream_abort_thread_handle.
call fcn.004e0d80
jmp 0x424193
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Error_allocating_device_buffer_memory.
call fcn.004e0d80
mov r13d, 5
jmp 0x423840