Function at 0x7ff70b547b40
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rsi, r8
mov r14, rdx
mov rdi, rcx
xor ebx, ebx
mov qword [rcx], rbx
mov qword [rcx + 0x10], rbx
mov qword [rcx + 0x18], 0xf
mov byte [rcx], bl
add r8, 2
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul r8
shr rdx, 1
shl rdx, 2
mov r8b, 0x3d
call fcn.7ff70b5004c0
mov r8, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x7ff70b547bac
mov r8, qword [rdi]
mov rax, r15
mul rsi
shr rdx, 1
lea r10, [rdx + rdx*2]
sub rsi, r10
movabs rax, 0xe7bd05baecff104f
mov qword [rbp - 9], rax
movabs rax, 0x44ec8cb3968b0828
mov qword [rbp - 1], rax
movabs rax, 0xbe24bad459d90971
mov qword [rbp + 7], rax
movabs rax, 0xa04bc35d81530712
mov qword [rbp + 0xf], rax
movabs rax, 0x6a67ab160104df23
mov qword [rbp + 0x17], rax
movabs rax, 0x76122c7f94d15eec
mov qword [rbp + 0x1f], rax
movabs rax, 0x66ebd9e0dc9eb675
mov qword [rbp + 0x27], rax
movabs rax, 0xb1cd3b0991fceed6
mov qword [rbp + 0x2f], rax
movabs rdx, 0x3d5858e243eda697
mov qword [rbp + 0x37], rdx
movabs rcx, 0x35d49b7b068acff0
mov qword [rbp + 0x3f], rcx
movabs rax, 0xaffa43ffa8bc520e
mov qword [rbp - 0x59], rax
movabs rax, 0x14a3c2fedac04261
mov qword [rbp - 0x51], rax
movabs rax, 0xe673ec810d8a5b20
mov qword [rbp - 0x49], rax
movabs rax, 0xc62ea73ee3325d4b
mov qword [rbp - 0x41], rax
movabs rax, 0x40ac77d6b6db744
mov qword [rbp - 0x39], rax
movabs rax, 0x67580ce6a02e83
mov qword [rbp - 0x31], rax
movabs rax, 0x55d9e8d0a6e7ce02
mov qword [rbp - 0x29], rax
movabs rax, 0x9ee60231a6cadbe2
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rdx
mov qword [rbp - 0x11], rcx
movdqa xmm0, xmmword [rbp - 0x59]
pxor xmm0, xmmword [rbp - 9]
movdqa xmmword [rbp - 0x59], xmm0
movdqa xmm1, xmmword [rbp - 0x49]
pxor xmm1, xmmword [rbp + 7]
movdqa xmmword [rbp - 0x49], xmm1
movdqa xmm0, xmmword [rbp - 0x39]
pxor xmm0, xmmword [rbp + 0x17]
movdqa xmmword [rbp - 0x39], xmm0
movdqa xmm1, xmmword [rbp - 0x29]
pxor xmm1, xmmword [rbp + 0x27]
movdqa xmmword [rbp - 0x29], xmm1
movdqa xmm0, xmmword [rbp - 0x19]
pxor xmm0, xmmword [rbp + 0x37]
movdqa xmmword [rbp - 0x19], xmm0
test r10, r10
je 0x7ff70b547d9f
lea r9, [r14 + 2]
lea rcx, [r10 - 1]
mov rax, r15
mul rcx
shr rdx, 1
inc rdx
nop dword [rax + rax]
movzx ecx, byte [r9 - 2]
shl rcx, 8
movzx eax, byte [r9 - 1]
or rcx, rax
shl rcx, 8
movzx eax, byte [r9]
or rcx, rax
mov rax, rcx
shr rax, 0x12
movzx eax, byte [rbp + rax - 0x59]
mov byte [r8 + rbx], al
mov rax, rcx
shr rax, 0xc
and eax, 0x3f
movzx eax, byte [rbp + rax - 0x59]
mov byte [r8 + rbx + 1], al
mov rax, rcx
shr rax, 6
and eax, 0x3f
movzx eax, byte [rbp + rax - 0x59]
mov byte [r8 + rbx + 2], al
and ecx, 0x3f
movzx eax, byte [rbp + rcx - 0x59]
mov byte [r8 + rbx + 3], al
add rbx, 4
lea r9, [r9 + 3]
sub rdx, 1
jne 0x7ff70b547d30
test rsi, rsi
je 0x7ff70b547e0f
sub rsi, 1
movzx eax, byte [r10 + r14]
je 0x7ff70b547dbc
movzx edx, byte [r10 + r14 + 1]
shl eax, 8
or edx, eax
jmp 0x7ff70b547dbe
mov edx, eax
mov ecx, edx
shr ecx, 2
mov eax, edx
shr eax, 0xa
test rsi, rsi
cmove eax, ecx
movzx ecx, byte [rbp + rax - 0x59]
mov byte [r8 + rbx], cl
je 0x7ff70b547df8
mov eax, edx
shr eax, 4
and eax, 0x3f
movzx ecx, byte [rbp + rax - 0x59]
mov byte [rbx + r8 + 1], cl
and edx, 0xf
shl edx, 2
movzx ecx, byte [rbp + rdx - 0x59]
jmp 0x7ff70b547e0a
and edx, 3
shl edx, 4
movzx ecx, byte [rbp + rdx - 0x59]
mov byte [rbx + r8 + 1], cl
mov cl, 0x3d
mov byte [r8 + rbx + 2], cl
mov rax, rdi
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret