Function at 0x14008e850
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 + 0x10], eax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0xc], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 8], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x18], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x14], eax
test r8, r8
je 0x14008f174
lea rax, [rdx + r8*4]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa8]
lea rbx, [0x1402a4660]
lea r14, [0x1402a2660]
lea r15, [0x1402a0660]
lea r11, [0x14029e660]
movzx ebp, byte [rax]
movzx edi, byte [rax + 1]
movzx esi, byte [rax + 2]
movzx edx, byte [rdx + 3]
mov r8, rbp
mov rcx, rdi
shl rbp, 5
shl rdi, 5
mov rax, rsi
mov r9, rdx
shl rsi, 5
shl rdx, 5
add rbp, rbx
add rdi, r14
add rsi, r15
shl r9, 5
add rdx, r11
shl r8, 5
shl rcx, 5
shl rax, 5
mov r11d, dword [r11 + r9]
mov r10d, dword [rdx + 4]
xor r11d, dword [rbx + r8]
xor r10d, dword [rbp + 4]
xor r11d, dword [r14 + rcx]
xor r10d, dword [rdi + 4]
xor r11d, dword [r15 + rax]
xor r10d, dword [rsi + 4]
mov ebx, dword [rdx + 8]
mov eax, dword [rdx + 0xc]
xor ebx, dword [rbp + 8]
xor eax, dword [rbp + 0xc]
xor ebx, dword [rdi + 8]
xor eax, dword [rdi + 0xc]
xor ebx, dword [rsi + 8]
xor eax, dword [rsi + 0xc]
mov r9d, dword [rdx + 0x10]
mov r8d, dword [rdx + 0x14]
xor r9d, dword [rbp + 0x10]
xor r8d, dword [rbp + 0x14]
xor r9d, dword [rdi + 0x10]
xor r8d, dword [rdi + 0x14]
xor r9d, dword [rsi + 0x10]
xor r8d, dword [rsi + 0x14]
mov ecx, dword [rdx + 0x18]
xor ecx, dword [rbp + 0x18]
xor ecx, dword [rdi + 0x18]
mov edx, dword [rdx + 0x1c]
xor ecx, dword [rsi + 0x18]
xor edx, dword [rbp + 0x1c]
xor r11d, 0xff00f0f0
xor r9d, 0xccccaaaa
xor edx, dword [rdi + 0x1c]
xor edx, dword [rsi + 0x1c]
xor r10d, 0xccccaaaa
xor eax, 0xaaaaf0f0
mov esi, dword [rsp + 8]
mov r15d, dword [rsp + 0x1c]
mov dword [rsp + 0x2c], eax
xor r8d, 0xff00f0f0
mov r13d, dword [rsp + 0x18]
mov r14d, dword [rsp + 0x10]
xor ebx, 0xccccff00
xor ecx, 0xaaaaf0f0
xor esi, 0xf0f0cccc
xor r15d, 0xf0f0cccc
mov ebp, dword [rsp + 0x24]
mov edi, dword [rsp + 0x20]
mov dword [rsp + 0x30], esi
mov esi, r11d
xor r13d, 0xaaaaff00
mov r12d, dword [rsp + 0x14]
and esi, r9d
xor r9d, r15d
mov eax, dword [rsp + 0xc]
xor r14d, 0xaaaaff00
xor esi, r13d
or r13d, r11d
xor r12d, 0xf0f0cccc
xor ebp, 0xf0f0cccc
xor r9d, esi
xor r15d, r13d
xor eax, 0xff00aaaa
xor edi, 0xff00aaaa
xor r11d, r9d
mov r13d, r15d
xor edx, 0xccccff00
or r13d, r11d
xor r13d, esi
and esi, r15d
xor esi, r11d
mov r11d, r10d
mov dword [rsp + 0x34], r13d
and r11d, r8d
mov dword [rsp + 0x38], esi
mov esi, dword [rsp + 0x30]
xor r11d, r12d
or r12d, r10d
xor r8d, r14d
xor r8d, r11d
xor r14d, r12d
xor r10d, r8d
mov r12d, r14d
mov r13d, r14d
or r12d, r10d
xor r12d, r11d
and r11d, r14d
xor r11d, r10d
mov r10d, ebp
and r10d, eax
xor eax, ebx
mov dword [rsp + 0x28], r11d
mov r11d, dword [rsp + 0x2c]
xor r10d, ecx
or ecx, ebp
mov dword [rsp + 0x2c], r12d
xor eax, r10d
xor ecx, ebx
xor ebp, eax
mov ebx, ecx
or ebx, ebp
xor ebx, r10d
and r10d, ecx
xor r10d, ebp
mov ebp, esi
mov r14d, r10d
mov r10d, esi
xor ebp, r11d
and r10d, edi
xor r10d, edx
or edx, edi
xor ebp, r10d
xor edx, r11d
xor edi, ebp
mov r11d, edx
or r11d, edi
mov esi, r11d
mov r11d, r12d
xor esi, r10d
and r10d, edx
xor r10d, edi
rol r9d, 0xd
xor ecx, r14d
xor r11d, r9d
xor ecx, ebx
xor edx, r10d
rol r8d, 0xd
rol ecx, 3
mov r12d, r11d
lea r11d, [r9*8]
xor edx, esi
xor r12d, ecx
xor r11d, r10d
mov r10d, dword [rsp + 0x38]
rol edx, 3
rol r12d, 1
xor r11d, ecx
xor ebx, r8d
mov edi, r12d
not r11d
xor ebx, edx
xor r9d, r12d
rol r11d, 7
shl edi, 7
xor edi, r11d
rol ebx, 1
xor r9d, r11d
xor edi, ecx
rol r9d, 5
mov ecx, edi
lea edi, [r8*8]
xor r8d, ebx
mov dword [rsp + 0x30], r9d
xor edi, r10d
ror ecx, 0xa
mov r9d, dword [rsp + 0x34]
xor edi, edx
mov dword [rsp + 0x3c], ecx
mov ecx, ebx
not edi
shl ecx, 7
rol edi, 7
xor ecx, edi
xor r8d, edi
xor edx, ecx
rol r8d, 5
xor r15d, r10d
mov r10d, esi
rol eax, 0xd
mov ecx, dword [rsp + 0x28]
ror edx, 0xa
xor r15d, r9d
xor r10d, eax
rol r15d, 3
mov dword [rsp + 0x40], edx
lea esi, [rax*8]
mov edx, r10d
xor esi, ecx
mov ecx, ebp
mov dword [rsp + 0x38], r8d
xor edx, r15d
xor esi, r15d
rol ecx, 0xd
rol edx, 1
not esi
xor r9d, ecx
mov r10d, edx
rol esi, 7
xor eax, edx
mov ebp, r9d
shl r10d, 7
mov r8d, eax
lea eax, [rcx*8]
xor r10d, esi
xor eax, r14d
xor r8d, esi
xor r10d, r15d
mov r15d, dword [rsp + 0x28]
rol r8d, 5
ror r10d, 0xa
xor r13d, r15d
mov r15d, dword [rsp + 0x2c]
xor r13d, r15d
mov r15d, r13d
rol r15d, 3
xor ebp, r15d
xor eax, r15d
mov r9d, ebp
not eax
rol r9d, 1
rol eax, 7
mov r13d, r9d
xor ecx, r9d
shl r9d, 7
xor ecx, eax
xor r9d, eax
mov ebp, r13d
xor r10d, 0xccccaaaa
xor r9d, r15d
mov r15d, dword [rsp + 0x30]
rol ecx, 5
mov r14d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x40]
xor ebp, 0xf0f0cccc
xor edi, 0xaaaaff00
ror r9d, 0xa
xor r15d, 0xff00f0f0
xor r14d, 0xccccaaab
xor edx, 0xaaaaf0f0
xor r9d, 0xff00f0f0
xor r13d, 0xf0f0cccc
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + 0x3c]
xor r12d, 0xaaaaff00
mov dword [rsp + 0x30], r13d
mov r13d, r15d
xor esi, 0xf0f0cccc
xor r8d, 0xf0f0cccc
and r13d, r10d
xor r10d, ebp
xor ecx, 0xff00aaaa
xor ebx, 0xccccff00
xor r13d, edi
or edi, r15d
xor edx, 0xff00aaaa
xor eax, 0xaaaaf0f0
xor r10d, r13d
xor ebp, edi
xor r11d, 0xccccff00
xor r15d, r10d
mov edi, ebp
or edi, r15d
xor edi, r13d
and r13d, ebp
xor r13d, r15d
mov r15d, r14d
mov dword [rsp + 0x34], edi
and r15d, r9d
mov edi, r15d
xor edi, esi
or esi, r14d
xor r9d, r12d
xor r9d, edi
xor r12d, esi
xor r14d, r9d
mov esi, r12d
mov r15d, r12d
or esi, r14d
mov r12d, esi
xor r12d, edi
and edi, r15d
mov esi, edi
xor esi, r14d
mov r14d, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], r12d
mov dword [rsp + 0x38], esi
mov esi, r8d
and esi, edx
xor edx, ebx
mov edi, esi
xor edi, eax
or eax, r8d
xor edx, edi
xor eax, ebx
xor r8d, edx
mov ebx, eax
or ebx, r8d
mov esi, ebx
xor esi, edi
and edi, eax
mov ebx, edi
mov edi, dword [rsp + 0x30]
xor ebx, r8d
mov dword [rsp + 0x28], ebx
mov ebx, edi
xor edi, r14d
and ebx, ecx
mov r8d, edi
xor ebx, r11d
or r11d, ecx
xor r8d, ebx
xor r11d, r14d
xor ecx, r8d
mov r14d, r11d
or r14d, ecx
xor r14d, ebx
and ebx, r11d
xor ecx, ebx
mov ebx, dword [rsp + 0x28]
rol r10d, 0xd
xor r12d, r10d
xor r11d, ecx
rol r9d, 0xd
xor eax, ebx
lea ebx, [r10*8]
xor r11d, r14d
xor eax, esi
xor ebx, ecx
rol r11d, 3
xor esi, r9d
rol eax, 3
xor esi, r11d
mov ecx, dword [rsp + 0x34]
xor r12d, eax
xor ebx, eax
rol esi, 1
rol r12d, 1
not ebx
mov edi, r12d
rol ebx, 7
xor r10d, r12d
shl edi, 7
xor r10d, ebx
xor edi, ebx
rol r10d, 5
xor edi, eax
mov dword [rsp + 0x30], r10d
mov eax, esi
mov r10d, edi
lea edi, [r9*8]
shl eax, 7
xor r9d, esi
xor edi, r13d
ror r10d, 0xa
xor edi, r11d
mov dword [rsp + 0x3c], r10d
not edi
rol edi, 7
xor eax, edi
xor r9d, edi
xor eax, r11d
rol r9d, 5
mov r11d, r14d
xor ebp, r13d
mov r14d, dword [rsp + 0x38]
rol edx, 0xd
ror eax, 0xa
xor ebp, ecx
mov dword [rsp + 0x44], eax
rol ebp, 3
xor r11d, edx
rol r8d, 0xd
lea eax, [rdx*8]
xor r11d, ebp
xor ecx, r8d
xor r15d, r14d
xor eax, r14d
rol r11d, 1
mov dword [rsp + 0x40], r9d
mov r13d, dword [rsp + 0x44]
xor eax, ebp
xor edx, r11d
mov r14d, dword [rsp + 0x40]
not eax
rol eax, 7
xor edx, eax
mov r9d, edx
mov edx, r11d
shl edx, 7
rol r9d, 5
mov r10d, edx
mov edx, dword [rsp + 0x2c]
xor r10d, eax
xor r10d, ebp
xor r15d, edx
lea edx, [r8*8]
mov ebp, ecx
mov ecx, dword [rsp + 0x28]
rol r15d, 3
ror r10d, 0xa
xor ebp, r15d
xor edx, ecx
rol ebp, 1
xor edx, r15d
mov ecx, ebp
xor r8d, ebp
not edx
shl ecx, 7
rol edx, 7
xor r8d, edx
xor ecx, edx
xor ebp, 0xf0f0cccc
xor eax, 0xf0f0cccc
xor ecx, r15d
mov r15d, dword [rsp + 0x30]
rol r8d, 5
xor r13d, 0xf0f0cccc
mov dword [rsp + 0x30], r13d
xor edi, 0xaaaaff00
xor r10d, 0xccccaaaa
xor r14d, 0xccccaaa8
xor r15d, 0xff00f0f0
ror ecx, 0xa
xor r11d, 0xaaaaf0f0
xor r12d, 0xaaaaff00
mov r13d, r15d
mov dword [rsp + 0x2c], r11d
xor ecx, 0xff00f0f0
mov r11d, dword [rsp + 0x3c]
and r13d, r10d
xor r10d, ebp
xor r9d, 0xf0f0cccc
xor r8d, 0xff00aaaa
xor r13d, edi
or edi, r15d
xor esi, 0xccccff00
xor r11d, 0xff00aaaa
xor r10d, r13d
xor ebp, edi
xor edx, 0xaaaaf0f0
xor ebx, 0xccccff00
xor r15d, r10d
mov edi, ebp
or edi, r15d
xor edi, r13d
and r13d, ebp
mov dword [rsp + 0x34], edi
mov edi, r14d
xor r13d, r15d
mov r15d, dword [rsp + 0x30]
and edi, ecx
xor edi, eax
xor ecx, r12d
or eax, r14d
xor ecx, edi
xor eax, r12d
xor r14d, ecx
mov r12d, eax
or r12d, r14d
xor r12d, edi
and edi, eax
xor edi, r14d
mov r14d, r9d
mov dword [rsp + 0x28], r12d
and r14d, r11d
mov dword [rsp + 0x38], edi
xor r11d, esi
mov edi, r14d
mov r14d, r15d
xor edi, edx
or edx, r9d
and r14d, r8d
xor edx, esi
xor r11d, edi
mov esi, dword [rsp + 0x2c]
xor r14d, ebx
xor r9d, r11d
mov r12d, edx
or ebx, r8d
or r12d, r9d
xor r15d, esi
xor ebx, esi
xor r12d, edi
and edi, edx
mov esi, ebx
xor edi, r9d
mov r9d, r15d
mov r15d, dword [rsp + 0x28]
xor r9d, r14d
xor r8d, r9d
or esi, r8d
xor esi, r14d
and r14d, ebx
xor r14d, r8d
rol r10d, 0xd
xor edx, edi
xor ebp, r13d
xor edx, r12d
xor r15d, r10d
rol ecx, 0xd
xor ebx, r14d
lea r8d, [r10*8]
rol edx, 3
xor ebx, esi
xor r12d, ecx
rol ebx, 3
xor r8d, r14d
xor r15d, edx
rol r11d, 0xd
xor r8d, edx
rol r15d, 1
xor r12d, ebx
not r8d
xor r10d, r15d
shl r15d, 7
rol r8d, 7
rol r12d, 1
xor r15d, r8d
xor r10d, r8d
mov r8d, dword [rsp + 0x34]
xor r15d, edx
lea edx, [rcx*8]
xor ecx, r12d
shl r12d, 7
xor edx, r13d
xor edx, ebx
not edx
rol edx, 7
xor r12d, edx
xor ecx, edx
lea edx, [r11*8]
xor r12d, ebx
mov ebx, dword [rsp + 0x38]
xor ebp, r8d
xor esi, r11d
rol ebp, 3
rol r9d, 0xd
xor edx, ebx
xor esi, ebp
xor eax, ebx
ror r15d, 0xa
rol esi, 1
xor edx, ebp
xor dword [rsp + 0x18], r15d
ror r12d, 0xa
not edx
xor r11d, esi
shl esi, 7
xor dword [rsp + 0x14], r12d
rol edx, 7
mov ebx, dword [rsp + 0x14]
mov r13d, dword [rsp + 0x18]
xor r11d, edx
xor esi, edx
mov edx, dword [rsp + 0x28]
xor esi, ebp
xor eax, edx
mov edx, r8d
lea r8d, [r9*8]
rol eax, 3
xor edx, r9d
xor r8d, edi
xor edx, eax
xor r8d, eax
rol edx, 1
not r8d
rol r8d, 7
xor r9d, edx
shl edx, 7
xor edx, r8d
xor r9d, r8d
mov r8, qword [rsp + 0xa0]
xor edx, eax
ror edx, 0xa
xor dword [rsp + 8], edx
mov eax, dword [rsp + 8]
ror esi, 0xa
rol r9d, 5
xor dword [rsp + 0xc], esi
rol r11d, 5
rol ecx, 5
xor dword [rsp + 0x10], r9d
mov r14d, dword [rsp + 0x10]
rol r10d, 5
xor dword [rsp + 0x1c], r11d
mov r15d, dword [rsp + 0x1c]
xor dword [rsp + 0x20], ecx
mov edi, dword [rsp + 0x20]
mov dword [r8 + 0x24], eax
mov eax, dword [rsp + 0xc]
mov dword [r8 + 0x2c], ebx
mov dword [r8 + 0x20], eax
mov dword [r8 + 0x28], r13d
mov dword [r8 + 0x1c], r14d
mov dword [r8 + 0x18], r15d
mov dword [r8 + 0x14], edi
xor dword [rsp + 0x24], r10d
mov ebp, dword [rsp + 0x24]
add qword [rsp + 0xa8], 4
mov rax, qword [rsp + 0x48]
mov dword [r8 + 0x10], ebp
cmp qword [rsp + 0xa8], rax
jne 0x14008e8c8
mov rax, qword [rsp + 0xa0]
mov ebx, dword [rsp + 0x24]
vmovd xmm2, dword [rsp + 0x18]
vmovd xmm3, dword [rsp + 0xc]
mov dword [rax + 0x10], ebx
mov ebx, dword [rsp + 0x20]
vpinsrd xmm1, xmm2, dword [rsp + 0x14], 1
vpinsrd xmm0, xmm3, dword [rsp + 8], 1
mov dword [rax + 0x14], ebx
mov ebx, dword [rsp + 0x1c]
vpunpcklqdq xmm0, xmm0, xmm1
mov dword [rax + 0x18], ebx
mov ebx, dword [rsp + 0x10]
vmovdqu xmmword [rax + 0x20], xmm0
mov dword [rax + 0x1c], ebx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret