Function at 0x140005651
Capabilities:
Encode data using base64

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r9d, 3
lea rax, [rdx*4]
mov rdi, rdx
mov rbx, rcx
cqo
idiv r9
lea rcx, [rax + 6]
mov rax, rdi
cqo
idiv r9
sub rdi, rdx
mov rsi, rdx
mov rdx, rcx
xor ecx, ecx
test r8b, r8b
jne 0x1400056a7
call fcn.140003660
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
lea rdx, [rax + 0x10]
mov rcx, rax
xor eax, eax
jmp 0x140005804
call fcn.140003660
lea r10, [0x14002fba0]
xor r8d, r8d
lea r9, [rax + 0x10]
mov rcx, rax
cmp r8, rdi
jne 0x1400056db
movabs rdx, 0xaaaaaaaaaaaaaaac
imul rdx, r8
cmp rsi, 1
jne 0x140005738
jmp 0x14000578e
movzx eax, byte [rbx + r8 + 1]
add r9, 4
movzx edx, byte [rbx + r8]
shl eax, 8
shl edx, 0x10
or eax, edx
movzx edx, byte [rbx + r8 + 2]
add r8, 3
mov r11d, eax
shr r11d, 0x12
mov r11b, byte [r10 + r11]
or edx, eax
shr eax, 0xc
and eax, 0x3f
mov al, byte [r10 + rax]
mov byte [r9 - 4], r11b
mov byte [r9 - 3], al
mov eax, edx
and edx, 0x3f
shr eax, 6
and eax, 0x3f
mov al, byte [r10 + rax]
mov byte [r9 - 2], al
mov al, byte [r10 + rdx]
mov byte [r9 - 1], al
jmp 0x1400056bd
cmp rsi, 2
jne 0x1400058ac
movzx r9d, byte [rbx + r8]
movzx eax, byte [rbx + r8 + 1]
lea r8, [0x14002fba0]
shl r9d, 0x10
shl eax, 8
or eax, r9d
shr r9d, 0x12
mov r9b, byte [r8 + r9]
mov byte [rcx + rdx + 0x10], r9b
mov r9d, eax
shr eax, 6
shr r9d, 0xc
and eax, 0x3c
and r9d, 0x3f
mov al, byte [r8 + rax]
mov r9b, byte [r8 + r9]
mov byte [rcx + rdx + 0x11], r9b
jmp 0x14000589f
movzx eax, byte [rbx + r8]
lea r9, [0x14002fba0]
jmp 0x14000587a
movzx r8d, byte [rbx + rax + 1]
add rdx, 4
movzx r9d, byte [rbx + rax]
shl r8d, 8
shl r9d, 0x10
or r8d, r9d
movzx r9d, byte [rbx + rax + 2]
add rax, 3
mov r11d, r8d
shr r11d, 0x12
mov r11b, byte [r10 + r11]
or r9d, r8d
shr r8d, 0xc
and r8d, 0x3f
mov r8b, byte [r10 + r8]
mov byte [rdx - 4], r11b
mov byte [rdx - 3], r8b
mov r8d, r9d
and r9d, 0x3f
shr r8d, 6
and r8d, 0x3f
mov r8b, byte [r10 + r8]
mov byte [rdx - 2], r8b
mov r8b, byte [r10 + r9]
mov byte [rdx - 1], r8b
cmp rax, rdi
jne 0x14000579f
movabs rdx, 0xaaaaaaaaaaaaaaac
imul rdx, rax
cmp rsi, 1
je 0x14000586f
cmp rsi, 2
jne 0x1400058ac
movzx r8d, byte [rbx + rax]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
movzx eax, byte [rbx + rax + 1]
shl r8d, 0x10
shl eax, 8
or eax, r8d
shr r8d, 0x12
mov r8b, byte [r9 + r8]
mov byte [rcx + rdx + 0x10], r8b
mov r8d, eax
shr eax, 6
shr r8d, 0xc
and eax, 0x3c
and r8d, 0x3f
mov al, byte [r9 + rax]
mov r8b, byte [r9 + r8]
mov byte [rcx + rdx + 0x11], r8b
jmp 0x14000589f
movzx eax, byte [rbx + rax]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov r8d, eax
shl eax, 4
mov byte [rcx + rdx + 0x12], 0x3d
shr r8d, 2
and eax, 0x30
mov r8b, byte [r9 + r8]
mov al, byte [r9 + rax]
mov byte [rcx + rdx + 0x10], r8b
mov byte [rcx + rdx + 0x11], al
jmp 0x1400058a3
mov byte [rcx + rdx + 0x12], al
mov byte [rcx + rdx + 0x13], 0x3d
add rdx, 4
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.140003660