Function at 0x1400806a0
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 [0x1401e5d38]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x20]
cmp rax, 0x11
jb 0x140080740
add rax, 0xffffffffffffffef
mov qword [rsi + 0x20], rax
mov r12, qword [rsi + 8]
mov r15, qword [rsi + 0x10]
mov r14, qword [r12]
lea rdi, [r12 + 8]
mov qword [rsi + 8], rdi
cmp r15, qword [rsi + 0x18]
jne 0x140080b86
mov rbx, qword [rsi]
mov rax, rdi
sub rax, rbx
jbe 0x140080839
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, r15
sub r8, rdi
mov rdx, rdi
call fcn.140156ae0
sub r15, rbx
mov qword [rsi + 0x10], r15
sub qword [rsi + 8], rbx
jmp 0x140080b86
mov rdi, qword [rsi + 0x10]
mov rax, qword [rsi]
mov r12, qword [rsi + 8]
mov r14, rdi
sub r14, r12
mov r15, r14
sar r15, 3
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rax
mov r8, rcx
sar r8, 3
cmp r15, r8
jae 0x140080798
mov ecx, 0xf68
cmp rdx, rdi
je 0x1400808aa
call fcn.140153c88
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.140080c90
jmp 0x140080b8e
lea r8, [rsi + 0x20]
sar rcx, 2
cmp rdx, rax
mov r13d, 1
cmovne r13, rcx
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
mov rax, r13
shr rax, 0x3d
jne 0x140080c88
lea rcx, [r13*8]
call fcn.140153c88
mov rbx, rax
mov qword [rsp + 0x38], rax
lea rbp, [rax + r15*8]
mov qword [rsp + 0x40], rbp
lea rax, [rax + r13*8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rax
mov ecx, 0xf68
call fcn.140153c88
cmp r15, r13
jne 0x1400809d6
test r14, r14
jle 0x140080960
lea rcx, [r15 + 1]
shr rcx, 0x3f
add rcx, r15
inc rcx
shl rcx, 2
and rcx, 0xfffffffffffffff8
sub rbp, rcx
mov qword [rsp + 0x40], rbp
jmp 0x1400809d6
mov rax, r15
sub rax, rbx
sar rax, 2
cmp r15, rbx
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x140080c88
mov r13, rbp
shr r13, 2
lea rcx, [rbp*8]
call fcn.140153c88
lea rcx, [rax + r13*8]
mov r9, r15
sub r9, rdi
lea rdx, [rax + rbp*8]
mov r8, rcx
sub r15, rdi
je 0x140080b63
and r9, 0xfffffffffffffff8
mov r8, r9
add r8, rcx
add r15, 0xfffffffffffffff8
cmp r15, 0x68
jae 0x140080a83
mov r9, rcx
jmp 0x140080b50
call fcn.140153c88
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.140080e90
mov r12, qword [rsi + 8]
mov r15, qword [rsi + 0x10]
mov r14, qword [r12]
lea rdi, [r12 + 8]
mov qword [rsi + 8], rdi
cmp r15, qword [rsi + 0x18]
jne 0x140080b86
mov rbx, qword [rsi]
mov rax, rdi
sub rax, rbx
ja 0x140080702
mov rax, r15
sub rax, rbx
sar rax, 2
cmp r15, rbx
mov ebp, 1
cmovne rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x140080c88
mov r13, rbp
shr r13, 2
lea rcx, [rbp*8]
call fcn.140153c88
lea rcx, [rax + r13*8]
mov r9, r15
sub r9, rdi
lea rdx, [rax + rbp*8]
mov r8, rcx
sub r15, rdi
je 0x140080b63
and r9, 0xfffffffffffffff8
mov r8, r9
add r8, rcx
add r15, 0xfffffffffffffff8
cmp r15, 0x68
jae 0x140080bad
mov r9, rcx
jmp 0x140080c70
mov qword [rsp + 0x28], rax
movabs rax, 0x1fffffffffffffff
sar r14, 2
cmp rdi, r12
mov r13d, 1
cmovne r13, r14
cmp r13, rax
ja 0x140080c88
lea rcx, [r13*8]
call fcn.140153c88
mov r15, rax
lea rax, [rax + r13*8]
and r13, 0xfffffffffffffffc
lea rbp, [r15 + r13*2]
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rax
test rbx, rbx
je 0x1400809ce
mov rcx, rbx
call fcn.140153cd8
mov r12, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov rbx, r15
mov rax, qword [rsp + 0x28]
mov qword [rbp], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x48], rax
cmp rdi, r12
je 0x140080a1b
lea rbx, [rsp + 0x38]
nop dword [rax]
add rdi, 0xfffffffffffffff8
mov rcx, rbx
mov rdx, rdi
call fcn.140080e90
cmp rdi, qword [rsi + 8]
jne 0x1400809f0
mov rbx, qword [rsp + 0x38]
mov r12, qword [rsi + 0x10]
movdqu xmm0, xmmword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
jmp 0x140080a31
movq xmm0, rbp
movq xmm1, rax
punpcklqdq xmm0, xmm1
mov rdi, r12
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsi]
mov qword [rsi], rbx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rdi
movdqu xmmword [rsi + 8], xmm0
mov qword [rsp + 0x48], r12
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x18], rdx
mov qword [rsp + 0x50], rax
cmp r12, rdi
je 0x140080a70
sub rdi, r12
add rdi, 7
and rdi, 0xfffffffffffffff8
add rdi, r12
mov qword [rsp + 0x48], rdi
test rcx, rcx
je 0x140080b8e
call fcn.140153cd8
jmp 0x140080b8e
lea r9, [rax + r13*8]
sub r9, rdi
cmp r9, 0x20
jae 0x140080a98
mov r9, rcx
jmp 0x140080b50
shr r15, 3
lea r9, [r15 + 1]
add r15, 0xfffffffffffffffd
mov r10, r15
shr r10, 2
inc r10
cmp r15, 4
jae 0x140080ab9
xor r11d, r11d
jmp 0x140080b0e
shl r13, 3
mov r15, r10
and r15, 0xfffffffffffffffe
add r13, rax
add r13, 0x30
xor r11d, r11d
nop
movups xmm0, xmmword [r12 + r11 + 8]
movups xmm1, xmmword [r12 + r11 + 0x18]
movups xmmword [r13 + r11 - 0x30], xmm0
movups xmmword [r13 + r11 - 0x20], xmm1
movdqu xmm0, xmmword [r12 + r11 + 0x28]
movdqu xmm1, xmmword [r12 + r11 + 0x38]
movdqu xmmword [r13 + r11 - 0x10], xmm0
movdqu xmmword [r13 + r11], xmm1
add r11, 0x40
add r15, 0xfffffffffffffffe
jne 0x140080ad0
mov r15, r9
and r15, 0xfffffffffffffffc
test r10b, 1
je 0x140080b35
movdqu xmm0, xmmword [rdi + r11]
movdqu xmm1, xmmword [rdi + r11 + 0x10]
movdqu xmmword [rcx + r11], xmm0
movdqu xmmword [rcx + r11 + 0x10], xmm1
cmp r9, r15
je 0x140080b63
lea r9, [rcx + r15*8]
lea rdi, [rdi + r15*8]
nop word cs:[rax + rax]
mov r10, qword [rdi]
mov qword [r9], r10
add r9, 8
add rdi, 8
cmp r9, r8
jne 0x140080b50
mov qword [rsi], rax
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rdx
mov r15, r8
test rbx, rbx
je 0x140080b86
mov rcx, rbx
call fcn.140153cd8
mov r15, qword [rsi + 0x10]
mov qword [r15], r14
add qword [rsi + 0x10], 8
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140154030
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r9, [rax + r13*8]
sub r9, rdi
cmp r9, 0x20
jae 0x140080bc2
mov r9, rcx
jmp 0x140080c70
shr r15, 3
lea r9, [r15 + 1]
add r15, 0xfffffffffffffffd
mov r10, r15
shr r10, 2
inc r10
cmp r15, 4
jae 0x140080be3
xor r11d, r11d
jmp 0x140080c36
shl r13, 3
mov r15, r10
and r15, 0xfffffffffffffffe
add r13, rax
add r13, 0x30
xor r11d, r11d
movups xmm0, xmmword [r12 + r11 + 8]
movups xmm1, xmmword [r12 + r11 + 0x18]
movups xmmword [r13 + r11 - 0x30], xmm0
movups xmmword [r13 + r11 - 0x20], xmm1
movdqu xmm0, xmmword [r12 + r11 + 0x28]
movdqu xmm1, xmmword [r12 + r11 + 0x38]
movdqu xmmword [r13 + r11 - 0x10], xmm0
movdqu xmmword [r13 + r11], xmm1
add r11, 0x40
add r15, 0xfffffffffffffffe
jne 0x140080bf8
mov r15, r9
and r15, 0xfffffffffffffffc
test r10b, 1
je 0x140080c5d
movdqu xmm0, xmmword [rdi + r11]
movdqu xmm1, xmmword [rdi + r11 + 0x10]
movdqu xmmword [rcx + r11], xmm0
movdqu xmmword [rcx + r11 + 0x10], xmm1
cmp r9, r15
je 0x140080b63
lea r9, [rcx + r15*8]
lea rdi, [rdi + r15*8]
nop
mov r10, qword [rdi]
mov qword [r9], r10
add r9, 8
add rdi, 8
cmp r9, r8
jne 0x140080c70
jmp 0x140080b63
call fcn.140001be1
int3