Function at 0x140005460
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov qword [rsp + 0x130], rcx
mov eax, edx
test edx, edx
jle 0x140005ac4
mov rbx, qword [rcx + 0x28]
mov rbp, qword [rcx + 0x60]
lea rdx, [0x140604520]
mov rsi, qword [rcx]
mov rdi, qword [rcx + 0xa0]
mov qword [rsp + 0x38], rbx
mov rbx, qword [rcx + 0x50]
mov r11, rbp
mov r8, rsi
mov qword [rsp + 0x58], rbx
mov rbx, qword [rcx + 0x78]
mov qword [rsp + 0x78], rbx
mov rbx, qword [rcx + 8]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rcx + 0x30]
mov qword [rsp + 0x40], rbx
mov rbx, qword [rcx + 0x58]
mov qword [rsp + 0x60], rbx
mov rbx, qword [rcx + 0x80]
mov qword [rsp + 0x80], rbx
mov rbx, qword [rcx + 0xa8]
mov qword [rsp + 0x98], rbx
mov rbx, qword [rcx + 0x10]
mov qword [rsp + 0x28], rbx
mov rbx, qword [rcx + 0x38]
mov qword [rsp + 0x48], rbx
mov rbx, qword [rcx + 0x88]
mov rcx, qword [rcx + 0xb0]
mov qword [rsp + 0x88], rbx
mov rbx, qword [rsp + 0x130]
mov rbx, qword [rbx + 0x18]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rsp + 0x130]
mov r14, qword [rbx + 0x40]
mov rbx, qword [rbx + 0x68]
mov qword [rsp + 0x68], rbx
mov rbx, qword [rsp + 0x130]
mov qword [rsp + 0xa8], rdx
lea edx, [rax - 1]
lea rax, [0x140604528]
mov rbx, qword [rbx + 0x90]
lea rax, [rax + rdx*8]
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], rbx
mov rbx, qword [rsp + 0x130]
mov r9, qword [rbx + 0xb8]
mov r15, qword [rbx + 0x20]
mov rbx, qword [rbx + 0x48]
mov r14, r9
mov qword [rsp + 0x50], rbx
mov rbx, qword [rsp + 0x130]
mov rbx, qword [rbx + 0x70]
mov qword [rsp + 0x70], rbx
mov rbx, qword [rsp + 0x130]
mov r10, qword [rbx + 0x98]
mov rbx, qword [rbx + 0xc0]
mov rbp, r10
nop dword [rax + rax]
mov r12, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
xor rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x20]
xor r12, rdx
mov rdx, qword [rsp + 0x50]
xor rsi, qword [rsp + 0x40]
mov r13, qword [rsp + 0x28]
xor rsi, qword [rsp + 0x60]
xor r13, qword [rsp + 0x48]
xor rsi, qword [rsp + 0x80]
xor rdx, r15
xor rsi, qword [rsp + 0x98]
xor rdx, qword [rsp + 0x70]
xor r13, r11
xor rdx, rbp
xor r13, qword [rsp + 0x88]
mov r10, rsi
mov rax, qword [rsp + 0x38]
xor r13, rcx
xor rdx, rbx
rol r10, 1
xor r12, qword [rsp + 0x90]
xor r10, rdx
mov r9, r13
xor r12, r14
xor rax, r8
rol r9, 1
xor r8, r10
xor rax, qword [rsp + 0x58]
xor rax, qword [rsp + 0x78]
mov qword [rsp + 8], r8
mov r8, r9
mov r9, r12
xor rax, rdi
rol r9, 1
xor r8, rax
rol rdx, 1
xor r9, rsi
mov rsi, qword [rsp + 0x40]
rol rax, 1
xor rdx, r13
xor rax, r12
mov r12, qword [rsp + 0x28]
mov r13, qword [rsp + 0x50]
xor rsi, r8
ror rsi, 0x14
xor r11, r9
xor rdi, r10
xor r12, r9
ror r11, 0x15
mov qword [rsp + 0x10], rsi
xor r14, rdx
rol rdi, 0x12
mov qword [rsp + 0x18], r11
mov r11, qword [rsp + 0x78]
xor r13, rax
xor rbp, rax
mov rsi, qword [rsp + 0x70]
ror r12, 2
ror r14, 8
xor rcx, r9
mov qword [rsp + 0x70], rdi
rol r13, 0x14
xor r11, r10
ror rcx, 3
ror r11, 0x17
xor rsi, rax
rol rbp, 8
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xc8], r11
mov r11, r15
ror rsi, 0x19
mov r12, qword [rsp + 0x68]
xor r11, rax
mov qword [rsp + 0xb0], rsi
xor rax, rbx
mov r15, r11
mov qword [rsp + 0xc0], r14
xor r12, rdx
rol rax, 0xe
rol r15, 0x1b
rol r12, 0x19
mov qword [rsp + 0x78], r15
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x80]
xor rbx, r8
mov r15, qword [rsp + 0x30]
mov r11, rbx
mov rbx, qword [rsp + 0x38]
xor rdi, rdx
xor r14, r8
ror r14, 0x13
rol r11, 2
xor rbx, r10
ror rdi, 9
mov qword [rsp + 0xd0], r11
ror rbx, 0x1c
xor r15, rdx
xor r10, qword [rsp + 0x58]
xor rdx, qword [rsp + 0x90]
mov r11, r15
mov r15, qword [rsp + 0x88]
rol rdx, 0x15
mov qword [rsp + 0x98], rdi
mov rdi, qword [rsp + 0x60]
rol r10, 3
rol r11, 0x1c
xor r15, r9
xor r9, qword [rsp + 0x48]
mov rsi, r15
mov r15, qword [rsp + 0x18]
xor rdi, r8
xor r8, qword [rsp + 0x20]
rol rsi, 0xf
rol rdi, 0xa
rol r9, 6
not r15
rol r8, 1
and r15, rdx
xor r15, qword [rsp + 0x10]
mov qword [rsp + 0x20], r15
mov r15, rdx
not r15
and r15, rax
xor r15, qword [rsp + 0x18]
mov qword [rsp + 0x28], r15
mov r15, rax
not r15
and r15, qword [rsp + 8]
xor r15, rdx
mov rdx, qword [rsp + 8]
mov qword [rsp + 0x30], r15
not rdx
and rdx, qword [rsp + 0x10]
xor rdx, rax
mov rax, r13
not rax
mov r15, rdx
and rax, r10
xor rax, r11
mov qword [rsp + 0x38], rax
mov rax, r10
not rax
and rax, r14
xor rax, r13
mov qword [rsp + 0x40], rax
mov rax, r14
not rax
and rax, rcx
xor rax, r10
mov qword [rsp + 0x48], rax
mov rax, rcx
not rax
and rax, r11
not r11
xor rax, r14
and r11, r13
mov r13, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rax
mov rax, r11
xor rax, rcx
mov qword [rsp + 0x50], rax
mov rax, r9
not rax
and rax, r12
xor rax, r8
mov qword [rsp + 0x58], rax
mov rax, r12
not rax
and rax, rbp
xor rax, r9
mov qword [rsp + 0x60], rax
mov rax, rbp
not rax
and rax, r13
xor rax, r12
mov r11, rax
mov rax, r13
not rax
and rax, r8
not r8
xor rax, rbp
and r8, r9
xor r8, r13
mov qword [rsp + 0x68], rax
mov rax, rbx
mov qword [rsp + 0x70], r8
not rax
mov rbp, qword [rsp + 0x78]
and rax, rdi
mov rcx, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x98]
xor rax, rbp
mov r10, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xc8]
mov qword [rsp + 0x78], rax
mov rax, rdi
mov r8, qword [rsp + 0x10]
not rax
mov r9, qword [rsp + 0xb8]
and rax, rsi
not r8
and r8, qword [rsp + 0x18]
xor rax, rbx
mov qword [rsp + 0x80], rax
mov rax, rsi
not rax
and rax, rcx
xor rax, rdi
mov rdi, r12
mov qword [rsp + 0x88], rax
mov rax, rcx
not rdi
not rax
and rdi, r10
and rax, rbp
not rbp
xor rdi, r9
xor rax, rsi
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0x90], rax
mov rax, rbp
and rax, rbx
mov rbx, qword [rsp + 0xd0]
xor rcx, rax
mov rax, r10
mov r14, rbx
not rax
mov rbp, rcx
mov rcx, r13
and rax, r13
not r14
not rcx
xor rax, r12
and r14, r9
not r9
and rcx, rbx
mov qword [rsp + 0x98], rax
mov rax, r9
xor rcx, r10
xor r14, r13
and rax, r12
xor rbx, rax
mov rax, qword [rsp + 8]
xor rax, qword [rsi]
add rsi, 8
mov qword [rsp + 0xa8], rsi
xor r8, rax
cmp qword [rsp + 0xd8], rsi
jne 0x1400055d0
mov rax, qword [rsp + 0x130]
movq xmm0, r8
mov r9, r14
mov r14, qword [rsp + 0xa0]
movhps xmm0, qword [rsp + 0x20]
movq xmm2, rbp
movq xmm1, r9
movups xmmword [rax], xmm0
movq xmm0, qword [rsp + 0x28]
mov qword [rax + 0xc0], rbx
movhps xmm0, qword [rsp + 0x30]
movups xmmword [rax + 0x10], xmm0
movq xmm0, r15
movhps xmm0, qword [rsp + 0x38]
movups xmmword [rax + 0x20], xmm0
movq xmm0, qword [rsp + 0x40]
movhps xmm0, qword [rsp + 0x48]
movups xmmword [rax + 0x30], xmm0
movq xmm0, r14
movhps xmm0, qword [rsp + 0x50]
movups xmmword [rax + 0x40], xmm0
movq xmm0, qword [rsp + 0x58]
movhps xmm0, qword [rsp + 0x60]
movups xmmword [rax + 0x50], xmm0
movq xmm0, r11
movhps xmm0, qword [rsp + 0x68]
movups xmmword [rax + 0x60], xmm0
movq xmm0, qword [rsp + 0x70]
movhps xmm0, qword [rsp + 0x78]
movups xmmword [rax + 0x70], xmm0
movq xmm0, qword [rsp + 0x80]
movhps xmm0, qword [rsp + 0x88]
movups xmmword [rax + 0x80], xmm0
movq xmm0, qword [rsp + 0x90]
punpcklqdq xmm0, xmm2
movups xmmword [rax + 0x90], xmm0
movq xmm0, rdi
movhps xmm0, qword [rsp + 0x98]
movups xmmword [rax + 0xa0], xmm0
movq xmm0, rcx
punpcklqdq xmm0, xmm1
movups xmmword [rax + 0xb0], xmm0
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret