Function at 0x14003de80
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea r13, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
lea rax, [0x14008e840]
test dl, dl
mov r12, rcx
cmove r13, rax
test rcx, rcx
je 0x14003e278
movabs rax, 0x5555555555555556
xor r8d, r8d
imul rcx, qword [rcx], 4
seto r8b
imul rcx
sar rcx, 0x3f
sub rdx, rcx
lea rbx, [rdx + 6]
test r8, r8
jne 0x14003e158
test rbx, rbx
js 0x14003e166
xor ecx, ecx
mov rdx, rbx
call fcn.14000c400
mov rcx, qword [r12]
mov rdi, rax
movabs rax, 0x5555555555555556
imul rcx
mov rax, rcx
mov r15, rcx
sar rax, 0x3f
sub rdx, rax
mov rax, rcx
lea rdx, [rdx + rdx*2]
sub rax, rdx
sub r15, rax
jo 0x14003e490
test r15, r15
je 0x14003e3f0
xor ebx, ebx
xor esi, esi
jmp 0x14003e099
lea rdx, [rcx - 1]
mov rcx, rsi
call fcn.14000d4c0
movzx ebp, byte [r12 + rsi + 0x10]
shl ebp, 0x10
add rsi, 1
jo 0x14003e47c
mov rdx, qword [r12]
test rsi, rsi
js 0x14003df65
cmp rsi, rdx
jl 0x14003df71
sub rdx, 1
mov rcx, rsi
call fcn.14000d4c0
movzx r14d, byte [r12 + rsi + 0x10]
shl r14d, 8
or r14d, ebp
add rsi, 1
jo 0x14003e472
mov rdx, qword [r12]
test rsi, rsi
js 0x14003df96
cmp rsi, rdx
jl 0x14003dfa2
sub rdx, 1
mov rcx, rsi
call fcn.14000d4c0
movzx ebp, byte [r12 + rsi + 0x10]
or ebp, r14d
add rsi, 1
mov r14, rsi
jo 0x14003e0d0
test rbx, rbx
js 0x14003e0b0
test rdi, rdi
je 0x14003e148
mov rdx, qword [rdi]
cmp rdx, rbx
jg 0x14003dfde
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov eax, ebp
shr eax, 0x12
movzx eax, byte [r13 + rax]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e468
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e004
cmp rbx, rdx
jl 0x14003e010
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov eax, ebp
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [r13 + rax]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e45e
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e039
cmp rbx, rdx
jl 0x14003e045
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov eax, ebp
shr eax, 6
and eax, 0x3f
movzx eax, byte [r13 + rax]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e454
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e06e
cmp rbx, rdx
jl 0x14003e07a
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
and ebp, 0x3f
movzx eax, byte [r13 + rbp]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
mov rbp, rbx
jo 0x14003e0e0
mov rcx, qword [r12]
cmp r15, r14
je 0x14003e0ee
test rsi, rsi
js 0x14003df38
cmp rcx, rsi
jg 0x14003df44
jmp 0x14003df38
mov rdx, 0xffffffffffffffff
test rdi, rdi
je 0x14003dfd6
mov rdx, qword [rdi]
jmp 0x14003dfd2
call fcn.140008dc0
jmp 0x14003dfb8
call fcn.140008dc0
mov rcx, qword [r12]
cmp r15, r14
jne 0x14003e099
movabs rax, 0x5555555555555556
imul rcx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
mov rdx, rcx
sub rdx, rax
cmp rdx, 1
je 0x14003e180
cmp rdx, 2
je 0x14003e2c8
test rbx, rbx
js 0x14003e290
mov rdx, rbx
mov rcx, rdi
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000c400
mov rdx, 0xffffffffffffffff
jmp 0x14003dfd6
call fcn.140008dc0
test rbx, rbx
jns 0x14003dee5
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
jmp 0x14003dee5
test r14, r14
js 0x14003e2b0
cmp r14, rcx
jge 0x14003e2b0
movzx esi, byte [r12 + r14 + 0x10]
shl esi, 0x10
add r14, 1
jo 0x14003e486
test rbp, rbp
js 0x14003e430
test rdi, rdi
je 0x14003e438
mov rax, qword [rdi]
cmp rax, rbx
jg 0x14003e1cb
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000d4c0
mov eax, esi
shr eax, 0x12
movzx eax, byte [r13 + rax]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e4d0
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e1f1
cmp rbx, rdx
jl 0x14003e1fd
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
shr esi, 0xc
and esi, 0x30
movzx eax, byte [r13 + rsi]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e4c6
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e224
cmp rbx, rdx
jl 0x14003e230
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov byte [rdi + rbx + 0x10], 0x3d
add rbx, 1
jo 0x14003e3c9
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e24c
cmp rbx, rdx
jl 0x14003e258
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov byte [rdi + rbx + 0x10], 0x3d
add rbx, 1
jno 0x14003e11f
call fcn.140008dc0
jmp 0x14003e11f
mov edx, 6
xor ecx, ecx
xor ebx, ebx
call fcn.14000c400
mov rdi, rax
jmp 0x14003e128
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rbx
call fcn.14000d320
jmp 0x14003e128
lea rdx, [rcx - 1]
mov rcx, r14
call fcn.14000d4c0
jmp 0x14003e192
test r14, r14
js 0x14003e2d2
cmp r14, rcx
jl 0x14003e2de
lea rdx, [rcx - 1]
mov rcx, r14
call fcn.14000d4c0
movzx r14d, byte [r12 + rsi + 0x10]
shl r14d, 0x10
add rsi, 1
jo 0x14003e4bc
mov rdx, qword [r12]
test rsi, rsi
js 0x14003e300
cmp rsi, rdx
jl 0x14003e30c
sub rdx, 1
mov rcx, rsi
call fcn.14000d4c0
movzx ebp, byte [r12 + rsi + 0x10]
shl ebp, 8
or ebp, r14d
add rsi, 1
jo 0x14003e4b2
test rbx, rbx
js 0x14003e3d8
test rdi, rdi
je 0x14003e3d8
mov rdx, qword [rdi]
cmp rdx, rbx
jg 0x14003e348
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov eax, ebp
shr eax, 0x12
movzx eax, byte [r13 + rax]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e4a8
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e36e
cmp rbx, rdx
jl 0x14003e37a
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
mov eax, ebp
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [r13 + rax]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jo 0x14003e49e
mov rdx, qword [rdi]
test rbx, rbx
js 0x14003e3a3
cmp rbx, rdx
jl 0x14003e3af
sub rdx, 1
mov rcx, rbx
call fcn.14000d4c0
shr ebp, 6
and ebp, 0x3c
movzx eax, byte [r13 + rbp]
mov byte [rdi + rbx + 0x10], al
add rbx, 1
jno 0x14003e23f
call fcn.140008dc0
jmp 0x14003e23f
mov rdx, 0xffffffffffffffff
test rdi, rdi
je 0x14003e340
mov rdx, qword [rdi]
jmp 0x14003e33c
movabs rax, 0x5555555555555556
imul rcx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
sub rcx, rax
cmp rcx, 1
je 0x14003e444
xor ebx, ebx
xor esi, esi
cmp rcx, 2
jne 0x14003e128
jmp 0x14003e2de
mov rax, qword [rdi]
jmp 0x14003e1bf
mov rdx, 0xffffffffffffffff
jmp 0x14003e1c3
movzx esi, byte [r12 + 0x10]
xor ebx, ebx
shl esi, 0x10
jmp 0x14003e1ae
call fcn.140008dc0
jmp 0x14003e061
call fcn.140008dc0
jmp 0x14003e02c
call fcn.140008dc0
jmp 0x14003dff7
call fcn.140008dc0
jmp 0x14003df88
call fcn.140008dc0
jmp 0x14003df57
call fcn.140008dc0
jmp 0x14003e1a5
call fcn.140008dc0
mov rcx, qword [r12]
jmp 0x14003df23
call fcn.140008dc0
jmp 0x14003e396
call fcn.140008dc0
jmp 0x14003e361
call fcn.140008dc0
jmp 0x14003e322
call fcn.140008dc0
jmp 0x14003e2f2
call fcn.140008dc0
jmp 0x14003e217
call fcn.140008dc0
jmp 0x14003e1e4