Function at 0x49c4b0
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, r8
mov qword [rsp + 0xa0], rcx
shl rax, 5
add qword [rcx + 0x30], rax
mov eax, dword [rcx + 0x10]
mov qword [rsp + 0xa8], rdx
mov dword [rsp + 0x24], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x20], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x1c], eax
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x18], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x14], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x10], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0xc], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 8], eax
test r8, r8
je 0x49ce76
lea rax, [rdx + r8*4]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov rax, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa8]
lea rbx, [0x006c6c40]
lea r15, [0x006c4c40]
lea r14, [0x006c2c40]
lea r11, [0x006c0c40]
movzx ebp, byte [rax]
movzx edi, byte [rax + 1]
movzx esi, byte [rax + 2]
movzx r12d, byte [r8 + 3]
mov rcx, rbp
mov rdx, rdi
shl rbp, 5
shl rdi, 5
mov rax, rsi
mov r8, r12
shl rsi, 5
shl r12, 5
add rbp, rbx
add rdi, r15
add rsi, r14
shl r8, 5
add r12, r11
shl rcx, 5
shl rdx, 5
shl rax, 5
mov r10d, dword [r11 + r8]
mov r9d, dword [r12 + 4]
xor r10d, dword [rbx + rcx]
xor r9d, dword [rbp + 4]
xor r10d, dword [r15 + rdx]
xor r9d, dword [rdi + 4]
xor r10d, dword [r14 + rax]
xor r9d, dword [rsi + 4]
mov ebx, dword [r12 + 8]
mov edx, dword [r12 + 0xc]
xor ebx, dword [rbp + 8]
xor edx, dword [rbp + 0xc]
xor ebx, dword [rdi + 8]
xor edx, dword [rdi + 0xc]
xor ebx, dword [rsi + 8]
xor edx, dword [rsi + 0xc]
mov r11d, dword [r12 + 0x10]
mov eax, dword [r12 + 0x14]
xor r11d, dword [rbp + 0x10]
xor eax, dword [rbp + 0x14]
xor r11d, dword [rdi + 0x10]
xor eax, dword [rdi + 0x14]
xor r11d, dword [rsi + 0x10]
xor eax, dword [rsi + 0x14]
mov r8d, dword [r12 + 0x18]
xor r8d, dword [rbp + 0x18]
xor r8d, dword [rdi + 0x18]
mov ecx, dword [r12 + 0x1c]
xor r8d, dword [rsi + 0x18]
xor ecx, dword [rbp + 0x1c]
xor r10d, 0xff00f0f0
xor r11d, 0xccccaaaa
xor ecx, dword [rdi + 0x1c]
xor ecx, dword [rsi + 0x1c]
xor r9d, 0xccccaaaa
xor edx, 0xaaaaf0f0
mov esi, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x1c]
mov dword [rsp + 0x30], edx
xor eax, 0xff00f0f0
mov r13d, dword [rsp + 0xc]
mov r14d, dword [rsp + 0x18]
xor ebx, 0xccccff00
xor r8d, 0xaaaaf0f0
xor esi, 0xff00aaaa
xor r15d, 0xf0f0cccc
mov edi, dword [rsp + 0x24]
mov edx, dword [rsp + 0x14]
mov dword [rsp + 0x2c], esi
mov esi, r10d
xor r13d, 0xaaaaff00
mov r12d, dword [rsp + 8]
and esi, r11d
xor r11d, r15d
mov ebp, dword [rsp + 0x10]
xor r14d, 0xaaaaff00
xor esi, r13d
or r13d, r10d
xor r12d, 0xf0f0cccc
xor edi, 0xf0f0cccc
xor r11d, esi
xor r15d, r13d
xor edx, 0xff00aaaa
xor ebp, 0xf0f0cccc
xor r10d, r11d
mov r13d, r15d
xor ecx, 0xccccff00
rorx r11d, r11d, 0x13
or r13d, r10d
xor r13d, esi
and esi, r15d
xor esi, r10d
mov r10d, r9d
mov dword [rsp + 0x34], r13d
and r10d, eax
mov dword [rsp + 0x38], esi
xor r10d, r12d
or r12d, r9d
xor eax, r14d
xor eax, r10d
xor r14d, r12d
xor r9d, eax
mov r12d, r14d
rorx eax, eax, 0x13
or r12d, r9d
xor r12d, r10d
and r10d, r14d
xor r10d, r9d
mov r9d, edi
and r9d, edx
xor edx, ebx
mov dword [rsp + 0x28], r10d
mov r10d, dword [rsp + 0x2c]
xor r9d, r8d
or r8d, edi
mov dword [rsp + 0x2c], r12d
xor edx, r9d
xor ebx, r8d
xor edi, edx
mov r8d, ebx
rorx edx, edx, 0x13
or r8d, edi
mov esi, r8d
xor esi, r9d
and r9d, ebx
mov r8d, r9d
mov r9d, dword [rsp + 0x30]
xor r8d, edi
mov r13d, r8d
mov r8d, r10d
and r8d, ebp
xor ebp, r9d
mov dword [rsp + 0x30], r13d
xor r8d, ecx
or ecx, r10d
xor ebp, r8d
xor ecx, r9d
mov r9d, r12d
xor r10d, ebp
mov edi, ebp
mov ebp, ecx
or ebp, r10d
xor ebp, r8d
and r8d, ecx
xor r8d, r10d
xor ebx, r13d
xor r9d, r11d
xor ebx, esi
mov r12d, r9d
lea r10d, [r11*8]
xor ecx, r8d
xor r10d, r8d
rorx ebx, ebx, 0x1d
xor r12d, ebx
xor ecx, ebp
xor r10d, ebx
rorx r12d, r12d, 0x1f
mov r9d, r12d
xor r11d, r12d
not r10d
shl r9d, 7
xor esi, eax
rorx ecx, ecx, 0x1d
rorx r13d, r10d, 0x19
xor r9d, r13d
xor r11d, r13d
xor esi, ecx
xor ebx, r9d
rorx r11d, r11d, 0x1b
mov dword [rsp + 0x3c], r11d
mov r11d, dword [rsp + 0x38]
rorx ebx, ebx, 0xa
mov dword [rsp + 0x40], ebx
lea ebx, [rax*8]
rorx esi, esi, 0x1f
xor ebx, r11d
xor eax, esi
xor r15d, r11d
xor ebp, edx
xor ebx, ecx
mov r8d, esi
lea r11d, [rdx*8]
xor r11d, dword [rsp + 0x28]
not ebx
shl r8d, 7
rorx ebx, ebx, 0x19
xor eax, ebx
xor r8d, ebx
rorx r9d, eax, 0x1b
mov eax, dword [rsp + 0x34]
xor ecx, r8d
rorx r8d, ecx, 0xa
rorx ecx, edi, 0x13
mov dword [rsp + 0x38], r8d
xor r15d, eax
rorx r15d, r15d, 0x1d
xor ebp, r15d
xor r11d, r15d
rorx r10d, ebp, 0x1f
mov ebp, r10d
not r11d
xor edx, r10d
shl ebp, 7
rorx r11d, r11d, 0x19
xor edx, r11d
xor ebp, r11d
rorx r8d, edx, 0x1b
lea edx, [rcx*8]
xor r15d, ebp
xor eax, ecx
xor r14d, dword [rsp + 0x28]
xor r14d, dword [rsp + 0x2c]
mov edi, eax
xor edx, dword [rsp + 0x30]
rorx r14d, r14d, 0x1d
xor r10d, 0xaaaaf0f0
xor edi, r14d
xor edx, r14d
rorx ebp, r15d, 0xa
xor ebp, 0xccccaaaa
rorx edi, edi, 0x1f
mov eax, edi
not edx
xor ecx, edi
shl eax, 7
rorx edx, edx, 0x19
xor ecx, edx
xor edi, 0xf0f0cccc
xor eax, edx
rorx ecx, ecx, 0x1b
xor ecx, 0xff00aaaa
xor ebx, 0xaaaaff00
xor r14d, eax
xor r9d, 0xccccaaab
xor r8d, 0xf0f0cccc
xor r12d, 0xaaaaff00
rorx eax, r14d, 0xa
mov r14d, dword [rsp + 0x3c]
mov dword [rsp + 0x28], ecx
xor esi, 0xccccff00
mov dword [rsp + 0x2c], r10d
mov r10d, r13d
mov r15d, dword [rsp + 0x38]
xor eax, 0xff00f0f0
xor r14d, 0xff00f0f0
mov ecx, dword [rsp + 0x40]
xor r11d, 0xf0f0cccc
xor edx, 0xaaaaf0f0
mov r13d, r14d
xor r15d, 0xf0f0cccc
xor r10d, 0xccccff00
and r13d, ebp
xor ebp, edi
xor ecx, 0xff00aaaa
xor r13d, ebx
xor ebp, r13d
or ebx, r14d
xor edi, ebx
xor r14d, ebp
rorx ebp, ebp, 0x13
mov ebx, edi
or ebx, r14d
xor ebx, r13d
and r13d, edi
mov dword [rsp + 0x30], ebx
mov ebx, r9d
xor r13d, r14d
mov r14d, r12d
and ebx, eax
xor eax, r12d
mov dword [rsp + 0x34], r13d
xor ebx, r11d
or r11d, r9d
xor r14d, r11d
xor eax, ebx
xor r9d, eax
mov r12d, r14d
mov dword [rsp + 0x38], r14d
rorx eax, eax, 0x13
or r12d, r9d
mov r11d, r12d
xor r11d, ebx
and ebx, r14d
mov r13d, r11d
mov r11d, ebx
mov ebx, dword [rsp + 0x28]
xor r11d, r9d
mov r9d, r8d
mov dword [rsp + 0x28], r13d
and r9d, ecx
xor ecx, esi
mov dword [rsp + 0x3c], r11d
xor r9d, edx
or edx, r8d
xor esi, edx
xor ecx, r9d
mov edx, ebx
xor r8d, ecx
mov r12d, esi
and edx, r15d
rorx ecx, ecx, 0x13
or r12d, r8d
xor edx, r10d
xor r12d, r9d
and r9d, esi
xor r9d, r8d
mov r8d, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], r9d
xor r15d, r8d
xor r15d, edx
or r10d, ebx
xor esi, r9d
mov r9d, r13d
xor r10d, r8d
xor ebx, r15d
xor r9d, ebp
xor esi, r12d
mov r8d, r10d
rorx esi, esi, 0x1d
mov r13d, r9d
xor r12d, eax
or r8d, ebx
xor r13d, esi
rorx r15d, r15d, 0x13
xor r8d, edx
and edx, r10d
rorx r13d, r13d, 0x1f
mov r11d, edx
xor r11d, ebx
lea ebx, [rbp*8]
xor ebp, r13d
xor ebx, r11d
xor r10d, r11d
xor ebx, esi
xor r10d, r8d
not ebx
rorx r10d, r10d, 0x1d
xor r12d, r10d
rorx r14d, ebx, 0x19
mov ebx, r13d
rorx r11d, r12d, 0x1f
mov r12d, r11d
shl ebx, 7
xor ebp, r14d
shl r12d, 7
mov edx, ebx
rorx ebx, ebp, 0x1b
mov ebp, dword [rsp + 0x30]
mov dword [rsp + 0x40], ebx
xor edx, r14d
mov ebx, r12d
xor esi, edx
mov edx, dword [rsp + 0x34]
rorx esi, esi, 0xa
mov dword [rsp + 0x44], esi
lea esi, [rax*8]
xor eax, r11d
xor esi, edx
xor edi, edx
mov edx, dword [rsp + 0x3c]
xor esi, r10d
xor edi, ebp
not esi
rorx edi, edi, 0x1d
rorx esi, esi, 0x19
xor eax, esi
xor ebx, esi
rorx r9d, eax, 0x1b
lea eax, [rcx*8]
xor r10d, ebx
xor r8d, ecx
xor eax, edx
xor r8d, edi
rorx ebx, r10d, 0xa
xor ebp, r15d
xor eax, edi
rorx r10d, r8d, 0x1f
xor ecx, r10d
mov r8d, r10d
not eax
shl r8d, 7
xor r11d, 0xccccff00
xor r10d, 0xaaaaf0f0
rorx eax, eax, 0x19
xor ecx, eax
mov r12d, r8d
mov dword [rsp + 0x30], r10d
rorx r8d, ecx, 0x1b
mov ecx, dword [rsp + 0x38]
xor r12d, eax
xor r9d, 0xccccaaa8
xor edi, r12d
xor r8d, 0xf0f0cccc
xor r13d, 0xaaaaff00
xor ecx, edx
xor ecx, dword [rsp + 0x28]
lea edx, [r15*8]
xor edx, dword [rsp + 0x2c]
rorx ecx, ecx, 0x1d
xor ebp, ecx
xor edx, ecx
rorx r12d, edi, 0xa
rorx ebp, ebp, 0x1f
mov edi, ebp
xor r15d, ebp
not edx
shl edi, 7
rorx edx, edx, 0x19
xor r15d, edx
xor r12d, 0xccccaaaa
xor edi, edx
xor ebp, 0xf0f0cccc
xor ecx, edi
rorx edi, r15d, 0x1b
xor edi, 0xff00aaaa
mov r15d, dword [rsp + 0x40]
mov dword [rsp + 0x2c], edi
mov edi, r11d
mov r11d, dword [rsp + 0x44]
rorx ecx, ecx, 0xa
xor r15d, 0xff00f0f0
xor ecx, 0xff00f0f0
xor r11d, 0xff00aaaa
mov r10d, r11d
mov r11d, ebx
mov ebx, r14d
mov r14d, r15d
xor r11d, 0xf0f0cccc
xor esi, 0xaaaaff00
and r14d, r12d
xor r12d, ebp
xor r14d, esi
or esi, r15d
xor eax, 0xf0f0cccc
xor edx, 0xaaaaf0f0
xor r12d, r14d
xor ebp, esi
xor ebx, 0xccccff00
xor r15d, r12d
mov esi, ebp
rorx r12d, r12d, 0x13
or esi, r15d
xor esi, r14d
and r14d, ebp
mov dword [rsp + 0x34], esi
mov esi, r9d
xor r15d, r14d
mov r14d, dword [rsp + 0x30]
and esi, ecx
xor ecx, r13d
xor esi, eax
or eax, r9d
xor ecx, esi
xor r13d, eax
xor r9d, ecx
mov eax, r13d
rorx ecx, ecx, 0x13
or eax, r9d
xor eax, esi
and esi, r13d
xor esi, r9d
mov r9d, r8d
mov dword [rsp + 0x28], eax
and r9d, r10d
xor r10d, edi
mov dword [rsp + 0x38], esi
mov eax, r9d
xor eax, edx
or edx, r8d
xor edi, edx
xor r10d, eax
xor r8d, r10d
mov r9d, edi
rorx r10d, r10d, 0x13
or r9d, r8d
xor r9d, eax
and eax, edi
xor r8d, eax
mov eax, dword [rsp + 0x2c]
xor edi, r8d
mov edx, eax
xor edi, r9d
xor r9d, ecx
and edx, r11d
xor r11d, r14d
rorx edi, edi, 0x1d
xor edx, ebx
or ebx, eax
xor r11d, edx
xor ebx, r14d
xor eax, r11d
rorx r11d, r11d, 0x13
mov esi, eax
mov eax, ebx
or eax, esi
xor eax, edx
and edx, ebx
xor edx, esi
mov esi, dword [rsp + 0x28]
mov r14d, edx
lea edx, [r12*8]
xor esi, r12d
xor edx, r14d
xor ebx, r14d
xor esi, edi
xor edx, edi
xor ebx, eax
rorx esi, esi, 0x1f
not edx
xor r12d, esi
shl esi, 7
rorx edx, edx, 0x19
xor esi, edx
xor r12d, edx
lea edx, [rcx*8]
xor edx, r15d
rorx ebx, ebx, 0x1d
xor edi, esi
xor r9d, ebx
xor edx, ebx
rorx r9d, r9d, 0x1f
xor ecx, r9d
shl r9d, 7
not edx
xor ebp, r15d
xor eax, r10d
rorx edi, edi, 0xa
rorx edx, edx, 0x19
xor r9d, edx
xor ecx, edx
lea edx, [r10*8]
xor r9d, ebx
mov ebx, dword [rsp + 0x34]
mov r15d, dword [rsp + 0x38]
rorx ecx, ecx, 0x1b
xor dword [rsp + 0xc], edi
rorx r9d, r9d, 0xa
rorx r12d, r12d, 0x1b
xor ebp, ebx
xor edx, r15d
xor ebx, r11d
xor r13d, r15d
rorx ebp, ebp, 0x1d
xor eax, ebp
xor edx, ebp
xor r13d, dword [rsp + 0x28]
rorx eax, eax, 0x1f
not edx
xor r10d, eax
shl eax, 7
rorx edx, edx, 0x19
xor eax, edx
mov esi, ebx
rorx r13d, r13d, 0x1d
xor ebp, eax
lea eax, [r11*8]
xor esi, r13d
xor r10d, edx
xor eax, r8d
rorx esi, esi, 0x1f
xor r11d, esi
shl esi, 7
xor eax, r13d
xor dword [rsp + 8], r9d
rorx ebp, ebp, 0xa
mov ebx, dword [rsp + 8]
not eax
mov r8, qword [rsp + 0xa0]
xor dword [rsp + 0x14], ebp
rorx r10d, r10d, 0x1b
rorx eax, eax, 0x19
xor esi, eax
xor r11d, eax
mov edx, dword [rsp + 0x14]
xor esi, r13d
rorx r11d, r11d, 0x1b
mov r13d, dword [rsp + 0xc]
mov dword [r8 + 0x2c], ebx
rorx esi, esi, 0xa
xor dword [rsp + 0x10], esi
mov eax, dword [rsp + 0x10]
xor dword [rsp + 0x18], r11d
mov r14d, dword [rsp + 0x18]
xor dword [rsp + 0x1c], r10d
mov r15d, dword [rsp + 0x1c]
xor dword [rsp + 0x20], ecx
mov esi, dword [rsp + 0x20]
mov dword [r8 + 0x24], eax
mov dword [r8 + 0x28], r13d
mov dword [r8 + 0x20], edx
mov dword [r8 + 0x1c], r14d
mov dword [r8 + 0x18], r15d
mov dword [r8 + 0x14], esi
xor dword [rsp + 0x24], r12d
mov edi, dword [rsp + 0x24]
add qword [rsp + 0xa8], 4
mov rax, qword [rsp + 0x48]
mov dword [r8 + 0x10], edi
cmp rax, qword [rsp + 0xa8]
jne 0x49c528
vmovd xmm4, dword [rsp + 0xc]
vmovd xmm5, dword [rsp + 0x14]
vpinsrd xmm2, xmm4, dword [rsp + 8], 1
vpinsrd xmm1, xmm5, dword [rsp + 0x10], 1
vmovd xmm3, dword [rsp + 0x1c]
vmovd xmm4, dword [rsp + 0x24]
vpinsrd xmm3, xmm3, dword [rsp + 0x18], 1
vpinsrd xmm0, xmm4, dword [rsp + 0x20], 1
vpunpcklqdq xmm1, xmm1, xmm2
mov rax, qword [rsp + 0xa0]
vpunpcklqdq xmm0, xmm0, xmm3
vinserti128 ymm0, ymm0, xmm1, 1
vmovdqu ymmword [rax + 0x10], ymm0
vzeroupper
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret