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