Function at 0x14012a5f0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rdi, r9
mov r14, rdx
mov r15, rcx
mov r12, qword [rsp + 0x80]
test r8, r8
je 0x14012a74b
mov rsi, r8
test rdi, rdi
je 0x14012a769
mov rax, rsi
shr rax, 0x2f
jne 0x14012a65e
mov rdx, rsi
shr rdx, 0x20
mov rax, qword [r15 + rdx*8 + 8]
test rax, rax
je 0x14012a65e
mov rbx, rsi
shr rbx, 0x14
mov rax, qword [r15 + rdx*8 + 8]
test rax, rax
je 0x14012a8d3
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x14012a676
lea rcx, [r15 + 0x40dc0]
mov rdx, rsi
call fcn.140134fe0
test rax, rax
je 0x14012a8af
mov rcx, r15
mov rdx, rsi
call fcn.14012a9e0
mov rbx, rax
cmp rax, rdi
cmova rbx, rdi
mov rcx, r15
mov rdx, r14
mov r8, rdi
mov r9, r12
call fcn.14012ad30
mov rdi, rax
test rax, rax
je 0x14012a73b
test rbx, rbx
je 0x14012a73b
cmp rbx, 8
jb 0x14012a6d1
lea rax, [rsi + rbx]
cmp rdi, rax
jae 0x14012a78a
lea rax, [rdi + rbx]
cmp rax, rsi
jbe 0x14012a78a
xor eax, eax
mov r8, rax
not r8
add r8, rbx
mov rdx, rbx
and rdx, 3
je 0x14012a701
nop word cs:[rax + rax]
nop
movzx ecx, byte [rsi + rax]
mov byte [rdi + rax], cl
add rax, 1
add rdx, 0xffffffffffffffff
jne 0x14012a6f0
cmp r8, 3
jb 0x14012a73b
nop word [rax + rax]
movzx ecx, byte [rsi + rax]
mov byte [rdi + rax], cl
movzx ecx, byte [rsi + rax + 1]
mov byte [rdi + rax + 1], cl
movzx ecx, byte [rsi + rax + 2]
mov byte [rdi + rax + 2], cl
movzx ecx, byte [rsi + rax + 3]
mov byte [rdi + rax + 3], cl
add rax, 4
cmp rbx, rax
jne 0x14012a710
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.14012a500
jmp 0x14012a779
mov rcx, r15
mov rdx, r14
mov r8, rdi
mov r9, r12
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.14012ad30
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.14012a500
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
cmp rbx, 0x20
jae 0x14012a797
xor eax, eax
jmp 0x14012a87f
mov rax, rbx
and rax, 0xffffffffffffffe0
lea rcx, [rax - 0x20]
mov rdx, rcx
shr rdx, 5
add rdx, 1
mov r8d, edx
and r8d, 3
cmp rcx, 0x60
jae 0x14012a7be
xor ecx, ecx
jmp 0x14012a828
and rdx, 0xfffffffffffffffc
xor ecx, ecx
nop word cs:[rax + rax]
nop
movups xmm0, xmmword [rsi + rcx]
movups xmm1, xmmword [rsi + rcx + 0x10]
movups xmmword [rdi + rcx], xmm0
movups xmmword [rdi + rcx + 0x10], xmm1
movups xmm0, xmmword [rsi + rcx + 0x20]
movups xmm1, xmmword [rsi + rcx + 0x30]
movups xmmword [rdi + rcx + 0x20], xmm0
movups xmmword [rdi + rcx + 0x30], xmm1
movups xmm0, xmmword [rsi + rcx + 0x40]
movups xmm1, xmmword [rsi + rcx + 0x50]
movups xmmword [rdi + rcx + 0x40], xmm0
movups xmmword [rdi + rcx + 0x50], xmm1
movups xmm0, xmmword [rsi + rcx + 0x60]
movups xmm1, xmmword [rsi + rcx + 0x70]
movups xmmword [rdi + rcx + 0x60], xmm0
movups xmmword [rdi + rcx + 0x70], xmm1
sub rcx, 0xffffffffffffff80
add rdx, 0xfffffffffffffffc
jne 0x14012a7d0
test r8, r8
je 0x14012a86d
lea r9, [rdi + rcx]
add r9, 0x10
add rcx, rsi
add rcx, 0x10
shl r8, 5
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
movups xmm0, xmmword [rcx + rdx - 0x10]
movups xmm1, xmmword [rcx + rdx]
movups xmmword [r9 + rdx - 0x10], xmm0
movups xmmword [r9 + rdx], xmm1
add rdx, 0x20
cmp r8, rdx
jne 0x14012a850
cmp rbx, rax
je 0x14012a73b
test bl, 0x18
je 0x14012a6d3
mov rcx, rax
mov rax, rbx
and rax, 0xfffffffffffffff8
nop dword [rax]
mov rdx, qword [rsi + rcx]
mov qword [rdi + rcx], rdx
add rcx, 8
cmp rax, rcx
jne 0x14012a890
cmp rbx, rax
je 0x14012a73b
jmp 0x14012a6d3
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_allocator_combined.h
lea r8, str.__PointerIsMine_p_______0_
mov edx, 0x69
xor r9d, r9d
call fcn.1400d9910
mov rcx, r15
call fcn.140134c00
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x14012a676
jmp 0x14012a65e