Function at 0x140065f30
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x130], xmm12
movaps xmmword [rsp + 0x120], xmm11
movaps xmmword [rsp + 0x110], xmm10
movaps xmmword [rsp + 0x100], xmm9
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm6
mov r14d, edx
mov rbx, rcx
mov ecx, edx
and cl, 0xf
mov esi, 1
shl esi, cl
mov ebp, esi
shr ebp, 1
test cl, cl
mov qword [rsp + 0xc8], rbx
je 0x140066097
lea edi, [rbp*4]
mov rax, qword [0x14024d438]
movzx eax, byte [rax]
mov edx, 4
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x140066645
mov qword [rsp + 0x80], rbp
xorps xmm7, xmm7
cvtsi2ss xmm7, ebp
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 0
movzx edi, si
shr edi, 1
xor r12d, r12d
movss xmm8, dword [0x1401d6220]
movss xmm9, dword [0x1401d6224]
lea rsi, [rsp + 0x80]
jmp 0x14006603f
mov rax, qword [rsp + 0x88]
movss dword [rax + r12*4], xmm6
inc r12
mov qword [rsp + 0x90], r12
cmp di, r12w
je 0x140066085
movzx eax, r12w
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
addss xmm0, xmm8
mulss xmm0, xmm9
divss xmm0, xmm7
call sym.sinf
movaps xmm1, xmm0
mulss xmm1, xmm9
mulss xmm0, xmm1
call sym.sinf
movaps xmm6, xmm0
cmp r12, qword [rsp + 0x80]
jne 0x140066020
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
jmp 0x140066020
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
jmp 0x14006609f
mov ebx, 4
xor r12d, r12d
mov eax, r14d
mov edi, 1
mov ecx, r14d
shl rdi, cl
and al, 0x3f
mov rsi, rdi
shr rsi, 1
test al, al
mov qword [rsp + 0x78], rbx
mov byte [rsp + 0x27], r14b
mov byte [rsp + 0x26], al
je 0x14006617c
lea r14, [rsi*4]
cmp al, 0x3d
ja 0x140066652
mov r13, qword [0x14024d438]
movzx eax, byte [r13]
mov r15d, 4
mov edx, 4
mov rcx, r14
call sym.__rust_alloc
test rax, rax
je 0x140066655
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
movzx eax, byte [r13]
mov r15d, 4
mov edx, 4
mov rcx, r14
call sym.__rust_alloc
test rax, rax
je 0x140066667
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0
mov al, 1
cmp byte [rsp + 0x26], 1
je 0x1400661b6
mov r14, rdi
and r14, 0xfffffffffffffffc
movzx eax, byte [r13]
mov edx, 4
mov rcx, r14
call sym.__rust_alloc
test rax, rax
je 0x14006668f
mov r15, rax
xor eax, eax
jmp 0x1400661b6
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 4
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 4
mov qword [rsp + 0x70], 0
mov r15d, 4
mov al, 1
mov r13, rdi
shr r13, 2
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], 0
test rdi, rdi
js 0x1400661ea
xorps xmm0, xmm0
cvtsi2ss xmm0, rdi
shr rdi, 3
test al, al
je 0x14006620a
jmp 0x1400663a2
mov ecx, edi
and ecx, 1
or rcx, rsi
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
shr rdi, 3
test al, al
jne 0x1400663a2
mov qword [rsp + 0x28], rbp
movss xmm10, dword [0x1401d6228]
divss xmm10, xmm0
movss xmm11, dword [0x1401d6224]
divss xmm11, xmm0
movss xmm8, dword [0x1401d622c]
divss xmm8, xmm0
cmp r13, 1
adc r13, 0
mov esi, 1
xor ebp, ebp
movaps xmm9, xmmword [0x1401d6230]
movss xmm12, dword [0x1401d6220]
lea r15, [rsp + 0x60]
jmp 0x140066283
inc rbp
mov rax, qword [rsp + 0x68]
movss dword [rax + rbx*4 + 4], xmm6
add rbx, 2
mov qword [rsp + 0x70], rbx
add esi, 2
cmp r13, rbp
je 0x140066392
test rbp, rbp
js 0x1400662a0
xorps xmm6, xmm6
cvtsi2ss xmm6, rbp
jmp 0x1400662ba
mov rax, rbp
shr rax, 1
mov ecx, ebp
and ecx, 1
or rcx, rax
xorps xmm6, xmm6
cvtsi2ss xmm6, rcx
addss xmm6, xmm6
mulss xmm6, xmm10
movaps xmm0, xmm6
call sym.cosf
movaps xmm7, xmm0
mov rbx, qword [rsp + 0x58]
cmp rbx, qword [rsp + 0x48]
jne 0x1400662e0
lea rcx, [rsp + 0x48]
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
mov rax, qword [rsp + 0x50]
movss dword [rax + rbx*4], xmm7
lea r14, [rbx + 1]
mov qword [rsp + 0x58], r14
movaps xmm0, xmm6
call sym.sinf
movaps xmm6, xmm0
cmp r14, qword [rsp + 0x48]
jne 0x14006630f
lea rcx, [rsp + 0x48]
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
xorps xmm6, xmm9
mov rax, qword [rsp + 0x50]
movss dword [rax + rbx*4 + 4], xmm6
add rbx, 2
mov qword [rsp + 0x58], rbx
xorps xmm6, xmm6
cvtsi2ss xmm6, esi
mulss xmm6, xmm11
movaps xmm0, xmm6
call sym.cosf
movaps xmm7, xmm0
mulss xmm7, xmm12
mov rbx, qword [rsp + 0x70]
cmp rbx, qword [rsp + 0x60]
jne 0x140066357
mov rcx, r15
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
mov rax, qword [rsp + 0x68]
movss dword [rax + rbx*4], xmm7
lea r14, [rbx + 1]
mov qword [rsp + 0x70], r14
movaps xmm0, xmm6
call sym.sinf
movaps xmm6, xmm0
mulss xmm6, xmm12
cmp r14, qword [rsp + 0x60]
jne 0x140066260
mov rcx, r15
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
jmp 0x140066260
cmp byte [rsp + 0x26], 2
mov rbp, qword [rsp + 0x28]
jne 0x1400665a0
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xb0], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xc0], rax
cmp byte [rsp + 0x26], 2
ja 0x1400664d5
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 4
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx + 0x70], rax
mov rax, qword [rsp + 0x30]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0xc0]
mov qword [rcx + 0x40], rax
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmm2, xmmword [rsp + 0xa0]
movaps xmm3, xmmword [rsp + 0xb0]
movups xmmword [rcx + 0x30], xmm3
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov qword [rcx + 0x48], rbp
mov rax, qword [rsp + 0x78]
mov qword [rcx + 0x50], rax
mov qword [rcx + 0x58], r12
mov rax, rcx
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm10, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm12, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r14, [rdi*4]
mov rax, qword [0x14024d438]
movzx eax, byte [rax]
mov edx, 4
mov rcx, r14
call sym.__rust_alloc
test rax, rax
je 0x14006667b
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 0
mov r14b, 3
sub r14b, byte [rsp + 0x27]
and r14b, 0x1f
cmp rdi, 1
adc rdi, 0
xor esi, esi
lea r15, [rsp + 0x30]
jmp 0x14006654c
shl ebx, 2
mov rax, qword [rsp + 0x38]
mov dword [rax + rsi*4], ebx
inc rsi
mov qword [rsp + 0x40], rsi
cmp rdi, rsi
je 0x140066412
mov eax, esi
bswap eax
mov ecx, eax
and ecx, 0xf0f0f0f
shl ecx, 4
shr eax, 4
and eax, 0xf0f0f0f
or eax, ecx
mov ecx, eax
and ecx, 0x33333333
shr eax, 2
and eax, 0x33333333
lea eax, [rax + rcx*4]
mov ecx, eax
and ecx, 0x55555555
shr eax, 1
and eax, 0x55555555
lea ebx, [rax + rcx*2]
mov ecx, r14d
shr ebx, cl
cmp rsi, qword [rsp + 0x30]
jne 0x140066530
mov rcx, r15
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
jmp 0x140066530
cmp rdi, 1
mov rsi, rdi
adc rsi, 0
mov r13, qword [rsp + 0x40]
add rsi, rsi
xor r15d, r15d
lea r14, [rsp + 0x30]
jmp 0x1400665e8
xorps xmm6, xmm9
mov rax, qword [rsp + 0x38]
movss dword [rax + r13*4 + 4], xmm6
inc rbx
mov qword [rsp + 0x40], rbx
add r15, 2
mov r13, rbx
cmp rsi, r15
je 0x1400663a2
lea eax, [r15 + 1]
xorps xmm6, xmm6
cvtsi2ss xmm6, eax
mulss xmm6, xmm8
movaps xmm0, xmm6
call sym.cosf
movaps xmm7, xmm0
cmp r13, qword [rsp + 0x30]
jne 0x140066612
mov rcx, r14
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
mov rax, qword [rsp + 0x38]
movss dword [rax + r13*4], xmm7
lea rbx, [r13 + 1]
mov qword [rsp + 0x40], rbx
movaps xmm0, xmm6
call sym.sinf
movaps xmm6, xmm0
cmp rbx, qword [rsp + 0x30]
jne 0x1400665c0
mov rcx, r14
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h21261a28c9acf7de
jmp 0x1400665c0
mov ecx, 4
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
xor r15d, r15d
mov qword [rsp + 0x28], rbp
mov rcx, r15
mov rdx, r14
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
jmp 0x1400666a1
mov qword [rsp + 0x28], rbp
mov ecx, 4
mov rdx, r14
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
jmp 0x1400666a1
mov qword [rsp + 0x28], rbp
mov ecx, 4
mov rdx, r14
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
jmp 0x1400666a1
mov qword [rsp + 0x28], rbp
mov ecx, 4
mov rdx, r14
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
ud2