Function at 0x5056e0
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]
lea rdi, [rsp + 0x40]
mov rbp, rcx
mov qword [rsp], rax
mov rax, qword [rcx + 8]
lea r8, [rdi + 0x80]
mov qword [rsp + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x20], rax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, rdi
nop dword [rax + rax]
movzx ecx, byte [rdx]
add rdx, 8
add rax, 8
mov byte [rax - 1], cl
movzx ecx, byte [rdx - 7]
mov byte [rax - 2], cl
movzx ecx, byte [rdx - 6]
mov byte [rax - 3], cl
movzx ecx, byte [rdx - 5]
mov byte [rax - 4], cl
movzx ecx, byte [rdx - 4]
mov byte [rax - 5], cl
movzx ecx, byte [rdx - 3]
mov byte [rax - 6], cl
movzx ecx, byte [rdx - 2]
mov byte [rax - 7], cl
movzx ecx, byte [rdx - 1]
mov byte [rax - 8], cl
cmp rax, r8
jne 0x505750
lea rax, [rdi + 0x70]
lea r11, [rdi + 0x270]
nop
mov r9, qword [rax]
mov r8, qword [rax - 0x70]
add rax, 8
add r8, qword [rax - 0x30]
mov rcx, qword [rax - 0x70]
mov rdx, r9
mov r10, r9
shr r9, 6
rol rdx, 0x2d
rol r10, 3
xor rdx, r10
xor rdx, r9
mov r9, rcx
add r8, rdx
mov rdx, rcx
rol r9, 0x38
rol rdx, 0x3f
shr rcx, 7
xor rdx, r9
xor rdx, rcx
add rdx, r8
mov qword [rax + 8], rdx
cmp rax, r11
jne 0x5057a0
lea rax, [0x007760e0]
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
lea r12, [0x00776360]
mov rdx, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov r13, rbp
mov r8, qword [rsp + 8]
mov r9, qword [rsp]
mov rbp, rdi
mov rdi, rax
mov r14, qword [rbp]
mov rax, r10
add r14, qword [rdi]
mov r15, r11
not rax
and r15, r10
and rax, rbx
add rbx, qword [rdi + 8]
xor rax, r15
mov r15, r10
add rbx, qword [rbp + 8]
add r14, rax
mov rax, r10
rol r15, 0x32
rol rax, 0x2e
xor rax, r15
mov r15, r10
rol r15, 0x17
xor rax, r15
mov r15, rcx
add rax, r14
mov r14, r9
and r15, r8
add rsi, rax
mov rax, r9
rol r14, 0x1e
rol rax, 0x24
add rdx, rsi
xor r14, rax
mov rax, r9
rol rax, 0x19
xor r14, rax
mov rax, rcx
xor rax, r8
and rax, r9
xor rax, r15
mov r15, r8
add rax, r14
mov r14, rdx
add rsi, rax
mov rax, rdx
and r14, r10
not rax
and rax, r11
xor rax, r14
mov r14, rdx
add rbx, rax
mov rax, rdx
rol r14, 0x32
rol rax, 0x2e
xor rax, r14
mov r14, rdx
rol r14, 0x17
and r15, r9
add r11, qword [rdi + 0x10]
xor rax, r14
mov r14, rsi
add r11, qword [rbp + 0x10]
add rbx, rax
mov rax, rsi
rol r14, 0x24
rol rax, 0x1e
add rcx, rbx
xor rax, r14
mov r14, rsi
rol r14, 0x19
xor rax, r14
mov r14, r8
xor r14, r9
and r14, rsi
xor r14, r15
mov r15, rsi
add rax, r14
mov r14, rcx
add rbx, rax
mov rax, rcx
and r14, rdx
not rax
and rax, r10
xor rax, r14
mov r14, rcx
add r11, rax
mov rax, rcx
rol r14, 0x32
rol rax, 0x2e
xor rax, r14
mov r14, rcx
rol r14, 0x17
xor rax, r14
mov r14, rbx
add r11, rax
mov rax, rbx
rol r14, 0x24
rol rax, 0x1e
add r8, r11
xor rax, r14
mov r14, rbx
rol r14, 0x19
xor rax, r14
mov r14, rsi
xor r14, r9
and r15, r9
add r10, qword [rdi + 0x18]
and r14, rbx
add r10, qword [rbp + 0x18]
xor r14, r15
mov r15, rbx
add rax, r14
mov r14, r8
xor r15, rsi
add r11, rax
not r14
mov rax, r8
and rax, rcx
and r14, rdx
and r15, r11
xor r14, rax
mov rax, r8
add rdx, qword [rbp + 0x20]
add r10, r14
mov r14, r8
rol rax, 0x32
rol r14, 0x2e
add rdx, qword [rdi + 0x20]
xor r14, rax
mov rax, r8
rol rax, 0x17
xor r14, rax
mov rax, r11
add r10, r14
mov r14, r11
rol rax, 0x24
rol r14, 0x1e
add r9, r10
xor r14, rax
mov rax, r11
rol rax, 0x19
xor r14, rax
mov rax, rbx
and rax, rsi
xor r15, rax
lea rax, [r14 + r15]
mov r14, r9
mov r15, r11
and r14, r8
add rax, r10
mov r10, r9
not r10
and r10, rcx
xor r10, r14
mov r14, r9
and r15, rbx
add rdx, r10
mov r10, r9
rol r14, 0x32
rol r10, 0x2e
add rcx, qword [rbp + 0x28]
xor r10, r14
mov r14, r9
add rcx, qword [rdi + 0x28]
rol r14, 0x17
xor r10, r14
mov r14, rax
add rdx, r10
mov r10, rax
rol r14, 0x24
rol r10, 0x1e
add rsi, rdx
xor r10, r14
mov r14, rax
rol r14, 0x19
xor r10, r14
mov r14, r11
xor r14, rbx
and r14, rax
xor r14, r15
mov r15, rax
add r10, r14
mov r14, rsi
add rdx, r10
mov r10, rsi
and r14, r9
not r10
and r10, r8
xor r10, r14
mov r14, rsi
add rcx, r10
mov r10, rsi
rol r14, 0x32
rol r10, 0x2e
xor r10, r14
mov r14, rsi
rol r14, 0x17
xor r10, r14
mov r14, rdx
add rcx, r10
mov r10, rdx
add rbx, rcx
rol r10, 0x1e
rol r14, 0x24
xor r10, r14
mov r14, rdx
and r15, r11
rol r14, 0x19
add r8, qword [rbp + 0x30]
xor r10, r14
mov r14, rax
add r8, qword [rdi + 0x30]
xor r14, r11
and r14, rdx
xor r14, r15
mov r15, rdx
add r10, r14
mov r14, rbx
and r15, rax
add rcx, r10
mov r10, rbx
and r14, rsi
not r10
and r10, r9
xor r10, r14
mov r14, rbx
add r8, r10
mov r10, rbx
rol r14, 0x32
rol r10, 0x2e
xor r10, r14
mov r14, rbx
rol r14, 0x17
xor r10, r14
mov r14, rcx
add r8, r10
mov r10, rcx
rol r14, 0x24
rol r10, 0x1e
add r11, r8
xor r10, r14
mov r14, rcx
rol r14, 0x19
xor r10, r14
mov r14, rdx
xor r14, rax
and r14, rcx
xor r14, r15
mov r15, rcx
add r10, r14
add r9, qword [rbp + 0x38]
mov r14, r11
add r8, r10
add r9, qword [rdi + 0x38]
mov r10, r11
not r10
and r14, rbx
and r15, rdx
and r10, rsi
add rdi, 0x40
add rbp, 0x40
xor r10, r14
mov r14, r11
add r9, r10
mov r10, r11
rol r14, 0x32
rol r10, 0x2e
xor r10, r14
mov r14, r11
rol r14, 0x17
xor r10, r14
mov r14, r8
add r9, r10
rol r14, 0x24
lea r10, [r9 + rax]
mov rax, r8
rol rax, 0x1e
xor rax, r14
mov r14, r8
rol r14, 0x19
xor rax, r14
mov r14, rcx
xor r14, rdx
and r14, r8
xor r14, r15
add rax, r14
add r9, rax
cmp rdi, r12
jne 0x505830
add r9, qword [rsp]
add r8, qword [rsp + 8]
add rcx, qword [rsp + 0x10]
add rdx, qword [rsp + 0x18]
add r10, qword [rsp + 0x20]
add r11, qword [rsp + 0x28]
add rbx, qword [rsp + 0x30]
add rsi, qword [rsp + 0x38]
mov qword [r13], r9
mov qword [r13 + 8], r8
mov qword [r13 + 0x10], rcx
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], r10
mov qword [r13 + 0x28], r11
mov qword [r13 + 0x30], rbx
mov qword [r13 + 0x38], rsi
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret