Function at 0x140002aa1
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov rax, qword [rcx + 0x88]
mov r12, qword [rcx + 0x80]
mov qword [rsp + 8], rax
mov rax, qword [rcx + 0x90]
mov r8, rdx
mov rbx, rcx
xor edx, edx
mov qword [rsp + 0x10], rax
mov rax, qword [rcx + 0x98]
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0xa0]
mov qword [rsp + 0x20], rax
mov rax, qword [rcx + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0xb0]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0xb8]
mov qword [rsp + 0x38], rax
cmp rdx, 0xf
ja 0x140002b26
mov rax, qword [r8 + rdx*8]
bswap rax
jmp 0x140002b76
lea eax, [rdx - 2]
lea r10d, [rdx - 7]
mov rcx, qword [rsp + rax*8 + 0x40]
lea eax, [rdx - 0xf]
mov r9, qword [rsp + rax*8 + 0x40]
mov rax, rcx
rol rax, 0x16
xor rax, rcx
shr rcx, 6
ror rax, 0x13
xor rax, rcx
lea ecx, [rdx - 0x10]
mov rcx, qword [rsp + rcx*8 + 0x40]
add rcx, qword [rsp + r10*8 + 0x40]
add rax, rcx
mov rcx, r9
ror rcx, 7
xor rcx, r9
shr r9, 7
ror rcx, 1
xor rcx, r9
add rax, rcx
lea rsi, [rsp + 0x40]
mov qword [rsi + rdx*8], rax
inc rdx
cmp rdx, 0x50
jne 0x140002b17
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov r11, r12
lea rbp, [0x14007f420]
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x10]
mov r10, qword [rsp + 8]
mov r13, rcx
mov r14, qword [rsi]
add r14, qword [rbp]
mov r15, r11
xor r13, rdx
and r15, r10
and r13, rdi
xor r13, rdx
add r13, r14
mov r14, rdi
ror r14, 0x17
xor r14, rdi
ror r14, 4
xor r14, rdi
ror r14, 0xe
add r13, r14
mov r14, r11
add r13, rax
mov rax, r11
or r14, r10
ror rax, 5
and r14, r9
add r8, r13
xor rax, r11
or r14, r15
ror rax, 6
xor rax, r11
ror rax, 0x1c
add rax, r14
add rax, r13
mov r13, qword [rsi + 8]
add r13, qword [rbp + 8]
add rdx, r13
mov r13, rdi
mov r14, rax
mov r15, rax
xor r13, rcx
and r13, r8
xor r13, rcx
add rdx, r13
mov r13, r8
ror r13, 0x17
xor r13, r8
ror r13, 4
or r14, r11
and r15, r11
xor r13, r8
and r14, r10
ror r13, 0xe
or r14, r15
mov r15, rax
add r13, rdx
mov rdx, rax
ror rdx, 5
add r9, r13
xor rdx, rax
ror rdx, 6
xor rdx, rax
ror rdx, 0x1c
add rdx, r14
mov r14, rax
add rdx, r13
mov r13, qword [rsi + 0x10]
add r13, qword [rbp + 0x10]
add rcx, r13
mov r13, r8
xor r13, rdi
and r13, r9
xor r13, rdi
add rcx, r13
mov r13, r9
ror r13, 0x17
xor r13, r9
ror r13, 4
xor r13, r9
ror r13, 0xe
add r13, rcx
mov rcx, rdx
ror rcx, 5
add r10, r13
xor rcx, rdx
ror rcx, 6
xor rcx, rdx
or r14, rdx
and r15, rdx
and r14, r11
ror rcx, 0x1c
or r14, r15
mov r15, rdx
add rcx, r14
mov r14, rdx
add rcx, r13
mov r13, qword [rsi + 0x18]
add r13, qword [rbp + 0x18]
add r13, rdi
mov rdi, r8
or r14, rcx
and r15, rcx
xor rdi, r9
and r14, rax
and rdi, r10
or r14, r15
mov r15, rcx
xor rdi, r8
add r13, rdi
mov rdi, r10
ror rdi, 0x17
xor rdi, r10
ror rdi, 4
xor rdi, r10
ror rdi, 0xe
add rdi, r13
mov r13, rcx
ror r13, 5
add r11, rdi
xor r13, rcx
ror r13, 6
xor r13, rcx
ror r13, 0x1c
add r13, r14
mov r14, rcx
add rdi, r13
mov r13, qword [rsi + 0x20]
add r13, qword [rbp + 0x20]
add r8, r13
mov r13, r9
or r14, rdi
and r15, rdi
xor r13, r10
and r14, rdx
and r13, r11
or r14, r15
mov r15, rdi
xor r13, r9
add r8, r13
mov r13, r11
ror r13, 0x17
xor r13, r11
ror r13, 4
xor r13, r11
ror r13, 0xe
add r13, r8
mov r8, rdi
ror r8, 5
add rax, r13
xor r8, rdi
ror r8, 6
xor r8, rdi
ror r8, 0x1c
add r8, r14
mov r14, rdi
add r8, r13
mov r13, qword [rsi + 0x28]
add r13, qword [rbp + 0x28]
add r9, r13
mov r13, r10
xor r13, r11
and r13, rax
xor r13, r10
add r9, r13
mov r13, rax
ror r13, 0x17
xor r13, rax
ror r13, 4
or r14, r8
and r15, r8
xor r13, rax
and r14, rcx
ror r13, 0xe
or r14, r15
mov r15, r8
add r13, r9
mov r9, r8
ror r9, 5
add rdx, r13
xor r9, r8
ror r9, 6
xor r9, r8
ror r9, 0x1c
add r9, r14
mov r14, r8
add r9, r13
mov r13, qword [rsi + 0x30]
add r13, qword [rbp + 0x30]
add r10, r13
mov r13, r11
xor r13, rax
and r13, rdx
xor r13, r11
add r10, r13
mov r13, rdx
ror r13, 0x17
xor r13, rdx
ror r13, 4
xor r13, rdx
ror r13, 0xe
add r13, r10
mov r10, r9
ror r10, 5
add rcx, r13
xor r10, r9
ror r10, 6
xor r10, r9
or r14, r9
and r15, r9
and r14, rdi
ror r10, 0x1c
or r14, r15
mov r15, r9
add r10, r14
mov r14, r9
add r10, r13
mov r13, qword [rsi + 0x38]
add r13, qword [rbp + 0x38]
add r11, r13
mov r13, rax
or r14, r10
and r15, r10
xor r13, rdx
and r14, r8
and r13, rcx
or r14, r15
lea r15, [0x14007f6a0]
xor r13, rax
add r11, r13
mov r13, rcx
ror r13, 0x17
xor r13, rcx
ror r13, 4
xor r13, rcx
ror r13, 0xe
add r13, r11
mov r11, r10
ror r11, 5
add rdi, r13
xor r11, r10
ror r11, 6
xor r11, r10
ror r11, 0x1c
add r11, r14
add r11, r13
add rbp, 0x40
add rsi, 0x40
cmp r15, rbp
jne 0x140002bb5
mov rsi, qword [rsp + 8]
add r12, r11
mov qword [rbx + 0x80], r12
add rsi, r10
mov qword [rbx + 0x88], rsi
mov rsi, qword [rsp + 0x10]
add rsi, r9
mov qword [rbx + 0x90], rsi
mov rsi, qword [rsp + 0x18]
add rsi, r8
mov r8, qword [rsp + 0x20]
mov qword [rbx + 0x98], rsi
mov rsi, qword [rsp + 0x28]
add r8, rdi
add rsi, rcx
mov qword [rbx + 0xa0], r8
mov qword [rbx + 0xa8], rsi
mov rsi, qword [rsp + 0x30]
add rsi, rdx
mov qword [rbx + 0xb0], rsi
mov rsi, qword [rsp + 0x38]
add rsi, rax
mov qword [rbx + 0xb8], rsi
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret