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