Function at 0x14003a390
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rdx
mov rdi, rcx
mov r15, qword [rdx + 0x2b8]
mov rcx, qword [rdx + 0x2c0]
mov rax, rcx
sub rax, r15
je 0x14003a49c
mov r8, rax
sar r8, 3
mov rdx, r15
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], rdi
cmovae r10, r9
cmovb rdx, r8
mov r8, r10
test r10, r10
jne 0x14003a3ca
mov r13, rcx
cmp rdx, rcx
je 0x14003a409
mov r13, rdx
cmp qword [rdx], rdi
je 0x14003a498
mov r12, r13
sub r12, r15
lea rbx, [r15 + r12]
mov rdx, qword [rsi + 0x2c8]
cmp rcx, rdx
jae 0x14003a4bd
cmp rbx, rcx
je 0x14003a4a4
lea rax, [rcx - 8]
mov rdx, rcx
cmp rax, rcx
jae 0x14003a453
mov rdx, rcx
test rdx, rdx
je 0x14003a5b8
mov r8, qword [rax]
mov qword [rdx], r8
add rax, 8
add rdx, 8
cmp rax, rcx
jb 0x14003a437
lea rax, [rbx + 8]
mov qword [rsi + 0x2c0], rdx
cmp rcx, rax
je 0x14003a47f
mov r8, rcx
sub r8, rax
mov rax, r8
sar rax, 3
shl rax, 3
sub rcx, rax
mov rdx, rbx
call fcn.140180220
mov qword [rbx], rdi
mov sil, 1
mov eax, esi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
jmp 0x14003a485
mov r13, rcx
jmp 0x14003a409
test rcx, rcx
je 0x14003a5b8
mov qword [rcx], rdi
add rcx, 8
mov qword [rsi + 0x2c0], rcx
jmp 0x14003a482
sar rax, 3
inc rax
mov rcx, rax
shr rcx, 0x3d
jne 0x14003a5e4
movabs rcx, 0x1fffffffffffffff
sub rdx, r15
mov r14, rdx
sar r14, 2
cmp r14, rax
cmovbe r14, rax
movabs rax, 0x7ffffffffffffff8
cmp rdx, rax
cmovae r14, rcx
test r14, r14
je 0x14003a5e9
cmp r14, rcx
ja 0x14003a675
lea rcx, [r14*8]
call fcn.14017b1d8
mov rdx, r12
sar rdx, 3
lea rbp, [rax + rdx*8]
lea rcx, [rax + r14*8]
mov qword [rsp + 0x30], rcx
cmp rdx, r14
je 0x14003a5f0
test rbp, rbp
je 0x14003a5b8
mov qword [rbp], rdi
lea rdi, [rbp + 8]
mov rdx, qword [rsi + 0x2b8]
mov r8, rbx
sub r8, rdx
mov r14, rbp
sub r14, r8
mov rcx, r14
call fcn.140180220
mov r15, qword [rsi + 0x2c0]
sub r15, rbx
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.140180220
lea rax, [r15 + rbp]
add rax, 8
mov rcx, qword [rsi + 0x2b8]
mov qword [rsi + 0x2b8], r14
mov qword [rsi + 0x2c0], rax
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x2c8], rax
mov sil, 1
test rcx, rcx
je 0x14003a485
call fcn.14017b254
jmp 0x14003a485
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.1401bdbc0
call fcn.14017b5a8
xor eax, eax
jmp 0x14003a51c
mov qword [rsp + 0x28], rax
test r12, r12
jle 0x14003a619
lea rcx, [rdx + 1]
shr rcx, 0x3f
lea rax, [rdx + rcx]
inc rax
shl rax, 2
and rax, 0xfffffffffffffff8
sub rbp, rax
jmp 0x14003a539
sar r12, 2
cmp r13, r15
mov r14d, 1
cmovne r14, r12
movabs rax, 0x1fffffffffffffff
cmp r14, rax
ja 0x14003a675
lea rcx, [r14*8]
call fcn.14017b1d8
mov rcx, r14
and rcx, 0xfffffffffffffffc
lea rbp, [rax + rcx*2]
lea rax, [rax + r14*8]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x28], 0
je 0x14003a539
mov rcx, qword [rsp + 0x28]
call fcn.14017b254
jmp 0x14003a539
call fcn.1401be9c0
int3