Function at 0x4515f0
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.00452440
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.00452ca0
mov ecx, 0x90
mov qword [rbx + 0x20], 0
mov rdi, qword [rbx + 8]
movsd xmm6, qword [0x00506080]
call fcn.005017b0
mov edx, 1
mov rcx, rax
mov r12, rax
call fcn.0042b830
lea rdx, [0x005200a0]
mov rcx, r12
mov qword [r12], rdx
lea rdx, str.DISTRHO_Cycle_Shifter
call fcn.0042b690
movabs rcx, 0xffffffff00000000
lea rbp, [0x00451570]
mov qword [r12 + 0x28], rdi
mov r14, qword [0x00511670]
mov qword [r12 + 0x10], 0
mov rdi, qword [0x00511680]
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.00457350
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 0x451761
cmp byte [r12 + 0x19], 0
jne 0x451ec0
mov byte [r12 + 0x18], 0
call fcn.004343a0
mov qword [rdi], 0
test rsi, rsi
je 0x451f90
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 0x451fb8
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.0041a370
mov qword [rbx + 0x38], rax
mov r8, rax
xor r9d, r9d
mov rdx, rdi
mov rcx, rbx
call fcn.00450dd0
mov r13, qword [rbx + 0x10]
test r13, r13
je 0x451ff0
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.0041a370
mov qword [rbx + 0x40], rax
mov r8, rax
mov r9d, 1
mov rdx, r12
mov rcx, rbx
call fcn.00450dd0
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.0041a370
mov r14, qword [rbx + 0x10]
mov qword [rbx + 0x48], rax
test r14, r14
je 0x451f60
mov r10d, dword [r14 + 0x30]
test r10d, r10d
jne 0x451dd8
mov dword [rbx + 0x60], 0xffffffff
mov r13d, dword [r14 + 0x10]
test r13d, r13d
jne 0x451bf0
pxor xmm0, xmm0
movups xmmword [rbx + 0x50], xmm0
cmp byte [0x00504450], 0
mov rbp, qword [rbx + 0x30]
jne 0x451e50
cmp byte [0x00504460], 0
je 0x451ac0
mov r13, qword [0x00504440]
lea r14, [0x00451230]
cmp byte [0x00504450], 0
mov qword [r13 + 0x30], r14
mov qword [r13 + 0x40], rbx
jne 0x451af4
lea r15, [0x00450d70]
mov qword [r13 + 0x38], rbx
mov qword [r13 + 0x28], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x451ba0
cmp byte [rbx + 0x18], 0
jne 0x452030
mov r12, qword [rcx]
lea rdx, [0x00456050]
mov byte [rbx + 0x18], 1
mov r9, qword [r12 + 0x88]
cmp r9, rdx
jne 0x451f48
cmp byte [0x00504460], 0
je 0x451bc8
mov rcx, qword [0x00504440]
lea r11, [0x0042a580]
mov r10, qword [rcx]
mov rax, qword [r10 + 0x20]
cmp rax, r11
jne 0x451f50
mov rcx, qword [rcx + 0x60]
test rcx, rcx
je 0x4521c0
mov r14, qword [rcx]
lea rsi, [0x00422b50]
mov r15, qword [r14]
mov rbp, qword [r15 + 0x40]
cmp rbp, rsi
jne 0x452020
mov edi, dword [r14 + 0x1bc]
cmp edi, 0xffffffce
je 0x452090
cmp edi, 2
je 0x452058
lea rcx, [r14 + 0x310]
xor edx, edx
call fcn.0040e040
mov r9, r14
lea r8, [0x004261f0]
xor edx, edx
xor ecx, ecx
mov dword [r14 + 0x1bc], 2
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [r14 + 0x248], rax
mov rcx, rax
test rax, rax
jne 0x451f00
mov r8, qword [r14 + 0x188]
lea rcx, [r14 + 0x180]
lea r9, str.RtApiWasapi::startStream:_Unable_to_instantiate_callback_thread.
xor edx, edx
mov qword [rsp + 0x20], 0x40
call fcn.004dfef0
mov edx, 0xa
mov rcx, r14
call fcn.0044eeb0
mov ecx, 1
call qword [fcn.00418ea0]
mov rcx, rax
call sub.msvcrt.dll_fflush
cmp byte [0x00504460], 0
lea rdx, str.Cycle_Shifter
jne 0x451a5e
mov r12, qword [rbx + 0x30]
call fcn.0041d0c0
cmp qword [rax + 0x30], 0
je 0x451e80
call fcn.0041d0c0
mov rcx, r12
call qword [rax + 0x30]
mov rdx, rax
test rax, rax
je 0x451e80
mov r10, qword [rbx + 0x28]
mov rcx, qword [r10 + 0x10]
call fcn.00441960
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rdx + 0x10]
call fcn.004413e0
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x10]
call fcn.00441400
mov rcx, qword [rbx + 0x28]
mov rdx, rbx
call fcn.0042b6a0
mov rcx, qword [rbx + 0x28]
mov edx, 0x1e
call fcn.0042b7a0
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.0041d0c0
cmp qword [rax + 0xa0], 0
je 0x451ae7
call fcn.0041d0c0
mov r8, rbx
lea rdx, [0x00451230]
mov rcx, rbp
call qword [rax + 0xa0]
cmp byte [0x00504450], 0
mov rbp, qword [rbx + 0x30]
je 0x451b1f
call fcn.0041d0c0
cmp qword [rax + 0xa8], 0
je 0x451b1b
call fcn.0041d0c0
mov r8, rbx
lea rdx, [0x004513b0]
mov rcx, rbp
call qword [rax + 0xa8]
mov rbp, qword [rbx + 0x30]
cmp byte [0x00504460], 0
jne 0x451f20
call fcn.0041d0c0
cmp qword [rax + 0x90], 0
je 0x451b53
call fcn.0041d0c0
mov r8, rbx
lea rdx, [0x00450d70]
mov rcx, rbp
call qword [rax + 0x90]
mov rbp, qword [rbx + 0x30]
movzx esi, byte [0x00504450]
test sil, sil
je 0x4518ec
call fcn.0041d0c0
cmp qword [rax + 0x80], 0
je 0x4518ec
call fcn.0041d0c0
mov r8, rbx
lea rdx, [0x00450d90]
mov rcx, rbp
call qword [rax + pe_nt_image_headers64]
mov rcx, qword [rbx + 8]
test rcx, rcx
jne 0x4518f9
nop
mov r9d, 0x39b
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451922
mov r13, qword [rbx + 0x30]
call fcn.0041d0c0
cmp qword [rax + 0x60], 0
je 0x451a10
call fcn.0041d0c0
mov rcx, r13
call qword [rax + 0x60]
jmp 0x451a10
mov esi, r13d
lea rdi, [rsi*4]
mov rcx, rdi
call fcn.00501780
mov qword [rbx + 0x50], rax
mov rcx, rax
mov r8, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rsi
call fcn.00501780
mov qword [rbx + 0x58], rax
mov rcx, rax
mov r8, rsi
xor edx, edx
xor ebp, ebp
lea r14, [0x00461160]
pxor xmm6, xmm6
xor r15d, r15d
call sub.msvcrt.dll_memset
test r13b, 1
je 0x451d37
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x452150
cmp r15d, dword [rdx + 0x10]
jae 0x452150
mov rcx, qword [rdx + 0x18]
test byte [rcx], 0x10
je 0x452170
mov r15d, 1
mov ebp, 0xb8
cmp r15d, r13d
je 0x45189c
mov r11, qword [rbx + 0x10]
test r11, r11
jne 0x451d44
nop dword [rax]
mov r9d, 0x274
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x00508240]
call fcn.0041dc70
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4522a0
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x4520d0
cmp r15d, dword [rsi + 0x10]
jae 0x4520d0
mov rdi, qword [rcx]
movups xmm2, xmm6
mov r8, qword [rdi + 0x70]
cmp r8, r14
jne 0x452140
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x452248
mov r12, qword [rcx]
mov edx, r15d
call qword [r12 + 0x60]
mov rdx, qword [rbx + 0x10]
add r15d, 1
add rbp, 0xb8
test rdx, rdx
je 0x451d60
cmp r15d, dword [rdx + 0x10]
jae 0x451d60
mov rcx, qword [rdx + 0x18]
test byte [rcx + rbp], 0x10
je 0x451d80
add r15d, 1
add rbp, 0xb8
cmp r15d, r13d
je 0x45189c
mov r11, qword [rbx + 0x10]
test r11, r11
je 0x451c90
cmp r15d, dword [r11 + 0x10]
jae 0x451c90
mov rax, qword [r11 + 0x18]
test byte [rax + rbp], 0x10
jne 0x451cff
jmp 0x451cb0
mov r9d, 0x274
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x00508240]
call fcn.0041dc70
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x452270
mov r9, qword [rbx + 0x10]
test r9, r9
je 0x452100
cmp r15d, dword [r9 + 0x10]
jae 0x452100
mov r10, qword [rcx]
movups xmm2, xmm6
mov r11, qword [r10 + 0x70]
cmp r11, r14
jne 0x452130
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x452220
mov rax, qword [rcx]
mov edx, r15d
call qword [rax + 0x60]
jmp 0x451d23
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x452300
mov r15, qword [rcx]
lea r11, [0x004555f0]
mov rbp, qword [r15 + 0x80]
cmp rbp, r11
jne 0x4521e8
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x4522d0
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x68]
mov r14, qword [rbx + 0x10]
mov dword [rbx + 0x60], 0xffffffff
test r14, r14
jne 0x451887
mov r9d, 0x266
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451894
call fcn.0041d0c0
cmp qword [rax + 0x78], 0
je 0x451e71
call fcn.0041d0c0
mov r8, rbx
lea rdx, [0x00451550]
mov rcx, rbp
call qword [rax + 0x78]
mov rbp, qword [rbx + 0x30]
jmp 0x4518ad
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x452325
mov r8, qword [rcx]
lea r9, [0x00461180]
lea rdx, str.Cycle_Shifter
mov r13, qword [r8 + 0x10]
cmp r13, r9
je 0x451a5e
call r13
mov rdx, rax
jmp 0x451a5e
mov r14, qword [r12 + 0x10]
mov rcx, r12
mov r10, qword [r14]
mov r15, qword [r10 + 0x98]
call fcn.0045f240
mov rcx, r12
mov ebp, eax
call fcn.0045f1d0
mov r8d, ebp
mov rcx, r14
mov edx, eax
call r15
mov r11, qword [r12 + 8]
mov rcx, qword [r11 + 0x20]
jmp 0x451756
mov edx, dword [r14 + 0x274]
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rcx, qword [r14 + 0x248]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
jmp 0x451a10
mov rdi, qword [0x00504440]
lea r8, [0x00450d70]
movzx esi, byte [0x00504450]
mov qword [rdi + 0x28], r8
mov qword [rdi + 0x38], rbx
jmp 0x451b5e
call r9
jmp 0x451922
call rax
jmp 0x451a10
mov r9d, 0x31e
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
mov r14, qword [rbx + 0x10]
jmp 0x451e18
mov r9d, 0x65
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, str.uiPtr___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x45177d
mov r9d, 0x22e
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x00508240]
lea rdi, [0x00505fc0]
call fcn.0041dc70
mov r13, qword [rbx + 0x30]
jmp 0x451792
mov r9d, 0x22e
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr
lea rcx, [0x00508240]
lea r12, [0x00505fc0]
call fcn.0041dc70
jmp 0x4517ed
mov rcx, r14
call rbp
jmp 0x451a10
mov r9d, 0x39c
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.__fIsActive
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451922
mov r8, qword [r14 + 0x188]
lea rcx, [r14 + 0x180]
lea r9, str.RtApiWasapi::startStream:_The_stream_is_already_running.
xor edx, edx
mov qword [rsp + 0x20], 0x38
call fcn.004dfef0
xor edx, edx
mov rcx, r14
call fcn.0044eeb0
jmp 0x451a10
mov r8, qword [r14 + 0x188]
lea rcx, [r14 + 0x180]
lea r9, str.RtApi::_a_stream_is_not_open_
xor edx, edx
mov qword [rsp + 0x20], 0x1d
call fcn.004dfef0
mov edx, 7
mov rcx, r14
call fcn.0044eeb0
mov edi, dword [r14 + 0x1bc]
jmp 0x451984
mov r9d, 0x2ea
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x00508240]
call fcn.0041dc70
pxor xmm2, xmm2
jmp 0x451ce7
mov r9d, 0x2ea
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x00508240]
call fcn.0041dc70
pxor xmm2, xmm2
jmp 0x451db7
mov edx, r15d
call r11
movups xmm2, xmm0
jmp 0x451db7
mov edx, r15d
call r8
movups xmm2, xmm0
jmp 0x451ce7
mov r9d, 0x274
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x00508240]
call fcn.0041dc70
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4521f1
mov r8, qword [rbx + 0x10]
test r8, r8
je 0x452351
cmp r15d, dword [r8 + 0x10]
jae 0x452351
mov r12, qword [rcx]
movups xmm2, xmm6
mov r9, qword [r12 + 0x70]
cmp r9, r14
jne 0x45237a
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x452387
mov r10, qword [rcx]
xor edx, edx
call qword [r10 + 0x60]
jmp 0x451c6b
mov r9d, 0x70
lea r8, str..._.._dpf_distrho_src_jackbridge_RtAudioBridge.hpp
lea rdx, str.handle___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451a10
xor edx, edx
call rbp
jmp 0x451dff
mov r9d, 0x2e9
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
pxor xmm2, xmm2
jmp 0x4521a4
mov r9d, 0xc0
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x00508317]
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451d23
mov r9d, 0xc0
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x00508317]
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451cff
mov r9d, 0x2e9
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
pxor xmm2, xmm2
jmp 0x451db7
mov r9d, 0x2e9
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
pxor xmm2, xmm2
jmp 0x451ce7
mov r9d, 0xc8
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x00508317]
lea rcx, [0x00508240]
call fcn.0041dc70
mov r14, qword [rbx + 0x10]
jmp 0x451e18
mov r9d, 0x32c
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fPlugin___nullptr
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451dff
lea rdx, str.fPlugin___nullptr
mov r9d, 0x1e5
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rcx, [0x00508240]
call fcn.0041dc70
lea rdx, [0x005081ae]
jmp 0x451a5e
mov r9d, 0x2ea
lea r8, str..._.._dpf_distrho_src_DistrhoPluginInternal.hpp
lea rdx, str.fData___nullptr__index___fData__parameterCount
lea rcx, [0x00508240]
call fcn.0041dc70
pxor xmm2, xmm2
jmp 0x4521a4
xor edx, edx
call r9
movups xmm2, xmm0
jmp 0x4521a4
mov r9d, 0xc0
lea r8, str..._.._dpf_distrho_src_DistrhoUIInternal.hpp
lea rdx, [0x00508317]
lea rcx, [0x00508240]
call fcn.0041dc70
jmp 0x451c6b