Function at 0x14001bcd0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov eax, dword [rcx + 0x94]
sub eax, dword [rcx + 0x98]
mov rbp, rcx
mov rsi, rdx
cmp eax, 0x3f
ja 0x14001bd12
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp method.CryptoPP::QuotientRing_CryptoPP::EuclideanDomainOf_CryptoPP::PolynomialMod2___.MultiplicativeInverse_CryptoPP::PolynomialMod2_const__const
mov r12, qword [rcx + 0x80]
lea rax, [r12*4]
mov qword [rsp + 0x50], rax
shr rax, 0x3d
jne 0x14001c456
mov qword [rsp + 0x40], 0
mov rax, r12
shl rax, 5
cmp qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
je 0x14001bd61
mov rcx, rax
call method.CryptoPP.UnalignedAllocate_unsigned_long_long_
mov r12, qword [rbp + 0x80]
mov qword [rsp + 0x40], rax
mov rdi, qword [rsp + 0x40]
lea rax, [r12*8]
lea r8, [r12 + r12*2]
mov qword [rsp + 0x38], rax
shl r8, 3
lea rbx, [rdi + rax]
lea rdi, [rbx + rax]
lea r9, [rdi + rax]
test r12, r12
je 0x14001bda2
mov rcx, qword [rsp + 0x40]
xor edx, edx
mov qword [rsp + 0x20], r9
call sym.memset
mov r9, qword [rsp + 0x20]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsi + 0x18]
mov qword [rax], 1
cmp rdi, rdx
je 0x14001bdd1
mov r8, qword [rsi + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], r9
shl r8, 3
call sym.memcpy
mov r9, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x88]
cmp r9, rdx
je 0x14001bdf3
mov r8, qword [rbp + 0x80]
mov rcx, r9
shl r8, 3
call sym.memcpy
mov r9, rax
xor r13d, r13d
mov r11, qword [rsp + 0x40]
mov qword [rsp + 0x48], rbp
mov esi, 1
mov ebp, r13d
nop dword [rax + rax]
mov rax, qword [rdi]
test rax, rax
jne 0x14001beb6
lea r13, [rdi + 8]
mov qword [rsp + 0x28], r9
lea r15, [rbx + 8]
lea rdx, [r12*8 - 8]
mov qword [rsp + 0x30], r11
mov rax, r13
mov qword [rsp + 0x20], rdx
lea r14, [rdi + rdx]
mov r13, r14
mov r14, rax
nop dword [rax + rax]
test r12, r12
je 0x14001be73
cmp r12, 1
je 0x14001be6b
mov r8, qword [rsp + 0x20]
mov rdx, r14
mov rcx, rdi
call sym.memmove
mov qword [r13], 0
cmp qword [rbx + rsi*8 - 8], 1
sbb rsi, 0xffffffffffffffff
test rsi, rsi
je 0x14001bea1
mov r8, rsi
sub r8, 1
je 0x14001be9a
shl r8, 3
mov rdx, rbx
mov rcx, r15
call sym.memmove
mov qword [rbx], 0
mov rax, qword [rdi]
add ebp, 0x40
test rax, rax
je 0x14001be50
mov r9, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
test al, 1
jne 0x14001c0e6
xor r10d, r10d
nop dword [rax]
shr rax, 1
add r10d, 1
test al, 1
je 0x14001bec8
add ebp, r10d
cmp rax, 1
je 0x14001c024
cmp r10d, 1
je 0x14001c068
test r12, r12
je 0x14001bf30
mov rax, qword [rsp + 0x38]
mov r14d, 0x40
xor r15d, r15d
sub r14d, r10d
lea rdx, [rdi + rax - 8]
nop dword [rax]
mov r8, qword [rdx]
mov ecx, r10d
mov r13, rdx
sub rdx, 8
mov rax, r8
shr rax, cl
mov ecx, r14d
or rax, r15
mov r15, r8
mov qword [rdx + 8], rax
shl r15, cl
cmp rdi, r13
jne 0x14001bf08
test rsi, rsi
je 0x14001bf85
mov r15d, 0x40
mov r8, rbx
lea r14, [rbx + rsi*8]
xor r13d, r13d
sub r15d, r10d
nop dword [rax + rax]
mov rdx, qword [r8]
mov ecx, r10d
add r8, 8
mov rax, rdx
shl rax, cl
mov ecx, r15d
or rax, r13
shr rdx, cl
mov qword [r8 - 8], rax
mov r13, rdx
cmp r8, r14
jne 0x14001bf50
mov rax, rdx
test rax, rax
je 0x14001bf85
mov qword [rbx + rsi*8], rax
add rsi, 1
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdi + rcx - 8]
lea rdx, [rcx - 8]
test rax, rax
jne 0x14001bfba
cmp qword [r9 + rcx - 8], 0
jne 0x14001c010
sub r12, 1
lea rax, [r12*8]
mov qword [rsp + 0x38], rax
lea rdx, [rax - 8]
mov rax, qword [rdi + rax - 8]
cmp rax, qword [r9 + rdx]
jb 0x14001c010
xor eax, eax
test r12, r12
je 0x14001bfe1
nop word [rax + rax]
mov rdx, qword [r9 + rax*8]
xor qword [rdi + rax*8], rdx
add rax, 1
cmp rax, r12
jne 0x14001bfd0
xor eax, eax
test rsi, rsi
je 0x14001be10
nop dword [rax]
mov rdx, qword [rbx + rax*8]
xor qword [r11 + rax*8], rdx
add rax, 1
cmp rax, rsi
jne 0x14001bff0
jmp 0x14001be10
mov rax, rdi
mov rdi, r9
mov r9, rax
mov rax, r11
mov r11, rbx
mov rbx, rax
jmp 0x14001bfc0
test r12, r12
je 0x14001c329
mov rax, r12
jmp 0x14001c03e
sub rax, 1
je 0x14001c050
cmp qword [rdi + rax*8 - 8], 0
je 0x14001c038
cmp rax, 1
je 0x14001c108
cmp r10d, 1
je 0x14001c06d
test r10d, r10d
je 0x14001bf85
jmp 0x14001beef
test r12, r12
je 0x14001c0a3
mov rax, qword [rsp + 0x38]
xor r8d, r8d
lea rcx, [rdi + rax - 8]
nop word [rax + rax]
mov rdx, qword [rcx]
mov r10, rcx
sub rcx, 8
mov rax, rdx
shl rdx, 0x3f
shr rax, 1
or rax, r8
mov r8, rdx
mov qword [rcx + 8], rax
cmp r10, rdi
jne 0x14001c080
test rsi, rsi
je 0x14001bf85
mov rdx, rbx
lea r13, [rbx + rsi*8]
xor r8d, r8d
nop word cs:[rax + rax]
mov rcx, qword [rdx]
add rdx, 8
lea rax, [rcx + rcx]
shr rcx, 0x3f
or rax, r8
mov r8, rcx
mov qword [rdx - 8], rax
cmp rdx, r13
jne 0x14001c0c0
mov rax, rcx
jmp 0x14001bf78
cmp rax, 1
jne 0x14001bf85
xor r10d, r10d
test r12, r12
jne 0x14001c02d
jmp 0x14001bf85
mov r13d, ebp
mov rbp, qword [rsp + 0x48]
cmp r13d, 0x3f
jbe 0x14001c25b
mov ecx, dword [rbp + 0x90]
mov edx, dword [rbp + 0x94]
mov dword [rsp + 0x64], r13d
mov r14d, dword [rbp + 0x98]
mov qword [rsp + 0x68], rbp
add rcx, 0x3f
mov ebx, edx
shr edx, 6
shr rcx, 6
and ebx, 0x3f
mov edi, r14d
mov dword [rsp + 0x60], edx
lea rax, [r11 + rcx*8 - 8]
and edi, 0x3f
mov rbp, rcx
mov qword [rsp + 0x20], rax
mov eax, 0x40
mov r12d, eax
mov esi, eax
sub eax, ebx
mov dword [rsp + 0x48], eax
lea rax, [rcx*8 - 8]
sub esi, edi
sub r12d, r14d
mov qword [rsp + 0x28], rax
lea rax, [r11 + 8]
mov qword [rsp + 0x30], rax
lea eax, [rdx - 1]
lea r15, [r11 + rax*8]
mov dword [rsp + 0x38], esi
mov esi, r13d
mov r13d, ebx
mov rax, r15
mov r15d, r12d
mov r12d, edi
mov rdi, rax
jmp 0x14001c1cf
mov rdx, rbx
mov ecx, r13d
sub esi, 0x40
shl rdx, cl
movzx ecx, byte [rsp + 0x48]
xor rax, rdx
mov qword [rdi], rax
mov eax, dword [rsp + 0x60]
shr rbx, cl
xor qword [r11 + rax*8], rbx
cmp esi, 0x3f
jbe 0x14001c24d
mov rbx, qword [r11]
cmp rbp, 1
jbe 0x14001c1ed
mov r8, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rcx, r11
call sym.memmove
mov r11, rax
mov rax, qword [rsp + 0x20]
mov qword [rax], 0
cmp r14d, 0x3f
jbe 0x14001c2f7
mov eax, r14d
mov rdx, rbx
mov ecx, r12d
shr eax, 6
shl rdx, cl
sub eax, 1
xor qword [r11 + rax*8], rdx
test r12d, r12d
je 0x14001c233
movzx ecx, byte [rsp + 0x38]
mov eax, r14d
mov rdx, rbx
shr eax, 6
shr rdx, cl
xor qword [r11 + rax*8], rdx
mov rax, qword [rdi]
test r13d, r13d
jne 0x14001c1a8
xor rbx, rax
sub esi, 0x40
mov qword [rdi], rbx
cmp esi, 0x3f
ja 0x14001c1cf
mov r13d, dword [rsp + 0x64]
mov rbp, qword [rsp + 0x68]
and r13d, 0x3f
test r13d, r13d
jne 0x14001c340
mov rcx, qword [rbp + 0xb8]
lea rbx, [rbp + 0xa0]
cmp r11, rcx
je 0x14001c28a
mov r8, qword [rbp + 0xb0]
mov rdx, r11
shl r8, 3
call sym.memcpy
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x40]
add rax, rdi
cmp qword [rsp + 0x50], 0
je 0x14001c2d6
mov rdx, rax
sub rdx, rdi
and edx, 8
je 0x14001c2bc
sub rax, 8
mov qword [rax], 0
cmp qword [rsp + 0x40], rax
je 0x14001c2d6
mov qword [rax - 8], 0
sub rax, 0x10
mov qword [rax], 0
cmp qword [rsp + 0x40], rax
jne 0x14001c2bc
mov rcx, qword [rsp + 0x40]
call method.CryptoPP.UnalignedDeallocate_void_
mov rax, rbx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, r14d
xor eax, eax
nop dword [rax]
cmp edx, 0x3f
ja 0x14001c319
mov r8, rbx
mov ecx, eax
shr r8, cl
mov ecx, edx
and r8d, 1
shl r8, cl
xor rbx, r8
add eax, 1
add edx, 1
cmp eax, r15d
jb 0x14001c300
jmp 0x14001c219
cmp r10d, 1
jne 0x14001bf30
jmp 0x14001c0a3
mov edx, dword [rbp + 0x90]
mov r9d, 0x40
mov rax, qword [r11]
sub r9d, r13d
mov ecx, r9d
add rdx, 0x3f
shl rax, cl
shr rdx, 6
je 0x14001c391
lea r8, [r11 + rdx*8 - 8]
xor ebx, ebx
mov r10, qword [r8]
mov ecx, r13d
mov rsi, r8
sub r8, 8
mov rdx, r10
shr rdx, cl
mov ecx, r9d
or rdx, rbx
mov rbx, r10
mov qword [r8 + 8], rdx
shl rbx, cl
cmp rsi, r11
jne 0x14001c369
mov edx, dword [rbp + 0x98]
mov ebx, edx
and ebx, 0x3f
cmp edx, 0x3f
ja 0x14001c434
mov esi, 0x40
mov r10d, edx
xor r9d, r9d
sub esi, edx
cmp r10d, 0x3f
ja 0x14001c3ce
mov r8, rax
mov ecx, r9d
shr r8, cl
mov ecx, r10d
and r8d, 1
shl r8, cl
xor rax, r8
add r9d, 1
add r10d, 1
cmp r9d, esi
jne 0x14001c3b2
test ebx, ebx
je 0x14001c3f3
mov ecx, 0x40
shr edx, 6
mov rdi, rax
sub ecx, ebx
shr rdi, cl
xor qword [r11 + rdx*8], rdi
mov edx, dword [rbp + 0x94]
mov r8d, edx
shr r8d, 6
lea ecx, [r8 - 1]
lea r9, [r11 + rcx*8]
mov r10, qword [r9]
and edx, 0x3f
je 0x14001c44b
mov rdi, rax
mov ecx, edx
shl rdi, cl
mov rcx, rdi
xor rcx, r10
mov qword [r9], rcx
mov ecx, 0x40
sub ecx, edx
shr rax, cl
xor qword [r11 + r8*8], rax
jmp 0x14001c264
mov ecx, edx
mov rdi, rax
shr ecx, 6
lea r8d, [rcx - 1]
mov ecx, ebx
shl rdi, cl
xor qword [r11 + r8*8], rdi
jmp 0x14001c3db
xor rax, r10
mov qword [r9], rax
jmp 0x14001c264
mov ecx, 0x30
lea rdi, [rsp + 0x70]
call sym.__cxa_allocate_exception
lea rdx, [0x1401c31f0]
mov rcx, rdi
mov rsi, rax
call fcn.1401b6794
mov r8, rdi
mov edx, 1
mov rcx, rsi
call fcn.1400b5fd0
lea rax, method.CryptoPP::InvalidArgument.InvalidArgument__
mov rcx, rdi
mov qword [rsi], 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, rsi
call sym.__cxa_throw
mov rbx, rax
jmp 0x14001c4bf
mov rcx, rsi
call sym.__cxa_free_exception
mov rcx, rbx
call sym._Unwind_Resume
nop