Function at 0x49f630
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
test edx, edx
jle 0x49fc60
mov rax, qword [rcx + 0x28]
mov rbx, qword [rcx + 0x18]
mov rdi, qword [rcx + 0x68]
mov rbp, qword [rcx + 0x88]
mov r9, qword [rcx]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x50]
mov qword [rsp + 0x20], rbx
mov rbx, qword [rcx + 0x40]
mov r10, qword [rcx + 0xa0]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x48], rax
mov rax, qword [rcx + 0x78]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x10], rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 0x80]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0xa8]
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x18], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + 0x60]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0xb0]
mov rdi, qword [rcx + 0x90]
mov r13, qword [rcx + 0xc0]
mov qword [rsp + 0x88], rbp
mov rsi, qword [rcx + 0x20]
mov r12, qword [rcx + 0x48]
mov qword [rsp + 0x78], rdi
mov rbx, qword [rcx + 0x70]
mov r14, r13
mov rdi, qword [rcx + 0xb8]
mov r11, qword [rcx + 0x98]
mov r13, rsi
lea rcx, [0x00716ca0]
mov qword [rsp + 0xa0], rcx
lea ecx, [rdx - 1]
lea rdx, [0x00716ca8]
lea rcx, [rdx + rcx*8]
mov qword [rsp + 0xd8], rcx
nop word [rax + rax]
mov rdx, qword [rsp + 0x18]
xor rdx, qword [rsp + 0x38]
xor rdx, qword [rsp + 0x58]
xor rdx, qword [rsp + 0x88]
mov r15, rdx
mov rdx, r13
mov rcx, qword [rsp + 0x10]
xor rcx, qword [rsp + 0x30]
xor rdx, r12
xor rcx, qword [rsp + 0x50]
xor rcx, qword [rsp + 0x70]
xor r15, rax
xor rcx, qword [rsp + 0x80]
xor rdx, rbx
mov rsi, qword [rsp + 0x28]
xor rdx, r11
mov r8, rcx
mov rbp, qword [rsp + 0x20]
xor rbp, qword [rsp + 0x40]
xor rdx, r14
rol r8, 1
xor rbp, qword [rsp + 0x60]
xor rbp, qword [rsp + 0x78]
xor r8, rdx
xor rbp, rdi
xor rsi, r9
xor rsi, qword [rsp + 0x48]
xor r9, r8
mov qword [rsp], rbp
xor rsi, qword [rsp + 0x68]
rol rbp, 1
mov qword [rsp + 0x98], r9
mov r9, r15
xor rcx, rbp
xor rsi, r10
mov rbp, qword [rsp]
rol r9, 1
rol rdx, 1
xor r9, rsi
rol rsi, 1
xor rdx, r15
mov r15, qword [rsp + 0x18]
xor rbp, rsi
mov rsi, qword [rsp + 0x30]
xor rsi, r9
ror rsi, 0x14
xor rbx, rbp
xor r10, r8
xor r13, rbp
ror rbx, 0x19
rol r10, 0x12
xor r12, rbp
xor r15, rcx
xor rdi, rdx
rol r13, 0x1b
mov qword [rsp], rsi
xor r11, rbp
mov qword [rsp + 0xa8], rbx
mov rbx, qword [rsp + 0x58]
rol r12, 0x14
xor rax, rcx
mov qword [rsp + 0xb0], r10
mov r10, qword [rsp + 0x68]
ror r15, 2
ror rdi, 8
mov qword [rsp + 0x68], r13
xor rbx, rcx
mov r13, rbp
ror rax, 3
xor r10, r8
ror rbx, 0x15
xor r13, r14
mov qword [rsp + 8], r12
ror r10, 0x17
mov qword [rsp + 0xb8], r15
mov r15, rbx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xc0], rdi
rol r11, 8
rol r13, 0xe
mov qword [rsp + 0xc8], r10
mov r14, qword [rsp + 0x80]
xor rbx, rdx
mov rsi, qword [rsp + 0x28]
rol rbx, 0x19
mov r12, qword [rsp]
mov qword [rsp + 0x90], r15
xor r14, r9
mov r10, qword [rsp + 0x20]
not r15
mov rdi, qword [rsp + 0x88]
rol r14, 2
xor rsi, r8
mov qword [rsp + 0xd0], r14
mov r14, qword [rsp + 0x40]
xor r14, rdx
mov rbp, r14
mov r14, qword [rsp + 0x70]
ror rbp, 9
xor r14, r9
mov qword [rsp + 0x80], rbp
mov rbp, qword [rsp + 0x50]
ror r14, 0x13
ror rsi, 0x1c
xor r10, rdx
xor rdx, qword [rsp + 0x78]
rol rdx, 0x15
xor rbp, r9
xor r9, qword [rsp + 0x10]
rol r10, 0x1c
and r15, rdx
xor r8, qword [rsp + 0x48]
xor rdi, rcx
xor rcx, qword [rsp + 0x38]
rol r8, 3
xor r12, r15
rol rdi, 0xf
mov qword [rsp + 0x10], r12
rol rbp, 0xa
mov r12, rdx
rol rcx, 6
not r12
rol r9, 1
mov r15, r12
mov r12, qword [rsp + 0x90]
and r15, r13
xor r12, r15
mov r15, qword [rsp + 0x98]
mov qword [rsp + 0x18], r12
mov r12, r13
not r12
and r15, r12
mov r12, r15
mov r15, qword [rsp + 0x98]
xor r12, rdx
mov qword [rsp + 0x20], r12
mov r12, qword [rsp + 8]
mov rdx, r15
not rdx
and rdx, qword [rsp]
not r12
xor r13, rdx
mov rdx, r12
and rdx, r8
mov r12, rdx
xor r12, r10
mov qword [rsp + 0x28], r12
mov r12, r8
not r12
mov rdx, r12
mov r12, qword [rsp + 8]
and rdx, r14
xor r12, rdx
mov qword [rsp + 0x30], r12
mov r12, r14
not r12
mov rdx, r12
and rdx, rax
mov r12, rdx
xor r12, r8
mov r8, rcx
mov qword [rsp + 0x38], r12
mov r12, rax
not r8
not r12
mov rdx, r12
and rdx, r10
not r10
mov r12, rdx
mov rdx, qword [rsp + 0xb0]
xor r12, r14
mov r14, rbp
mov qword [rsp + 0x40], r12
mov r12, qword [rsp + 8]
not r14
and r12, r10
mov r10, rsi
xor r12, rax
mov rax, rbx
and r8, rbx
not r10
not rax
xor r8, r9
and r10, rbp
and r14, rdi
and rax, r11
mov qword [rsp + 0x48], r8
xor r14, rsi
xor rax, rcx
mov qword [rsp + 0x50], rax
mov rax, r11
not rax
and rax, rdx
xor rax, rbx
mov rbx, rdx
not rbx
mov qword [rsp + 0x58], rax
mov rax, rdx
mov rdx, rdi
and rbx, r9
not r9
not rdx
mov qword [rsp + 0x70], r14
and r9, rcx
xor rbx, r11
mov r11, qword [rsp + 0x68]
mov r8, qword [rsp + 0xd0]
xor rax, r9
mov qword [rsp + 0x60], rbx
mov rcx, qword [rsp + 0xa0]
mov rbx, rax
mov rax, qword [rsp + 0xc0]
xor r10, r11
mov r9, qword [rsp]
mov qword [rsp + 0x68], r10
and rdx, rax
not r9
and r9, qword [rsp + 0x90]
xor rdx, rbp
mov rbp, qword [rsp + 0x80]
mov qword [rsp + 0x88], rdx
mov rdx, rax
not rdx
and rdx, r11
not r11
xor rdx, rdi
mov rdi, qword [rsp + 0xa8]
and r11, rsi
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0xc8]
xor r11, rax
mov rax, rbp
mov r14, rdi
not rax
not r14
mov r10, rax
and r14, rdx
and r10, rdi
mov rax, r14
xor r10, rsi
xor rax, rbp
mov qword [rsp + 0x80], rax
mov rax, rdx
not rax
and rax, r8
xor rax, rdi
mov rdi, r8
not rdi
and rdi, rsi
not rsi
xor rdi, rdx
mov r14, rsi
mov rdx, qword [rcx]
and r14, rbp
xor r14, r8
xor rdx, r15
add rcx, 8
mov qword [rsp + 0xa0], rcx
xor r9, rdx
cmp rcx, qword [rsp + 0xd8]
jne 0x49f758
movq xmm0, r9
mov rcx, qword [rsp + 0x130]
movq xmm1, r12
mov rbp, qword [rsp + 0x88]
movhps xmm0, qword [rsp + 0x10]
movq xmm3, r11
movq xmm4, rdi
movups xmmword [rcx], xmm0
movq xmm0, qword [rsp + 0x18]
movq xmm2, rbp
mov qword [rcx + 0xc0], r14
movhps xmm0, qword [rsp + 0x20]
movups xmmword [rcx + 0x10], xmm0
movq xmm0, r13
movhps xmm0, qword [rsp + 0x28]
movups xmmword [rcx + 0x20], xmm0
movq xmm0, qword [rsp + 0x30]
movhps xmm0, qword [rsp + 0x38]
movups xmmword [rcx + 0x30], xmm0
movq xmm0, qword [rsp + 0x40]
punpcklqdq xmm0, xmm1
movups xmmword [rcx + 0x40], xmm0
movq xmm0, qword [rsp + 0x48]
movhps xmm0, qword [rsp + 0x50]
movups xmmword [rcx + 0x50], xmm0
movq xmm0, qword [rsp + 0x58]
movhps xmm0, qword [rsp + 0x60]
movups xmmword [rcx + 0x60], xmm0
movq xmm0, rbx
movhps xmm0, qword [rsp + 0x68]
movups xmmword [rcx + 0x70], xmm0
movq xmm0, qword [rsp + 0x70]
punpcklqdq xmm0, xmm2
movups xmmword [rcx + 0x80], xmm0
movq xmm0, qword [rsp + 0x78]
punpcklqdq xmm0, xmm3
movups xmmword [rcx + 0x90], xmm0
movq xmm0, r10
movhps xmm0, qword [rsp + 0x80]
movups xmmword [rcx + 0xa0], xmm0
movq xmm0, rax
punpcklqdq xmm0, xmm4
movups xmmword [rcx + 0xb0], xmm0
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret