Function at 0x14011d290
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, rdx
mov rbx, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r13, qword [rdx + 0x2b8]
mov rcx, qword [rdx + 0x2c0]
mov rax, rcx
sub rax, r13
je 0x14011d4f5
mov r8, rax
sar r8, 3
mov rdx, r13
mov r9, r8
shr r9, 1
mov r10, r9
not r10
add r10, r8
lea r8, [rdx + r9*8]
add r8, 8
cmp qword [r8 - 8], rbx
cmovae r10, r9
cmovb rdx, r8
mov r8, r10
test r10, r10
jne 0x14011d2d9
mov r14, rcx
cmp rdx, rcx
je 0x14011d336
mov r14, rdx
cmp qword [rdx], rbx
jne 0x14011d336
xor esi, esi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14012f6f0
mov eax, esi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, r14
sub rbp, r13
mov rdi, r13
add rdi, rbp
mov rdx, qword [rsi + 0x2c8]
cmp rcx, rdx
jae 0x14011d3cb
cmp rdi, rcx
jne 0x14011d36f
test rcx, rcx
je 0x14011d597
mov qword [rcx], rbx
add rcx, 8
mov qword [rsi + 0x2c0], rcx
mov sil, 1
jmp 0x14011d316
lea rax, [rcx - 8]
mov rdx, rcx
cmp rax, rcx
jae 0x14011d39a
mov rdx, rcx
test rdx, rdx
je 0x14011d597
mov r8, qword [rax]
mov qword [rdx], r8
add rax, 8
add rdx, 8
cmp rax, rcx
jb 0x14011d37e
lea rax, [rdi + 8]
mov qword [rsi + 0x2c0], rdx
cmp rcx, rax
je 0x14011d3c6
mov r8, rcx
sub r8, rax
mov rax, r8
sar rax, 3
shl rax, 3
sub rcx, rax
mov rdx, rdi
call fcn.140131180
mov qword [rdi], rbx
jmp 0x14011d36a
lea rcx, [rsi + 0x2b8]
sar rax, 3
inc rax
mov r8, rax
shr r8, 0x3d
jne 0x14011d5c3
movabs r8, 0x1fffffffffffffff
sub rdx, r13
mov r12, rdx
sar r12, 2
cmp r12, rax
cmovbe r12, rax
movabs rax, 0x7ffffffffffffff8
cmp rdx, rax
cmovae r12, r8
test r12, r12
mov qword [rsp + 0x30], rcx
je 0x14011d4fd
cmp r12, r8
ja 0x14011d5c8
lea rcx, [r12*8]
call fcn.14012cd5c
mov rdx, rbp
sar rdx, 3
lea r15, [rax + rdx*8]
lea r8, [rax + r12*8]
cmp rdx, r12
je 0x14011d504
test r15, r15
je 0x14011d597
mov qword [r15], rbx
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov r14, r15
cmp rdi, rax
je 0x14011d485
mov r14, r15
mov rcx, rdi
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov qword [r14 - 8], rdx
add r14, 0xfffffffffffffff8
cmp rcx, rax
jne 0x14011d470
add r15, 8
mov rbx, qword [rsi + 0x2c0]
sub rbx, rdi
je 0x14011d4b0
mov rcx, r15
mov rdx, rdi
mov rdi, r8
mov r8, rbx
call fcn.140131180
mov r8, rdi
mov rdi, qword [rsi + 0x2c0]
add r15, rbx
mov rcx, qword [rsi + 0x2b8]
mov qword [rsi + 0x2b8], r14
mov qword [rsi + 0x2c0], r15
mov qword [rsi + 0x2c8], r8
cmp rdi, rcx
je 0x14011d4df
add rdi, 0xfffffffffffffff8
jne 0x14011d4cf
jmp 0x14011d5cd
mov sil, 1
test rcx, rcx
je 0x14011d316
call fcn.14012cd4c
jmp 0x14011d316
mov r14, rcx
jmp 0x14011d336
xor eax, eax
jmp 0x14011d436
test rbp, rbp
jle 0x14011d528
lea rcx, [rdx + 1]
shr rcx, 0x3f
lea rax, [rdx + rcx]
inc rax
shl rax, 2
and rax, 0xfffffffffffffff8
sub r15, rax
jmp 0x14011d44e
mov r12, rax
lea rax, [rsi + 0x2d0]
sar rbp, 2
cmp r13, r14
mov r14d, 1
cmovne r14, rbp
mov qword [rsp + 0x58], rax
movabs rax, 0x1fffffffffffffff
cmp r14, rax
ja 0x14011d5c8
lea rcx, [r14*8]
call fcn.14012cd5c
mov rcx, r14
and rcx, 0xfffffffffffffffc
lea r13, [rax + rcx*2]
lea r14, [rax + r14*8]
lea rcx, [rsp + 0x38]
mov qword [rcx], r12
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], r15
call fcn.14011b980
mov r8, r14
mov r15, r13
jmp 0x14011d44e
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.140167fb0
call fcn.14016bcb0
call fcn.140167fb0
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x44
call fcn.140167fb0
int3