Function at 0x140027620
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov rax, qword [0x14024f018]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0xaa
jb 0x1400276d8
add rax, 0xffffffffffffff56
mov qword [rsi + 0x20], rax
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r15, qword [rbx]
add rbx, 8
mov qword [rsi + 8], rbx
cmp rdi, qword [rsi + 0x18]
jne 0x1400278a4
mov r14, qword [rsi]
mov rax, rbx
sub rax, r14
jbe 0x140027813
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
sar rax, 1
mov rbp, rax
neg rbp
shl rax, 3
mov r14, rbx
sub r14, rax
sub rdi, rbx
je 0x1400276c4
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call fcn.140108e80
mov rbx, qword [rsi + 8]
add rdi, r14
mov qword [rsi + 0x10], rdi
lea rax, [rbx + rbp*8]
mov qword [rsi + 8], rax
jmp 0x1400278a4
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r14, rdi
sub r14, r12
mov rcx, qword [rsi + 0x18]
mov rax, rcx
sub rax, qword [rsi]
cmp r14, rax
jb 0x1400278cb
lea rcx, [rsi + 0x20]
mov rdx, rax
sar rdx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rdx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rcx
mov rax, rbp
shr rax, 0x3d
jne 0x140027a4f
mov rbx, r14
sar rbx, 3
lea rcx, [rbp*8]
call fcn.140105b78
mov r13, rax
mov qword [rsp + 0x28], rax
add r14, rax
mov qword [rsp + 0x30], r14
lea r15, [rax + rbp*8]
mov qword [rsp + 0x40], r15
mov ecx, 0xff0
call fcn.140105b78
cmp rbx, rbp
je 0x1400279ac
mov qword [r14], rax
lea rax, [r14 + 8]
mov qword [rsp + 0x38], rax
mov rdx, r12
cmp rdi, r12
je 0x1400277ba
lea rbx, [rsp + 0x28]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.140139850
cmp rdi, qword [rsi + 8]
jne 0x14002778a
mov r13, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r12, qword [rsi + 0x10]
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov rdx, rdi
mov rcx, qword [rsi]
mov qword [rsi], r13
mov qword [rsp + 0x28], rcx
mov qword [rsi + 8], r14
mov qword [rsp + 0x30], rdx
mov qword [rsi + 0x10], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x18], r15
mov qword [rsp + 0x40], rax
mov rax, r12
sub rax, rdx
je 0x140027800
add rax, 0xfffffffffffffff8
shr rax, 3
not rax
lea rax, [r12 + rax*8]
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x1400278ac
call fcn.140105bb4
jmp 0x1400278ac
mov rax, rdi
sub rax, r14
mov rcx, rax
sar rcx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rcx
mov rax, rbp
shr rax, 0x3d
jne 0x140027a4f
mov r12, rbp
shr r12, 2
lea rcx, [rbp*8]
call fcn.140105b78
lea r9, [rax + r12*8]
lea r8, [rax + rbp*8]
mov r10, r9
sub rdi, rbx
je 0x140027881
lea r10, [r9 + rdi]
sar rdi, 3
shl rdi, 3
lea rbp, [rax + r12*8]
xor ecx, ecx
mov rdx, qword [rbx + rcx]
mov qword [rbp + rcx], rdx
add rcx, 8
cmp rdi, rcx
jne 0x14002786f
mov qword [rsi], rax
mov qword [rsi + 8], r9
mov qword [rsi + 0x10], r10
mov qword [rsi + 0x18], r8
mov rdi, r10
test r14, r14
je 0x1400278a4
mov rcx, r14
call fcn.140105bb4
mov rdi, qword [rsi + 0x10]
mov qword [rdi], r15
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140106490
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rcx, rdi
jne 0x14002798d
mov ecx, 0xff0
call fcn.140105b78
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140139850
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r15, qword [rbx]
add rbx, 8
mov qword [rsi + 8], rbx
cmp rdi, qword [rsi + 0x18]
jne 0x1400278a4
mov r14, qword [rsi]
mov rax, rbx
sub rax, r14
ja 0x140027688
mov rax, rdi
sub rax, r14
mov rcx, rax
sar rcx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rcx
mov rax, rbp
shr rax, 0x3d
jne 0x140027a4f
mov r12, rbp
shr r12, 2
lea rcx, [rbp*8]
call fcn.140105b78
lea r9, [rax + r12*8]
lea r8, [rax + rbp*8]
mov r10, r9
sub rdi, rbx
je 0x140027881
lea r10, [r9 + rdi]
sar rdi, 3
shl rdi, 3
lea rbp, [rax + r12*8]
xor ecx, ecx
mov rdx, qword [rbx + rcx]
mov qword [rbp + rcx], rdx
add rcx, 8
cmp rdi, rcx
jne 0x140027976
jmp 0x140027881
mov ecx, 0xff0
call fcn.140105b78
lea rdx, [rsp + 0x28]
mov qword [rdx], rax
mov rcx, rsi
call fcn.140139710
jmp 0x1400278ac
mov qword [rsp + 0x20], rax
mov rax, r14
sub rax, r13
jbe 0x1400279dd
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
add rax, rcx
inc rax
shl rax, 2
and rax, 0xfffffffffffffff8
sub r14, rax
mov qword [rsp + 0x30], r14
jmp 0x140027a45
movabs rcx, 0x1fffffffffffffff
mov rdx, rax
sar rdx, 2
test rax, rax
mov ebp, 1
cmovne rbp, rdx
cmp rbp, rcx
ja 0x140027a4f
mov rbx, rbp
and rbx, 0xfffffffffffffffc
lea rcx, [rbp*8]
call fcn.140105b78
lea r14, [rax + rbx*2]
lea r15, [rax + rbp*8]
mov rbx, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r15
test r13, r13
je 0x140027a42
mov rcx, r13
call fcn.140105bb4
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov r13, rbx
mov rax, qword [rsp + 0x20]
jmp 0x140027771
call fcn.140119940
int3