Function at 0x1400173d0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rsi, rdx
mov qword [rbp - 0x28], rcx
mov rax, qword [0x1401e2ce0]
movabs rdi, 0xba5486ca5500a2d2
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2ce8]
mov ecx, dword [rcx + rdi]
shld eax, ecx, 0x19
xor eax, 0x3e88821a
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [0x1401e2cf0]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2cf8]
mov ecx, dword [rcx + rdi]
shld eax, ecx, 0x1d
xor eax, 0xca95e404
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov r15, rsp
mov rax, qword [0x1401e2d00]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2d08]
mov ecx, dword [rcx + rdi]
shld eax, ecx, 0x11
xor eax, 0x10dcba2d
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov r12, rsp
mov rax, qword [0x1401e2d10]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2d18]
mov ecx, dword [rcx + rdi]
imul eax, eax, 0x1ab1b86a
imul ecx, ecx, 0xf0d99c10
lea eax, [rax + rcx - 0x230378d]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov r13, rsp
mov rax, qword [0x1401e2d20]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2d28]
mov ecx, dword [rcx + rdi]
imul eax, eax, 0x503f8574
imul ecx, ecx, 0xd11ec1c4
lea eax, [rax + rcx + 0x27f5d7a5]
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov rbx, rsp
mov qword [rbp - 0x20], rbx
mov rax, qword [0x1401e2d30]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2d38]
mov ecx, dword [rcx + rdi]
imul eax, eax, 0x1a5cf881
imul ecx, ecx, 0x8437fa93
lea eax, [rax + rcx + 0x1651d0bd]
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov rcx, rsp
mov qword [rbp - 0x18], rcx
mov rax, qword [0x1401e2d40]
mov eax, dword [rax + rdi]
mov rdx, qword [0x1401e2d48]
mov edx, dword [rdx + rdi]
shld eax, edx, 0x14
xor eax, 0x153f6c1a
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov rdx, rsi
add rdx, 0x1a
mov qword [rax], rdx
mov rax, qword [0x1401e2d50]
mov eax, dword [rax + rdi]
mov dword [rcx], eax
sub rsp, 0x20
call fcn.140029d20
add rsp, 0x20
mov rcx, qword [0x1401e2d58]
cdqe
lea rax, [rcx + rax*4]
mov eax, dword [rdi + rax]
mov dword [rbx], eax
mov rax, qword [0x1401e2d60]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2d68]
mov ecx, dword [rcx + rdi]
shld eax, ecx, 0xe
xor eax, 0x6c0579e3
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov rax, rsp
mov r14, rax
mov rcx, qword [0x1401e2d70]
mov rcx, qword [rcx + rdi]
mov rdx, qword [0x1401e2d78]
mov rdx, qword [rdx + rdi]
shld rcx, rdx, 0x25
movabs rdx, 0xd3b93689e1aaaf64
xor rcx, rdx
mov qword [rax], rcx
mov rax, qword [0x1401e2d80]
mov eax, dword [rax + rdi]
mov rcx, qword [0x1401e2d88]
mov ecx, dword [rcx + rdi]
shld eax, ecx, 0x10
xor eax, 0x22473f1a
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140035520
sub rsp, rax
mov rdi, rsp
mov rax, qword [r14]
mov rdx, qword [0x1401e2d90]
movabs rcx, 0xba5486ca5500a2d2
mov rdx, qword [rdx + rcx]
mov r8, qword [0x1401e2d98]
mov r8, qword [r8 + rcx]
shld rdx, r8, 0x29
movabs r8, 0x1e4467d884f57eaf
xor rdx, r8
mov r8, rax
add r8, rdx
mov rdx, qword [0x1401e2da0]
mov rdx, qword [rdx + rcx]
mov r9, qword [0x1401e2da8]
mov r9, qword [r9 + rcx]
shld rdx, r9, 5
movabs r9, 0x1726d9e85950a6ee
xor rdx, r9
mov r9, rax
add r9, rdx
mov rdx, qword [0x1401e2db0]
add rdx, rcx
mov rax, qword [rdx + rax*8]
mov rdx, qword [rdx + r8*8]
mov qword [r13], rdx
mov rdx, qword [0x1401e2db0]
lea rdx, [rdx + r9*8]
mov rdx, qword [rcx + rdx]
mov qword [r12], rdx
mov rdx, qword [r14]
mov r8, qword [0x1401e2db8]
mov r8, qword [r8 + rcx]
mov r9, qword [0x1401e2dc0]
mov rcx, qword [r9 + rcx]
movabs r9, 0xf8c76f5aafb1723f
imul r8, r9
movabs r9, 0xf12fd86704ba3778
imul rcx, r9
add r8, rcx
movabs rcx, 0xcba4dc7d5a00cab7
add rdx, rcx
add r8, rdx
mov qword [r14], r8
mov ecx, 0x8f89bb17
mov rdx, rax
sub rdx, rcx
je 0x140017765
jmp 0x140017747
mov ecx, 0x8f89bb18
mov rdx, rax
sub rdx, rcx
je 0x1400177af
jmp 0x140017756
mov ecx, 0x8f89bb19
sub rax, rcx
je 0x1400177bb
jmp 0x140017b92
mov rax, qword [r13]
mov rcx, rax
sub rcx, 0x17906115
je 0x140017aa1
jmp 0x14001777b
mov rcx, rax
sub rcx, 0x384b07bf
je 0x140017a66
jmp 0x14001778d
mov ecx, 0x9d0794c5
mov rdx, rax
sub rdx, rcx
je 0x140017907
jmp 0x1400177a0
mov ecx, 0xfdd2e6c2
sub rax, rcx
je 0x14001781b
jmp 0x140017b92
mov rax, qword [r13]
mov qword [r14], rax
jmp 0x140017b94
mov rax, qword [rdi]
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2dc8]
mov rcx, qword [rcx]
movabs rdx, 0xba5486ca5500a2d2
add rdx, qword [0x1401e2dd0]
mov rdx, qword [rdx]
shl rcx, 3
shr rdx, 0x3d
or rcx, rdx
movabs rdx, 0xb06c98f8218e946e
xor rcx, rdx
cmp rax, rcx
jne 0x14001780f
mov rax, qword [r13]
mov qword [r14], rax
jmp 0x140017b94
mov rax, qword [r12]
mov qword [r14], rax
jmp 0x140017b94
mov rax, qword [rbp - 0x18]
mov eax, dword [rax]
mov rcx, qword [rbp - 0x20]
mov ecx, dword [rcx]
movabs rdx, 0xba5486ca5500a2d2
add rdx, qword [0x1401e2dd8]
mov rdx, qword [rdx]
movabs r8, 0xba5486ca5500a2d2
add r8, qword [0x1401e2de0]
mov r8, qword [r8]
movabs r9, 0xb5b430dcb634f215
imul rdx, r9
movabs r9, 0xb17fad23a6c825f
imul r8, r9
add rdx, r8
movabs r8, 0x67baad6499285590
add rdx, r8
movabs r8, 0xba5486ca5500a2d2
add r8, qword [0x1401e2de8]
mov r8, qword [r8]
movabs r9, 0xba5486ca5500a2d2
add r9, qword [0x1401e2df0]
mov r9, qword [r9]
shl r8, 1
shr r9, 0x3f
or r8, r9
movabs r9, 0x15b836b68ce492c3
xor r8, r9
cmp eax, ecx
cmove r8, rdx
mov qword [rdi], r8
movabs rax, 0xba5486ca5500a2d2
add rax, qword [0x1401e2df8]
mov eax, dword [rax]
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e00]
mov ecx, dword [rcx]
imul eax, eax, 0x98a3e50f
imul ecx, ecx, 0xd05d7ca1
add eax, ecx
add eax, 0xea49a7de
mov rcx, qword [rbp]
mov dword [rcx], eax
jmp 0x140017b92
mov rax, qword [rbp]
mov ebx, dword [rax]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
movsxd rcx, ebx
mov qword [rbp - 8], rdi
mov rdi, r15
mov r15, rsi
mov sil, byte [rax + rcx]
sub rsp, 0x20
call fcn.140029db0
add rsp, 0x20
mov ecx, eax
movabs rax, 0xba5486ca5500a2d2
mov r8, rax
add r8, qword [0x1401e2e08]
mov eax, ebx
xor edx, edx
movsxd rcx, ecx
div dword [r8 + rcx*4]
movsxd rax, edx
xor sil, byte [r15 + rax]
movsxd rax, ebx
mov rcx, qword [rbp - 0x28]
mov byte [rcx + rax], sil
mov rsi, r15
mov r15, rdi
mov rdi, qword [rbp - 8]
sub rsp, 0x20
call fcn.140029e30
add rsp, 0x20
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e10]
cdqe
add ebx, dword [rcx + rax*4]
mov dword [r15], ebx
sub rsp, 0x20
call fcn.140029eb0
add rsp, 0x20
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e18]
cdqe
mov eax, dword [rcx + rax*4]
mov ecx, dword [r15]
movabs rdx, 0xba5486ca5500a2d2
add rdx, qword [0x1401e2e20]
mov rdx, qword [rdx]
movabs r8, 0xba5486ca5500a2d2
add r8, qword [0x1401e2e28]
mov r8, qword [r8]
movabs r9, 0x83c784c809f1fb10
imul rdx, r9
movabs r9, 0xd94622d69c1d83f
imul r8, r9
add rdx, r8
movabs r8, 0xad3f7a8993608126
add rdx, r8
movabs r8, 0xba5486ca5500a2d2
add r8, qword [0x1401e2e30]
mov r8, qword [r8]
movabs r9, 0xba5486ca5500a2d2
add r9, qword [0x1401e2e38]
mov r9, qword [r9]
shl r8, 0x33
shr r9, 0xd
or r8, r9
movabs r9, 0xdb6863bbdab03460
xor r8, r9
cmp ecx, eax
cmove r8, rdx
mov qword [rdi], r8
mov eax, dword [r15]
mov rcx, qword [rbp]
mov dword [rcx], eax
jmp 0x140017b92
sub rsp, 0x20
call fcn.140029f40
add rsp, 0x20
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e40]
cdqe
mov eax, dword [rcx + rax*4]
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2d50]
mov dword [rcx], eax
jmp 0x140017b92
movabs rax, 0xba5486ca5500a2d2
add rax, qword [0x1401e2e48]
mov edx, dword [rax]
movabs rax, 0xba5486ca5500a2d2
add rax, qword [0x1401e2e50]
mov eax, dword [rax]
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e58]
mov ecx, dword [rcx]
movabs r8, 0xba5486ca5500a2d2
add r8, qword [0x1401e2e60]
mov r8d, dword [r8]
imul ecx, ecx, 0xa19585ed
imul r8d, r8d, 0x34c50e4a
add ecx, r8d
add ecx, 0x36f03ed4
shl edx, cl
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e68]
mov ecx, dword [rcx]
movabs r8, 0xba5486ca5500a2d2
add r8, qword [0x1401e2e70]
mov r8d, dword [r8]
imul ecx, ecx, 0xea33343e
imul r8d, r8d, 0xb20c5d64
add ecx, r8d
add ecx, 0x38add20e
shr eax, cl
or edx, eax
movabs rax, 0xba5486ca5500a2d2
add rax, qword [0x1401e2e78]
mov eax, dword [rax]
movabs rcx, 0xba5486ca5500a2d2
add rcx, qword [0x1401e2e80]
mov ecx, dword [rcx]
shl eax, 0x1b
shr ecx, 5
or eax, ecx
mov ecx, eax
xor ecx, 0xf06c3edd
mov eax, edx
xor eax, ecx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x140017b94
jmp 0x14001765b