Function at 0x453a80
Capabilities:
Create thread
Resume thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
movups xmmword [rsp + 0x30], xmm6
lea rax, fcn.004547d0
xor r9d, r9d
mov qword [rcx], rax
mov rbx, rcx
mov r13, rdx
lea rcx, [rcx + 8]
mov qword [rsp + 0x20], 0
mov rsi, r8
mov rdx, rbx
xor r8d, r8d
call fcn.00455050
mov ecx, 0x90
mov qword [rbx + 0x20], 0
mov rdi, qword [rbx + 8]
movsd xmm6, qword [0x0050a060]
call fcn.005052f0
mov edx, 1
mov rcx, rax
mov r12, rax
call fcn.0042c2c0
lea rdx, [0x0051d1c0]
mov rcx, r12
mov qword [r12], rdx
lea rdx, str.DISTRHO_glBars
call fcn.0042c120
movabs rcx, 0xffffffff00000000
lea rbp, [0x00453a00]
mov qword [r12 + 0x28], rdi
mov r14, qword [0x005157d0]
mov qword [r12 + 0x10], 0
mov rdi, qword [0x005157e0]
mov dword [r12 + 0x20], 0
mov qword [r12 + 0x48], 0
mov byte [r12 + 0x50], 1
mov qword [r12 + 0x60], 0
mov qword [r12 + 0x70], 0
mov qword [r12 + 0x78], 0
mov qword [r12 + 0x80], 0
mov qword [r12 + 0x88], 0
mov qword [rbx + 0x28], r12
mov qword [r12 + 0x30], rcx
mov qword [r12 + 0x38], 0
mov qword [r12 + 0x40], rsi
mov qword [r12 + 0x58], rbx
mov qword [r12 + 0x68], rbp
movsd qword [r12 + 0x18], xmm6
mov qword [r14], 0
mov qword [rdi], r12
call fcn.0045a480
mov r8, qword [rbx + 0x28]
mov qword [r14], 0
mov rsi, rax
mov r12, qword [r8 + 0x10]
mov r9, qword [r12 + 8]
mov rcx, qword [r9 + 0x20]
test rcx, rcx
je 0x453bf1
cmp byte [r12 + 0x19], 0
jne 0x4542c0
mov byte [r12 + 0x18], 0
call fcn.00435570
mov qword [rdi], 0
test rsi, rsi
je 0x454360
mov rax, qword [rbx + 0x28]
mov qword [rbx + 0x20], rsi
mov byte [rax + 0x50], 0
mov rdx, qword [rbx + 0x10]
mov qword [rbx + 0x30], r13
test rdx, rdx
je 0x454388
mov rdi, qword [rdx + 8]
mov ecx, dword [rdi]
mov rdx, qword [rdi + 0x20]
lea r8, str.32_bit_float_mono_audio
mov qword [rsp + 0x20], 0
and ecx, 1
cmp ecx, 1
mov rcx, r13
sbb rsi, rsi
xor sil, sil
lea r9, [rsi + 0x101]
call fcn.0041ada0
mov qword [rbx + 0x38], rax
mov r8, rax
xor r9d, r9d
mov rdx, rdi
mov rcx, rbx
call fcn.00453260
mov r13, qword [rbx + 0x10]
test r13, r13
je 0x4543c0
mov r12, qword [r13 + 8]
add r12, 0x40
mov r8d, dword [r12]
mov rdx, qword [r12 + 0x20]
mov rcx, qword [rbx + 0x30]
mov qword [rsp + 0x20], 0
and r8d, 1
cmp r8d, 1
lea r8, str.32_bit_float_mono_audio
sbb r9, r9
xor r9b, r9b
lea r9, [r9 + 0x102]
call fcn.0041ada0
mov qword [rbx + 0x40], rax
mov r8, rax
mov r9d, 1
mov rdx, r12
mov rcx, rbx
call fcn.00453260
mov rcx, qword [rbx + 0x30]
mov r9d, 1
mov qword [rsp + 0x20], 0
lea r8, str.8_bit_raw_midi
lea rdx, str.events_in
call fcn.0041ada0
mov r14, qword [rbx + 0x10]
mov qword [rbx + 0x48], rax
test r14, r14
je 0x4543f0
mov r15d, dword [r14 + 0x10]
test r15d, r15d
jne 0x4540a0
pxor xmm0, xmm0
movups xmmword [rbx + 0x50], xmm0
cmp byte [0x00508450], 0
mov rbp, qword [rbx + 0x30]
jne 0x454070
cmp byte [0x00508460], 0
je 0x453f40
mov r15, qword [0x00508440]
lea r13, [0x004536c0]
cmp byte [0x00508450], 0
mov qword [r15 + 0x30], r13
mov qword [r15 + 0x40], rbx
jne 0x453f74
lea r14, [0x00453200]
mov qword [r15 + 0x38], rbx
mov qword [r15 + 0x28], r14
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x454020
cmp byte [rbx + 0x18], 0
jne 0x454428
mov r11, qword [rcx]
lea rdx, [0x00459440]
mov byte [rbx + 0x18], 1
mov rax, qword [r11 + 0x78]
cmp rax, rdx
jne 0x454348
cmp byte [0x00508460], 0
je 0x454048
mov rcx, qword [0x00508440]
lea r8, [0x0042b010]
mov r12, qword [rcx]
mov r15, qword [r12 + 0x20]
cmp r15, r8
jne 0x454350
mov r9, qword [rcx + 0x60]
test r9, r9
je 0x4545c0
mov r13, qword [r9]
lea rdi, [0x004235e0]
mov r14, qword [r13]
mov rbp, qword [r14 + 0x40]
cmp rbp, rdi
jne 0x454418
mov r10d, dword [r13 + 0x1bc]
cmp r10d, 0xffffffce
je 0x454488
cmp r10d, 2
je 0x454450
lea rcx, [r13 + 0x310]
xor edx, edx
call fcn.0040ea20
mov r9, r13
lea r8, [0x00426c80]
xor edx, edx
xor ecx, ecx
mov dword [r13 + 0x1bc], 2
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [r13 + 0x248], rax
mov rcx, rax
test rax, rax
jne 0x454300
mov r8, qword [r13 + 0x188]
lea rcx, [r13 + 0x180]
lea r9, str.RtApiWasapi::startStream:_Unable_to_instantiate_callback_thread.
xor edx, edx
mov qword [rsp + 0x20], 0x40
call fcn.004e3b90
mov edx, 0xa
mov rcx, r13
call fcn.004514f0
nop dword [rax]
mov ecx, 1
call qword [fcn.00419890]
mov rcx, rax
call sub.msvcrt.dll_fflush
cmp byte [0x00508460], 0
lea rdx, str.glBars
jne 0x453ede
mov rsi, qword [rbx + 0x30]
call fcn.0041da30
cmp qword [rax + 0x30], 0
je 0x454288
call fcn.0041da30
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, rax
test rax, rax
je 0x454288
mov rcx, qword [rbx + 0x28]
mov rcx, qword [rcx + 0x10]
call fcn.00443fa0
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rdx + 0x10]
call fcn.00443a20
mov r15, qword [rbx + 0x28]
mov rcx, qword [r15 + 0x10]
call fcn.00443a40
mov rcx, qword [rbx + 0x28]
mov rdx, rbx
call fcn.0042c130
mov rcx, qword [rbx + 0x28]
mov edx, 0x1e
call fcn.0042c230
nop
movups xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call fcn.0041da30
cmp qword [rax + 0xa0], 0
je 0x453f67
call fcn.0041da30
mov r8, rbx
lea rdx, [0x004536c0]
mov rcx, rbp
call qword [rax + 0xa0]
cmp byte [0x00508450], 0
mov rbp, qword [rbx + 0x30]
je 0x453f9f
call fcn.0041da30
cmp qword [rax + 0xa8], 0
je 0x453f9b
call fcn.0041da30
mov r8, rbx
lea rdx, [0x00453840]
mov rcx, rbp
call qword [rax + 0xa8]
mov rbp, qword [rbx + 0x30]
cmp byte [0x00508460], 0
jne 0x454320
call fcn.0041da30
cmp qword [rax + 0x90], 0
je 0x453fd3
call fcn.0041da30
mov r8, rbx
lea rdx, [0x00453200]
mov rcx, rbp
call qword [rax + 0x90]
mov rbp, qword [rbx + 0x30]
movzx edi, byte [0x00508450]
test dil, dil
je 0x453d68
call fcn.0041da30
cmp qword [rax + 0x80], 0
je 0x453d68
call fcn.0041da30
mov r8, rbx
lea rdx, [0x00453220]
mov rcx, rbp
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rbx + 8]
test rcx, rcx
jne 0x453d75
nop
mov r9d, 0x39b
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x453d9a
mov rsi, qword [rbx + 0x30]
call fcn.0041da30
cmp qword [rax + 0x60], 0
je 0x453e90
call fcn.0041da30
mov rcx, rsi
call qword [rax + 0x60]
jmp 0x453e90
call fcn.0041da30
cmp qword [rax + 0x78], 0
je 0x454091
call fcn.0041da30
mov r8, rbx
lea rdx, [0x004539e0]
mov rcx, rbp
call qword [rax + 0x78]
mov rbp, qword [rbx + 0x30]
jmp 0x453d29
mov ebp, r15d
lea rdi, [rbp*4]
mov rcx, rdi
call fcn.005052c0
mov qword [rbx + 0x50], rax
mov rcx, rax
mov r8, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rbp
call fcn.005052c0
mov qword [rbx + 0x58], rax
mov r8, rbp
mov rcx, rax
xor edx, edx
xor ebp, ebp
lea r13, [0x00464e00]
pxor xmm6, xmm6
xor r14d, r14d
call sub.msvcrt.dll_memset
test r15b, 1
je 0x4541e6
mov r10, qword [rbx + 0x10]
test r10, r10
je 0x454550
cmp r14d, dword [r10 + 0x10]
jae 0x454550
mov r11, qword [r10 + 0x18]
test byte [r11], 0x10
je 0x454570
mov r14d, 1
mov ebp, 0xb8
cmp r14d, r15d
je 0x453d18
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x4541f3
nop dword [rax]
mov r9d, 0x274
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x0050c2a8]
call fcn.0041e670
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x454668
mov r9, qword [rbx + 0x10]
test r9, r9
je 0x4544d0
cmp r14d, dword [r9 + 0x10]
jae 0x4544d0
mov rdi, qword [rcx]
movups xmm2, xmm6
mov r10, qword [rdi + 0x68]
cmp r10, r13
jne 0x454540
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x454610
mov r11, qword [rcx]
mov edx, r14d
call qword [r11 + 0x60]
mov rax, qword [rbx + 0x10]
add r14d, 1
add rbp, 0xb8
test rax, rax
je 0x454210
cmp r14d, dword [rax + 0x10]
jae 0x454210
mov rdx, qword [rax + 0x18]
test byte [rdx + rbp], 0x10
je 0x454230
add r14d, 1
add rbp, 0xb8
cmp r14d, r15d
je 0x453d18
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x454140
cmp r14d, dword [rcx + 0x10]
jae 0x454140
mov r8, qword [rcx + 0x18]
test byte [r8 + rbp], 0x10
jne 0x4541ae
jmp 0x454160
mov r9d, 0x274
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x0050c2a8]
call fcn.0041e670
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x454638
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x454500
cmp r14d, dword [rsi + 0x10]
jae 0x454500
mov r12, qword [rcx]
movups xmm2, xmm6
mov r8, qword [r12 + 0x68]
cmp r8, r13
jne 0x454530
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x454698
mov r9, qword [rcx]
mov edx, r14d
call qword [r9 + 0x60]
jmp 0x4541d2
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4546bd
mov r11, qword [rcx]
lea r12, [0x00464e20]
lea rdx, str.glBars
mov rax, qword [r11 + 0x10]
cmp rax, r12
je 0x453ede
call rax
mov rdx, rax
jmp 0x453ede
mov r14, qword [r12 + 0x10]
mov rcx, r12
mov r10, qword [r14]
mov r15, qword [r10 + 0x90]
call fcn.00462ed0
mov rcx, r12
mov ebp, eax
call fcn.00462e60
mov r8d, ebp
mov rcx, r14
mov edx, eax
call r15
mov r11, qword [r12 + 8]
mov rcx, qword [r11 + 0x20]
jmp 0x453be6
mov edx, dword [r13 + 0x274]
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rcx, qword [r13 + 0x248]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
jmp 0x453e90
mov r10, qword [0x00508440]
lea rcx, [0x00453200]
movzx edi, byte [0x00508450]
mov qword [r10 + 0x28], rcx
mov qword [r10 + 0x38], rbx
jmp 0x453fde
call rax
jmp 0x453d9a
call r15
jmp 0x453e90
mov r9d, 0x65
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, str.uiPtr___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x453c0d
mov r9d, 0x22e
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x0050c2a8]
lea rdi, [0x00509fa0]
call fcn.0041e670
mov r13, qword [rbx + 0x30]
jmp 0x453c22
mov r9d, 0x22e
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x0050c2a8]
lea r12, [0x00509fa0]
call fcn.0041e670
jmp 0x453c7d
mov r9d, 0x266
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x453d10
mov rcx, r13
call rbp
jmp 0x453e90
mov r9d, 0x39c
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.__fIsActive
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x453d9a
mov r8, qword [r13 + 0x188]
lea rcx, [r13 + 0x180]
lea r9, str.RtApiWasapi::startStream:_The_stream_is_already_running.
xor edx, edx
mov qword [rsp + 0x20], 0x38
call fcn.004e3b90
xor edx, edx
mov rcx, r13
call fcn.004514f0
jmp 0x453e90
mov r8, qword [r13 + 0x188]
lea rcx, [r13 + 0x180]
lea r9, str.RtApi::_a_stream_is_not_open_
xor edx, edx
mov qword [rsp + 0x20], 0x1d
call fcn.004e3b90
mov edx, 7
mov rcx, r13
call fcn.004514f0
mov r10d, dword [r13 + 0x1bc]
jmp 0x453dff
mov r9d, 0x2ea
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x0050c2a8]
call fcn.0041e670
pxor xmm2, xmm2
jmp 0x454197
mov r9d, 0x2ea
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x0050c2a8]
call fcn.0041e670
pxor xmm2, xmm2
jmp 0x454268
mov edx, r14d
call r8
movups xmm2, xmm0
jmp 0x454268
mov edx, r14d
call r10
movups xmm2, xmm0
jmp 0x454197
mov r9d, 0x274
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x0050c2a8]
call fcn.0041e670
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4545e5
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x4546e9
cmp r14d, dword [rax + 0x10]
jae 0x4546e9
mov rdx, qword [rcx]
movups xmm2, xmm6
mov rsi, qword [rdx + 0x68]
cmp rsi, r13
jne 0x454712
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x45471e
mov r12, qword [rcx]
xor edx, edx
call qword [r12 + 0x60]
jmp 0x45411c
mov r9d, 0x70
lea r8, str..._.._dpf_distrho_src_jackbridge_RtAudioBridge.hpp
lea rdx, str.handle___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x453e90
mov r9d, 0x2e9
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
pxor xmm2, xmm2
jmp 0x4545a3
mov r9d, 0xc0
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x0050c37f]
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x4541ae
mov r9d, 0x2e9
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
pxor xmm2, xmm2
jmp 0x454268
mov r9d, 0x2e9
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x0050c2a8]
call fcn.0041e670
pxor xmm2, xmm2
jmp 0x454197
mov r9d, 0xc0
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x0050c37f]
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x4541d2
lea rdx, str.fPlugin___nullptr
mov r9d, 0x1e5
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rcx, [0x0050c2a8]
call fcn.0041e670
lea rdx, [0x0050c217]
jmp 0x453ede
mov r9d, 0x2ea
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x0050c2a8]
call fcn.0041e670
pxor xmm2, xmm2
jmp 0x4545a3
xor edx, edx
call rsi
movups xmm2, xmm0
jmp 0x4545a3
mov r9d, 0xc0
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x0050c37f]
lea rcx, [0x0050c2a8]
call fcn.0041e670
jmp 0x45411c