Function at 0x1401158f0
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 0x140115a4b
mov rsi, r8
test rdi, rdi
je 0x140115a69
mov rax, rsi
shr rax, 0x2f
jne 0x14011595e
mov rdx, rsi
shr rdx, 0x20
mov rax, qword [r15 + rdx*8 + 8]
test rax, rax
je 0x14011595e
mov rbx, rsi
shr rbx, 0x14
mov rax, qword [r15 + rdx*8 + 8]
test rax, rax
je 0x140115bd3
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x140115976
lea rcx, [r15 + 0x40dc0]
mov rdx, rsi
call fcn.14011fcd0
test rax, rax
je 0x140115baf
mov rcx, r15
mov rdx, rsi
call fcn.140115bf0
mov rbx, rax
cmp rax, rdi
cmova rbx, rdi
mov rcx, r15
mov rdx, r14
mov r8, rdi
mov r9, r12
call fcn.140115f20
mov rdi, rax
test rax, rax
je 0x140115a3b
test rbx, rbx
je 0x140115a3b
cmp rbx, 8
jb 0x1401159d1
lea rax, [rsi + rbx]
cmp rdi, rax
jae 0x140115a8a
lea rax, [rdi + rbx]
cmp rax, rsi
jbe 0x140115a8a
xor eax, eax
mov r8, rax
not r8
add r8, rbx
mov rdx, rbx
and rdx, 3
je 0x140115a01
nop word cs:[rax + rax]
nop
movzx ecx, byte [rsi + rax]
mov byte [rdi + rax], cl
add rax, 1
add rdx, 0xffffffffffffffff
jne 0x1401159f0
cmp r8, 3
jb 0x140115a3b
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 0x140115a10
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.140115800
jmp 0x140115a79
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.140115f20
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.140115800
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 0x140115a97
xor eax, eax
jmp 0x140115b7f
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 0x140115abe
xor ecx, ecx
jmp 0x140115b28
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 0x140115ad0
test r8, r8
je 0x140115b6d
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 0x140115b50
cmp rbx, rax
je 0x140115a3b
test bl, 0x18
je 0x1401159d3
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 0x140115b90
cmp rbx, rax
je 0x140115a3b
jmp 0x1401159d3
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.1400c0bd0
mov rcx, r15
call fcn.14011f8f0
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x140115976
jmp 0x14011595e