Function at 0x1800a2a80
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x48
mov edi, dword [rbp + 0x68]
xor r10d, r10d
and dword [rbp + 0x68], r10d
xor r15d, r15d
mov esi, edx
mov r11, rcx
lea ecx, [rdx + 2]
mov rbx, r9
xor r9d, r9d
mov eax, 0xaaaaaaab
and dword [rbp + 0x58], r9d
test r8, r8
mov dword [rbp + 0x50], r9d
sete r15b
mul ecx
xor eax, eax
shr edx, 1
shl edx, 2
lea ecx, [rdx + 0x3f]
shr ecx, 6
cmp edi, 2
cmovne eax, ecx
add edx, eax
mov dword [rbp + 0x60], edx
test rbx, rbx
je 0x1800a2af7
cmp edx, dword [rbx]
jbe 0x1800a2c30
test r8, r8
je 0x1800a2c30
mov eax, 0xffffff53
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, r9d
mov ecx, edi
inc r9d
mov dword [rsp + 0x30], r15d
and dword [rsp + 0x28], 0
mov r12b, byte [rax + r11]
mov r14b, byte [r9 + r11]
mov dl, r12b
mov eax, dword [rbx]
inc r9d
shr dl, 2
mov dword [rsp + 0x20], eax
mov r13b, byte [r9 + r11]
inc r9d
mov dword [rbp + 0x50], r9d
lea r9, [rbp + 0x68]
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2c41
mov dl, r14b
mov dword [rsp + 0x30], r15d
and dword [rsp + 0x28], eax
lea r9, [rbp + 0x68]
mov eax, dword [rbx]
and r12b, 3
shr dl, 4
mov ecx, edi
shl r12b, 4
or dl, r12b
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2c39
mov dl, r13b
mov dword [rsp + 0x30], r15d
and dword [rsp + 0x28], eax
lea r9, [rbp + 0x68]
mov eax, dword [rbx]
and r14b, 0xf
shr dl, 6
mov ecx, edi
shl r14b, 2
or dl, r14b
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2c39
mov dword [rsp + 0x30], r15d
lea r9, [rbp + 0x68]
and dword [rsp + 0x28], eax
and r13b, 0x3f
mov eax, dword [rbx]
mov dl, r13b
mov ecx, edi
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2c39
add esi, 0xfffffffd
cmp edi, 2
je 0x1800a2c28
mov eax, dword [rbp + 0x58]
inc eax
mov dword [rbp + 0x58], eax
test al, 0xf
jne 0x1800a2c28
test esi, esi
je 0x1800a2d2d
mov eax, dword [rbx]
lea r9, [rbp + 0x68]
mov dword [rsp + 0x30], r15d
mov dl, 0xa
mov dword [rsp + 0x28], 1
mov ecx, edi
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2c41
mov r9d, dword [rbp + 0x50]
mov r11, qword [rbp + 0x48]
cmp esi, 2
ja 0x1800a2b0d
test esi, esi
je 0x1800a2d2d
test r10d, r10d
jne 0x1800a2d5a
mov ecx, dword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
mov r14b, byte [rcx + rdx]
cmp esi, 2
jne 0x1800a2c63
lea eax, [rcx + 1]
mov r12b, byte [rax + rdx]
jmp 0x1800a2c66
xor r12b, r12b
mov eax, dword [rbx]
lea r9, [rbp + 0x68]
mov dl, r14b
mov dword [rsp + 0x30], r15d
and dword [rsp + 0x28], 0
mov r13b, r12b
and r13b, 0xf
shr dl, 2
mov ecx, edi
shl r13b, 2
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2d5a
and r14b, 3
mov dword [rsp + 0x30], r15d
and dword [rsp + 0x28], eax
lea r9, [rbp + 0x68]
mov eax, dword [rbx]
mov ecx, edi
shl r14b, 4
shr r12b, 4
or r14b, r12b
mov dword [rsp + 0x20], eax
mov dl, r14b
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2d5a
mov ecx, dword [rbx]
lea edx, [rax + 0x3d]
movzx eax, r13b
lea r9, [rbp + 0x68]
cmp esi, 2
mov dword [rsp + 0x30], r15d
cmove edx, eax
xor eax, eax
cmp esi, 2
setne al
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov ecx, edi
call fcn.1800a2980
mov r10d, eax
test eax, eax
jne 0x1800a2d5a
mov eax, dword [rbx]
lea r9, [rbp + 0x68]
mov dword [rsp + 0x30], r15d
mov dl, 0x3d
mov dword [rsp + 0x28], 1
mov ecx, edi
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
test r10d, r10d
jne 0x1800a2d5a
cmp edi, 2
je 0x1800a2d5a
mov eax, dword [rbx]
lea r9, [rbp + 0x68]
mov dword [rsp + 0x30], r15d
mov dl, 0xa
mov dword [rsp + 0x28], 1
mov ecx, edi
mov dword [rsp + 0x20], eax
call fcn.1800a2980
mov r10d, eax
mov eax, dword [rbp + 0x60]
cmp dword [rbp + 0x68], eax
je 0x1800a2d71
test r10d, r10d
jne 0x1800a2d71
mov eax, 0xffffff66
jmp 0x1800a2afc
test r8, r8
je 0x1800a2d82
mov eax, dword [rbp + 0x68]
cmp dword [rbx], eax
jbe 0x1800a2d82
mov byte [rax + r8], 0
mov eax, dword [rbp + 0x68]
mov dword [rbx], eax
test r10d, r10d
jne 0x1800a2d9d
neg r8
sbb eax, eax
not eax
and eax, 0xffffff36
jmp 0x1800a2afc
mov eax, r10d
jmp 0x1800a2afc