Function at 0x14001c4d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rdi, qword [rdx + 0x10]
mov r15, qword [rdx + 8]
mov rax, rdi
shr rax, 0x3d
mov rsi, rcx
mov rbp, rdx
jne 0x14001c80b
test rdi, rdi
je 0x14001c7b8
lea r12, [rdi*8]
mov rcx, r12
call method.CryptoPP.UnalignedAllocate_unsigned_long_long_
mov rbx, rax
test rax, rax
je 0x14001c53e
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x14001c53e
mov r8, qword [rbp + 0x10]
shl r8, 3
cmp r12, r8
jb 0x14001c864
mov rcx, rax
call sym.memcpy
mov r10d, dword [rsi + 0x94]
lea rax, [rdi - 1]
mov r9, r10
add r10, 0x3f
shr r10, 6
cmp rax, r10
jb 0x14001c64e
mov ebp, r9d
sub ebp, dword [rsi + 0x98]
mov r14d, r9d
mov r12d, r9d
mov r11d, ebp
mov edx, 0x40
and r14d, 0x3f
shr r12d, 6
and r11d, 0x3f
mov r13d, edx
mov qword [rsp + 0x28], r15
shr ebp, 6
sub edx, r11d
mov qword [rsp + 0x30], rdi
sub r13d, r14d
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x14001c606
mov ecx, r14d
mov r9, rdx
shr r9, cl
mov rcx, r9
xor rcx, r15
mov qword [rdi], rcx
mov rdi, rdx
mov ecx, r13d
shl rdi, cl
xor qword [rbx + r8 - 8], rdi
mov r8, rax
sub r8, rbp
shl r8, 3
lea rdi, [rbx + r8]
mov r15, qword [rdi]
test r11d, r11d
je 0x14001c630
mov r9, rdx
mov ecx, r11d
sub rax, 1
shr r9, cl
mov rcx, r9
xor rcx, r15
mov qword [rdi], rcx
movzx ecx, byte [rsp + 0x38]
shl rdx, cl
xor qword [rbx + r8 - 8], rdx
cmp rax, r10
jb 0x14001c63f
mov r8, rax
mov rdx, qword [rbx + rax*8]
sub r8, r12
shl r8, 3
lea rdi, [rbx + r8]
mov r15, qword [rdi]
test r14d, r14d
jne 0x14001c5a8
xor r15, rdx
mov qword [rdi], r15
jmp 0x14001c5c8
xor rdx, r15
sub rax, 1
mov qword [rdi], rdx
cmp rax, r10
jae 0x14001c606
mov r15, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
sub r10, 1
cmp r10, rax
je 0x14001c718
mov r8, qword [rsi + 0xb0]
mov rcx, qword [rsi + 0xb8]
test r8, r8
je 0x14001c7e0
shl r8, 3
xor edx, edx
lea rbp, [rsi + 0xa0]
call sym.memset
mov rcx, rax
cmp rbx, rax
je 0x14001c6ad
mov r8, qword [rsi + 0xb0]
cmp rdi, r8
mov rdx, rbx
lea rbp, [rsi + 0xa0]
cmovbe r8, rdi
shl r8, 3
call sym.memcpy
cmp r15, rdi
cmova r15, rdi
lea rax, [rbx + r15*8]
test r15, r15
je 0x14001c6f8
mov rdx, rax
sub rdx, rbx
and edx, 8
je 0x14001c6e0
sub rax, 8
mov qword [rax], 0
cmp rbx, rax
je 0x14001c6f8
nop dword [rax + rax]
mov qword [rax - 8], 0
sub rax, 0x10
mov qword [rax], 0
cmp rbx, rax
jne 0x14001c6e0
mov rcx, rbx
call method.CryptoPP.UnalignedDeallocate_void_
mov rax, rbp
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, r9d
and r8d, 0x3f
je 0x14001c65b
mov ecx, r8d
mov edx, 1
mov r11, rax
shl rdx, cl
lea rcx, [rbx + rax*8]
mov r10, rdx
sub rdx, 1
and rdx, qword [rcx]
neg r10
and r10, qword [rcx]
mov qword [rcx], rdx
mov edx, r9d
shr edx, 6
mov ecx, r8d
sub r9d, dword [rsi + 0x98]
sub r11, rdx
mov rdx, r10
shr rdx, cl
xor qword [rbx + r11*8], rdx
mov edx, r9d
shr edx, 6
sub rax, rdx
shl rax, 3
lea rdx, [rbx + rax]
mov r11, qword [rdx]
and r9d, 0x3f
je 0x14001c800
mov ecx, r9d
mov r14, r10
shr r14, cl
mov rcx, r14
xor rcx, r11
mov qword [rdx], rcx
cmp r8d, r9d
jae 0x14001c65b
mov ecx, 0x40
sub ecx, r9d
shl r10, cl
xor qword [rbx + rax - 8], r10
jmp 0x14001c65b
mov r10d, dword [rcx + 0x94]
xor ebx, ebx
mov rax, 0xffffffffffffffff
mov r9, r10
add r10, 0x3f
shr r10, 6
jmp 0x14001c55d
cmp rbx, rcx
jne 0x14001c693
lea rbp, [rsi + 0xa0]
test rbx, rbx
je 0x14001c700
jmp 0x14001c6ad
xor r10, r11
mov qword [rdx], r10
jmp 0x14001c65b
mov ecx, 0x30
lea rbx, [rsp + 0x40]
call sym.__cxa_allocate_exception
lea rdx, [0x1401c31f0]
mov rcx, rbx
mov rdi, rax
call fcn.1401b6794
mov r8, rbx
mov edx, 1
mov rcx, rdi
call fcn.1400b5fd0
lea rax, method.CryptoPP::InvalidArgument.InvalidArgument__
mov rcx, rbx
mov qword [rdi], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea r8, [method.CryptoPP::InvalidArgument.InvalidArgument__]
lea rdx, [0x1401dd050]
mov rcx, rdi
call sym.__cxa_throw
mov ecx, 0x30
lea rbx, [rsp + 0x40]
call sym.__cxa_allocate_exception
lea rdx, [0x1401c322b]
mov rcx, rbx
mov rdi, rax
call fcn.1401b6794
mov r8, rbx
mov edx, 1
mov rcx, rdi
call fcn.1400b5fd0
jmp 0x14001c83c