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

Disassembly:
lea r12, [rsp - 0x98]
cmp r12, qword [r14 + 0x10]
jbe 0x4c007f
push rbp
mov rbp, rsp
sub rsp, 0x110
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x168], r9
cmp word [rax], 2
jne 0x4bf83a
xor edx, edx
jmp 0x4c0053
mov rdx, rdi
mov esi, dword [rax + 4]
cmp r8d, esi
jae 0x4bf84a
mov esi, r8d
jmp 0x4bf853
mov r11d, esi
mov esi, r8d
mov r8d, r11d
mov r11d, dword [rax + 8]
cmp esi, r11d
jb 0x4bf85f
mov esi, r11d
movzx r11d, byte [rax + 0x11]
cmp r10, r11
jbe 0x4c0045
imul r11, r11, 0x38
mov r12, qword [r9 + r11]
mov qword [rsp + 0x90], r12
lea r12, [r9 + r11]
lea r12, [r12 + 8]
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x98], xmm0
lea r12, [r9 + r11]
lea r12, [r12 + 0x18]
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xa8], xmm0
lea r11, [r9 + r11]
lea r11, [r11 + 0x28]
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0xb8], xmm0
mov r11d, dword [rax + 0xc]
sub esi, r8d
test r11d, r11d
je 0x4c003b
mov r12, rax
mov eax, esi
mov r13, rdx
xor edx, edx
div r11d
nop word [rax + rax]
test esi, esi
je 0x4bf986
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x140], rbx
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x170], r10
mov qword [rsp + 0x168], r9
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x148], rcx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], r8d
mov edx, dword [rsp + 0x90]
mov dword [rsp + 0x4c], edx
lea esi, [rdx + rax]
mov dword [rsp + 0x44], esi
imul edi, esi
mov ecx, edi
mov qword [rsp + 0x68], rcx
mov rbx, rcx
lea rax, [0x004d1900]
call sym.runtime.makeslice
mov qword [rsp + 0x100], rax
mov edx, dword [rsp + 0x20]
mov esi, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x140]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x50]
xor ecx, ecx
jmp 0x4bf992
add rsp, 0x110
pop rbp
ret
inc rcx
cmp rcx, 8
jge 0x4bf9ae
mov qword [rsp + 0x58], rcx
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x108]
xor ebx, ebx
jmp 0x4bf9c0
add rsp, 0x110
pop rbp
ret
mov rdi, qword [rsp + 0x140]
nop
cmp edx, ebx
jbe 0x4bf98f
test rcx, rcx
jne 0x4bf9d1
xor r15d, r15d
jmp 0x4bfe81
mov r15d, dword [rsp + 0x54]
mov qword [rsp + 0x80], rax
xor eax, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x80]
jmp 0x4bfa0b
lea edx, [rdi + 1]
inc ebx
mov rdi, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x140]
mov dword [rsp + 0x48], edx
mov edx, dword [rsp + 0x20]
mov edi, dword [rsp + 0x48]
cmp edi, esi
jae 0x4bf9b7
cmp edx, ebx
jbe 0x4bf9b7
mov dword [rsp + 0x24], ebx
mov qword [rsp + 0x78], rax
xor eax, eax
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x78]
jmp 0x4bfa43
inc edx
mov rsi, qword [rsp + 0x168]
mov esi, dword [rsp + 0x4c]
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x2c]
cmp edx, r11d
jae 0x4bf9ee
cmp r10, rdx
jbe 0x4bfe6f
movzx esi, byte [r9 + rdx]
test sil, sil
jne 0x4bfa2d
mov esi, edx
imul edx, r8d
add edx, ebx
cmp rdx, r12
jae 0x4bfe65
mov edx, dword [rax + rdx*4]
mov rdi, qword [r13 + 0x38]
nop word [rax + rax]
cmp rdi, rdx
jbe 0x4bfe55
mov rdi, qword [r13 + 0x30]
shl rdx, 4
add rdx, rdi
movzx edx, word [rdx + rcx*2]
nop dword [rax + rax]
cmp dx, 0xffff
je 0x4bfb62
movsx rdx, dx
mov rdi, qword [rsp + 0x170]
cmp rdi, rdx
jbe 0x4bfe4a
imul rdx, rdx, 0x38
mov rdi, qword [rsp + 0x168]
mov rcx, qword [rdi + rdx]
mov qword [rsp + 0xc8], rcx
lea rcx, [rdi + rdx]
lea rcx, [rcx + 8]
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xd0], xmm0
lea rcx, [rdi + rdx]
lea rcx, [rcx + 0x18]
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0xe0], xmm0
lea rdx, [rdi + rdx]
lea rdx, [rdx + 0x28]
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0xf0], xmm0
mov edx, dword [r13 + 0xc]
mov ecx, ebx
imul ebx, edx
movzx edi, word [r13]
add ebx, r15d
mov dword [rsp + 0x28], ebx
test di, di
jne 0x4bfb4a
mov edi, dword [rsp + 0xc8]
test edi, edi
je 0x4bfe45
mov eax, edx
xor edx, edx
div edi
mov dword [rsp + 0x1c], eax
xor edx, edx
jmp 0x4bfd95
cmp di, 1
jne 0x4bfb57
xor edx, edx
jmp 0x4bfcc0
cmp di, 2
jne 0x4bfb6d
xor edx, edx
nop
jmp 0x4bfbc0
mov edx, esi
mov edi, dword [rsp + 0x48]
jmp 0x4bfa2d
mov rcx, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x24]
jmp 0x4bfb62
mov rax, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x28]
mov esi, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x108]
mov r15d, dword [rsp + 0x54]
mov edx, edi
nop word [rax + rax]
cmp dword [r13 + 0xc], edx
jbe 0x4bfb6d
mov dword [rsp + 0x38], edx
lea rax, [rsp + 0xc8]
mov rbx, qword [rsp + 0x140]
call sym.github.com_jfreymuth_vorbis._codebook_.DecodeVector
mov ecx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x120]
mov edi, dword [rsp + 0x38]
xor r8d, r8d
jmp 0x4bfc20
movss xmm0, dword [rdx + rax*4]
addss xmm0, dword [r10 + r8*4]
movss dword [rdx + rax*4], xmm0
inc r8
inc edi
mov rax, r10
mov rdx, r11
nop word [rax + rax]
cmp rbx, r8
jle 0x4bfb78
lea r9d, [rdi + rcx]
test edx, edx
je 0x4bfc70
mov r10, rax
mov eax, r9d
mov r11, rdx
xor edx, edx
div r11d
mov edx, edx
cmp r11, rdx
jbe 0x4bfc65
lea rdx, [rdx + rdx*2]
mov r9, qword [rsi + rdx*8 + 8]
mov eax, eax
mov rdx, qword [rsi + rdx*8]
cmp r9, rax
ja 0x4bfbfc
mov rcx, r9
nop dword [rax]
call sym.runtime.panicIndex
mov rax, rdx
mov rcx, r11
call sym.runtime.panicIndex
call sym.runtime.panicdivide
mov rax, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x28]
mov esi, edi
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x108]
mov r15d, dword [rsp + 0x54]
mov edx, r8d
mov r8d, dword [rsp + 0x44]
nop word [rax + rax]
nop
cmp dword [r13 + 0xc], edx
jbe 0x4bfb6d
mov dword [rsp + 0x3c], edx
lea rax, [rsp + 0xc8]
mov rbx, qword [rsp + 0x140]
nop
call sym.github.com_jfreymuth_vorbis._codebook_.DecodeVector
mov ecx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x128]
mov edi, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x3c]
xor r9d, r9d
jmp 0x4bfd20
movss xmm0, dword [r11 + r10*4]
addss xmm0, dword [rax + r9*4]
movss dword [r11 + r10*4], xmm0
inc r9
inc r8d
nop
cmp rbx, r9
jle 0x4bfc75
lea r10d, [r8 + rcx]
cmp rsi, rdi
jbe 0x4bfd50
lea r11, [rdi + rdi*2]
mov r12, qword [rdx + r11*8 + 8]
mov r11, qword [rdx + r11*8]
nop
cmp r12, r10
ja 0x4bfd07
mov eax, r10d
mov rcx, r12
call sym.runtime.panicIndex
mov eax, edi
mov rcx, rsi
call sym.runtime.panicIndex
lea eax, [r8 + 1]
mov ecx, dword [rsp + 0x24]
mov ebx, r9d
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x148]
mov r10, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x108]
mov r15d, dword [rsp + 0x54]
mov edx, eax
mov eax, edi
cmp eax, edx
jbe 0x4bfdd9
mov dword [rsp + 0x40], edx
lea rax, [rsp + 0xc8]
mov rbx, qword [rsp + 0x140]
call sym.github.com_jfreymuth_vorbis._codebook_.DecodeVector
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
mov esi, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x1c]
mov r8d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x28]
xor r10d, r10d
jmp 0x4bfe00
mov rax, qword [rsp + 0x100]
jmp 0x4bfb6d
movss xmm0, dword [r11 + r10*4]
addss xmm0, dword [rax + r12*4]
movss dword [r11 + r10*4], xmm0
lea r10, [r12 + 1]
nop dword [rax]
cmp rbx, r10
jle 0x4bfd5a
lea r11d, [r8 + r9]
mov r12, r10
imul r10d, edi
add r10d, r11d
cmp rdx, rsi
jbe 0x4bfe39
lea r11, [rsi + rsi*2]
mov r13, qword [rcx + r11*8 + 8]
mov r11, qword [rcx + r11*8]
cmp r13, r10
ja 0x4bfde6
mov eax, r10d
mov rcx, r13
call sym.runtime.panicIndex
mov eax, esi
mov rcx, rdx
nop
call sym.runtime.panicIndex
call sym.runtime.panicdivide
mov rax, rdx
mov rcx, rdi
call sym.runtime.panicIndex
mov rax, rdx
mov rcx, rdi
nop dword [rax + rax]
call sym.runtime.panicIndex
mov eax, edx
mov rcx, r12
call sym.runtime.panicIndex
mov eax, edx
mov rcx, r10
call sym.runtime.panicIndex
inc r15d
mov rcx, qword [rsp + 0x58]
cmp r15d, r11d
jae 0x4bf9d1
cmp r10, r15
jbe 0x4c0030
movzx ecx, byte [r9 + r15]
test cl, cl
jne 0x4bfe79
nop
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
xor eax, eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x70]
jmp 0x4bff01
mov dword [rsp + 0x30], r15d
shr r9d, 1
mov ecx, esi
jmp 0x4bffc0
mov edx, dword [rsp + 0x20]
mov esi, ecx
mov r9, qword [rsp + 0x148]
jmp 0x4bfe79
mov r9d, dword [rdx + r9*4]
mov r10, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x50]
mov dword [rsp + 0x34], r9d
mov r9, qword [rsp + 0x148]
mov r9d, dword [rsp + 0x34]
bt r9d, 0
jb 0x4bfec4
mov r10, qword [rdi + 0x18]
mov r11, qword [rdi + 8]
cmp r11, r10
jg 0x4bff23
mov byte [rdi + 0x28], 1
xor r10d, r10d
jmp 0x4bff84
jbe 0x4c0025
mov r11, qword [rdi]
mov rax, qword [rdi + 0x20]
mov rcx, rax
mov r12d, 1
shl r12d, cl
movzx r10d, byte [r11 + r10]
cmp rax, 0x20
sbb r11d, r11d
and r12d, r11d
cmp rax, 7
jae 0x4bff5b
lea r11, [rax + 1]
mov qword [rdi + 0x20], r11
jmp 0x4bff67
mov qword [rdi + 0x20], 0
inc qword [rdi + 0x18]
test r10b, r12b
setne r10b
movzx r10d, r10b
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
add r9d, r10d
cmp rcx, r9
ja 0x4bfee3
jmp 0x4c001d
mov eax, r9d
mov r15d, edx
xor edx, edx
div r15d
dec esi
mov r15d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x140]
mov r9d, eax
mov rax, qword [rsp + 0x100]
nop
test esi, esi
jbe 0x4bfed3
imul r15d, r8d
add r15d, esi
movzx ecx, byte [r13 + 0x10]
lea r15d, [rbx + r15]
lea r15d, [r15 - 1]
nop dword [rax]
test ecx, ecx
je 0x4c0018
mov r15d, r15d
mov eax, r9d
xor edx, edx
div ecx
cmp r15, r12
jae 0x4c000d
mov rdi, qword [rsp + 0x100]
mov dword [rdi + r15*4], edx
movzx edx, byte [r13 + 0x10]
test edx, edx
jne 0x4bff95
call sym.runtime.panicdivide
mov rax, r15
mov rcx, r12
call sym.runtime.panicIndex
call sym.runtime.panicdivide
mov eax, r9d
call sym.runtime.panicIndex
mov rax, r10
mov rcx, r11
call sym.runtime.panicIndex
mov eax, r15d
mov rcx, r10
call sym.runtime.panicIndex
nop dword [rax + rax]
call sym.runtime.panicdivide
mov rax, r11
mov rcx, r10
call sym.runtime.panicIndex
inc rdx
cmp rdi, rdx
jle 0x4c0076
movzx esi, byte [rcx + rdx]
nop dword [rax]
test sil, sil
jne 0x4c0050
imul r8d, edi
mov rdx, rdi
mov edi, 1
jmp 0x4bf83d
add rsp, 0x110
pop rbp
ret
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x48], r8d
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x60], r11
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x60]
nop
jmp sym.github.com_jfreymuth_vorbis._residue_.Decode