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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x14021f740]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rcx
mov edx, dword [rcx + 0x38]
add edx, 0xc
call fcn.140018970
mov edi, dword [rsi + 0x38]
add edi, 0xc
cmp eax, 0xffffffff
je 0x14011875d
xor r14d, r14d
lea r15, vtable.TriAcePS1Instr.0
movss xmm6, dword [0x140184db8]
mov eax, dword [rsi + 0x3c]
add eax, dword [rsi + 0x38]
cmp edi, eax
jae 0x14011875d
mov ecx, 0xc8
call fcn.14016cc68
mov rbx, rax
mov qword [rbp - 1], rax
test rax, rax
je 0x14011844d
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], 0xa
mov qword [rbp + 0x1f], 0xf
movsd xmm0, qword [str.Instrument]
movsd qword [rbp + 7], xmm0
movzx eax, word [0x140184780]
mov word [rbp + 0xf], ax
mov byte [rbp + 0x11], 0
movss dword [rsp + 0x38], xmm6
lea rax, [rbp + 7]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call fcn.14001ab50
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x140118441
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011843c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14011878d
call fcn.14016cca4
mov qword [rbx], r15
mov qword [rbx + 0xc0], r14
jmp 0x140118450
mov rbx, r14
lea rcx, [rsi + 0xf0]
mov qword [rbp - 9], rbx
mov rdx, qword [rsi + 0xf8]
cmp rdx, qword [rsi + 0x100]
je 0x140118478
mov qword [rdx], rbx
add qword [rsi + 0xf8], 8
jmp 0x140118481
lea r8, [rbp - 9]
call fcn.140006b30
lea r9, [rbx + 0xb8]
mov r8d, 8
mov edx, edi
mov rcx, rsi
call fcn.140017130
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], r14
mov qword [rbp + 0x1f], 0xf
mov ecx, 0x20
call fcn.14016cc68
mov qword [rbp + 7], rax
mov qword [rbp + 0x17], 0x11
mov qword [rbp + 0x1f], 0x1f
movups xmm0, xmmword [str.Instrument_Number]
movups xmmword [rax], xmm0
movzx ecx, byte [0x140194c48]
mov byte [rax + 0x10], cl
mov byte [rax + 0x11], 0
lea r9, [rbp + 7]
mov r8d, 2
mov edx, edi
mov rcx, rbx
call fcn.140018240
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x140118531
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011852c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140118794
call fcn.14016cca4
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], 5
mov qword [rbp + 0x1f], 0xf
mov eax, dword [str.ADSR1]
mov dword [rbp + 7], eax
movzx eax, byte [0x140184c18]
mov byte [rbp + 0xb], al
mov byte [rbp + 0xc], 0
lea edx, [rdi + 2]
lea r9, [rbp + 7]
mov r8d, 2
mov rcx, rbx
call fcn.140018240
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x1401185b0
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401185ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14011879b
call fcn.14016cca4
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], 5
mov qword [rbp + 0x1f], 0xf
mov eax, dword [str.ADSR2]
mov dword [rbp + 7], eax
movzx eax, byte [0x140184c20]
mov byte [rbp + 0xb], al
mov byte [rbp + 0xc], 0
lea edx, [rdi + 4]
lea r9, [rbp + 7]
mov r8d, 2
mov rcx, rbx
call fcn.140018240
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x14011862f
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14011862a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401187a2
call fcn.14016cca4
lea edx, [rdi + 6]
mov r8d, 1
mov rcx, rbx
call fcn.1400183d0
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], 0xe
mov qword [rbp + 0x1f], 0xf
movsd xmm0, qword [str.Number_of_Rgns]
movsd qword [rbp + 7], xmm0
mov eax, dword [0x14018abd0]
mov dword [rbp + 0xf], eax
movzx eax, word [0x14018abd4]
mov word [rbp + 0x13], ax
mov byte [rbp + 0x15], 0
lea edx, [rdi + 7]
lea r9, [rbp + 7]
mov r8d, 1
mov rcx, rbx
call fcn.140018240
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x1401186cd
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401186c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401187a9
call fcn.14016cca4
movzx eax, byte [rbx + 0xbf]
lea ecx, [rax + rax*4]
lea edi, [rdi + rcx*4]
add edi, 8
cmp byte [rsi + 0xe8], 0
je 0x14011870f
mov rbx, qword [rsi + 0xd0]
cmp edi, dword [rbx + 0x10]
jb 0x1401186fa
lea eax, [rdi + 4]
cmp eax, dword [rbx + 0x14]
jbe 0x140118704
mov edx, edi
mov rcx, rbx
call fcn.140121da0
mov eax, edi
sub eax, dword [rbx + 0x10]
mov rdx, qword [rbx + 8]
jmp 0x14011871e
mov eax, edi
sub eax, dword [rsi + 0x90]
mov rdx, qword [rsi + 0x88]
mov r8d, eax
add eax, 3
movzx r9d, byte [rax + rdx]
lea eax, [r8 + 2]
movzx eax, byte [rax + rdx]
shl r9d, 8
or r9d, eax
lea eax, [r8 + 1]
movzx eax, byte [rax + rdx]
shl r9d, 8
or r9d, eax
movzx eax, byte [r8 + rdx]
shl r9d, 8
or r9d, eax
cmp r9d, 0xffffffff
jne 0x140118380
mov al, 1
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14016cd40
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3