Function at 0x14001d5a0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, r8
mov rbx, rdx
mov r14, rcx
movabs r13, 0x50db9fa3961f8eed
movabs r15, 0x50db9fa34f125bb4
movabs rax, 0x1d566c43df7ce0d5
add rax, qword [0x14019ccc0]
call rax
mov rcx, rax
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rdx
shr rdx, 1
lea rax, [rdx + rdx*2]
sub rsi, rax
mov qword [rsp + 0x50], rsi
lea r8, [r15 - 0x2f556e82]
lea r9, [r15 - 0x4643d010]
lea rax, [r15 - 0x49b8f2db]
mov qword [rsp + 0x40], rax
lea r11, [r15 - 0x2ae02502]
lea r12, [r13 + 0x47aa364]
lea rax, [r15 - 0x3b2c473c]
mov qword [rsp + 0x38], rax
lea rbp, [r15 - 0x131917cd]
lea rax, [r13 + 0x543468b9]
mov qword [rsp + 0x30], rax
lea rdi, [r13 + 0x44d52daf]
lea r10, [r15 + 0x223e64b0]
mov qword [rsp + 0x48], r14
mov rax, r14
jmp 0x14001d6d4
movzx r14d, byte [rbx]
shr r14d, 2
movzx r14d, byte [rcx + r14]
mov byte [rax], r14b
movzx r14d, byte [rbx]
shl r14d, 4
and r14d, 0x30
mov rsi, rdx
movzx edx, byte [rbx + 1]
shr edx, 4
or edx, r14d
movzx edx, byte [rcx + rdx]
mov byte [rax + 1], dl
movzx edx, byte [rbx + 2]
shr edx, 6
movzx r14d, byte [rbx + 1]
and r14d, 0xf
lea edx, [rdx + r14*4]
movzx edx, byte [rcx + rdx]
mov byte [rax + 2], dl
movzx edx, byte [rbx + 2]
and edx, 0x3f
movzx edx, byte [rcx + rdx]
mov byte [rax + 3], dl
mov rdx, rsi
add rax, 4
add rbx, 3
mov r14, r15
jmp 0x14001d6e0
cmp r14, r12
cmove r14, r13
cmp r14, r15
jl 0x14001d710
cmp r14, r12
jae 0x14001d740
cmp r14, r10
jb 0x14001d7ab
cmp r14, r13
jb 0x14001d83a
jne 0x14001d6e0
jmp 0x14001d8a5
cmp r14, r8
jge 0x14001d770
cmp r14, r9
jge 0x14001d7c4
cmp r14, qword [rsp + 0x40]
jne 0x14001d6e0
mov rsi, rdx
mov rdx, qword [rsp + 0x28]
cmp rdx, 2
mov rdx, rsi
mov r14, r12
cmove r14, r11
jmp 0x14001d6e0
cmp r14, rdi
jb 0x14001d6d9
cmp r14, qword [rsp + 0x30]
jae 0x14001d848
cmp r14, rdi
jne 0x14001d6e0
cmp qword [rsp + 0x28], 0
mov r14, r12
cmove r14, r13
jmp 0x14001d6e0
cmp r14, r11
jae 0x14001d7db
cmp r14, r8
jne 0x14001d6e0
mov rsi, rdx
movzx edx, byte [rbx]
shr edx, 2
movzx edx, byte [rcx + rdx]
mov byte [rax], dl
movzx edx, byte [rbx]
shl edx, 4
and edx, 0x30
movzx edx, byte [rcx + rdx]
mov byte [rax + 1], dl
mov rdx, rsi
mov word [rax + 2], 0x3d3d
jmp 0x14001d82e
cmp r14, r15
jne 0x14001d6e0
sub rdx, 1
mov r14, r10
cmovb r14, r9
jmp 0x14001d6e0
cmp r14, qword [rsp + 0x38]
jae 0x14001d86b
cmp r14, r9
cmove r14, rbp
jmp 0x14001d6e0
cmp r14, rbp
jae 0x14001d885
cmp r14, r11
jne 0x14001d6e0
mov rsi, rdx
movzx edx, byte [rbx]
shr edx, 2
movzx edx, byte [rcx + rdx]
mov byte [rax], dl
movzx edx, byte [rbx]
shl edx, 4
and edx, 0x30
movzx r14d, byte [rbx + 1]
shr r14d, 4
or r14d, edx
movzx edx, byte [rcx + r14]
mov byte [rax + 1], dl
movzx edx, byte [rbx + 1]
and edx, 0xf
movzx edx, byte [rcx + rdx*4]
mov byte [rax + 2], dl
mov rdx, rsi
mov byte [rax + 3], 0x3d
add rax, 4
mov r14, r13
jmp 0x14001d6e0
cmp r14, r10
jne 0x14001d6e0
jmp 0x14001d670
jne 0x14001d6e0
mov rsi, rdx
mov rdx, qword [rsp + 0x28]
cmp rdx, 2
mov rdx, rsi
mov r14, qword [rsp + 0x40]
cmovl r14, r8
jmp 0x14001d6e0
jne 0x14001d6e0
cmp qword [rsp + 0x28], 0
mov r14, qword [rsp + 0x30]
cmovle r14, rdi
jmp 0x14001d6e0
jne 0x14001d6e0
mov rsi, rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rdx
mov rdx, rsi
mov r14, qword [rsp + 0x38]
jmp 0x14001d6e0
sub rax, qword [rsp + 0x48]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret