Function at 0x140080bc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push r12
push r14
push r15
sub rsp, 0x38
movzx r15d, r9b
mov r12d, r8d
mov rbx, rcx
test rcx, rcx
jne 0x140080bfd
mov r8d, 0x1309
lea rdx, str.D:TheVaultimgui_dockingexamplesSnes_Seqdr_libs_masterdr_flac.h
lea rcx, str.bs___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp r15b, 0x1f
jbe 0x140080c1d
mov r8d, 0x130a
lea rdx, str.D:TheVaultimgui_dockingexamplesSnes_Seqdr_libs_masterdr_flac.h
lea rcx, str.unencodedBitsPerSample___31
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
jne 0x140080c4c
mov r8d, 0x130b
lea rdx, str.D:TheVaultimgui_dockingexamplesSnes_Seqdr_libs_masterdr_flac.h
lea rcx, str.pSamplesOut___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rbp
xor r14d, r14d
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r13
test r12d, r12d
je 0x140081079
mov rsi, qword [rsp + 0x98]
lea rdi, [rcx - 0x7c]
mov r13d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x80]
test r15b, r15b
je 0x140080ca4
lea r8, [rcx + r14*4]
mov edx, r15d
mov rcx, rbx
call fcn.140074950
test eax, eax
jne 0x140080cab
jmp 0x14008107e
mov dword [rdi + 0x7c], 0
xor eax, eax
mov ecx, ebp
test ebp, ebp
je 0x140080cb9
inc eax
shr ecx, 1
jne 0x140080cb3
add eax, dword [rsp + 0x68]
add eax, dword [rsp + 0x90]
cmp eax, 0x20
jbe 0x140080ef7
cmp ebp, 0x20
jbe 0x140080cec
mov r8d, 0xc41
lea rdx, str.D:TheVaultimgui_dockingexamplesSnes_Seqdr_libs_masterdr_flac.h
lea rcx, str.order___32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor edx, edx
lea eax, [rbp - 1]
cmp eax, 0x1f
ja case.default.0x140080d0c
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0x810a0]
add rcx, r8
jmp rcx
movsxd rdx, dword [rdi - 4]
movsxd rax, dword [rsi + 0x7c]
imul rdx, rax
movsxd rcx, dword [rsi + 0x78]
movsxd rax, dword [rdi]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 4]
movsxd rax, dword [rsi + 0x74]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 8]
movsxd rax, dword [rsi + 0x70]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0xc]
movsxd rax, dword [rsi + 0x6c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x10]
movsxd rax, dword [rsi + 0x68]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x14]
movsxd rax, dword [rsi + 0x64]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x18]
movsxd rax, dword [rsi + 0x60]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x1c]
movsxd rax, dword [rsi + 0x5c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x20]
movsxd rax, dword [rsi + 0x58]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x24]
movsxd rax, dword [rsi + 0x54]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x28]
movsxd rax, dword [rsi + 0x50]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x2c]
movsxd rax, dword [rsi + 0x4c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x30]
movsxd rax, dword [rsi + 0x48]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x34]
movsxd rax, dword [rsi + 0x44]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x38]
movsxd rax, dword [rsi + 0x40]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x3c]
movsxd rax, dword [rsi + 0x3c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x40]
movsxd rax, dword [rsi + 0x38]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x44]
movsxd rax, dword [rsi + 0x34]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x48]
movsxd rax, dword [rsi + 0x30]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x4c]
movsxd rax, dword [rsi + 0x2c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x50]
movsxd rax, dword [rsi + 0x28]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x54]
movsxd rax, dword [rsi + 0x24]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x58]
movsxd rax, dword [rsi + 0x20]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x5c]
movsxd rax, dword [rsi + 0x1c]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x60]
movsxd rax, dword [rsi + 0x18]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x64]
movsxd rax, dword [rsi + 0x14]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x68]
movsxd rax, dword [rsi + 0x10]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x6c]
movsxd rax, dword [rsi + 0xc]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x70]
movsxd rax, dword [rsi + 8]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x74]
movsxd rax, dword [rsi + 4]
imul rcx, rax
add rdx, rcx
movsxd rcx, dword [rdi + 0x78]
movsxd rax, dword [rsi]
imul rcx, rax
add rdx, rcx
mov ecx, r13d
sar rdx, cl
add dword [rdi + 0x7c], edx
jmp 0x140081060
xor ebx, ebx
cmp ebp, 0x20
jbe 0x140080f18
mov r8d, 0xc11
lea rdx, str.D:TheVaultimgui_dockingexamplesSnes_Seqdr_libs_masterdr_flac.h
lea rcx, str.order___32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
lea eax, [rbp - 1]
cmp eax, 0x1f
ja case.default.0x140080f35
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x81120]
add rcx, rdx
jmp rcx
mov ebx, dword [rdi - 4]
imul ebx, dword [rsi + 0x7c]
mov eax, dword [rsi + 0x78]
imul eax, dword [rdi]
add ebx, eax
mov eax, dword [rdi + 4]
imul eax, dword [rsi + 0x74]
add ebx, eax
mov eax, dword [rdi + 8]
imul eax, dword [rsi + 0x70]
add ebx, eax
mov eax, dword [rdi + 0xc]
imul eax, dword [rsi + 0x6c]
add ebx, eax
mov eax, dword [rdi + 0x10]
imul eax, dword [rsi + 0x68]
add ebx, eax
mov eax, dword [rdi + 0x14]
imul eax, dword [rsi + 0x64]
add ebx, eax
mov eax, dword [rdi + 0x18]
imul eax, dword [rsi + 0x60]
add ebx, eax
mov eax, dword [rdi + 0x1c]
imul eax, dword [rsi + 0x5c]
add ebx, eax
mov eax, dword [rdi + 0x20]
imul eax, dword [rsi + 0x58]
add ebx, eax
mov eax, dword [rdi + 0x24]
imul eax, dword [rsi + 0x54]
add ebx, eax
mov eax, dword [rdi + 0x28]
imul eax, dword [rsi + 0x50]
add ebx, eax
mov eax, dword [rdi + 0x2c]
imul eax, dword [rsi + 0x4c]
add ebx, eax
mov eax, dword [rdi + 0x30]
imul eax, dword [rsi + 0x48]
add ebx, eax
mov eax, dword [rdi + 0x34]
imul eax, dword [rsi + 0x44]
add ebx, eax
mov eax, dword [rdi + 0x38]
imul eax, dword [rsi + 0x40]
add ebx, eax
mov eax, dword [rdi + 0x3c]
imul eax, dword [rsi + 0x3c]
add ebx, eax
mov eax, dword [rdi + 0x40]
imul eax, dword [rsi + 0x38]
add ebx, eax
mov eax, dword [rdi + 0x44]
imul eax, dword [rsi + 0x34]
add ebx, eax
mov eax, dword [rdi + 0x48]
imul eax, dword [rsi + 0x30]
add ebx, eax
mov eax, dword [rdi + 0x4c]
imul eax, dword [rsi + 0x2c]
add ebx, eax
mov eax, dword [rdi + 0x50]
imul eax, dword [rsi + 0x28]
add ebx, eax
mov eax, dword [rdi + 0x54]
imul eax, dword [rsi + 0x24]
add ebx, eax
mov eax, dword [rdi + 0x58]
imul eax, dword [rsi + 0x20]
add ebx, eax
mov eax, dword [rdi + 0x5c]
imul eax, dword [rsi + 0x1c]
add ebx, eax
mov eax, dword [rdi + 0x60]
imul eax, dword [rsi + 0x18]
add ebx, eax
mov eax, dword [rdi + 0x64]
imul eax, dword [rsi + 0x14]
add ebx, eax
mov eax, dword [rdi + 0x68]
imul eax, dword [rsi + 0x10]
add ebx, eax
mov eax, dword [rdi + 0x6c]
imul eax, dword [rsi + 0xc]
add ebx, eax
mov eax, dword [rdi + 0x70]
imul eax, dword [rsi + 8]
add ebx, eax
mov eax, dword [rdi + 0x74]
imul eax, dword [rsi + 4]
add ebx, eax
mov eax, dword [rdi + 0x78]
imul eax, dword [rsi]
add ebx, eax
mov ecx, r13d
sar ebx, cl
add dword [rdi + 0x7c], ebx
mov rbx, qword [rsp + 0x60]
inc r14d
add rdi, 4
cmp r14d, r12d
jae 0x140081079
mov rcx, qword [rsp + 0xa0]
jmp 0x140080c87
mov eax, 1
mov r13, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x70]
add rsp, 0x38
pop r15
pop r14
pop r12
pop rbx
ret