Function at 0x140064730
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov r12, rdx
mov rbx, rcx
mov r13, qword [rcx]
mov rcx, qword [rcx + 8]
mov rbp, r8
sub rbp, r13
mov r14, rbp
sar r14, 3
mov r10, rbp
and r10, 0xfffffffffffffff8
lea rdi, [r10 + r13]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
jae 0x140064827
cmp rdi, rcx
je 0x1400648a1
mov rbp, r9
lea rdx, [rdi + 8]
mov r8, rcx
sub r8, rdx
mov rax, r8
sar rax, 3
lea r9, [rcx - 8]
mov r11, rcx
cmp r9, rcx
jae 0x140064803
mov r15, rdi
lea r11, [r10 + r8]
lea rdi, [r11 + r13]
add rdi, 8
cmp rcx, rdi
cmova rdi, rcx
mov rsi, r13
not rsi
add rsi, rdi
sub rsi, r11
cmp rsi, 0x98
jb 0x1400647dc
add r10, r13
add r10, r8
mov r11, rcx
sub r11, r10
cmp r11, 0x20
jae 0x1400649b8
mov r11, rcx
mov rdi, r15
nop word cs:[rax + rax]
mov r10, qword [r9]
mov qword [r11], r10
add r9, 8
add r11, 8
cmp r9, rcx
jb 0x1400647f0
mov qword [rbx + 8], r11
cmp rcx, rdx
je 0x14006481b
shl rax, 3
sub rcx, rax
mov rdx, rdi
call fcn.140156ae0
mov rax, qword [rbp]
mov qword [rdi], rax
jmp 0x140064949
sub rcx, r13
sar rcx, 3
inc rcx
mov rdx, rcx
shr rdx, 0x3d
jne 0x140064a6f
mov r15, r8
movabs rdx, 0x1fffffffffffffff
sub rax, r13
mov rsi, rax
sar rsi, 2
cmp rsi, rcx
cmovbe rsi, rcx
movabs rcx, 0x7ffffffffffffff8
cmp rax, rcx
cmovae rsi, rdx
test rsi, rsi
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x30], rdi
je 0x1400648b4
mov qword [rsp + 0x28], r9
cmp rsi, rdx
ja 0x140064a74
lea rcx, [rsi*8]
call fcn.140153c88
mov r12, rax
mov r9, qword [rsp + 0x28]
jmp 0x1400648b7
mov rax, qword [r9]
mov qword [rdi], rax
lea rax, [rdi + 8]
mov qword [rbx + 8], rax
jmp 0x140064949
xor r12d, r12d
lea rdi, [r12 + r14*8]
lea rcx, [r12 + rsi*8]
cmp r14, rsi
jne 0x1400648e6
test rbp, rbp
jle 0x140064961
lea rax, [r14 + 1]
shr rax, 0x3f
add rax, r14
inc rax
shl rax, 2
and rax, 0xfffffffffffffff8
sub rdi, rax
mov r13, rcx
mov rax, qword [r9]
mov qword [rdi], rax
lea r14, [rdi + 8]
mov rdx, qword [rbx]
mov rsi, qword [rsp + 0x30]
mov r8, rsi
sub r8, rdx
mov r15, rdi
sub r15, r8
mov rcx, r15
call fcn.140156ae0
mov r12, qword [rbx + 8]
sub r12, rsi
mov rcx, r14
mov rdx, rsi
mov r8, r12
call fcn.140156ae0
lea rax, [rdi + r12]
add rax, 8
mov rcx, qword [rbx]
mov qword [rbx], r15
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], r13
test rcx, rcx
je 0x140064944
call fcn.140153cd8
mov r12, qword [rsp + 0x20]
mov qword [r12], rdi
mov rax, r12
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sar rbp, 2
cmp r13, r15
mov esi, 1
cmovne rsi, rbp
movabs rax, 0x1fffffffffffffff
cmp rsi, rax
ja 0x140064a74
mov r14, r9
lea rcx, [rsi*8]
call fcn.140153c88
mov rcx, rsi
and rcx, 0xfffffffffffffffc
lea rdi, [rax + rcx*2]
lea r13, [rax + rsi*8]
test r12, r12
je 0x1400649b0
mov rcx, r12
call fcn.140153cd8
mov r9, r14
jmp 0x1400648e9
shr rsi, 3
lea r10, [rsi + 1]
add rsi, 0xfffffffffffffffd
mov r11, rsi
shr r11, 2
inc r11
cmp rsi, 4
jae 0x1400649d8
xor edi, edi
jmp 0x140064a34
mov rsi, r11
and rsi, 0xfffffffffffffffe
lea rdi, [rax*8]
lea rdi, [rdi + r14*8]
lea r14, [rdi + r13]
add r14, 0x30
xor edi, edi
nop word cs:[rax + rax]
movups xmm0, xmmword [r14 + rdi - 0x30]
movups xmm1, xmmword [r14 + rdi - 0x20]
movups xmmword [rcx + rdi], xmm0
movups xmmword [rcx + rdi + 0x10], xmm1
movups xmm0, xmmword [r14 + rdi - 0x10]
movups xmm1, xmmword [r14 + rdi]
movups xmmword [rcx + rdi + 0x20], xmm0
movups xmmword [rcx + rdi + 0x30], xmm1
add rdi, 0x40
add rsi, 0xfffffffffffffffe
jne 0x140064a00
mov rsi, r10
and rsi, 0xfffffffffffffffc
test r11b, 1
je 0x140064a55
movups xmm0, xmmword [r9 + rdi]
movups xmm1, xmmword [r9 + rdi + 0x10]
movups xmmword [rcx + rdi], xmm0
movups xmmword [rcx + rdi + 0x10], xmm1
lea r11, [rcx + rsi*8]
cmp r10, rsi
jne 0x140064a66
mov rdi, r15
jmp 0x140064803
lea r9, [r9 + rsi*8]
jmp 0x1400647df
call fcn.14016c718
call fcn.140001be1
int3