Function at 0x422b80
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 0x422d1b
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 0x423220
mov r15, qword [rcx]
lea rdx, [rsp + 0xc0]
call qword [r15 + 0x40]
test eax, eax
js 0x424090
mov edx, dword [r12 + 0x214]
mov rcx, r12
call fcn.0044a910
mov ecx, 0x38
lea ebx, [rax*8]
call fcn.00504880
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.0042ad50
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 0x423650
mov dword [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xd8]
call qword [r11 + 0x20]
test eax, eax
js 0x424108
pxor xmm6, xmm6
pxor xmm0, xmm0
pxor xmm3, xmm3
mov ecx, dword [r12 + 0x1e4]
cvtsi2ss xmm6, rbx
movss xmm1, dword [0x0050eaa0]
movss xmm2, dword [0x0050eab8]
cvtsi2ss xmm0, r14
cvtsi2ss xmm3, rcx
divss xmm6, xmm0
mulss xmm3, xmm6
andps xmm1, xmm3
comiss xmm2, xmm1
ja 0x423628
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.0044a910
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 0x42322f
mov rax, qword [r13]
lea rdx, [rsp + 0xc8]
mov rcx, r13
call qword [rax + 0x40]
test eax, eax
js 0x424128
mov edx, dword [r12 + 0x210]
mov rcx, r12
call fcn.0044a910
mov ecx, 0x38
lea r14d, [rax*8]
call fcn.00504880
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.0042ad50
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 0x4241f0
mov dword [rsp + 0xd8], 0
lea rdx, [rsp + 0xd8]
mov rcx, r13
call qword [r11 + 0x20]
test eax, eax
js 0x423703
pxor xmm7, xmm7
pxor xmm8, xmm8
pxor xmm0, xmm0
mov r9d, dword [r12 + 0x1e4]
cvtsi2ss xmm7, rbx
movss xmm3, dword [0x0050eaa0]
movss xmm1, dword [0x0050eab8]
cvtsi2ss xmm8, r15
cvtsi2ss xmm0, r9
divss xmm7, xmm8
mulss xmm0, xmm7
andps xmm3, xmm0
comiss xmm1, xmm3
jbe 0x422fe8
cvttss2si ecx, xmm0
pxor xmm4, xmm4
movss xmm2, dword [0x0050eab4]
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.0044a910
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 0x4242c1
test r10d, r10d
je 0x424150
xor ebx, ebx
xor ecx, ecx
cmp r10d, 2
je 0x4244c2
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 0x4247a3
cmp dword [r12 + 0x1bc], 1
je 0x423618
cmp ebp, dword [rsp + 0x4c]
mov byte [rsp + 0x93], 0
cmove rsi, qword [rsp + 0x60]
mov byte [rsp + 0x4c], 1
movss xmm7, dword [0x0050eaa0]
mov qword [rsp + 0x78], rsi
xor esi, esi
nop dword [rax]
test sil, sil
je 0x42325f
test r13, r13
je 0x423420
cmp byte [rsp + 0x4c], 0
jne 0x423114
mov esi, dword [rsp + 0xac]
test esi, esi
jne 0x42317c
cmp byte [r12 + 0x1d8], 0
je 0x423f20
mov rdx, qword [r12 + 0x1d0]
mov r8, qword [r12 + 0x1c0]
lea r9, [r12 + 0x278]
mov rcx, r12
call fcn.0044aa10
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.0042a9f0
mov esi, dword [rsp + 0xac]
imul esi, dword [r12 + 0x1f4]
test esi, esi
je 0x423a00
mov ecx, dword [rsp + 0x108]
cmp esi, ecx
ja 0x423a00
mov r11d, dword [rsp + 0x10c]
mov r8d, dword [rsp + 0x110]
lea eax, [rsi + r11]
cmp r8d, r11d
jae 0x4231c6
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 0x423ee0
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.0x423213.0
mov ebp, dword [r12 + 0x210]
lea r8, [0x0050c524]
movsxd r10, dword [r8 + rbp*4]
add r10, r8
jmp r10
xor edi, edi
pxor xmm6, xmm6
test r13, r13
jne 0x422eb4
mov qword [rsp + 0x58], 0
pxor xmm7, xmm7
jmp 0x423056
mov r9d, dword [r12 + 0x1bc]
mov byte [rsp + 0x4c], 1
cmp r9d, 1
je 0x423618
cmp qword [rsp + 0x50], 0
jne 0x423a20
cmp byte [rsp + 0x93], 0
jne 0x4230f9
mov rcx, qword [r12]
mov esi, dword [rsp + 0xa0]
lea r11, [0x0044d4b0]
mov rbp, qword [r12 + 0x258]
mov r8, qword [rcx + 0x58]
and esi, 1
cmp r8, r11
jne 0x424080
mov r10d, dword [r12 + 0x1bc]
cmp r10d, 0xffffffce
je 0x4240c0
movsd xmm3, qword [r12 + 0x308]
cmp r10d, 2
jne 0x423348
comisd xmm3, xmmword [0x0050eac0]
je 0x423348
lea rcx, [rsp + 0xd8]
xor edx, edx
call fcn.0040e040
pxor xmm3, xmm3
pxor xmm1, xmm1
pxor xmm4, xmm4
movsd xmm8, qword [0x0050eac8]
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 0x424020
cmp r15d, 2
jne 0x4230f9
mov qword [rsp + 0x28], 0
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
lea r8, [0x004262a0]
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
je 0x424771
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x42478a
mov byte [rsp + 0x93], 1
test r13, r13
jne 0x423102
cmp qword [rsp + 0x50], 0
je 0x423248
mov byte [rsp + 0x4c], 1
xor ebx, ebx
mov esi, 1
jmp 0x4234b0
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 0x424008
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 0x42438a
mov r8d, dword [rsp + 0xa4]
test r8d, r8d
jne 0x423e98
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x20]
test eax, eax
js 0x4243bc
test bl, bl
je 0x4235f5
cmp byte [rsp + 0x4c], 0
jne 0x423534
test sil, sil
jne 0x423ef8
mov rbx, qword [r13]
mov rdx, r15
mov rcx, r13
call qword [rbx + 0x20]
test eax, eax
js 0x4243a3
mov rbp, qword [r13]
lea rdx, [rsp + 0xa8]
mov rcx, r13
call qword [rbp + 0x30]
test eax, eax
js 0x4243d5
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 0x4239f0
lea r8, [rsp + 0xd0]
call qword [rax + 0x18]
test eax, eax
js 0x42463f
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.004287d0
mov rcx, qword [rsp + 0xb8]
mov r8d, 0
test al, al
mov rax, qword [rcx]
je 0x4239f3
mov edx, dword [rsp + 0xa4]
call qword [rax + 0x20]
test eax, eax
js 0x4244a9
cmp byte [rsp + 0x4c], 0
mov r9d, dword [r12 + 0x1bc]
jne 0x423250
cmp r9d, 1
jne 0x4230f0
nop word [rax + rax]
mov r13d, 8
jmp 0x423720
cvttss2si edx, xmm3
pxor xmm4, xmm4
movss xmm5, dword [0x0050eab4]
cvtsi2ss xmm4, edx
cmpnless xmm3, xmm4
andps xmm3, xmm5
addss xmm3, xmm4
jmp 0x422e3d
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 0x424658
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0xb0]
lea rdx, [0x005bcf50]
mov rax, qword [rcx]
call qword [rax + 0x70]
test eax, eax
js 0x42468a
cmp ebp, dword [rsp + 0x4c]
jne 0x424346
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 0x4246a3
mov r15, qword [rsp + 0x50]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x50]
test eax, eax
js 0x4246d5
mov r11, qword [r15]
jmp 0x422dd2
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_get_render_buffer_size.
call fcn.004e3790
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 0x42380b
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 0x423798
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 0x4237b4
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 0x4237d1
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 0x4237ed
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 0x423801
mov rsi, qword [rcx]
call qword [rsi + 0x10]
mov rcx, qword [rsp + 0x58]
call fcn.00504830
test rdi, rdi
je 0x4238b8
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 0x42385c
mov r15, qword [rcx]
call qword [r15 + 0x10]
mov qword [rdi + 0x10], 0
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x423873
mov rbx, qword [rcx]
call qword [rbx + 0x10]
mov qword [rdi + 0x18], 0
mov rcx, qword [rdi + 0x20]
test rcx, rcx
je 0x42388a
mov rbp, qword [rcx]
call qword [rbp + 0x10]
mov qword [rdi + 0x20], 0
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x4238a1
mov rsi, qword [rcx]
call qword [rsi + 0x10]
mov qword [rdi + 0x28], 0
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x4238b0
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, rdi
call fcn.00504830
call qword [sym.imp.ole32.dll_CoUninitialize]
cmp qword [rsp + 0x128], 0
mov dword [r12 + 0x1bc], 0
jne 0x423fa0
mov rcx, qword [rsp + 0x120]
cmp rcx, qword [rsp + 0x68]
je 0x4238ed
call fcn.00504830
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 0x423467
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 0x423467
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 0x423467
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 0x423467
xor r8d, r8d
xor edx, edx
call qword [rax + 0x20]
jmp 0x4235ed
cmp qword [rsp + 0x50], 0
je 0x423ef8
mov byte [rsp + 0x4c], 0
mov esi, 1
mov ebx, 1
jmp 0x4234b0
mov ebp, dword [r12 + 0x1e4]
pxor xmm2, xmm2
movss xmm1, dword [0x0050eab8]
cvtsi2ss xmm2, rbp
mov rsi, rbp
mulss xmm2, xmm6
movups xmm3, xmm2
andps xmm3, xmm7
comiss xmm1, xmm3
jbe 0x423a73
cvttss2si r9d, xmm2
pxor xmm4, xmm4
movss xmm0, dword [0x0050eab4]
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 0x423e70
mov ebx, dword [r12 + 0x1f8]
imul eax, ebx
test eax, eax
je 0x423e70
mov r10d, dword [r12 + 0x214]
xor esi, esi
nop dword [rax + rax]
mov ebp, dword [rsp + 0xe8]
cmp ebp, eax
jb 0x423e70
mov edx, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0xec]
lea r11d, [rdx + rax]
cmp ecx, edx
jae 0x423e60
cmp ebp, r11d
ja 0x423ae8
add ecx, ebp
cmp edx, ecx
jbe 0x423e60
mov r9d, r11d
mov r8d, 0
sub r9d, ebp
cmovs r9d, r8d
sub eax, r9d
cmp r10d, 0x20
ja case.0x423b16.0
lea r8, [0x0050c5a8]
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.0044a910
mov esi, dword [rsp + 0xac]
imul ebx, eax
mov ebp, 0xffffffff
mov dword [rsp + 0xd8], 0
test esi, esi
je 0x423be4
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.0042a9f0
mov r15d, dword [r12 + 0x1e4]
mov esi, dword [rsp + 0xd8]
add esi, dword [rsp + 0xac]
mov dword [rsp + 0xac], esi
cmp r15d, esi
jbe 0x423f68
mov ebx, dword [r12 + 0x1f8]
test ebx, ebx
je 0x423e70
mov r10d, dword [r12 + 0x214]
mov eax, ebx
mov r15d, 1
jmp 0x423ab0
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.0x423b16.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.0x423b16.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.0x423b16.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.0x423b16.0
cmp r11d, ecx
jbe 0x423ae8
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 0x4234b0
mov r9d, dword [r12 + 0x214]
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0xe0]
imul r8d, dword [r12 + 0x1f8]
call fcn.004289d0
mov rcx, qword [rsp + 0xb0]
test al, al
mov rax, qword [rcx]
je 0x42350f
mov edx, dword [rsp + 0xa4]
call qword [rax + 0x20]
jmp 0x423514
cmp qword [rsp + 0x50], 0
mov byte [rsp + 0x4c], 0
mov esi, ebx
jne 0x4234b0
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 0x423534
mov edx, dword [r12 + 0x20c]
mov rcx, r12
mov ebp, dword [r12 + 0x1e4]
imul ebp, dword [r12 + 0x1ec]
call fcn.0044a910
mov r8d, ebp
mov rcx, qword [r12 + 0x1d0]
mov rdx, qword [r12 + 0x1c0]
imul r8d, eax
call sub.msvcrt.dll_memcpy
jmp 0x423143
cmp byte [r12 + 0x1d9], 0
je 0x423fc8
mov rdx, qword [r12 + 0x1c8]
mov r8, qword [r12 + 0x1d0]
lea r9, [r12 + 0x2c0]
mov rcx, r12
call fcn.0044aa10
jmp 0x42326b
lea rdx, [rsp + 0x120]
lea rcx, [r12 + 0x180]
call fcn.004e4710
mov edx, r13d
mov rcx, r12
call fcn.0044ee70
jmp 0x4238d9
mov edx, dword [r12 + 0x20c]
mov rcx, r12
imul r15d, dword [r12 + 0x1f0]
call fcn.0044a910
mov r8d, r15d
mov rcx, qword [r12 + 0x1c8]
mov rdx, qword [r12 + 0x1d0]
imul r8d, eax
call sub.msvcrt.dll_memcpy
jmp 0x42326b
mov byte [rsp + 0x4c], 1
mov esi, 1
lea r15, [rsp + 0xa4]
jmp 0x423534
mov qword [rsp + 0x28], 0
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], 0
lea r8, [0x004260f0]
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
test rax, rax
je 0x424758
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x42340f
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_close_stream_stop_thread_handle.
call fcn.004e3790
mov r13d, 0xa
jmp 0x423720
mov rcx, r12
call r8
movupd xmm3, xmm0
jmp 0x423348
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_device_mix_format.
call fcn.004e3790
mov r13d, 8
xor edi, edi
mov qword [rsp + 0x58], 0
xor r14d, r14d
jmp 0x423720
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.004e2900
mov edx, 7
mov rcx, r12
call fcn.0044ee70
mov r10d, dword [r12 + 0x1bc]
jmp 0x4232b5
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_get_capture_buffer_size.
call fcn.004e3790
mov r13d, 8
jmp 0x4240ac
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_device_mix_format.
call fcn.004e3790
mov qword [rsp + 0x58], 0
mov r13d, 8
jmp 0x42371d
mov ecx, dword [r12 + 0x1e4]
pxor xmm8, xmm8
movss xmm0, dword [0x0050eab8]
cvtsi2ss xmm8, rcx
mulss xmm8, xmm7
movss xmm7, dword [0x0050eaa0]
andps xmm7, xmm8
comiss xmm0, xmm7
ja 0x424406
comiss xmm8, dword [0x0050eb68]
cvttss2si rbx, xmm8
jae 0x4243ee
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov r15d, dword [r12 + 0x1f4]
call fcn.0044a910
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov r14d, dword [r12 + 0x1e4]
imul r15d, eax
imul r14d, dword [r12 + 0x1f4]
call fcn.0044a910
imul ebx, r15d
lea ecx, [rbx + rbx]
mov ebx, r14d
imul ebx, eax
jmp 0x42307f
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 0x4246bc
mov rax, qword [r13]
lea r8, [rsp + 0xb8]
lea rdx, [0x005bcf30]
mov rcx, r13
call qword [rax + 0x70]
test eax, eax
js 0x424671
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 0x424739
mov r14, qword [r13]
mov rdx, rax
mov rcx, r13
call qword [r14 + 0x68]
test eax, eax
js 0x424471
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 0x424707
mov r14, qword [r13]
mov rcx, r13
call qword [r14 + 0x50]
test eax, eax
js 0x424720
mov r11, qword [r13]
jmp 0x422f61
mov edx, dword [r12 + 0x1e4]
pxor xmm4, xmm4
movss xmm5, dword [0x0050eaa0]
movss xmm2, dword [0x0050eab8]
cvtsi2ss xmm4, rdx
mulss xmm4, xmm6
andps xmm5, xmm4
comiss xmm2, xmm5
ja 0x424447
comiss xmm4, dword [0x0050eb68]
cvttss2si rbx, xmm4
jae 0x424430
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r15d, dword [r12 + 0x1f8]
call fcn.0044a910
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r14d, dword [r12 + 0x1e4]
imul r15d, eax
imul r14d, dword [r12 + 0x1f8]
call fcn.0044a910
jmp 0x4241d4
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 0x42448a
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov r15, qword [rcx]
call qword [r15 + 0x68]
test eax, eax
js 0x4246ee
mov r8, qword [r12 + 0x1b0]
mov qword [r8 + 0x20], rsi
jmp 0x4236c6
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_capture_buffer.
call fcn.004e3790
jmp 0x423618
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer_size.
call fcn.004e3790
jmp 0x423618
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_release_capture_buffer.
call fcn.004e3790
jmp 0x423618
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer_padding.
call fcn.004e3790
jmp 0x423618
subss xmm8, dword [0x0050eb68]
cvttss2si rbx, xmm8
btc rbx, 0x3f
jmp 0x424197
cvttss2si r10d, xmm8
pxor xmm3, xmm3
movss xmm1, dword [0x0050eab4]
cvtsi2ss xmm3, r10d
cmpnless xmm8, xmm3
andps xmm8, xmm1
addss xmm8, xmm3
jmp 0x424184
subss xmm4, dword [0x0050eb68]
cvttss2si rbx, xmm4
btc rbx, 0x3f
jmp 0x424304
cvttss2si r8d, xmm4
pxor xmm8, xmm8
movss xmm7, dword [0x0050eab4]
cvtsi2ss xmm8, r8d
cmpnless xmm4, xmm8
andps xmm4, xmm7
addss xmm4, xmm8
jmp 0x4242f2
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_set_render_event_handle.
call fcn.004e3790
jmp 0x423717
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_create_capture_event.
call fcn.004e3790
mov r13d, 9
jmp 0x4240ac
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_release_render_buffer.
call fcn.004e3790
jmp 0x423618
mov edx, dword [r12 + 0x1e4]
pxor xmm5, xmm5
movss xmm8, dword [0x0050eab8]
cvtsi2ss xmm5, rdx
mulss xmm5, xmm7
movss xmm7, dword [0x0050eaa0]
movups xmm0, xmm7
andps xmm0, xmm5
comiss xmm8, xmm0
jbe 0x424516
cvttss2si r8d, xmm5
pxor xmm3, xmm3
movss xmm1, dword [0x0050eab4]
cvtsi2ss xmm3, r8d
cmpnless xmm5, xmm3
andps xmm5, xmm1
addss xmm5, xmm3
comiss xmm5, dword [0x0050eb68]
cvttss2si r15, xmm5
jb 0x424536
subss xmm5, dword [0x0050eb68]
cvttss2si r15, xmm5
btc r15, 0x3f
mov edx, dword [r12 + 0x210]
mov rcx, r12
mov ebx, dword [r12 + 0x1f4]
call fcn.0044a910
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 0x424599
cvttss2si r11d, xmm4
pxor xmm5, xmm5
movss xmm2, dword [0x0050eab4]
cvtsi2ss xmm5, r11d
cmpnless xmm4, xmm5
andps xmm4, xmm2
addss xmm4, xmm5
comiss xmm4, dword [0x0050eb68]
cvttss2si r15, xmm4
jb 0x4245b9
subss xmm4, dword [0x0050eb68]
cvttss2si r15, xmm4
btc r15, 0x3f
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov ebx, dword [r12 + 0x1f8]
call fcn.0044a910
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.0044a910
mov edx, dword [r12 + 0x214]
mov rcx, r12
mov r15d, dword [r12 + 0x1e4]
imul r14d, eax
imul r15d, dword [r12 + 0x1f8]
call fcn.0044a910
imul r15d, eax
lea ecx, [rbx + rbx]
cmp r15d, r14d
cmovae r14d, r15d
mov ebx, r14d
jmp 0x42307f
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_buffer.
call fcn.004e3790
jmp 0x423618
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_initialize_capture_audio_client.
call fcn.004e3790
jmp 0x42411c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_render_client_handle.
call fcn.004e3790
jmp 0x423717
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_retrieve_capture_client_handle.
call fcn.004e3790
jmp 0x42411c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_reset_capture_stream.
call fcn.004e3790
jmp 0x42411c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_initialize_render_audio_client.
call fcn.004e3790
jmp 0x423717
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_start_capture_stream.
call fcn.004e3790
jmp 0x42411c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_set_capture_event_handle.
call fcn.004e3790
jmp 0x42411c
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_reset_render_stream.
call fcn.004e3790
jmp 0x423717
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_start_render_stream.
call fcn.004e3790
jmp 0x423717
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_create_render_event.
call fcn.004e3790
mov r13d, 9
jmp 0x42371d
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_instantiate_stream_stop_thread.
call fcn.004e3790
jmp 0x424073
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_instantiate_stream_abort_thread.
call fcn.004e3790
jmp 0x424073
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Unable_to_close_stream_abort_thread_handle.
call fcn.004e3790
jmp 0x424073
lea rcx, [rsp + 0x120]
lea rdx, str.RtApiWasapi::wasapiThread:_Error_allocating_device_buffer_memory.
call fcn.004e3790
mov r13d, 5
jmp 0x423720