Function at 0x14004a8a0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rcx
mov rax, qword [0x1403a0028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0xaa
jb 0x14004a942
add rax, 0xffffffffffffff56
mov qword [rsi + 0x20], rax
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r14, qword [rdi]
add rdi, 8
mov qword [rsi + 8], rdi
cmp rbx, qword [rsi + 0x18]
jne 0x14004ab18
mov r15, qword [rsi]
mov rax, rdi
sub rax, r15
jbe 0x14004aa86
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
lea rbp, [rax + rcx]
inc rbp
shr rbp, 1
shl rbp, 3
mov rcx, rdi
sub rcx, rbp
mov r8, rbx
sub r8, rdi
mov rdx, rdi
call fcn.1401bcb50
sub rbx, rbp
mov qword [rsi + 0x10], rbx
sub qword [rsi + 8], rbp
jmp 0x14004ab18
mov rdi, qword [rsi + 0x10]
mov rax, qword [rsi]
mov r15, qword [rsi + 8]
mov r13, rdi
sub r13, r15
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rax
cmp r13, rcx
jb 0x14004ab3f
lea rbp, [rsi + 0x20]
sar rcx, 2
cmp rdx, rax
mov r14d, 1
cmovne r14, rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], rbp
mov rax, r14
shr rax, 0x3d
jne 0x14004acb3
mov rbx, r13
sar rbx, 3
lea rcx, [r14*8]
call fcn.1401b9cac
mov r12, rax
mov qword [rsp + 0x38], rax
lea rbp, [rax + r13]
mov qword [rsp + 0x40], rbp
lea rax, [rax + r14*8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rax
mov ecx, 0xff0
call fcn.1401b9cac
cmp rbx, r14
je 0x14004ac1c
mov rbx, qword [rsp + 0x30]
mov qword [rbp], rax
lea rdx, [rbp + 8]
mov qword [rsp + 0x48], rdx
mov rax, r15
cmp rdi, r15
je 0x14004aa31
lea rbx, [rsp + 0x38]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.1401fc230
cmp rdi, qword [rsi + 8]
jne 0x14004aa01
mov r12, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rax, rdi
mov rcx, qword [rsi]
mov qword [rsi], r12
mov qword [rsp + 0x38], rcx
mov qword [rsi + 8], rbp
mov qword [rsp + 0x40], rax
mov qword [rsi + 0x10], rdx
mov qword [rsp + 0x48], r15
mov rdx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rbx
mov qword [rsp + 0x50], rdx
cmp r15, rax
je 0x14004aa73
sub rax, r15
add rax, 7
and rax, 0xfffffffffffffff8
add rax, r15
mov qword [rsp + 0x48], rax
test rcx, rcx
je 0x14004ab20
call fcn.1401b9ce8
jmp 0x14004ab20
mov rax, rbx
sub rax, r15
sar rax, 2
cmp rbx, r15
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x14004acb3
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rcx, rbp
and rcx, 0xfffffffffffffffc
lea rcx, [rax + rcx*2]
lea r8, [rax + rbp*8]
mov r9, rcx
sub rbx, rdi
je 0x14004aaf5
mov rbp, rbx
sar rbp, 3
and rbx, 0xfffffffffffffff8
mov r9, rbx
add r9, rcx
shl rbp, 3
xor ebx, ebx
mov rdx, qword [rdi + rbx]
mov qword [rcx + rbx], rdx
add rbx, 8
cmp rbp, rbx
jne 0x14004aae4
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], r9
mov qword [rsi + 0x18], r8
mov rbx, r9
test r15, r15
je 0x14004ab18
mov rcx, r15
call fcn.1401b9ce8
mov rbx, qword [rsi + 0x10]
mov qword [rbx], r14
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401bb0d0
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0xff0
cmp rdx, rdi
jne 0x14004ac02
call fcn.1401b9cac
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov rcx, rsi
call fcn.1401fc230
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r14, qword [rdi]
add rdi, 8
mov qword [rsi + 8], rdi
cmp rbx, qword [rsi + 0x18]
jne 0x14004ab18
mov r15, qword [rsi]
mov rax, rdi
sub rax, r15
ja 0x14004a904
mov rax, rbx
sub rax, r15
sar rax, 2
cmp rbx, r15
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x14004acb3
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rcx, rbp
and rcx, 0xfffffffffffffffc
lea rcx, [rax + rcx*2]
lea r8, [rax + rbp*8]
mov r9, rcx
sub rbx, rdi
je 0x14004aaf5
mov rbp, rbx
sar rbp, 3
and rbx, 0xfffffffffffffff8
mov r9, rbx
add r9, rcx
shl rbp, 3
xor ebx, ebx
mov rdx, qword [rdi + rbx]
mov qword [rcx + rbx], rdx
add rbx, 8
cmp rbp, rbx
jne 0x14004abec
jmp 0x14004aaf5
call fcn.1401b9cac
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov rcx, rsi
call fcn.1401fc100
jmp 0x14004ab20
mov qword [rsp + 0x28], rax
test r13, r13
jle 0x14004ac41
lea rax, [r14*4 + 4]
and rax, 0xfffffffffffffff8
sub rbp, rax
mov qword [rsp + 0x40], rbp
mov rbx, qword [rsp + 0x30]
jmp 0x14004aca9
movabs rax, 0x1fffffffffffffff
sar r13, 2
cmp rdi, r15
mov ebp, 1
cmovne rbp, r13
cmp rbp, rax
ja 0x14004acb3
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rbx, rax
lea rax, [rax + rbp*8]
and rbp, 0xfffffffffffffffc
lea rbp, [rbx + rbp*2]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbp
mov r14, rax
mov qword [rsp + 0x50], rax
test r12, r12
je 0x14004aca3
mov rcx, r12
call fcn.1401b9ce8
mov r15, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r12, rbx
mov rbx, r14
mov rax, qword [rsp + 0x28]
jmp 0x14004a9e7
call fcn.1401f9cb0
int3