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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rdi, r8
mov rbx, rdx
mov r15, rcx
cmp r9d, 0x12
je 0x1800cd7be
cmp r9d, 0x18
je 0x1800cd629
cmp r9d, 0x24
je 0x1800cd3e6
mov r8d, 0x8b
lea rdx, str..._.._.._third_party_opus_src_silk_resampler_private_down_FIR.c
lea rcx, str.assertion_failed:_0
call fcn.1800b02e4
jmp 0x1800cd9bd
xor esi, esi
cmp dword [rsp + 0x68], esi
jle 0x1800cd9bd
mov ebp, 0xffff8000
mov r14d, 0x7fff
movsxd rdx, esi
sar rdx, 0x10
mov eax, dword [rbx + rdx*4 + 0x50]
add eax, dword [rbx + rdx*4 + 0x3c]
movsxd r8, eax
movsx rax, word [rdi + 0x1e]
imul r8, rax
mov eax, dword [rbx + rdx*4 + 0x58]
add eax, dword [rbx + rdx*4 + 0x34]
movsxd rcx, eax
movsx rax, word [rdi + 0x1a]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x60]
add eax, dword [rbx + rdx*4 + 0x2c]
sar rcx, 0x10
sar r8, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x16]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x68]
add eax, dword [rbx + rdx*4 + 0x24]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x12]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x70]
add eax, dword [rbx + rdx*4 + 0x1c]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0xe]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x78]
add eax, dword [rbx + rdx*4 + 0x14]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0xa]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x80]
add eax, dword [rbx + rdx*4 + 0xc]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 6]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x88]
add eax, dword [rbx + rdx*4 + 4]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 2]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x48]
add eax, dword [rbx + rdx*4 + 0x44]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x22]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x4c]
add eax, dword [rbx + rdx*4 + 0x40]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x20]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x54]
add eax, dword [rbx + rdx*4 + 0x38]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x1c]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x5c]
sar rcx, 0x10
add r8d, ecx
add eax, dword [rbx + rdx*4 + 0x30]
movsxd rcx, eax
movsx rax, word [rdi + 0x18]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x64]
add eax, dword [rbx + rdx*4 + 0x28]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x14]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x6c]
add eax, dword [rbx + rdx*4 + 0x20]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x10]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x74]
add eax, dword [rbx + rdx*4 + 0x18]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0xc]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x7c]
add eax, dword [rbx + rdx*4 + 0x10]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 8]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x84]
add eax, dword [rbx + rdx*4 + 8]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 4]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x8c]
add eax, dword [rbx + rdx*4]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi]
imul rcx, rax
sar rcx, 0x10
add r8d, ecx
sar r8d, 5
inc r8d
sar r8d, 1
cmp r8d, ebp
movzx eax, r8w
cmovl ax, bp
cmp r8d, r14d
cmovg ax, r14w
add esi, dword [rsp + 0x70]
mov word [r15], ax
add r15, 2
cmp esi, dword [rsp + 0x68]
jl 0x1800cd3fd
jmp 0x1800cd9bd
xor esi, esi
cmp dword [rsp + 0x68], esi
jle 0x1800cd9bd
mov ebp, 0xffff8000
mov r14d, 0x7fff
movsxd rdx, esi
sar rdx, 0x10
mov eax, dword [rbx + rdx*4 + 0x30]
add eax, dword [rbx + rdx*4 + 0x2c]
movsxd r8, eax
movsx rax, word [rdi + 0x16]
imul r8, rax
mov eax, dword [rbx + rdx*4 + 0x38]
add eax, dword [rbx + rdx*4 + 0x24]
movsxd rcx, eax
movsx rax, word [rdi + 0x12]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x40]
add eax, dword [rbx + rdx*4 + 0x1c]
sar rcx, 0x10
sar r8, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0xe]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x48]
add eax, dword [rbx + rdx*4 + 0x14]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0xa]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x50]
add eax, dword [rbx + rdx*4 + 0xc]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 6]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x58]
add eax, dword [rbx + rdx*4 + 4]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 2]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x34]
add eax, dword [rbx + rdx*4 + 0x28]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x14]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x3c]
add eax, dword [rbx + rdx*4 + 0x20]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0x10]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x44]
add eax, dword [rbx + rdx*4 + 0x18]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 0xc]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x4c]
add eax, dword [rbx + rdx*4 + 0x10]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 8]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x54]
add eax, dword [rbx + rdx*4 + 8]
sar rcx, 0x10
add r8d, ecx
movsxd rcx, eax
movsx rax, word [rdi + 4]
imul rcx, rax
mov eax, dword [rbx + rdx*4 + 0x5c]
sar rcx, 0x10
add r8d, ecx
add eax, dword [rbx + rdx*4]
movsxd rcx, eax
movsx rax, word [rdi]
imul rcx, rax
sar rcx, 0x10
add r8d, ecx
sar r8d, 5
inc r8d
sar r8d, 1
cmp r8d, ebp
movzx eax, r8w
cmovl ax, bp
cmp r8d, r14d
cmovg ax, r14w
add esi, dword [rsp + 0x70]
mov word [r15], ax
add r15, 2
cmp esi, dword [rsp + 0x68]
jl 0x1800cd640
jmp 0x1800cd9bd
xor esi, esi
cmp dword [rsp + 0x68], esi
jle 0x1800cd9bd
movsx r12, word [rsp + 0x60]
mov ebp, 0xffff8000
mov r14d, 0x7fff
movsxd rax, esi
movzx r8d, ax
mov r11, rax
sar r11, 0x10
imul r8, r12
sar r8, 0x10
lea eax, [r8 + r8*8]
movsxd rdx, eax
movsxd rax, dword [rbx + r11*4 + 0x20]
movsx r9, word [rdi + rdx*2 + 0x10]
movsx rcx, word [rdi + rdx*2 + 0xe]
imul r9, rax
movsxd rax, dword [rbx + r11*4 + 0x1c]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 0x18]
sar rcx, 0x10
sar r9, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2 + 0xc]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 0x14]
sar rcx, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2 + 0xa]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 0x10]
sar rcx, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2 + 8]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 0xc]
sar rcx, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2 + 6]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 8]
sar rcx, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2 + 4]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 4]
sar rcx, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2 + 2]
imul rcx, rax
movsxd rax, dword [rbx + r11*4]
sar rcx, 0x10
add r9d, ecx
movsx rcx, word [rdi + rdx*2]
movsxd rdx, dword [rbx + r11*4 + 0x3c]
imul rcx, rax
mov eax, dword [rsp + 0x60]
sub eax, r8d
sar rcx, 0x10
movsxd r8, dword [rbx + r11*4 + 0x38]
add r9d, ecx
movsxd rcx, dword [rbx + r11*4 + 0x40]
lea eax, [rax + rax*8]
movsxd r10, eax
movsx rax, word [rdi + r10*2 - 0xe]
imul rdx, rax
movsx rax, word [rdi + r10*2 - 0x10]
imul rcx, rax
movsx rax, word [rdi + r10*2 - 0xc]
sar rcx, 0x10
imul r8, rax
movsxd rax, dword [rbx + r11*4 + 0x34]
sar rdx, 0x10
add edx, r9d
sar r8, 0x10
movsx r9, word [rdi + r10*2 - 8]
add edx, ecx
movsx rcx, word [rdi + r10*2 - 0xa]
add r8d, edx
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 0x30]
imul r9, rax
sar rcx, 0x10
sar r9, 0x10
add r8d, ecx
movsx rcx, word [rdi + r10*2 - 6]
movsxd rax, dword [rbx + r11*4 + 0x2c]
add r9d, r8d
movsx rdx, word [rdi + r10*2 - 4]
movsxd r8, dword [rbx + r11*4 + 0x44]
imul rcx, rax
movsxd rax, dword [rbx + r11*4 + 0x28]
imul rdx, rax
movsxd rax, dword [rbx + r11*4 + 0x24]
sar rcx, 0x10
add r9d, ecx
sar rdx, 0x10
movsx rcx, word [rdi + r10*2 - 2]
add edx, r9d
imul rcx, rax
movsx rax, word [rdi + r10*2 - 0x12]
imul r8, rax
sar rcx, 0x10
sar r8, 0x10
add edx, ecx
add r8d, edx
sar r8d, 5
inc r8d
sar r8d, 1
cmp r8d, ebp
movzx eax, r8w
cmovl ax, bp
cmp r8d, r14d
cmovg ax, r14w
add esi, dword [rsp + 0x70]
mov word [r15], ax
add r15, 2
cmp esi, dword [rsp + 0x68]
jl 0x1800cd7db
mov rbx, qword [rsp + 0x40]
mov rax, r15
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret