Function at 0x1400228d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
movabs rbp, 0x10000000000000
or rbp, rcx
test edx, edx
cmove rbp, rcx
lea eax, [rdx - 0x435]
mov r13d, 0xfffffbcc
cmovne r13d, eax
mov qword [rsp], rbp
lea rsi, [rbp*4]
test rcx, rcx
setne al
cmp edx, 2
setb r12b
or r12b, al
test r13d, r13d
js 0x140022a42
imul r8d, r13d, 0x13441
shr r8d, 0x12
cmp r13d, 4
adc r8d, 0xffffffff
imul ebx, r8d, 0x12934f
shr ebx, 0x13
mov rax, r8
shl rax, 4
lea rcx, [0x1400e90e8]
mov rbp, rsi
or rbp, 2
mov r15, qword [rax + rcx]
mov r9, qword [rax + rcx + 8]
mov rax, r15
mul rbp
mov rcx, rdx
mov rax, r9
mul rbp
mov r11, rdx
mov r14, rax
add r14, rcx
adc r11, 0
mov ecx, r8d
sub ecx, r13d
add ecx, ebx
add cl, 0x3d
shrd r14, r11, cl
shr r11, cl
movzx edi, r12b
mov rbx, rdi
not rbx
add rbx, rsi
mov rax, r15
mul rbx
mov r13, rdx
mov rax, r9
mul rbx
mov r10, rdx
mov r12, rax
add r12, r13
adc r10, 0
shrd r12, r10, cl
shr r10, cl
mov rax, r15
mul rsi
mov r15, rdx
mov rax, r9
mul rsi
mov r9, rdx
add rax, r15
adc r9, 0
shrd rax, r9, cl
shr r9, cl
test cl, 0x40
cmove r11, r14
cmove r10, r12
cmove r9, rax
cmp r8d, 0x15
ja 0x140022bcd
movabs rcx, 0xcccccccccccccccd
mov rax, rsi
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
cmp eax, esi
jne 0x140022b49
mov edi, 0xffffffff
nop dword [rax + rax]
mov rax, rsi
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
inc edi
cmp eax, esi
mov rsi, rdx
je 0x140022a20
cmp edi, r8d
setae r15b
jmp 0x140022bd0
mov eax, r13d
neg eax
imul ebp, r13d, 0xfff4d105
shr ebp, 0x14
xor ecx, ecx
cmp eax, 2
setge cl
sub ebp, ecx
add r13d, ebp
sub eax, ebp
imul ebx, eax, 0x12934f
shr ebx, 0x13
cdqe
shl rax, 4
lea rcx, [0x1400ea648]
mov rdi, rsi
or rdi, 2
mov r9, qword [rax + rcx]
mov r8, qword [rax + rcx + 8]
mov rax, r9
mul rdi
mov rcx, rdx
mov rax, r8
mul rdi
mov r11, rdx
mov r14, rax
add r14, rcx
adc r11, 0
mov ecx, ebp
sub ecx, ebx
add cl, 0x3c
shrd r14, r11, cl
shr r11, cl
movzx ebx, r12b
not rbx
add rbx, rsi
mov rax, r9
mul rbx
mov r15, rdx
mov rax, r8
mul rbx
mov r10, rdx
mov rbx, rax
add rbx, r15
adc r10, 0
shrd rbx, r10, cl
shr r10, cl
mov rax, r9
mul rsi
mov r15, rdx
mov rax, r8
mul rsi
mov r9, rdx
add rax, r15
adc r9, 0
shrd rax, r9, cl
shr r9, cl
test cl, 0x40
cmove r11, r14
cmove r10, rbx
cmove r9, rax
cmp ebp, 2
jae 0x140022b2c
mov rax, qword [rsp]
and eax, 1
sete cl
and r12b, cl
sub r11, rax
mov r15b, 1
mov r8d, r13d
jmp 0x140022c3e
cmp ebp, 0x3f
jae 0x140022b8a
mov rax, 0xffffffffffffffff
mov ecx, ebp
shl rax, cl
not rax
test rsi, rax
sete r15b
jmp 0x140022b8d
test byte [rsp], 1
jne 0x140022b9d
not rdi
add rdi, rsi
mov esi, 0xffffffff
nop word [rax + rax]
mov rax, rdi
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
inc esi
cmp eax, edi
mov rdi, rdx
je 0x140022b60
cmp esi, r8d
setae r12b
xor r15d, r15d
test r15b, r15b
je 0x140022bd8
jmp 0x140022c3e
xor r15d, r15d
xor r12d, r12d
mov r8d, r13d
test r15b, r15b
je 0x140022bd8
jmp 0x140022c3e
mov esi, 0xffffffff
nop word cs:[rax + rax]
mov rax, rbp
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
inc esi
cmp eax, ebp
mov rbp, rdx
je 0x140022bb0
cmp esi, r8d
adc r11, 0xffffffffffffffff
xor r15d, r15d
xor r12d, r12d
test r15b, r15b
jne 0x140022c3e
test r12b, r12b
jne 0x140022c3e
mov rax, r11
shr rax, 2
movabs rsi, 0x28f5c28f5c28f5c3
mul rsi
mov rdi, rdx
shr rdi, 2
mov rax, r10
shr rax, 2
mul rsi
mov rcx, rdx
shr rcx, 2
xor r13d, r13d
cmp rdi, rcx
jbe 0x140022d86
mov rax, r9
shr rax, 2
mul rsi
shr rdx, 2
imul eax, edx, 0xffffff9c
add eax, r9d
cmp eax, 0x32
setae r10b
mov r13d, 2
mov r9, rdx
jmp 0x140022d8f
movabs r14, 0xcccccccccccccccd
mov rax, r11
mul r14
mov rbx, rdx
shr rbx, 3
mov rax, r10
mul r14
shr rdx, 3
xor edi, edi
xor r13d, r13d
cmp rbx, rdx
jbe 0x140022cd1
xor ebp, ebp
nop dword [rax + rax]
mov rcx, rdx
lea edi, [rdx + rdx]
mov rax, r9
mul r14
mov rsi, rdx
lea eax, [rdi + rdi*4]
shr rsi, 3
lea edx, [rsi + rsi]
lea edi, [rdx + rdx*4]
neg edi
add dil, r9b
cmp eax, r10d
sete al
and r12b, al
test bpl, bpl
sete al
and r15b, al
mov rax, rbx
mul r14
inc r13d
mov rbx, rdx
shr rbx, 3
mov rax, rcx
mul r14
shr rdx, 3
mov r9, rsi
mov r10, rcx
mov ebp, edi
cmp rbx, rdx
ja 0x140022c70
test r12b, r12b
jne 0x140022cdc
jmp 0x140022d4e
mov rcx, r10
mov rsi, r9
test r12b, r12b
je 0x140022d4e
mov rax, rcx
mul r14
mov r10, rdx
shr r10, 3
lea eax, [r10 + r10]
lea eax, [rax + rax*4]
cmp eax, ecx
jne 0x140022d4e
nop word cs:[rax + rax]
mov rax, rsi
mul r14
mov r9, rdx
shr r9, 3
lea eax, [r9 + r9]
lea ebx, [rax + rax*4]
neg ebx
add bl, sil
test dil, dil
sete al
test r15b, r15b
setne r15b
and r15b, al
inc r13d
mov rax, r10
mul r14
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov rcx, r10
mov rsi, r9
mov edi, ebx
cmp eax, r10d
mov r10, rdx
je 0x140022d00
jmp 0x140022d53
mov ebx, edi
mov r9, rsi
test r15b, r15b
sete dl
cmp bl, 5
setne bl
setae r10b
cmp r9, rcx
sete al
xor r12b, 1
or r12b, byte [rsp]
and r12b, al
mov eax, r9d
or al, dl
or al, bl
and al, r10b
or al, r12b
jmp 0x140022e0b
mov rcx, r10
mov rdi, r11
xor r10d, r10d
movabs rsi, 0xcccccccccccccccd
mov rax, rdi
mul rsi
mov rbx, rdx
mov rax, rcx
mul rsi
shr rbx, 3
shr rdx, 3
cmp rbx, rdx
jbe 0x140022e02
nop word cs:[rax + rax]
mov rdi, r9
mov rcx, rdx
mov rax, r9
mul rsi
mov r9, rdx
shr r9, 3
inc r13d
mov rax, rbx
mul rsi
mov rbx, rdx
mov rax, rcx
mul rsi
shr rbx, 3
shr rdx, 3
cmp rbx, rdx
ja 0x140022dc0
lea eax, [r9 + r9]
lea eax, [rax + rax*4]
sub edi, eax
cmp edi, 5
setae r10b
cmp r9, rcx
sete al
or al, r10b
add r8d, r13d
movzx eax, al
add rax, r9
mov edx, r8d
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret