Function at 0x1401b9560
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 rsi, rcx
mov rax, qword [0x14042f038]
xor rax, rsp
mov qword [rsp + 0x40], rax
cmp word [rcx + 0x28], 0
je 0x1401b984a
movabs r12, 0x7fffffffffffffff
lea rdi, [rsi + 0xd0]
xor ebx, ebx
xor ebp, ebp
mov r15, qword [rsi + 0x30]
and r15, r12
mov rax, qword [0x140433360]
and rax, r15
mov rcx, qword [0x140433348]
cmp rax, rcx
jne 0x1401b95d8
mov rcx, r15
call fcn.1401f0350
mov rcx, qword [0x140433348]
mov rax, qword [0x140433360]
and rax, r15
lea r14, [r15 + rbx]
cmp rax, rcx
jne 0x1401b95fe
mov rcx, r15
mov rdx, rbx
call fcn.1401f0860
cmp eax, 1
jne 0x1401b9616
add r15, rbx
lea r14, [r12 + 1]
or r14, r15
jmp 0x1401b961f
mov rax, qword [0x140433360]
and rax, r14
cmp rax, qword [0x140433348]
jne 0x1401b961f
jmp 0x1401b9977
cmp eax, 2
je 0x1401b997a
mov r15, r14
and r15, r12
mov rax, qword [0x140433360]
and rax, r15
mov rcx, qword [0x140433348]
cmp rax, rcx
jne 0x1401b9654
mov rcx, r15
call fcn.1401f0350
mov rcx, qword [0x140433348]
mov rax, qword [0x140433360]
and rax, r15
cmp rax, rcx
jne 0x1401b9672
mov rcx, r15
call fcn.1401f04a0
mov rcx, qword [0x140433348]
mov rax, qword [0x140433360]
and rax, r15
cmp rax, rcx
jne 0x1401b9682
mov rcx, r15
call fcn.1401f04a0
mov r14, r15
mov rax, qword [rsi + 0x48]
mov rcx, qword [rsi + 0x50]
sub rcx, rax
sar rcx, 2
cmp rcx, rbp
jbe 0x1401b98e9
test byte [rax + rbp*4], 8
je 0x1401b9764
mov eax, dword [r14 + 4]
cmp eax, 4
je 0x1401b96be
cmp eax, 9
jne 0x1401b9712
cmp qword [r14 + 0x38], 0x10
je 0x1401b96c9
jmp 0x1401b9764
cmp qword [r14 + 0x38], 0x18
jne 0x1401b9764
mov rax, qword [rsi + 0xd8]
cmp rax, qword [rsi + 0xe0]
jae 0x1401b9749
test rax, rax
je 0x1401b9915
mov rcx, qword [r14 + 0x18]
mov qword [rax], rcx
mov rcx, qword [r14 + 0x20]
mov qword [rax + 8], rcx
mov rcx, qword [r14 + 0x38]
mov rdx, rcx
shr rdx, 0x20
jne 0x1401b9842
mov dword [rax + 0x10], ecx
add rax, 0x18
mov qword [rsi + 0xd8], rax
jmp 0x1401b975b
cmp eax, 1
jne 0x1401b9764
mov rax, qword [r14 + 8]
and eax, 4
je 0x1401b9764
mov rax, qword [rsi + 0xf0]
cmp rax, qword [rsi + 0xf8]
je 0x1401b977d
test rax, rax
je 0x1401b9915
mov qword [rax], r14
add rax, 8
mov qword [rsi + 0xf0], rax
jmp 0x1401b9764
mov rcx, rdi
mov rdx, r14
call fcn.1401b9ce0
mov rax, qword [rsi + 0xd8]
cmp qword [rdi], rax
je 0x1401b9941
inc rbp
movzx eax, word [rsi + 0x28]
add rbx, 0x40
cmp rbp, rax
jb 0x1401b95a2
jmp 0x1401b984a
sub rax, qword [rsi + 0xe8]
mov r15, rax
sar r15, 3
lea rcx, [r15 + 1]
mov rdx, rcx
shr rdx, 0x3d
jne 0x1401b996d
lea rdx, [r12 - 7]
mov r13, rax
sar r13, 2
cmp r13, rcx
cmovbe r13, rcx
cmp rax, rdx
movabs rax, 0x1fffffffffffffff
cmovae r13, rax
test r13, r13
je 0x1401b97dd
cmp r13, rax
ja 0x1401b9972
lea rcx, [r13*8]
call fcn.14024abdc
jmp 0x1401b97df
xor eax, eax
shl r15, 3
add r15, rax
je 0x1401b9915
lea r13, [rax + r13*8]
mov qword [r15], r14
lea r14, [r15 + 8]
mov rdx, qword [rsi + 0xe8]
mov r8, qword [rsi + 0xf0]
sub r8, rdx
sub r15, r8
mov rcx, r15
call fcn.14024de40
mov rcx, qword [rsi + 0xe8]
mov qword [rsi + 0xe8], r15
mov qword [rsi + 0xf0], r14
mov qword [rsi + 0xf8], r13
test rcx, rcx
je 0x1401b9764
call fcn.14024ac18
jmp 0x1401b9764
int3
mov rcx, qword [rsi + 0xd0]
mov rdx, qword [rsi + 0xd8]
mov rax, rdx
sub rax, rcx
sar rax, 3
movabs r8, 0xaaaaaaaaaaaaaaab
imul r8, rax
bsr r9, r8
xor r9, 0x3f
add r9, r9
xor r9, 0x7e
xor edi, edi
cmp rdx, rcx
cmove r9, rdi
lea r8, [rsp + 0x30]
call fcn.1401b68e0
mov rcx, qword [rsi + 0xe8]
mov rdx, qword [rsi + 0xf0]
mov rax, rdx
sub rax, rcx
sar rax, 3
bsr r9, rax
xor r9, 0x3f
add r9, r9
xor r9, 0x7e
cmp rdx, rcx
cmove r9, rdi
lea r8, [rsp + 0x38]
call fcn.1401b9e30
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14024c3c0
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5aa
call fcn.14028c680
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x23
call fcn.14028c680
lea rax, str.back___called_on_an_empty_vector
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str._empty__
mov r8d, 0x235
call fcn.14028c680
call fcn.140264f20
call fcn.1402885d0
int3
int3