Function at 0x1400c7c40
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14, rcx
cmp rdx, 1
je 0x1400c7eb3
mov r12, rdx
lea rax, [rdx - 1]
test rdx, rax
je 0x1400c7c74
mov rcx, r12
call fcn.1400bb7ba
mov r12, rax
mov rsi, qword [r14 + 8]
cmp r12, rsi
jbe 0x1400c7ed7
mov rax, r12
shr rax, 0x3d
jne 0x1400c7eed
lea rcx, [r12*8]
call fcn.140112048
mov rcx, qword [r14]
mov qword [r14], rax
test rcx, rcx
je 0x1400c7cab
call fcn.140112038
mov qword [r14 + 8], r12
xor eax, eax
mov rcx, qword [r14]
mov qword [rcx + rax*8], 0
inc rax
cmp r12, rax
jne 0x1400c7cb1
mov r11, qword [r14 + 0x10]
test r11, r11
je 0x1400c8000
lea rcx, [r14 + 0x10]
mov rbx, qword [r11 + 8]
mov rax, r12
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r12
sub rax, rdx
movabs rdx, 0x3333333333333333
mov rbp, rax
and rbp, rdx
shr rax, 2
and rax, rdx
add rax, rbp
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs rbp, 0x101010101010101
imul rbp, rax
shr rbp, 0x38
cmp rbp, 1
jbe 0x1400c7ef2
cmp rbx, r12
jb 0x1400c7d4f
mov rax, rbx
xor edx, edx
div r12
mov rbx, rdx
mov rax, qword [r14]
mov qword [rax + rbx*8], rcx
mov rcx, qword [r11]
test rcx, rcx
je 0x1400c8000
mov qword [rsp + 0x38], rbp
mov rax, qword [rcx + 8]
cmp ebp, 1
jbe 0x1400c7eca
cmp rax, r12
jb 0x1400c7d81
xor edx, edx
div r12
mov rax, rdx
cmp rax, rbx
je 0x1400c7ea4
mov rdx, qword [r14]
cmp qword [rdx + rax*8], 0
jne 0x1400c7dab
mov qword [rdx + rax*8], r11
mov r11, rcx
mov rbx, rax
mov rcx, qword [r11]
test rcx, rcx
jne 0x1400c7d67
jmp 0x1400c8000
mov rdx, qword [rcx]
test rdx, rdx
mov qword [rsp + 0x40], rbx
je 0x1400c7eac
mov rbp, qword [rcx + 0x10]
mov esi, dword [rbp + 0x18]
mov rdi, qword [rdx + 0x10]
mov dword [rsp + 0x2c], esi
cmp esi, dword [rdi + 0x18]
jne 0x1400c7eae
mov rbx, qword [rbp]
mov r13, qword [rbp + 8]
sub r13, rbx
mov rbp, r13
sar rbp, 2
cmp rbp, 1
mov esi, 1
mov qword [rsp + 0x30], rbp
cmova rsi, rbp
mov r9, qword [rdi]
mov rbp, qword [rdi + 8]
sub rbp, r9
cmp r13, rbp
jne 0x1400c7eae
dec rsi
mov r15, rdx
mov r8, rcx
test r13, r13
je 0x1400c7e49
mov edx, dword [rbx]
cmp edx, dword [r9]
jne 0x1400c7ec5
xor edx, edx
nop word cs:[rax + rax]
cmp rsi, rdx
je 0x1400c7e49
mov ebp, dword [rbx + rdx*4 + 4]
lea rdi, [rdx + 1]
cmp ebp, dword [r9 + rdx*4 + 4]
mov rdx, rdi
je 0x1400c7e30
jmp 0x1400c7ebe
mov rdx, qword [r15]
test rdx, rdx
je 0x1400c7e76
mov r10, qword [rdx + 0x10]
mov ebp, dword [rsp + 0x2c]
cmp ebp, dword [r10 + 0x18]
jne 0x1400c7e78
mov r8, r15
mov r9, qword [r10]
mov rdi, qword [r10 + 8]
sub rdi, r9
mov r15, rdx
cmp r13, rdi
je 0x1400c7e14
jmp 0x1400c7e7b
xor edx, edx
mov r8, r15
mov qword [r11], rdx
mov rdx, qword [r14]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r8], rdx
mov rdx, qword [r14]
mov rax, qword [rdx + rax*8]
mov qword [rax], rcx
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x38]
jmp 0x1400c7d9e
mov r11, rcx
jmp 0x1400c7d9e
xor edx, edx
mov r8, rcx
jmp 0x1400c7e7b
mov r12d, 2
jmp 0x1400c7c74
cmp rdi, qword [rsp + 0x30]
jae 0x1400c7e49
mov rdx, r15
jmp 0x1400c7e7b
lea rdx, [r12 - 1]
and rax, rdx
jmp 0x1400c7d81
jae 0x1400c8000
mov rax, qword [r14 + 0x18]
test rax, rax
js 0x1400c7eff
cvtsi2ss xmm0, rax
jmp 0x1400c7f14
call fcn.140112370
lea rax, [r12 - 1]
and rbx, rax
jmp 0x1400c7d4f
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [r14 + 0x20]
call fcn.140144bfc
cvttss2si rcx, xmm0
movss xmm1, dword [0x14029d518]
movaps xmm2, xmm0
subss xmm2, xmm1
cvttss2si rax, xmm2
btc rax, 0x3f
ucomiss xmm0, xmm1
cmovb rax, rcx
cmp rsi, 3
jb 0x1400c7fc7
mov rcx, rsi
shr rcx, 1
movabs rdx, 0x5555555555555555
and rdx, rcx
mov rbp, rsi
sub rbp, rdx
movabs rdx, 0x3333333333333333
mov rcx, rbp
shr rcx, 2
and rbp, rdx
and rcx, rdx
add rcx, rbp
mov rdx, rcx
shr rdx, 4
add rdx, rcx
movabs rcx, 0xf0f0f0f0f0f0f0f
and rcx, rdx
movabs rdx, 0x101010101010101
imul rdx, rcx
shr rdx, 0x38
cmp edx, 1
ja 0x1400c7fc7
cmp rax, 2
jb 0x1400c7fcf
dec rax
bsr rcx, rax
xor ecx, 0x3f
neg cl
mov eax, 1
shl rax, cl
jmp 0x1400c7fcf
mov rcx, rax
call fcn.1400bb7ba
cmp r12, rax
cmovb r12, rax
cmp r12, rsi
jae 0x1400c8000
test r12, r12
jne 0x1400c7c81
mov rcx, qword [r14]
mov qword [r14], 0
test rcx, rcx
je 0x1400c7ff8
call fcn.140112038
mov qword [r14 + 8], 0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret