Function at 0x4557b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [rcx + 0x10]
mov r12, qword [rcx + 0x18]
mov qword [rsp + 0xb0], r8
mov rsi, rcx
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rcx + 0x20]
mov rbp, qword [rsi + 0x28]
mov r13, rax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsi + 0x30]
mov r14, qword [rsi + 0x38]
add r13, r9
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb8], r9
mov rsi, rdx
mov qword [rsp + 0x40], rax
nop word cs:[rax + rax]
mov r11, rcx
movabs rax, 0x1bd11bdaa9fc1a22
mov rbx, r12
xor r11, rbp
xor rbx, r13
add rsi, 0x20
xor r11, rax
mov rax, qword [rsi - 0x20]
xor r11, r8
xor r11, r14
mov rdi, rax
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x18], rdi
mov r9, rax
mov rax, qword [rsi - 0x10]
mov qword [rsp + 0x20], r9
mov rdx, rax
mov rax, qword [rsi - 8]
mov qword [rsp + 0x28], rdx
mov r15, rax
mov rax, rdi
lea rdi, [r13 + rbp]
lea r10, [r15 + r14]
add rax, rcx
mov qword [rsp + 0x30], r15
add r9, rdi
mov qword [rsp + 0x38], rdi
lea rdi, [r12 + r8]
add rax, r9
rol r9, 0xe
lea r15, [rbx + r14]
add rdx, rdi
xor r9, rax
add rdx, r10
rol r10, 0x10
mov qword [rsp], r15
xor r10, rdx
add rdx, r9
ror r9, 7
add rax, r10
ror r10, 0xc
xor r9, rdx
xor r10, rax
add rax, r9
rol r9, 0x17
add rdx, r10
ror r10, 0x18
xor r9, rax
xor r10, rdx
add rdx, r9
ror r9, 0x1b
add rax, r10
rol r10, 5
xor r10, rax
xor r9, rdx
add rax, rbp
add r9, rdi
lea r10, [r11 + r10 + 1]
add rdx, r15
add rax, r9
rol r9, 0x19
xor r9, rax
add rdx, r10
ror r10, 0x1f
xor r10, rdx
add rdx, r9
rol r9, 0xc
add rax, r10
xor r9, rdx
ror r10, 0x12
xor r10, rax
add rax, r9
ror r9, 6
xor r9, rax
add rdx, r10
rol r10, 0x16
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
xor r9, rdx
rol r10, 0x20
xor r10, rax
add r9, r15
lea r15, [r11 + r13]
add rax, r8
lea r10, [r10 + rcx + 2]
add rdx, r15
add rax, r9
rol r9, 0xe
xor r9, rax
add rdx, r10
rol r10, 0x10
xor r10, rdx
add rdx, r9
ror r9, 7
add rax, r10
xor r9, rdx
ror r10, 0xc
xor r10, rax
add rax, r9
rol r9, 0x17
xor r9, rax
add rdx, r10
ror r10, 0x18
xor r10, rdx
add rdx, r9
ror r9, 0x1b
add rax, r10
xor r9, rdx
rol r10, 5
add r9, r15
xor r10, rax
mov qword [rsp + 8], r15
lea r15, [r12 + rcx]
lea r10, [r10 + rbp + 3]
add rax, r14
add rax, r9
rol r9, 0x19
add rdx, r15
xor r9, rax
mov qword [rsp + 0x10], r15
add rdx, r10
ror r10, 0x1f
xor r10, rdx
add rax, r10
add rdx, r9
rol r9, 0xc
xor r9, rdx
ror r10, 0x12
xor r10, rax
add rax, r9
ror r9, 6
xor r9, rax
add rdx, r10
rol r10, 0x16
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
xor r9, rdx
rol r10, 0x20
add r9, r15
xor r10, rax
lea r15, [rbx + rbp]
lea r10, [r10 + r8 + 4]
add rax, r11
add rdx, r15
add rax, r9
rol r9, 0xe
add rdx, r10
rol r10, 0x10
xor r9, rax
xor r10, rdx
add rdx, r9
ror r9, 7
add rax, r10
ror r10, 0xc
xor r10, rax
xor r9, rdx
add rax, r9
rol r9, 0x17
add rdx, r10
xor r9, rax
ror r10, 0x18
xor r10, rdx
add rdx, r9
ror r9, 0x1b
add rax, r10
xor r9, rdx
rol r10, 5
add r9, r15
xor r10, rax
lea r15, [r13 + r8]
add rax, rcx
lea r10, [r10 + r14 + 5]
add rax, r9
add rdx, r15
rol r9, 0x19
xor r9, rax
add rdx, r10
ror r10, 0x1f
xor r10, rdx
add rdx, r9
rol r9, 0xc
add rax, r10
xor r9, rdx
ror r10, 0x12
xor r10, rax
add rax, r9
ror r9, 6
xor r9, rax
add rdx, r10
rol r10, 0x16
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
xor r9, rdx
rol r10, 0x20
add r9, r15
xor r10, rax
lea r15, [r12 + r14]
lea r10, [r11 + r10 + 6]
add rax, rbp
add rdx, r15
add rax, r9
rol r9, 0xe
add rdx, r10
rol r10, 0x10
xor r9, rax
xor r10, rdx
add rdx, r9
ror r9, 7
add rax, r10
ror r10, 0xc
xor r9, rdx
xor r10, rax
add rax, r9
rol r9, 0x17
add rdx, r10
ror r10, 0x18
xor r9, rax
xor r10, rdx
add rax, r10
rol r10, 5
xor r10, rax
add rdx, r9
ror r9, 0x1b
xor r9, rdx
add rax, r8
lea r10, [r10 + rcx + 7]
add r9, r15
lea r15, [r11 + rbx]
add rax, r9
rol r9, 0x19
add rdx, r15
xor r9, rax
add rdx, r10
ror r10, 0x1f
xor r10, rdx
add rdx, r9
rol r9, 0xc
add rax, r10
xor r9, rdx
ror r10, 0x12
xor r10, rax
add rax, r9
ror r9, 6
xor r9, rax
add rdx, r10
rol r10, 0x16
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
xor r9, rdx
rol r10, 0x20
add r9, r15
xor r10, rax
lea r15, [r13 + rcx]
add rax, r14
lea r10, [r10 + rbp + 8]
add rdx, r15
add rax, r9
rol r9, 0xe
xor r9, rax
add rdx, r10
rol r10, 0x10
xor r10, rdx
add rdx, r9
ror r9, 7
add rax, r10
xor r9, rdx
ror r10, 0xc
xor r10, rax
add rax, r9
rol r9, 0x17
xor r9, rax
add rdx, r10
ror r10, 0x18
xor r10, rdx
add rdx, r9
ror r9, 0x1b
add rax, r10
xor r9, rdx
rol r10, 5
add r9, r15
xor r10, rax
lea r15, [r12 + rbp]
lea r10, [r10 + r8 + 9]
add rax, r11
add rax, r9
add rdx, r15
rol r9, 0x19
xor r9, rax
add rdx, r10
ror r10, 0x1f
xor r10, rdx
add rdx, r9
rol r9, 0xc
add rax, r10
xor r9, rdx
ror r10, 0x12
xor r10, rax
add rax, r9
ror r9, 6
xor r9, rax
add rdx, r10
rol r10, 0x16
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
xor r9, rdx
rol r10, 0x20
add r9, r15
xor r10, rax
lea r15, [rbx + r8]
lea r10, [r10 + r14 + 0xa]
add rax, rcx
add rdx, r15
add rax, r9
rol r9, 0xe
add rdx, r10
rol r10, 0x10
xor r9, rax
xor r10, rdx
add rax, r10
ror r10, 0xc
xor r10, rax
add rdx, r9
ror r9, 7
xor r9, rdx
add rdx, r10
ror r10, 0x18
add rax, r9
rol r9, 0x17
xor r10, rdx
xor r9, rax
add rax, r10
rol r10, 5
add rdx, r9
ror r9, 0x1b
xor r10, rax
xor r9, rdx
add rax, rbp
lea r10, [r11 + r10 + 0xb]
add r9, r15
lea r15, [r13 + r14]
add rax, r9
rol r9, 0x19
add rdx, r15
xor r9, rax
add rdx, r10
ror r10, 0x1f
xor r10, rdx
add rdx, r9
rol r9, 0xc
add rax, r10
xor r9, rdx
ror r10, 0x12
xor r10, rax
add rax, r9
ror r9, 6
xor r9, rax
add rdx, r10
rol r10, 0x16
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
xor r9, rdx
rol r10, 0x20
add r9, r15
xor r10, rax
lea r15, [r11 + r12]
lea r10, [r10 + rcx + 0xc]
add rax, r8
add rdx, r15
add rax, r9
rol r9, 0xe
add rdx, r10
rol r10, 0x10
xor r9, rax
xor r10, rdx
add rdx, r9
ror r9, 7
add rax, r10
ror r10, 0xc
xor r9, rdx
xor r10, rax
add rax, r9
rol r9, 0x17
add rdx, r10
ror r10, 0x18
xor r9, rax
xor r10, rdx
add rax, r10
rol r10, 5
add rdx, r9
xor r10, rax
ror r9, 0x1b
add rbx, rcx
xor r9, rdx
lea r10, [r10 + rbp + 0xd]
add rax, r14
add r9, r15
add rdx, rbx
mov r15, qword [rsp]
add rax, r9
add rdx, r10
rol r9, 0x19
ror r10, 0x1f
xor r9, rax
xor r10, rdx
add rdx, r9
rol r9, 0xc
add rax, r10
ror r10, 0x12
xor r9, rdx
xor r10, rax
add rax, r9
ror r9, 6
add rdx, r10
rol r10, 0x16
xor r9, rax
xor r10, rdx
add rdx, r9
rol r9, 0x20
add rax, r10
rol r10, 0x20
xor r10, rax
xor r9, rdx
add rax, r11
add rbx, r9
mov r9, qword [rsp + 0x38]
lea r10, [r10 + r8 + 0xe]
add rax, rbx
rol rbx, 0xe
xor rbx, rax
add rdx, r9
add rdx, r10
rol r10, 0x10
xor r10, rdx
add rdx, rbx
ror rbx, 7
add rax, r10
ror r10, 0xc
xor rbx, rdx
xor r10, rax
add rax, rbx
rol rbx, 0x17
add rdx, r10
ror r10, 0x18
xor rbx, rax
xor r10, rdx
add rdx, rbx
ror rbx, 0x1b
add rax, r10
rol r10, 5
xor rbx, rdx
xor r10, rax
add rbx, r9
add rax, rcx
lea r9, [r10 + r14 + 0xf]
add rdx, rdi
add rax, rbx
rol rbx, 0x19
add rdx, r9
ror r9, 0x1f
xor rbx, rax
xor r9, rdx
add rdx, rbx
rol rbx, 0xc
add rax, r9
ror r9, 0x12
xor rbx, rdx
xor r9, rax
add rax, rbx
ror rbx, 6
add rdx, r9
rol r9, 0x16
xor rbx, rax
xor r9, rdx
add rdx, rbx
rol rbx, 0x20
add rax, r9
rol r9, 0x20
xor rbx, rdx
xor r9, rax
add rbx, rdi
add rax, rbp
lea r9, [r11 + r9 + 0x10]
add rdx, r15
add rax, rbx
rol rbx, 0xe
mov rdi, qword [rsp + 0xa0]
add rdx, r9
rol r9, 0x10
xor rbx, rax
xor r9, rdx
add rax, r9
add rdx, rbx
ror rbx, 7
xor rbx, rdx
ror r9, 0xc
xor r9, rax
add rax, rbx
rol rbx, 0x17
xor rbx, rax
add rdx, r9
ror r9, 0x18
xor r9, rdx
add rdx, rbx
ror rbx, 0x1b
xor rbx, rdx
add rax, r9
rol r9, 5
add rbx, r15
mov r15, qword [rsp + 8]
xor r9, rax
lea r9, [r9 + rcx + 0x11]
add rax, r8
add rax, rbx
rol rbx, 0x19
add rdx, r15
xor rbx, rax
add rdx, r9
ror r9, 0x1f
xor r9, rdx
lea r8, [rbx + rdx]
rol rbx, 0xc
add rax, r9
ror r9, 0x12
xor r9, rax
xor rbx, r8
lea rcx, [rax + rbx]
ror rbx, 6
add r8, r9
rol r9, 0x16
movabs rax, 0xbfffffffffffffff
add r13, qword [rsp + 0xb8]
xor r9, r8
xor rbx, rcx
and r12, rax
add rcx, r9
rol r9, 0x20
add r8, rbx
xor r9, rcx
add rcx, r14
mov r14, qword [rsp + 0x30]
rol rbx, 0x20
lea r9, [r9 + rbp + 0x12]
xor rcx, qword [rsp + 0x18]
xor rbx, r8
add r8, qword [rsp + 0x10]
xor r8, qword [rsp + 0x28]
xor r14, r9
lea rbp, [r15 + rbx]
xor rbp, qword [rsp + 0x20]
sub qword [rsp + 0x40], 1
mov qword [rdi + 0x20], rcx
mov qword [rdi + 0x38], r14
mov qword [rdi + 0x30], r8
mov qword [rdi + 0x28], rbp
jne 0x455820
mov r8, qword [rsp + 0xb0]
mov qword [rdi + 0x18], r12
imul r8, qword [rsp + 0xb8]
add r8, qword [rsp + 0x48]
mov qword [rdi + 0x10], r8
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret