Function at 0x1800129b0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, r8
mov r13, rdx
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x2c], esi
mov eax, dword [0x1800ba570]
test al, 1
jne 0x180012a6c
or eax, 1
mov dword [0x1800ba570], eax
xorps xmm0, xmm0
movups xmmword [0x1800ba550], xmm0
mov qword [0x1800ba560], rsi
mov qword [0x1800ba568], 0xf
lea ecx, [rsi + 0x50]
call fcn.18004b4d4
mov qword [0x1800ba550], rax
mov qword [0x1800ba560], 0x40
mov qword [0x1800ba568], 0x4f
movaps xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1800a10e0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1800a10f0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1800a1100]
movups xmmword [rax + 0x30], xmm1
mov byte [rax + 0x40], sil
lea rcx, [0x180072dc0]
call fcn.18004b4ac
nop
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov dword [rsp + 0x2c], 1
mov ebp, esi
xor eax, eax
mov word [rsp + 0x24], ax
mov byte [rsp + 0x26], al
mov dword [rsp + 0x28], esi
test r14, r14
je 0x180012e13
mov rcx, rsi
movzx ebx, byte [rsp + 0x88]
nop
dec r14
movzx eax, byte [r13]
lea r13, [r13 + 1]
mov byte [rsp + rcx + 0x24], al
inc ebp
inc rcx
movzx r8d, byte [rsp + 0x26]
movzx r15d, byte [rsp + 0x25]
movzx r12d, byte [rsp + 0x24]
cmp rcx, 3
jne 0x180012ca8
movzx eax, r12b
shr al, 2
movzx ecx, al
mov byte [rsp + 0x28], cl
movzx ebp, r12b
and bpl, 3
shl bpl, 4
movzx eax, r15b
shr al, 4
add bpl, al
movzx edx, r15b
and dl, 0xf
shl dl, 2
movzx eax, r8b
shr al, 6
add dl, al
mov byte [rsp + 0x88], dl
movzx eax, r8b
and al, 0x3f
mov byte [rsp + 0x20], al
lea rax, [0x1800ba550]
cmp qword [0x1800ba568], 0xf
cmova rax, qword [0x1800ba550]
movzx r9d, byte [rcx + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180012b71
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180012b66
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180012b82
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180024c60
lea rcx, [0x1800ba550]
cmp qword [0x1800ba568], 0xf
cmova rcx, qword [0x1800ba550]
movzx eax, bpl
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180012bce
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180012bc3
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180012bdf
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180024c60
lea rbp, [0x1800ba550]
mov rcx, rbp
cmp qword [0x1800ba568], 0xf
cmova rcx, qword [0x1800ba550]
movzx eax, byte [rsp + 0x88]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180012c32
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180012c27
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180012c43
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180024c60
mov rcx, rbp
cmp qword [0x1800ba568], 0xf
cmova rcx, qword [0x1800ba550]
movzx eax, byte [rsp + 0x20]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180012c8c
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180012c81
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180012c9d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180024c60
mov ebp, esi
mov rcx, rsi
movzx r8d, byte [rsp + 0x26]
test r14, r14
jne 0x180012ab0
test ebp, ebp
je 0x180012e13
mov r13d, 3
cmp ebp, r13d
jge 0x180012cf0
mov eax, r13d
sub eax, ebp
movsxd r8, eax
movsxd rax, ebp
lea rcx, [rsp + 0x24]
add rcx, rax
xor edx, edx
call fcn.18006d9c0
movzx r8d, byte [rsp + 0x26]
movzx r15d, byte [rsp + 0x25]
movzx r12d, byte [rsp + 0x24]
movzx eax, r12b
shr al, 2
mov byte [rsp + 0x28], al
and r12b, r13b
shl r12b, 4
movzx eax, r15b
shr al, 4
add r12b, al
mov byte [rsp + 0x29], r12b
and r15b, 0xf
shl r15b, 2
movzx eax, r8b
shr al, 6
add r15b, al
mov byte [rsp + 0x2a], r15b
and r8b, 0x3f
mov byte [rsp + 0x2b], r8b
lea eax, [rbp + 1]
movsxd r14, eax
test eax, eax
jle 0x180012db6
movzx ebx, byte [rsp + 0x88]
nop dword [rax]
nop word [rax + rax]
lea rcx, [0x1800ba550]
cmp qword [0x1800ba568], 0xf
cmova rcx, qword [0x1800ba550]
movzx eax, byte [rsp + rsi + 0x28]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180012d9d
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180012d92
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180012dae
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180024c60
inc rsi
cmp rsi, r14
jl 0x180012d50
cmp ebp, r13d
jge 0x180012e13
sub r13d, ebp
movsxd rsi, r13d
movzx ebx, byte [rsp + 0x88]
nop dword [rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180012df9
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180012df1
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x180012e0d
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180024c60
sub rsi, 1
jne 0x180012dd0
mov rax, rdi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret