Function at 0x1400d5ec0
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 r15, rcx
mov rax, qword [0x1403a0028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0x11
jae 0x1400d6009
mov rbp, qword [r15 + 0x10]
mov rax, qword [r15]
mov rdi, qword [r15 + 8]
mov r12, rbp
sub r12, rdi
mov rdx, qword [r15 + 0x18]
mov rcx, rdx
sub rcx, rax
cmp r12, rcx
jb 0x1400d6038
mov qword [rsp + 0x28], rbp
lea rbp, [r15 + 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 0x1400d62fd
mov rsi, r12
sar rsi, 3
lea rcx, [r14*8]
call fcn.1401b9cac
mov rbx, rax
mov qword [rsp + 0x38], rax
lea rbp, [rax + r12]
mov qword [rsp + 0x40], rbp
lea r13, [rax + r14*8]
mov qword [rsp + 0x50], r13
mov ecx, 0xf68
call fcn.1401b9cac
cmp rsi, r14
je 0x1400d60fb
mov rcx, qword [rsp + 0x28]
mov qword [rbp], rax
lea rdx, [rbp + 8]
mov qword [rsp + 0x48], rdx
mov rax, rdi
cmp rcx, rdi
jne 0x1400d612c
mov rcx, qword [r15]
mov qword [r15], rbx
mov qword [rsp + 0x38], rcx
mov qword [r15 + 8], rbp
mov qword [rsp + 0x40], rax
mov qword [r15 + 0x10], rdx
mov qword [rsp + 0x48], rdi
mov rdx, qword [r15 + 0x18]
mov qword [r15 + 0x18], r13
mov qword [rsp + 0x50], rdx
cmp rdi, rax
jne 0x1400d616c
test rcx, rcx
jne 0x1400d6184
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
add rax, 0xffffffffffffffef
mov qword [r15 + 0x20], rax
mov rdi, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
mov r14, qword [rdi]
add rdi, 8
mov qword [r15 + 8], rdi
cmp rsi, qword [r15 + 0x18]
je 0x1400d61a8
mov qword [rsi], r14
add qword [r15 + 0x10], 8
jmp 0x1400d5fea
mov ecx, 0xf68
cmp rdx, rbp
jne 0x1400d618e
call fcn.1401b9cac
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov rcx, r15
call fcn.1401fc230
mov rdi, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
mov r14, qword [rdi]
add rdi, 8
mov qword [r15 + 8], rdi
cmp rsi, qword [r15 + 0x18]
jne 0x1400d602e
mov r12, qword [r15]
mov rax, rdi
sub rax, r12
ja 0x1400d61b7
mov rax, rsi
sub rax, r12
sar rax, 2
cmp rsi, r12
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x1400d62fd
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rcx, rbp
and rcx, 0xfffffffffffffffc
lea rcx, [rax + rcx*2]
lea r8, [rax + rbp*8]
mov rdx, rcx
sub rsi, rdi
je 0x1400d62d1
mov rbp, rsi
sar rbp, 3
and rsi, 0xfffffffffffffff8
mov rdx, rsi
add rdx, rcx
shl rbp, 3
xor esi, esi
mov rbx, qword [rdi + rsi]
mov qword [rcx + rsi], rbx
add rsi, 8
cmp rbp, rsi
jne 0x1400d60e5
jmp 0x1400d62d1
mov qword [rsp + 0x30], rax
test r12, r12
jle 0x1400d61f5
lea rax, [r14*4 + 4]
and rax, 0xfffffffffffffff8
sub rbp, rax
mov qword [rsp + 0x40], rbp
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
jmp 0x1400d5f95
mov rax, rcx
lea rdi, [rsp + 0x38]
mov rsi, rax
add rsi, 0xfffffffffffffff8
mov rcx, rdi
mov rdx, rsi
call fcn.1401fc230
mov rax, rsi
cmp rsi, qword [r15 + 8]
jne 0x1400d6134
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rdi, qword [r15 + 0x10]
mov rdx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
jmp 0x1400d5fae
sub rax, rdi
add rax, 7
and rax, 0xfffffffffffffff8
add rax, rdi
mov qword [rsp + 0x48], rax
jmp 0x1400d5fe1
call fcn.1401b9ce8
jmp 0x1400d5fea
call fcn.1401b9cac
lea rdx, [rsp + 0x38]
mov qword [rdx], rax
mov rcx, r15
call fcn.1401fc100
jmp 0x1400d5fea
mov r12, qword [r15]
mov rax, rdi
sub rax, r12
jbe 0x1400d6266
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
lea rbx, [rax + rcx]
inc rbx
shr rbx, 1
shl rbx, 3
mov rcx, rdi
sub rcx, rbx
mov r8, rsi
sub r8, rdi
mov rdx, rdi
call fcn.1401bcb50
sub rsi, rbx
mov qword [r15 + 0x10], rsi
sub qword [r15 + 8], rbx
jmp 0x1400d602e
movabs rax, 0x1fffffffffffffff
sar r12, 2
cmp qword [rsp + 0x28], rdi
mov ebp, 1
cmovne rbp, r12
cmp rbp, rax
ja 0x1400d62fd
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rsi, rax
lea r13, [rax + rbp*8]
and rbp, 0xfffffffffffffffc
lea rbp, [rax + rbp*2]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x50], r13
test rbx, rbx
je 0x1400d6302
mov rcx, rbx
call fcn.1401b9ce8
mov rdi, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
mov rbx, rsi
jmp 0x1400d6122
mov rax, rsi
sub rax, r12
sar rax, 2
cmp rsi, r12
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x1400d62fd
lea rcx, [rbp*8]
call fcn.1401b9cac
mov rcx, rbp
and rcx, 0xfffffffffffffffc
lea rcx, [rax + rcx*2]
lea r8, [rax + rbp*8]
mov rdx, rcx
sub rsi, rdi
je 0x1400d62d1
mov rbp, rsi
sar rbp, 3
and rsi, 0xfffffffffffffff8
mov rdx, rsi
add rdx, rcx
shl rbp, 3
xor esi, esi
mov rbx, qword [rdi + rsi]
mov qword [rcx + rsi], rbx
add rsi, 8
cmp rbp, rsi
jne 0x1400d62c0
mov qword [r15], rax
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rdx
mov qword [r15 + 0x18], r8
mov rsi, rdx
test r12, r12
je 0x1400d602e
mov rcx, r12
call fcn.1401b9ce8
mov rsi, qword [r15 + 0x10]
jmp 0x1400d602e
call fcn.1401f9cb0
mov rbx, rsi
jmp 0x1400d611d