Function at 0x4be860
Capabilities:
Encode data using base64

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x68
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x78], rax
mov rdx, rcx
shl rdx, 1
mov qword [rsp + 0x60], rdx
mov rdi, rdx
shr rdx, 0x3f
lea rdx, [rdx + rcx*2]
mov r9, rdi
sar rdi, 0x3f
mov r10, rdi
shr rdi, 0x3e
lea rdi, [rdi + rcx*2]
sar rdi, 2
shr r10, 0x3d
lea r10, [r10 + rcx*2]
sar rdx, 1
mov qword [rsp + 0x28], rdx
sar r10, 3
mov qword [rsp + 0x18], r10
mov r11, r9
sub r9, rdi
mov qword [rsp + 0x20], r9
xor r12d, r12d
jmp 0x4be900
lea r13, [rsi + r15*8]
movss dword [r13], xmm2
lea r12, [r15 + 1]
mov r10, qword [rsp + 0x18]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x28]
mov rdi, r11
mov r9, qword [rsp + 0x20]
mov r11, qword [rsp + 0x60]
nop dword [rax]
cmp r12, r10
jge 0x4beaf7
mov r13, qword [rax + 8]
mov r15, r12
shl r12, 1
sub rdx, r12
lea r9, [rdx - 1]
nop word [rax + rax]
cmp r13, r9
jbe 0x4bf4b8
mov r9, qword [rax]
lea r11, [rdx - 2]
movss xmm0, dword [r9 + rdx*4 - 4]
nop word [rax + rax]
cmp r13, r11
jbe 0x4bf4ad
mov r11, rdi
sub rdi, r12
lea rax, [rdi - 1]
movss xmm1, dword [r9 + rdx*4 - 8]
nop word [rax + rax]
cmp r13, rax
jbe 0x4bf4a5
lea rax, [rdi - 2]
movss xmm2, dword [r9 + rdi*4 - 4]
cmp r13, rax
jbe 0x4bf49b
mov rax, r15
shl rax, 2
mov rdx, qword [rsp + 0x28]
sub rdx, rax
lea r10, [rdx - 4]
movss xmm3, dword [r9 + rdi*4 - 8]
nop word [rax + rax]
cmp r13, r10
jbe 0x4bf490
lea rdi, [rdx - 3]
movss xmm4, dword [r9 + rdx*4 - 0x10]
cmp r13, rdi
jbe 0x4bf485
lea rdi, [rax + 3]
movss xmm5, dword [r9 + rdx*4 - 0xc]
cmp rcx, rdi
jbe 0x4bf47a
movss xmm6, dword [rbx + rax*4 + 0xc]
movss xmm7, dword [0x00521564]
pxor xmm6, xmm7
lea rdi, [rax + 1]
movups xmm8, xmm6
mulss xmm6, xmm0
cmp rcx, rdi
jbe 0x4bf472
movss xmm9, dword [rbx + rax*4 + 4]
pxor xmm9, xmm7
movups xmm7, xmm9
mulss xmm9, xmm1
mulss xmm8, xmm1
mulss xmm7, xmm0
addss xmm9, xmm6
subss xmm8, xmm7
cmp rcx, r10
jbe 0x4bf46a
movss xmm0, dword [rbx + rdx*4 - 0x10]
lea rax, [rdx - 2]
movups xmm1, xmm0
mulss xmm0, xmm2
nop word [rax + rax]
cmp rcx, rax
jbe 0x4bf465
movss xmm6, dword [rbx + rdx*4 - 8]
movups xmm7, xmm6
mulss xmm6, xmm3
mulss xmm1, xmm3
mulss xmm7, xmm2
subss xmm1, xmm7
lea rax, [r11 + r15*2]
lea rax, [rax + 1]
addss xmm6, xmm0
lea rdx, [r11 + r15*2]
movups xmm0, xmm1
addss xmm1, xmm8
nop word [rax + rax]
cmp r8, rax
jbe 0x4bf45a
movss dword [rsi + rax*4], xmm1
movups xmm1, xmm6
addss xmm6, xmm9
cmp r8, rdx
jbe 0x4bf44f
movss dword [rsi + rdx*4], xmm6
lea rax, [r15 + r15]
lea rax, [rax + 1]
subss xmm0, xmm8
movups xmm2, xmm0
mulss xmm0, xmm4
subss xmm1, xmm9
movups xmm3, xmm1
mulss xmm1, xmm5
subss xmm0, xmm1
cmp r8, rax
jbe 0x4bf447
lea rdx, [rsi + r15*8]
lea rdx, [rdx + 4]
movss dword [rdx], xmm0
mulss xmm3, xmm4
mulss xmm2, xmm5
addss xmm2, xmm3
cmp r8, r12
ja 0x4be8d2
jmp 0x4bf43c
mov r12, r11
xor r13d, r13d
jmp 0x4beb05
inc r13
sar r11, 1
test r11, r11
jg 0x4beaff
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x10], r13
xor r11d, r11d
jmp 0x4beb55
inc r11
mov r13, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x18]
mov r12, qword [rsp + 0x60]
lea r15, [r13 - 4]
cmp r11, r15
jge 0x4bebd3
mov qword [rsp + 0x30], r11
lea r15, [r11 + 3]
mov rcx, r15
mov r9d, 1
shl r9, cl
lea rdi, [r11 + 4]
lea rbx, [r11 + 2]
mov rcx, rbx
mov r10d, 1
shl r10, cl
cmp r15, 0x40
sbb r13, r13
mov qword [rsp + 0x58], r13
not r13
or r15, r13
mov rcx, r15
mov r13, r12
sar r12, cl
mov qword [rsp + 0x38], r12
mov r15, qword [rsp + 0x58]
and r9, r15
cmp rdi, 0x40
sbb rcx, rcx
not rcx
or rcx, rdi
mov rdi, r13
sar r13, cl
cmp rbx, 0x40
sbb rbx, rbx
and rbx, r10
xor ecx, ecx
jmp 0x4bf300
xor r11d, r11d
jmp 0x4bebe6
inc r15
mov rcx, r11
mov r9, qword [rsp + 0x20]
mov r11, r15
cmp r11, r10
jge 0x4bed6d
mov qword [rsp + 0x50], r11
lea r15, [r13 - 0x24]
neg r15
shr r11d, 1
and r11d, 0x55555555
mov r9, qword [rsp + 0x50]
and r9d, 0x55555555
shl r9d, 1
or r9d, r11d
mov r11d, r9d
shr r9d, 2
and r9d, 0x33333333
and r11d, 0x33333333
shl r11d, 2
or r11d, r9d
mov r9d, r11d
shr r11d, 4
and r11d, 0xf0f0f0f
and r9d, 0xf0f0f0f
shl r9d, 4
or r9d, r11d
bswap r9d
mov r11, rcx
mov rcx, r15
shr r9d, cl
cmp rcx, 0x20
sbb r15d, r15d
and r9d, r15d
mov r15, qword [rsp + 0x50]
cmp r15, r9
jge 0x4bebd8
mov ecx, r9d
shl r9, 2
nop word [rax + rax]
cmp r8, r9
jbe 0x4bf2dd
shl r15, 2
shl rcx, 4
movss xmm0, dword [rsi + rcx]
cmp r8, r15
jbe 0x4bf2d2
mov r12, qword [rsp + 0x50]
shl r12, 4
movss xmm1, dword [rsi + r12]
movss dword [rsi + rcx], xmm1
movss dword [rsi + r12], xmm0
lea r12, [r9 + 1]
nop dword [rax]
cmp r8, r12
jbe 0x4bf2c7
lea r12, [r15 + 1]
movss xmm0, dword [rsi + r9*4 + 4]
cmp r8, r12
jbe 0x4bf2bc
movss xmm1, dword [rsi + r15*4 + 4]
movss dword [rsi + r9*4 + 4], xmm1
movss dword [rsi + r15*4 + 4], xmm0
lea r12, [r9 + 2]
cmp r8, r12
jbe 0x4bf2b1
lea r12, [r15 + 2]
movss xmm0, dword [rsi + r9*4 + 8]
cmp r8, r12
jbe 0x4bf2a6
movss xmm1, dword [rsi + r15*4 + 8]
movss dword [rsi + r9*4 + 8], xmm1
movss dword [rsi + r15*4 + 8], xmm0
lea r12, [r9 + 3]
cmp r8, r12
jbe 0x4bf29b
lea r12, [r15 + 3]
movss xmm0, dword [rsi + r9*4 + 0xc]
cmp r8, r12
jbe 0x4bf290
movss xmm1, dword [rsi + r15*4 + 0xc]
movss dword [rsi + r9*4 + 0xc], xmm1
movss dword [rsi + r15*4 + 0xc], xmm0
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x50]
jmp 0x4bebd8
xor r11d, r11d
jmp 0x4bed8d
movss dword [rbx + rdi*4 - 8], xmm0
mov r11, qword [rsp + 0x58]
inc r11
mov rdx, qword [rsp + 0x28]
mov rdi, r9
mov r9, qword [rsp + 0x20]
cmp r11, r10
jge 0x4bee4e
mov r13, r11
shl r11, 1
mov r15, r13
shl r13, 2
sub rdx, r11
cmp r8, r13
jbe 0x4bf285
mov qword [rsp + 0x58], r15
lea r9, [rdx - 1]
shl r15, 4
movss xmm0, dword [rsi + r15]
cmp rcx, r9
jbe 0x4bf278
movss dword [rbx + rdx*4 - 4], xmm0
lea r9, [r13 + 1]
cmp r8, r9
jbe 0x4bf26d
lea r9, [rdx - 2]
movss xmm0, dword [rsi + r13*4 + 4]
cmp rcx, r9
jbe 0x4bf265
movss dword [rbx + rdx*4 - 8], xmm0
lea rdx, [r13 + 2]
mov r9, rdi
sub rdi, r11
cmp r8, rdx
jbe 0x4bf258
lea rdx, [rdi - 1]
movss xmm0, dword [rsi + r13*4 + 8]
cmp rcx, rdx
jbe 0x4bf250
movss dword [rbx + rdi*4 - 4], xmm0
lea rdx, [r13 + 3]
cmp r8, rdx
jbe 0x4bf245
lea rdx, [rdi - 2]
movss xmm0, dword [rsi + r13*4 + 0xc]
nop dword [rax]
cmp rcx, rdx
ja 0x4bed72
jmp 0x4bf23d
lea r11, [rdx - 2]
lea r13, [rdx - 1]
xor r15d, r15d
mov r15d, 1
mov qword [rsp + 0x40], r15
xor r15d, r15d
jmp 0x4bee96
movss dword [rsi + r13*4], xmm8
dec r10
add r15, 2
lea rdx, [r9 + 2]
add r11, 0xfffffffffffffffe
add r13, 0xfffffffffffffffe
mov r9, qword [rsp + 0x20]
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x28]
test r10, r10
jle 0x4befd1
nop
cmp rcx, r15
jbe 0x4bf235
movss xmm0, dword [rbx + r15*4]
mov r9, qword [rsp + 0x40]
cmp rcx, r9
jbe 0x4bf22d
movss xmm1, dword [rbx + r9*4]
cmp rcx, r11
jbe 0x4bf225
movss xmm2, dword [rbx + r11*4]
cmp rcx, r13
jbe 0x4bf21d
mov r12, qword [rax + 0x38]
movss xmm3, dword [rbx + r13*4]
cmp r15, r12
jae 0x4bf212
mov rdx, qword [rax + 0x30]
movss xmm4, dword [rdx + r15*4]
nop dword [rax + rax]
cmp r9, r12
jae 0x4bf207
movss xmm5, dword [rdx + r9*4]
movups xmm6, xmm2
addss xmm2, xmm0
subss xmm0, xmm6
movups xmm6, xmm5
mulss xmm5, xmm0
movups xmm7, xmm5
addss xmm5, xmm2
movups xmm8, xmm3
addss xmm3, xmm1
movups xmm9, xmm4
mulss xmm4, xmm3
addss xmm5, xmm4
movss xmm10, dword [0x00521570]
mulss xmm5, xmm10
cmp r8, r15
jbe 0x4bf1fc
movss dword [rsi + r15*4], xmm5
subss xmm2, xmm7
subss xmm2, xmm4
mulss xmm2, xmm10
cmp r8, r11
jbe 0x4bf1f1
movss dword [rsi + r11*4], xmm2
movups xmm2, xmm1
subss xmm1, xmm8
mulss xmm6, xmm3
addss xmm1, xmm6
mulss xmm9, xmm0
subss xmm1, xmm9
mulss xmm1, xmm10
cmp r8, r9
jbe 0x4bf1e6
movss dword [rsi + r9*4], xmm1
movss xmm0, dword [0x00521564]
pxor xmm2, xmm0
addss xmm8, xmm2
addss xmm8, xmm6
subss xmm8, xmm9
mulss xmm8, xmm10
cmp r8, r13
ja 0x4bee69
jmp 0x4bf1db
xor r10d, r10d
jmp 0x4befed
movss dword [rbx + rdx*4 - 4], xmm4
lea r10, [r13 + 1]
mov rdx, r9
mov r9, qword [rsp + 0x20]
mov r12, qword [rsp + 0x60]
cmp r10, rdi
jge 0x4bf0b3
mov r11, qword [rax + 0x20]
mov r13, r10
shl r10, 1
cmp r11, r10
jbe 0x4bf1d0
mov r15, qword [rax + 0x18]
lea r9, [r13 + r13]
lea r9, [r9 + 1]
lea r12, [r15 + r13*8]
nop word [rax + rax]
cmp r11, r9
jbe 0x4bf1c5
lea r11, [r15 + r13*8]
lea r11, [r11 + 4]
cmp r8, r10
jbe 0x4bf1b8
lea r10, [rsi + r13*8]
nop
cmp r8, r9
jbe 0x4bf1ad
movss xmm0, dword [r12]
movss xmm1, dword [r11]
movss xmm2, dword [r10]
lea r9, [rsi + r13*8]
lea r9, [r9 + 4]
movss xmm3, dword [r9]
movups xmm4, xmm2
mulss xmm2, xmm0
movups xmm5, xmm3
mulss xmm3, xmm1
addss xmm3, xmm2
nop dword [rax + rax]
cmp rcx, r13
jbe 0x4bf1a5
movss dword [rbx + r13*4], xmm3
mov r9, rdx
sub rdx, r13
lea r10, [rdx - 1]
mulss xmm4, xmm1
mulss xmm5, xmm0
subss xmm4, xmm5
cmp rcx, r10
ja 0x4befd6
jmp 0x4bf19d
xor eax, eax
jmp 0x4bf0c4
movss dword [rsi + r10*4 - 4], xmm0
inc rax
mov r12, rdx
cmp rax, rdi
jge 0x4bf12f
lea rdx, [rax + rdi]
cmp rcx, rdx
jbe 0x4bf195
movss xmm0, dword [rbx + rdx*4]
nop dword [rax + rax]
cmp r8, rax
jbe 0x4bf18d
movss dword [rsi + rax*4], xmm0
mov rdx, r12
sub r12, rax
mov r10, r12
sub r12, r9
lea r11, [r12 - 1]
nop
cmp rcx, r11
jbe 0x4bf185
lea r11, [r10 - 1]
movss xmm0, dword [rbx + r12*4 - 4]
movss xmm1, dword [0x00521564]
pxor xmm0, xmm1
cmp r8, r11
ja 0x4bf0b7
jmp 0x4bf177
movss dword [rsi + rdi*4], xmm0
inc rdi
cmp rdi, r9
jge 0x4bf15e
mov rax, r9
sub rax, rdi
lea rdx, [rax - 1]
nop
cmp rcx, rdx
jbe 0x4bf16f
movss xmm0, dword [rbx + rax*4 - 4]
movss xmm1, dword [0x00521564]
pxor xmm0, xmm1
cmp r8, rdi
ja 0x4bf127
jmp 0x4bf164
add rsp, 0x68
pop rbp
ret
mov rax, rdi
mov rcx, r8
call sym.runtime.panicIndex
mov rax, rdx
call sym.runtime.panicIndex
mov rax, r11
mov rcx, r8
nop dword [rax]
call sym.runtime.panicIndex
mov rax, r11
call sym.runtime.panicIndex
mov rcx, r8
call sym.runtime.panicIndex
mov rax, rdx
call sym.runtime.panicIndex
mov rax, r10
call sym.runtime.panicIndex
mov rax, r13
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r10
mov rcx, r8
nop
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r11
call sym.runtime.panicIndex
mov rax, r10
mov rcx, r11
call sym.runtime.panicIndex
mov rax, r13
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r11
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r15
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r12
call sym.runtime.panicIndex
mov rax, r15
mov rcx, r12
call sym.runtime.panicIndex
mov rax, r13
call sym.runtime.panicIndex
mov rax, r11
call sym.runtime.panicIndex
mov rax, r9
call sym.runtime.panicIndex
mov rax, r15
call sym.runtime.panicIndex
mov rax, rdx
call sym.runtime.panicIndex
mov rax, rdx
mov rcx, r8
call sym.runtime.panicIndex
mov rax, rdx
call sym.runtime.panicIndex
mov rax, rdx
mov rcx, r8
nop
call sym.runtime.panicIndex
mov rax, r9
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r9
nop dword [rax + rax]
call sym.runtime.panicIndex
mov rax, r13
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r15
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r8
call sym.runtime.panicIndex
lea rcx, [r11 + 1]
mov rdx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x30]
nop dword [rax + rax]
cmp rcx, r13
jge 0x4beb29
mov r10, qword [rax + 8]
mov r15, rcx
imul rcx, r9
cmp r10, rcx
jbe 0x4bf431
mov rdi, qword [rax]
lea r11, [rcx + 1]
movss xmm0, dword [rdi + rcx*4]
cmp r10, r11
jbe 0x4bf426
mov r10, rdx
sub rdx, r12
mov r11, r15
shl r15, 1
sub r10, r15
sub rdx, r15
movss xmm1, dword [rdi + rcx*4 + 4]
lea rdi, [r10 - 1]
add r10, 0xfffffffffffffffe
lea r15, [rdx - 1]
add rdx, 0xfffffffffffffffe
xor ecx, ecx
jmp 0x4bf3c5
movss xmm5, dword [rsi + rdx*4]
movups xmm6, xmm2
addss xmm2, xmm4
movss dword [rsi + rdi*4], xmm2
movups xmm2, xmm3
addss xmm3, xmm5
movss dword [rsi + r10*4], xmm3
subss xmm6, xmm4
movups xmm3, xmm6
mulss xmm6, xmm0
subss xmm2, xmm5
movups xmm4, xmm2
mulss xmm2, xmm1
subss xmm6, xmm2
movss dword [rsi + r15*4], xmm6
mulss xmm4, xmm0
mulss xmm3, xmm1
addss xmm3, xmm4
movss dword [rsi + rdx*4], xmm3
shl r12, 1
add rcx, 2
sub rdi, r12
sub r10, r12
sub r15, r12
sub rdx, r12
mov r12, qword [rsp + 0x38]
cmp rcx, rbx
jge 0x4bf2e8
cmp r8, rdi
jbe 0x4bf41b
movss xmm2, dword [rsi + rdi*4]
cmp r8, r10
jbe 0x4bf410
movss xmm3, dword [rsi + r10*4]
cmp r8, r15
jbe 0x4bf405
movss xmm4, dword [rsi + r15*4]
cmp r8, rdx
ja 0x4bf35e
mov rax, rdx
mov rcx, r8
nop dword [rax]
call sym.runtime.panicIndex
mov rax, r15
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r10
mov rcx, r8
call sym.runtime.panicIndex
mov rax, rdi
mov rcx, r8
call sym.runtime.panicIndex
mov rax, r11
mov rcx, r10
call sym.runtime.panicIndex
mov rax, rcx
mov rcx, r10
call sym.runtime.panicIndex
mov rax, r12
mov rcx, r8
call sym.runtime.panicIndex
mov rcx, r8
call sym.runtime.panicIndex
mov rax, rdx
mov rcx, r8
call sym.runtime.panicIndex
mov rcx, r8
nop dword [rax]
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov rax, r10
call sym.runtime.panicIndex
mov rax, rdi
call sym.runtime.panicIndex
mov rax, rdi
nop dword [rax]
call sym.runtime.panicIndex
mov rax, rdi
mov rcx, r13
call sym.runtime.panicIndex
mov rax, r10
mov rcx, r13
call sym.runtime.panicIndex
mov rcx, r13
nop
call sym.runtime.panicIndex
mov rcx, r13
call sym.runtime.panicIndex
mov rax, r11
mov rcx, r13
call sym.runtime.panicIndex
mov rax, r9
mov rcx, r13
nop
call sym.runtime.panicIndex
nop
int3