Function at 0x42a720
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rax, [sym.__gxx_personality_sj0]
mov qword [rsp + 0x60], rax
lea rax, [0x00689358]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x70], rax
lea rax, [0x0042a9f7]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0xd0], rcx
mov rcx, rax
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x80], rsp
call dbg._Unwind_SjLj_Register
mov rax, qword [rsp + 0xe0]
mov r8, qword [rax + 0x10]
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x10]
cmp r8, rax
jb 0x42a8e0
lea rax, [rsp + 0xa0]
xor edx, edx
shl r8, 6
mov dword [rsp + 0x38], 0xffffffff
mov rcx, rax
mov qword [rsp + 0x28], rax
call method.CryptoPP::PolynomialMod2.PolynomialMod2_unsigned_long_long__unsigned_long_long_
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb8]
mov r9, qword [rax + 0x10]
mov rax, qword [rsp + 0xe0]
test r9, r9
mov rdx, qword [rax + 0x18]
mov rax, qword [rsp + 0xd8]
mov r10, qword [rax + 0x18]
je 0x42a826
xor eax, eax
mov r8, qword [rdx + rax*8]
xor r8, qword [r10 + rax*8]
mov qword [rcx + rax*8], r8
add rax, 1
cmp rax, r9
jne 0x42a805
mov rax, qword [rsp + 0xd8]
mov r9, qword [rax + 0x10]
lea rax, [r9*8]
add rdx, rax
add rcx, rax
cmp rdx, rcx
je 0x42a851
mov rax, qword [rsp + 0xe0]
mov r8, qword [rax + 0x10]
sub r8, r9
shl r8, 3
call sym.memcpy
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x38], 1
mov rcx, qword [rsp + 0xd0]
call method.CryptoPP::PolynomialMod2.PolynomialMod2_CryptoPP::PolynomialMod2_const_
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x42a8c2
mov r8, qword [rsp + 0xb0]
cmp qword [rsp + 0xa8], r8
cmovbe r8, qword [rsp + 0xa8]
test r8, r8
lea rdx, [rcx + r8*8]
lea rax, [r8 - 1]
je 0x42a8b5
nop
sub rax, 1
sub rdx, 8
mov qword [rdx], 0
cmp rax, 0xffffffffffffffff
jne 0x42a8a0
mov dword [rsp + 0x38], 0
call method.CryptoPP.UnalignedDeallocate_void_
mov rcx, qword [rsp + 0x98]
call sym._Unwind_SjLj_Unregister
mov rax, qword [rsp + 0xd0]
add rsp, 0xc0
pop rbp
ret
shl rax, 6
xor edx, edx
mov dword [rsp + 0x38], 0xffffffff
lea rcx, [rsp + 0xa0]
mov r8, rax
mov qword [rsp + 0x28], rcx
call method.CryptoPP::PolynomialMod2.PolynomialMod2_unsigned_long_long__unsigned_long_long_
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xb8]
mov r9, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
mov rax, qword [rsp + 0xd8]
test r9, r9
mov rdx, qword [rax + 0x18]
je 0x42a951
xor eax, eax
nop
mov r8, qword [rdx + rax*8]
xor r8, qword [r10 + rax*8]
mov qword [rcx + rax*8], r8
add rax, 1
cmp r9, rax
jne 0x42a930
mov rax, qword [rsp + 0xe0]
mov r9, qword [rax + 0x10]
lea rax, [r9*8]
add rdx, rax
add rcx, rax
cmp rdx, rcx
je 0x42a97c
mov rax, qword [rsp + 0xd8]
mov r8, qword [rax + 0x10]
sub r8, r9
shl r8, 3
call sym.memcpy
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x38], 2
mov rcx, qword [rsp + 0xd0]
call method.CryptoPP::PolynomialMod2.PolynomialMod2_CryptoPP::PolynomialMod2_const_
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x42a8c2
mov r8, qword [rsp + 0xb0]
cmp qword [rsp + 0xa8], r8
cmovbe r8, qword [rsp + 0xa8]
test r8, r8
lea rdx, [rcx + r8*8]
lea rax, [r8 - 1]
je 0x42a9e5
nop dword [rax]
sub rax, 1
sub rdx, 8
mov qword [rdx], 0
cmp rax, 0xffffffffffffffff
jne 0x42a9d0
mov dword [rsp + 0x38], 0
call method.CryptoPP.UnalignedDeallocate_void_
jmp 0x42a8c2