Function at 0x669ec0
Capabilities:
Encode data using add xor sub operations
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xc0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xe0], xmm11
movaps xmmword [rsp + 0xf0], xmm12
movaps xmmword [rsp + 0x100], xmm13
movaps xmmword [rsp + 0x110], xmm14
movaps xmmword [rsp + 0x120], xmm15
movdqa xmm0, xmmword [rdx + 0x60]
movdqa xmm7, xmmword [rdx + 0x50]
prefetcht0 byte [rdx]
prefetcht0 byte [rdx + 4]
mov qword [rsp + 0x188], rdx
movdqa xmm2, xmmword [rdx + 0x40]
prefetcht0 byte [rdx + 8]
mov r9d, dword [r8 + 4]
prefetchnta byte [rcx]
prefetchnta byte [rcx + 4]
movdqa xmm3, xmmword [rdx + 0x90]
movdqa xmm14, xmmword [rdx + 0x80]
movdqa xmm1, xmmword [rdx + 0x70]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm7
movdqa xmm0, xmmword [rdx + 0xb0]
movdqa xmm15, xmmword [rdx + 0xa0]
movaps xmmword [rsp + 0x60], xmm3
test r9d, r9d
je 0x670bb3
mov rdi, qword [r8 + 0x10]
mov rsi, rdx
lea rbp, str.cw
shr rdi, 4
je 0x670bb3
mov ebx, dword [rdx + 0x34]
movdqa xmm12, xmmword [rdx + 0x20]
mov edx, ebx
shr edx, 0x18
movzx r8d, bl
movdqa xmm11, xmmword [rsi + 0x30]
movdqa xmm5, xmm12
movzx r11d, byte [rbp + rdx]
movzx r10d, byte [rbp + r8]
movzx eax, bh
mov r12d, ebx
mov ebx, dword [rsi + 0x3c]
shr r12d, 0x10
movzx r15d, byte [rbp + rax]
pslldq xmm5, 4
shl r11d, 0x18
movzx r13d, r12b
movdqa xmm8, xmm5
or r11d, r10d
mov r9d, ebx
mov r10d, ebx
movzx r14d, byte [rbp + r13]
movzx edx, bl
shr r9d, 0x18
shr r10d, 0x10
movzx eax, bh
movdqa xmm9, xmm11
movzx esi, byte [rbp + r9]
shl r14d, 0x10
movzx r12d, r10b
shl r15d, 8
movzx r8d, byte [rbp + rdx]
movzx r13d, byte [rbp + r12]
or r11d, r14d
pslldq xmm8, 4
movzx r14d, byte [rbp + rax]
shl esi, 0x18
or r11d, r15d
or esi, r8d
shl r13d, 0x10
mov r15d, r11d
or esi, r13d
shl r14d, 8
or esi, r14d
ror r15d, 8
mov ebx, esi
xor r15d, 1
ror ebx, 8
mov dword [rsp], r15d
movd xmm13, dword [rsp]
xor ebx, 1
mov dword [rsp + 0x10], ebx
movd xmm6, dword [rsp + 0x10]
mov dword [rsp + 0x10], r11d
movd xmm4, dword [rsp + 0x10]
punpckldq xmm4, xmm13
movdqa xmm3, xmm4
mov dword [rsp + 0x20], esi
movd xmm10, dword [rsp + 0x20]
movdqa xmm4, xmm9
punpckldq xmm10, xmm6
punpcklqdq xmm3, xmm10
pslldq xmm4, 4
movdqa xmm10, xmm8
pshufd xmm11, xmm3, 0xff
pslldq xmm10, 4
pxor xmm8, xmm5
pxor xmm11, xmm10
movdqa xmm7, xmm4
pxor xmm8, xmm11
pxor xmm8, xmm12
pslldq xmm7, 4
pshufd xmm5, xmm8, 0x55
movd r11d, xmm5
movd eax, xmm5
movd r8d, xmm5
movzx esi, al
shr r11d, 0x18
movzx edx, byte [rbp + rsi]
shr r8d, 0x10
movzx ebx, ah
movzx r9d, byte [rbp + r11]
pshufd xmm6, xmm8, 0xff
movzx r10d, r8b
movzx r13d, byte [rbp + rbx]
movd r14d, xmm6
movzx r12d, byte [rbp + r10]
movd eax, xmm6
shr r14d, 0x18
shl r9d, 0x18
movzx r11d, al
movzx ebx, ah
shl r13d, 8
or r9d, edx
movd edx, xmm6
movzx r15d, byte [rbp + r14]
shl r12d, 0x10
shr edx, 0x10
movzx esi, byte [rbp + r11]
or r9d, r12d
movzx r12d, byte [rbp + rbx]
movzx r8d, dl
shl r15d, 0x18
or r9d, r13d
or r15d, esi
movzx r10d, byte [rbp + r8]
mov r13d, r9d
shl r10d, 0x10
or r15d, r10d
shl r12d, 8
ror r13d, 8
or r15d, r12d
mov dword [rsp], r13d
mov eax, r15d
mov dword [rsp + 0x20], r15d
ror eax, 8
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x20]
movd xmm3, dword [rsp + 0x10]
movd xmm10, dword [rsp]
mov dword [rsp + 0x10], r9d
punpckldq xmm13, xmm3
movd xmm11, dword [rsp + 0x10]
movaps xmmword [rsp], xmm9
punpckldq xmm11, xmm10
movdqa xmm3, xmm11
punpcklqdq xmm3, xmm13
movdqa xmm13, xmm7
pxor xmm7, xmm4
pshufd xmm6, xmm3, 0xaa
pslldq xmm13, 4
pxor xmm6, xmm13
pxor xmm7, xmm6
movdqa xmm6, xmm8
pxor xmm7, xmm9
pshufd xmm9, xmm7, 0x55
pslldq xmm6, 4
pshufd xmm4, xmm7, 0xff
movd r9d, xmm9
movd edx, xmm9
movd esi, xmm9
movzx r15d, dl
shr r9d, 0x18
movzx r11d, byte [rbp + r15]
shr esi, 0x10
movzx ebx, dh
movzx r14d, byte [rbp + r9]
movzx r8d, sil
movd r13d, xmm4
movd eax, xmm4
movzx r10d, byte [rbp + r8]
shr r13d, 0x18
movzx r9d, al
movzx r12d, byte [rbp + rbx]
shl r14d, 0x18
movzx edx, byte [rbp + r13]
movzx ebx, ah
movdqa xmm13, xmm6
or r14d, r11d
movd r11d, xmm4
shl r10d, 0x10
movdqa xmm4, xmm7
shr r11d, 0x10
movzx r15d, byte [rbp + r9]
or r14d, r10d
shl edx, 0x18
movzx esi, r11b
movzx r10d, byte [rbp + rbx]
shl r12d, 8
pslldq xmm13, 4
or edx, r15d
pslldq xmm4, 4
pxor xmm6, xmm13
or r14d, r12d
movzx r8d, byte [rbp + rsi]
shl r10d, 8
mov r12d, r14d
shl r8d, 0x10
or edx, r8d
ror r12d, 8
or edx, r10d
xor r12d, 2
mov eax, edx
mov dword [rsp + 0x10], r12d
movd xmm5, dword [rsp + 0x10]
ror eax, 8
xor eax, 2
mov dword [rsp + 0x28], edx
movd xmm3, dword [rsp + 0x28]
mov dword [rsp + 0x20], eax
movd xmm11, dword [rsp + 0x20]
punpckldq xmm3, xmm11
movdqa xmm11, xmm13
mov dword [rsp + 0x20], r14d
movd xmm10, dword [rsp + 0x20]
pslldq xmm11, 4
punpckldq xmm10, xmm5
movdqa xmm9, xmm10
movdqa xmm5, xmm4
punpcklqdq xmm9, xmm3
pshufd xmm3, xmm9, 0xff
pslldq xmm5, 4
pxor xmm3, xmm11
pxor xmm6, xmm3
pxor xmm6, xmm8
pshufd xmm13, xmm6, 0x55
movd r14d, xmm13
movd r11d, xmm13
movd edx, xmm13
shr r11d, 0x10
shr r14d, 0x18
movzx r9d, dl
movzx esi, r11b
movzx ebx, dh
movzx r13d, byte [rbp + r14]
movzx r15d, byte [rbp + r9]
pshufd xmm10, xmm6, 0xff
shl r13d, 0x18
movzx r8d, byte [rbp + rsi]
movzx r10d, byte [rbp + rbx]
movd r12d, xmm10
movd eax, xmm10
or r13d, r15d
movd r15d, xmm10
movzx r14d, al
movzx ebx, ah
shl r8d, 0x10
movzx r9d, byte [rbp + r14]
or r13d, r8d
shl r10d, 8
shr r12d, 0x18
shr r15d, 0x10
movzx r8d, byte [rbp + rbx]
or r13d, r10d
movzx edx, byte [rbp + r12]
movzx r11d, r15b
mov r10d, r13d
movzx esi, byte [rbp + r11]
shl r8d, 8
ror r10d, 8
mov dword [rsp + 0x10], r10d
shl edx, 0x18
shl esi, 0x10
or edx, r9d
or edx, esi
or edx, r8d
mov eax, edx
ror eax, 8
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], edx
movd xmm3, dword [rsp + 0x20]
movd xmm11, dword [rsp + 0x10]
mov dword [rsp + 0x20], r13d
movd xmm9, dword [rsp + 0x28]
movd xmm13, dword [rsp + 0x20]
punpckldq xmm9, xmm3
punpckldq xmm13, xmm11
punpcklqdq xmm13, xmm9
movdqa xmm9, xmm5
pxor xmm5, xmm4
pshufd xmm10, xmm13, 0xaa
pslldq xmm9, 4
pxor xmm10, xmm9
pxor xmm5, xmm10
pxor xmm5, xmm7
pshufd xmm4, xmm5, 0x55
movd r13d, xmm4
movd edx, xmm4
movd r15d, xmm4
movzx r14d, dl
shr r13d, 0x18
shr r15d, 0x10
pshufd xmm3, xmm5, 0xff
movzx ebx, dh
movzx r12d, byte [rbp + r13]
movzx r9d, byte [rbp + r14]
movzx r11d, r15b
movd r10d, xmm3
movzx esi, byte [rbp + r11]
movd eax, xmm3
shr r10d, 0x18
movzx r8d, byte [rbp + rbx]
shl r12d, 0x18
movzx edx, byte [rbp + r10]
movzx r13d, al
movdqa xmm4, xmm6
shl esi, 0x10
or r12d, r9d
movd r9d, xmm3
shl r8d, 8
shr r9d, 0x10
movzx r14d, byte [rbp + r13]
or r12d, esi
movzx esi, ah
movzx r15d, r9b
movzx ebx, byte [rbp + rsi]
shl edx, 0x18
or r12d, r8d
movzx r11d, byte [rbp + r15]
or edx, r14d
pslldq xmm4, 4
mov r8d, r12d
shl ebx, 8
ror r8d, 8
movdqa xmm13, xmm4
xor r8d, 4
shl r11d, 0x10
mov dword [rsp + 0x10], r8d
movd xmm3, dword [rsp + 0x10]
pslldq xmm13, 4
or edx, r11d
pxor xmm4, xmm13
or edx, ebx
mov eax, edx
ror eax, 8
mov dword [rsp + 0x28], edx
movd xmm10, dword [rsp + 0x28]
xor eax, 4
mov dword [rsp + 0x20], eax
movd xmm11, dword [rsp + 0x20]
punpckldq xmm10, xmm11
mov dword [rsp + 0x20], r12d
movd xmm9, dword [rsp + 0x20]
punpckldq xmm9, xmm3
movdqa xmm3, xmm5
punpcklqdq xmm9, xmm10
pslldq xmm3, 4
movdqa xmm10, xmm13
pshufd xmm11, xmm9, 0xff
pslldq xmm10, 4
pxor xmm11, xmm10
pxor xmm4, xmm11
movdqa xmm10, xmm3
pxor xmm4, xmm6
pshufd xmm13, xmm4, 0x55
pshufd xmm9, xmm4, 0xff
movd edx, xmm13
movzx r10d, dl
movd r12d, xmm13
movzx r14d, byte [rbp + r10]
movd r9d, xmm13
movzx esi, dh
shr r12d, 0x18
shr r9d, 0x10
movd r8d, xmm9
movd eax, xmm9
movzx r13d, byte [rbp + r12]
movzx r15d, r9b
shr r8d, 0x18
movzx r12d, al
movzx r11d, byte [rbp + r15]
movzx ebx, byte [rbp + rsi]
movzx esi, ah
pslldq xmm10, 4
shl r13d, 0x18
movzx edx, byte [rbp + r8]
movzx r10d, byte [rbp + r12]
pxor xmm3, xmm10
shl r11d, 0x10
or r13d, r14d
movd r14d, xmm9
shl ebx, 8
shr r14d, 0x10
or r13d, r11d
shl edx, 0x18
movzx r11d, byte [rbp + rsi]
movzx r9d, r14b
or edx, r10d
or r13d, ebx
movzx r15d, byte [rbp + r9]
shl r11d, 8
mov ebx, r13d
shl r15d, 0x10
or edx, r15d
or edx, r11d
ror ebx, 8
mov eax, edx
mov dword [rsp + 0x10], ebx
ror eax, 8
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], eax
movd xmm13, dword [rsp + 0x28]
movd xmm11, dword [rsp + 0x20]
mov dword [rsp + 0x20], r13d
punpckldq xmm13, xmm11
movd xmm9, dword [rsp + 0x20]
movd xmm11, dword [rsp + 0x10]
punpckldq xmm9, xmm11
punpcklqdq xmm9, xmm13
movdqa xmm13, xmm10
pshufd xmm9, xmm9, 0xaa
pslldq xmm13, 4
pxor xmm9, xmm13
pxor xmm3, xmm9
pxor xmm3, xmm5
movdqa xmm9, xmm4
pshufd xmm10, xmm3, 0x55
movd r13d, xmm10
movd r10d, xmm10
movd ebx, xmm10
shr r10d, 0x10
shr r13d, 0x18
movzx r8d, bl
movzx r14d, r10b
movzx esi, bh
movzx edx, byte [rbp + r13]
movzx r12d, byte [rbp + r8]
pshufd xmm11, xmm3, 0xff
pslldq xmm9, 4
movzx r9d, byte [rbp + r14]
movzx r15d, byte [rbp + rsi]
movd r11d, xmm11
movd r8d, xmm11
shl edx, 0x18
movd eax, xmm11
shr r11d, 0x18
movdqa xmm13, xmm9
or edx, r12d
shl r9d, 0x10
movzx r13d, byte [rbp + r11]
movzx ebx, al
shr r8d, 0x10
or edx, r9d
shl r15d, 8
movzx esi, ah
movzx r12d, r8b
or r15d, edx
movzx edx, byte [rbp + rbx]
movzx r14d, byte [rbp + rsi]
movzx r10d, byte [rbp + r12]
shl r13d, 0x18
mov r9d, r15d
or r13d, edx
shl r10d, 0x10
pslldq xmm13, 4
or r13d, r10d
shl r14d, 8
or r13d, r14d
ror r9d, 8
pxor xmm9, xmm13
sub rdi, 1
mov eax, r13d
mov dword [rsp + 0x28], r13d
xor r9d, 8
and rdi, 0xfffffffffffffff8
ror eax, 8
mov dword [rsp + 0x10], r9d
lea rdi, [rcx + rdi + 0x10]
movd xmm10, dword [rsp + 0x28]
xor eax, 8
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
movd xmm11, dword [rsp + 0x20]
punpckldq xmm10, xmm11
movq qword [rsp + 0x20], xmm10
movd xmm11, dword [rsp + 0x10]
movd xmm10, dword [rsp + 0x28]
punpckldq xmm10, xmm11
movdqa xmm11, xmm13
movhps xmm10, qword [rsp + 0x20]
pshufd xmm10, xmm10, 0xff
pslldq xmm11, 4
pxor xmm10, xmm11
pxor xmm9, xmm10
pxor xmm9, xmm4
pshufd xmm13, xmm9, 0x55
pshufd xmm10, xmm9, 0xff
movd r15d, xmm13
movd r8d, xmm13
movd ebx, xmm13
shr r8d, 0x10
shr r15d, 0x18
movzx r13d, bl
movzx r12d, r8b
movzx esi, bh
movzx r11d, byte [rbp + r15]
movd r9d, xmm10
movd eax, xmm10
movzx edx, byte [rbp + r13]
movzx r10d, byte [rbp + r12]
movd r13d, xmm10
shr r9d, 0x18
movzx ebx, al
movzx r14d, byte [rbp + rsi]
shl r11d, 0x18
shr r13d, 0x10
movzx esi, ah
or r11d, edx
shl r10d, 0x10
movzx r15d, byte [rbp + r9]
movzx edx, r13b
or r11d, r10d
shl r14d, 8
movzx r8d, byte [rbp + rdx]
movdqa xmm10, xmm3
or r14d, r11d
movzx r11d, byte [rbp + rbx]
shl r15d, 0x18
movzx ebp, byte [rbp + rsi]
shl r8d, 0x10
pslldq xmm10, 4
mov r12d, r14d
shl ebp, 8
or r15d, r11d
ror r12d, 8
movaps xmmword [rsp + 0x10], xmm10
pslldq xmm10, 4
or r15d, r8d
mov dword [rsp + 0x20], r12d
or ebp, r15d
mov r10d, ebp
ror r10d, 8
mov dword [rsp + 0x30], ebp
movd xmm13, dword [rsp + 0x30]
mov dword [rsp + 0x28], r10d
movd xmm11, dword [rsp + 0x28]
punpckldq xmm13, xmm11
movq qword [rsp + 0x28], xmm13
movd xmm11, dword [rsp + 0x20]
mov dword [rsp + 0x30], r14d
movd xmm13, dword [rsp + 0x30]
lea r14, [rcx + 8]
punpckldq xmm13, xmm11
movhps xmm13, qword [rsp + 0x28]
movdqa xmm11, xmm10
pxor xmm10, xmmword [rsp + 0x10]
mov qword [rsp + 0x30], rcx
pslldq xmm11, 4
pshufd xmm13, xmm13, 0xaa
mov qword [rsp + 0x28], r14
lea r14, [0x00799880]
pxor xmm13, xmm11
mov qword [rsp + 0x88], rdi
movdqa xmm11, xmmword [rsp]
pxor xmm10, xmm13
pxor xmm10, xmm3
nop dword [rax]
mov r15, qword [rsp + 0x30]
pxor xmm2, xmmword [r15]
movd r13d, xmm2
pshufd xmm13, xmm2, 0x55
movd esi, xmm13
pxor xmm1, xmmword [r15 + 0x30]
movzx ebx, r13b
mov edx, dword [r14 + rbx*4]
pshufd xmm13, xmm2, 0xaa
pshufd xmm2, xmm2, 0xff
mov ebx, esi
movzx ebx, bh
movd eax, xmm2
movdqa xmm2, xmmword [rsp + 0x40]
pxor xmm2, xmmword [r15 + 0x10]
movd edi, xmm13
movd dword [rsp + 0x40], xmm1
pshufd xmm13, xmm2, 0x55
movd r12d, xmm2
movd r10d, xmm13
pshufd xmm13, xmm2, 0xaa
pshufd xmm2, xmm2, 0xff
movd dword [rsp], xmm2
movdqa xmm2, xmmword [rsp + 0x50]
pxor xmm2, xmmword [r15 + 0x20]
mov r15d, eax
movd r11d, xmm13
shr r15d, 0x18
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, edi
xor edx, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
movzx ebx, r15b
mov r15d, r13d
pshufd xmm13, xmm2, 0x55
shr r15d, 0x18
xor edx, dword [r14 + rbx*4 + 0x800]
movd ebp, xmm2
movd r8d, xmm13
mov ebx, edi
mov dword [rsp + 0x38], edx
movzx edx, sil
movzx ebx, bh
pshufd xmm13, xmm2, 0xaa
mov edx, dword [r14 + rdx*4]
pshufd xmm2, xmm2, 0xff
movd r9d, xmm13
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, eax
movd ecx, xmm2
xor edx, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
movzx ebx, r15b
mov r15d, esi
shr esi, 0x10
pshufd xmm13, xmm1, 0x55
shr r15d, 0x18
xor edx, dword [r14 + rbx*4 + 0x800]
movzx ebx, ah
movzx eax, al
mov dword [rsp + 0x70], edx
movzx edx, dil
shr edi, 0x18
pshufd xmm2, xmm1, 0xaa
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, r13d
pshufd xmm1, xmm1, 0xff
shr r15d, 0x10
xor edx, dword [r14 + rbx*4 + 0x400]
movd dword [rsp + 0x10], xmm13
movzx ebx, r15b
xor edx, dword [r14 + rbx*4 + 0x800]
mov r15d, dword [r14 + rax*4]
movd dword [rsp + 0x3c], xmm1
movzx ebx, r12b
mov dword [rsp + 0x50], edx
mov edx, r13d
xor r15d, dword [r14 + rdi*4 + 0xc00]
movzx r13d, sil
movzx edi, dh
movd dword [rsp + 0x20], xmm2
xor r15d, dword [r14 + rdi*4 + 0x400]
xor r15d, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x74], r15d
movd xmm2, dword [rsp + 0x50]
mov edi, dword [rsp]
mov eax, dword [r14 + rbx*4]
mov ebx, r10d
shr edi, 0x18
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r11d
movd xmm1, dword [rsp + 0x38]
shr ebx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x74]
movzx edi, bl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ebx, r12d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x70]
mov dword [rsp + 0x38], eax
shr ebx, 0x18
movzx eax, r10b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rbx*4 + 0xc00]
mov ebx, r11d
punpckldq xmm1, xmm13
movzx edi, bh
mov ebx, dword [rsp]
xor eax, dword [r14 + rdi*4 + 0x400]
punpcklqdq xmm1, xmm2
mov edi, ebx
shr edi, 0x10
pxor xmm1, xmm12
pshufd xmm2, xmm1, 0x55
movzx edi, dil
pshufd xmm13, xmm1, 0xaa
movd r15d, xmm2
movd r13d, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, r10d
mov dword [rsp], eax
movzx eax, r11b
movd esi, xmm13
shr edi, 0x18
mov eax, dword [r14 + rax*4]
pshufd xmm1, xmm1, 0xff
movd edx, xmm1
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
movd xmm1, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr r10d, 0x10
shr edi, 0x10
shr r11d, 0x18
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, r10b
movzx edi, bh
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, ecx
movd xmm2, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
shr r11d, 0x18
mov dword [rsp + 0x50], eax
movd xmm13, dword [rsp + 0x50]
movzx eax, bpl
punpckldq xmm2, xmm13
movd xmm13, dword [rsp]
mov edi, dword [r14 + rax*4]
mov eax, r8d
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
pxor xmm1, xmm12
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x38], xmm2
xor edi, dword [r14 + r11*4 + 0xc00]
movd r10d, xmm13
movd r12d, xmm1
mov r11d, edi
movzx edi, ah
pshufd xmm1, xmm1, 0xff
mov eax, dword [r14 + rdi*4 + 0x400]
movd ebx, xmm1
xor eax, r11d
mov r11d, r9d
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, ebp
mov dword [rsp], eax
shr r11d, 0x18
movzx eax, r8b
movd xmm1, dword [rsp]
mov edi, dword [r14 + rax*4]
mov eax, r9d
xor edi, dword [r14 + r11*4 + 0xc00]
mov r11d, edi
movzx edi, ah
mov eax, dword [r14 + rdi*4 + 0x400]
xor eax, r11d
mov r11d, ecx
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, r8d
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x70], eax
shr r11d, 0x18
movzx eax, r9b
shr r8d, 0x10
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, ebp
shr r9d, 0x18
shr r11d, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx r8d, r8b
movzx edi, r11b
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, dword [rsp + 0x40]
mov dword [rsp + 0x50], eax
movzx edi, r11b
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x50]
movzx ebp, ch
xor eax, dword [r14 + r9*4 + 0xc00]
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + r8*4 + 0x800]
mov ecx, dword [rsp + 0x10]
mov dword [rsp + 0x74], eax
movd xmm13, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x3c]
punpckldq xmm2, xmm13
shr r9d, 0x18
movd xmm13, dword [rsp + 0x70]
mov eax, dword [r14 + rdi*4]
movzx edi, ch
punpckldq xmm1, xmm13
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + r9*4 + 0xc00]
punpcklqdq xmm1, xmm2
mov r9d, ecx
pxor xmm1, xmm12
shr r9d, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movzx edi, r9b
mov r9d, r11d
pshufd xmm1, xmm1, 0xff
movd dword [rsp], xmm2
movzx ecx, ch
movd r8d, xmm13
movd dword [rsp + 0x70], xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
shr r9d, 0x18
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x10]
movd xmm1, dword [rsp + 0x40]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r9*4 + 0xc00]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, dword [rsp + 0x3c]
mov edi, ecx
shr edi, 0x10
movzx r9d, dil
xor eax, dword [r14 + r9*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov r9d, r11d
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x20]
shr edi, 0x18
shr r9d, 0x10
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, r9b
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
movzx eax, cl
mov ecx, dword [rsp + 0x20]
mov eax, dword [r14 + rax*4]
shr ecx, 0x18
mov r9d, ecx
mov ecx, r11d
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + r9*4 + 0xc00]
shr r11d, 0x10
movzx edi, ch
movzx r9d, r11b
movd xmm2, dword [rsp + 0x50]
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r9*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x10]
movzx eax, r13b
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x3c]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
punpckldq xmm1, xmm13
movzx edi, ch
punpcklqdq xmm1, xmm2
mov ecx, esi
shr ecx, 0x10
pxor xmm1, xmm12
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x3c], xmm1
shr ecx, 0x18
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x10], xmm2
pshufd xmm1, xmm1, 0xff
movd r11d, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
movzx eax, r15b
movd r9d, xmm1
movd xmm1, dword [rsp + 0x20]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movzx edi, ch
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r15d
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x40], eax
shr ecx, 0x18
movzx eax, sil
shr esi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
mov edi, ebx
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
mov ecx, dword [rsp + 0x38]
movzx r13d, r15b
shr edi, 0x18
xor eax, dword [r14 + rsi*4 + 0x400]
movd xmm2, dword [rsp + 0x50]
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x74]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
movzx eax, byte [rsp + 0x38]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movzx edi, ch
mov ecx, ebx
pxor xmm1, xmm11
shr ecx, 0x10
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movd r13d, xmm1
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
movd r15d, xmm2
movd esi, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov ecx, dword [rsp + 0x38]
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r14 + rax*4]
pshufd xmm1, xmm1, 0xff
mov edi, ecx
movd edx, xmm1
shr edi, 0x18
shr ecx, 0x10
movd xmm1, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
mov ecx, dword [rsp]
movd xmm2, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x50], eax
movzx eax, bpl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
mov ecx, dword [rsp + 0x70]
pxor xmm1, xmm11
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x20], xmm2
movd r12d, xmm1
pshufd xmm13, xmm1, 0xaa
mov edi, ecx
pshufd xmm1, xmm1, 0xff
movd r10d, xmm13
shr edi, 0x10
movzx edi, dil
movd ebx, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x70], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
shr edi, 0x18
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
movd xmm1, dword [rsp + 0x38]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + r8*4 + 0xc00]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
mov dword [rsp], eax
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
movd xmm13, dword [rsp]
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
pxor xmm1, xmm11
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
movd dword [rsp], xmm2
movd r8d, xmm13
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movd dword [rsp + 0x70], xmm1
movzx edi, cl
mov ecx, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r11b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
shr r11d, 0x18
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
movzx r9d, r9b
movd xmm1, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx ecx, ch
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm2, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x10]
punpckldq xmm2, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x40]
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
punpckldq xmm1, xmm13
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
punpcklqdq xmm1, xmm2
mov dword [rsp + 0x3c], eax
movzx eax, r15b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
pxor xmm1, xmm11
movzx edi, ch
mov ecx, edx
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x38], xmm1
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x10], xmm2
pshufd xmm13, xmm1, 0xaa
movzx edi, cl
pshufd xmm1, xmm1, 0xff
movd r11d, xmm13
mov ecx, r15d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x40], eax
movzx eax, sil
shr r15d, 0x10
movd r9d, xmm1
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr esi, 0x18
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
movzx r13d, r15b
mov edi, ebx
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
shr edi, 0x18
xor eax, dword [r14 + rsi*4 + 0x400]
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm1, dword [rsp + 0x3c]
mov dword [rsp + 0x74], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm2, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
punpckldq xmm1, xmm13
movzx edi, ch
mov ecx, ebx
punpcklqdq xmm1, xmm2
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x20]
pxor xmm1, xmm8
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x800]
movd r13d, xmm1
mov edi, ecx
shr edi, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r10b
movd r15d, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr ecx, 0x10
pshufd xmm13, xmm1, 0xaa
shr edi, 0x10
shr r10d, 0x18
pshufd xmm1, xmm1, 0xff
movd esi, xmm13
movzx edi, dil
movd edx, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x50], eax
movd xmm2, dword [rsp + 0x20]
mov edi, dword [rsp + 0x70]
movzx eax, bpl
shr edi, 0x18
mov ecx, dword [rsp]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movd xmm1, dword [rsp + 0x3c]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
mov ecx, dword [rsp + 0x70]
pxor xmm1, xmm8
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x20], xmm2
movd r12d, xmm1
mov edi, ecx
movd r10d, xmm13
pshufd xmm1, xmm1, 0xff
shr edi, 0x10
movzx edi, dil
movd ebx, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x70], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
shr edi, 0x18
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + r8*4 + 0xc00]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
mov dword [rsp], eax
movd xmm13, dword [rsp]
movzx eax, byte [rsp + 0x38]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x70]
movd xmm1, dword [rsp + 0x3c]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
pxor xmm1, xmm8
movd ebp, xmm1
mov ecx, dword [rsp + 0x10]
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movd dword [rsp + 0x3c], xmm1
movd r8d, xmm13
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp], xmm2
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x70], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r11b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
shr r11d, 0x18
movzx edi, ch
mov ecx, dword [rsp + 0x38]
movzx r9d, r9b
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
movzx ecx, ch
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm2, dword [rsp + 0x38]
movd xmm1, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x10]
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x70], eax
movzx eax, r15b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
punpckldq xmm1, xmm13
movzx edi, ch
mov ecx, edx
punpcklqdq xmm1, xmm2
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r15d
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ecx, 0x18
movzx eax, sil
movzx edi, dh
mov eax, dword [r14 + rax*4]
movzx edx, dl
shr esi, 0x18
pxor xmm1, xmm8
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x38], xmm1
shr ecx, 0x10
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r13d
movd r11d, xmm13
mov edi, ebx
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
pshufd xmm1, xmm1, 0xff
movd r9d, xmm1
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
movd dword [rsp + 0x10], xmm2
movzx r13d, r15b
xor eax, dword [r14 + rsi*4 + 0x400]
movd xmm2, dword [rsp + 0x50]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm1, dword [rsp + 0x70]
mov dword [rsp + 0x74], eax
movzx eax, r12b
movd xmm13, dword [rsp + 0x74]
mov eax, dword [r14 + rax*4]
punpckldq xmm2, xmm13
xor eax, dword [r14 + rdi*4 + 0xc00]
movd xmm13, dword [rsp + 0x40]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov ecx, dword [rsp + 0x20]
pxor xmm1, xmm7
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movd r15d, xmm2
movd esi, xmm13
movd r13d, xmm1
movzx edi, ch
mov ecx, r10d
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm1, xmm1, 0xff
shr ecx, 0x10
movzx edi, cl
mov ecx, r12d
movd edx, xmm1
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x20]
movd xmm1, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movzx edi, ch
mov ecx, ebx
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ecx
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
movd xmm2, dword [rsp + 0x20]
mov ecx, dword [rsp]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x50], eax
movzx eax, bpl
movd xmm13, dword [rsp + 0x50]
mov edi, dword [rsp + 0x3c]
punpckldq xmm2, xmm13
shr edi, 0x18
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r14 + rax*4]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
pxor xmm1, xmm7
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, ebp
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm2, xmm1, 0x55
shr ecx, 0x18
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x20], xmm2
movd r10d, xmm13
movd r12d, xmm1
pshufd xmm1, xmm1, 0xff
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp]
movd ebx, xmm1
movd xmm1, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x3c], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + r8*4 + 0xc00]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
mov dword [rsp], eax
movzx eax, byte [rsp + 0x38]
movd xmm13, dword [rsp]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x3c]
mov eax, dword [r14 + rax*4]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
pxor xmm1, xmm7
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
movd dword [rsp], xmm2
movd r8d, xmm13
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movd dword [rsp + 0x3c], xmm1
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x10]
mov ecx, dword [rsp + 0x38]
movd xmm1, dword [rsp + 0x70]
shr ecx, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ecx, 0x18
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
movzx r9d, r9b
movzx edi, ch
mov ecx, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx ecx, ch
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm2, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x10]
movzx eax, r13b
punpckldq xmm2, xmm13
mov eax, dword [r14 + rax*4]
movd xmm13, dword [rsp + 0x40]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
pxor xmm1, xmm7
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x38], xmm1
shr ecx, 0x10
movd dword [rsp + 0x10], xmm2
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, cl
movd r9d, xmm1
movd r11d, xmm13
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x70], eax
movzx eax, r15b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movzx edi, ch
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm1, dword [rsp + 0x70]
shr ecx, 0x10
movzx edi, cl
mov ecx, r15d
shr r15d, 0x10
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ecx, 0x18
movzx eax, sil
movzx edi, dh
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr esi, 0x18
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edx, dl
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r13d
movzx r13d, r15b
mov edi, ebx
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
shr edi, 0x18
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x74]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm2, dword [rsp + 0x50]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
punpckldq xmm1, xmm13
movzx edi, ch
mov ecx, ebx
punpcklqdq xmm1, xmm2
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x20]
pxor xmm1, xmm6
movd r13d, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm2, xmm1, 0x55
mov edi, ecx
shr edi, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r10b
pshufd xmm13, xmm1, 0xaa
mov eax, dword [r14 + rax*4]
pshufd xmm1, xmm1, 0xff
movd r15d, xmm2
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movd edx, xmm1
movzx ebx, bl
movd xmm1, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr ecx, 0x10
movd esi, xmm13
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
movzx edi, bh
mov ecx, dword [rsp]
xor eax, dword [r14 + r10*4 + 0xc00]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x3c]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
movd xmm2, dword [rsp + 0x20]
mov dword [rsp + 0x50], eax
movzx eax, bpl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
pxor xmm1, xmm6
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x20], xmm2
movd r12d, xmm1
pshufd xmm13, xmm1, 0xaa
mov edi, ecx
pshufd xmm1, xmm1, 0xff
movd r10d, xmm13
shr edi, 0x10
movzx edi, dil
movd ebx, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x3c], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
shr edi, 0x18
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm1, dword [rsp + 0x70]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + r8*4 + 0xc00]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
mov dword [rsp], eax
movzx eax, byte [rsp + 0x38]
shr ecx, 0x18
movd xmm13, dword [rsp]
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x3c]
mov eax, dword [r14 + rax*4]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
pxor xmm1, xmm6
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
movd dword [rsp], xmm2
movd r8d, xmm13
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movd dword [rsp + 0x3c], xmm1
movzx edi, cl
mov ecx, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r11b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
shr r11d, 0x18
movzx edi, ch
movzx r9d, r9b
xor eax, dword [r14 + rdi*4 + 0x400]
mov ecx, dword [rsp + 0x38]
movd xmm1, dword [rsp + 0x70]
mov edi, ecx
shr edi, 0x10
movzx ecx, ch
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
shr ecx, 0x18
movd xmm2, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x10]
punpckldq xmm2, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x40]
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
punpckldq xmm1, xmm13
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
punpcklqdq xmm1, xmm2
mov dword [rsp + 0x70], eax
movzx eax, r15b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
pxor xmm1, xmm6
movzx edi, ch
mov ecx, edx
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x38], xmm1
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x10], xmm2
pshufd xmm13, xmm1, 0xaa
movzx edi, cl
pshufd xmm1, xmm1, 0xff
movd r11d, xmm13
mov ecx, r15d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x40], eax
movzx eax, sil
shr esi, 0x18
movd r9d, xmm1
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
mov edi, ebx
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
movzx r13d, r15b
xor eax, dword [r14 + rsi*4 + 0x400]
mov ecx, dword [rsp + 0x20]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm1, dword [rsp + 0x70]
mov dword [rsp + 0x74], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm2, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
punpckldq xmm1, xmm13
movzx edi, ch
mov ecx, ebx
punpcklqdq xmm1, xmm2
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x20]
pxor xmm1, xmm5
movd r13d, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm2, xmm1, 0x55
mov edi, ecx
shr edi, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r10b
shr ecx, 0x10
mov eax, dword [r14 + rax*4]
shr r10d, 0x18
pshufd xmm13, xmm1, 0xaa
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
pshufd xmm1, xmm1, 0xff
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
movd r15d, xmm2
movd esi, xmm13
shr edi, 0x10
movzx edi, dil
movd edx, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
movd xmm2, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x50], eax
movzx eax, bpl
movd xmm13, dword [rsp + 0x50]
movd xmm1, dword [rsp + 0x70]
punpckldq xmm2, xmm13
mov edi, dword [rsp + 0x3c]
mov ecx, dword [rsp]
shr edi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x40]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm1, xmm13
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp]
shr ecx, 0x18
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
pxor xmm1, xmm5
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
pshufd xmm2, xmm1, 0x55
movd r12d, xmm1
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x20], xmm2
pshufd xmm1, xmm1, 0xff
mov edi, ecx
shr edi, 0x10
movd r10d, xmm13
movd ebx, xmm1
movd xmm1, dword [rsp + 0x70]
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x3c], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + r8*4 + 0xc00]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
mov dword [rsp], eax
movd xmm2, dword [rsp + 0x40]
movd xmm13, dword [rsp]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x3c]
movzx eax, byte [rsp + 0x38]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
pxor xmm1, xmm5
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movd r8d, xmm13
movd dword [rsp], xmm2
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x3c], xmm1
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x70], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r11b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
shr r11d, 0x18
movzx edi, ch
mov ecx, dword [rsp + 0x38]
movzx r9d, r9b
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
movzx ecx, ch
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm2, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x10]
punpckldq xmm2, xmm13
movd xmm1, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
movd xmm13, dword [rsp + 0x40]
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
punpckldq xmm1, xmm13
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
punpcklqdq xmm1, xmm2
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
pxor xmm1, xmm5
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x38], xmm1
mov dword [rsp + 0x70], eax
movzx eax, r15b
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
mov eax, dword [r14 + rax*4]
movd r11d, xmm13
movd dword [rsp + 0x10], xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movd r9d, xmm1
movd xmm1, dword [rsp + 0x70]
movzx edi, ch
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r15d
movzx edi, dh
shr r15d, 0x10
mov dword [rsp + 0x40], eax
shr ecx, 0x18
movzx eax, sil
movzx edx, dl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr esi, 0x18
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
movzx r13d, r15b
mov edi, ebx
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
shr edi, 0x18
xor eax, dword [r14 + rsi*4 + 0x400]
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm2, dword [rsp + 0x50]
mov dword [rsp + 0x74], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
movd xmm13, dword [rsp + 0x74]
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov ecx, r12d
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movzx edi, ch
mov ecx, ebx
pxor xmm1, xmm4
shr ecx, 0x10
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movd r13d, xmm1
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x20]
movd r15d, xmm2
movd esi, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm1, xmm1, 0xff
mov edi, ecx
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, r10b
movd edx, xmm1
movd xmm1, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr ecx, 0x10
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
movzx edi, bh
xor eax, dword [r14 + r10*4 + 0xc00]
movd xmm2, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x3c]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
mov ecx, dword [rsp]
mov dword [rsp + 0x50], eax
movzx eax, bpl
movd xmm13, dword [rsp + 0x50]
mov eax, dword [r14 + rax*4]
punpckldq xmm2, xmm13
xor eax, dword [r14 + rdi*4 + 0xc00]
movd xmm13, dword [rsp + 0x40]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
punpckldq xmm1, xmm13
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
punpcklqdq xmm1, xmm2
mov ecx, ebp
mov dword [rsp + 0x70], eax
pxor xmm1, xmm4
movzx eax, byte [rsp]
shr ecx, 0x18
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x20], xmm2
pshufd xmm13, xmm1, 0xaa
movd r12d, xmm1
pshufd xmm1, xmm1, 0xff
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movd r10d, xmm13
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
movd ebx, xmm1
movd xmm1, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x3c], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + r8*4 + 0xc00]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
mov dword [rsp], eax
movzx eax, byte [rsp + 0x38]
movd xmm13, dword [rsp]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x3c]
mov eax, dword [r14 + rax*4]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
pxor xmm1, xmm4
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
movd dword [rsp], xmm2
movd r8d, xmm13
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movd dword [rsp + 0x3c], xmm1
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x10]
mov ecx, dword [rsp + 0x38]
movd xmm1, dword [rsp + 0x70]
shr ecx, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ecx, 0x18
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
movzx r9d, r9b
movzx edi, ch
mov ecx, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx ecx, ch
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
shr ecx, 0x18
movd xmm2, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x10]
punpckldq xmm2, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x40]
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
punpckldq xmm1, xmm13
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
punpcklqdq xmm1, xmm2
mov dword [rsp + 0x70], eax
movzx eax, r15b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
pxor xmm1, xmm4
movzx edi, ch
mov ecx, edx
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x38], xmm1
shr ecx, 0x10
movd dword [rsp + 0x10], xmm2
pshufd xmm13, xmm1, 0xaa
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
pshufd xmm1, xmm1, 0xff
movd r11d, xmm13
mov ecx, r15d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x40], eax
movzx eax, sil
shr esi, 0x18
movd r9d, xmm1
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
movd xmm1, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
shr edi, 0x18
shr r15d, 0x10
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rsi*4 + 0x400]
movzx r13d, r15b
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm2, dword [rsp + 0x50]
mov dword [rsp + 0x74], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x74]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movzx edi, ch
mov ecx, ebx
pxor xmm1, xmm3
shr ecx, 0x10
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movd r13d, xmm1
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x20]
movd r15d, xmm2
movd esi, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm1, xmm1, 0xff
mov edi, ecx
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, r10b
shr ecx, 0x10
movd edx, xmm1
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr r10d, 0x18
movd xmm1, dword [rsp + 0x70]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
mov ecx, dword [rsp]
movd xmm2, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x3c]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x50], eax
movzx eax, bpl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
movzx eax, byte [rsp]
shr ecx, 0x18
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
pxor xmm1, xmm3
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x70], xmm2
pshufd xmm13, xmm1, 0xaa
movd r12d, xmm1
mov edi, ecx
movd r10d, xmm13
pshufd xmm1, xmm1, 0xff
shr edi, 0x10
movzx edi, dil
movd ebx, xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x3c], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
shr edi, 0x18
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + rcx*4]
xor eax, dword [r14 + r8*4 + 0xc00]
mov ecx, ebp
movzx ebp, ch
mov r8d, dword [rsp]
xor eax, dword [r14 + rbp*4 + 0x400]
shr r8d, 0x10
movzx edi, r8b
mov ecx, dword [r14 + rdi*4 + 0x800]
mov edi, r9d
movd xmm2, dword [rsp + 0x40]
xor ecx, eax
movzx eax, byte [rsp + 0x38]
mov dword [rsp], ecx
shr edi, 0x18
movd xmm13, dword [rsp]
movd xmm1, dword [rsp + 0x20]
punpckldq xmm2, xmm13
mov ecx, dword [r14 + rax*4]
mov eax, dword [rsp + 0x10]
xor ecx, dword [r14 + rdi*4 + 0xc00]
movd xmm13, dword [rsp + 0x3c]
movzx edi, ah
mov eax, r11d
shr eax, 0x10
xor ecx, dword [r14 + rdi*4 + 0x400]
punpckldq xmm1, xmm13
movzx edi, al
xor ecx, dword [r14 + rdi*4 + 0x800]
mov eax, dword [rsp + 0x38]
punpcklqdq xmm1, xmm2
mov dword [rsp], ecx
movzx ecx, byte [rsp + 0x10]
shr eax, 0x18
pxor xmm1, xmm3
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rax*4 + 0xc00]
mov eax, r11d
movd dword [rsp + 0x3c], xmm2
movd r8d, xmm13
movzx edi, ah
mov eax, r9d
movd dword [rsp + 0x20], xmm1
shr eax, 0x10
xor ecx, dword [r14 + rdi*4 + 0x400]
movzx edi, al
mov eax, dword [rsp + 0x10]
shr eax, 0x18
xor ecx, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x40], ecx
movzx ecx, r11b
shr r11d, 0x18
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rax*4 + 0xc00]
mov eax, r9d
movzx r9d, r9b
movzx edi, ah
mov eax, dword [rsp + 0x38]
xor ecx, dword [r14 + rdi*4 + 0x400]
mov edi, eax
shr edi, 0x10
movzx edi, dil
movzx eax, ah
xor ecx, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], ecx
mov ecx, dword [r14 + r9*4]
mov r9d, edx
xor ecx, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor ecx, dword [r14 + rax*4 + 0x400]
xor ecx, dword [r14 + rdi*4 + 0x800]
shr r9d, 0x18
mov dword [rsp + 0x10], ecx
movzx ecx, r13b
mov eax, r9d
mov r9d, esi
movd xmm13, dword [rsp + 0x10]
mov r11d, dword [r14 + rcx*4]
mov ecx, r15d
shr r9d, 0x10
xor r11d, dword [r14 + rax*4 + 0xc00]
movzx edi, ch
movzx ecx, r9b
mov eax, esi
movd xmm2, dword [rsp + 0x38]
xor r11d, dword [r14 + rdi*4 + 0x400]
mov edi, r13d
xor r11d, dword [r14 + rcx*4 + 0x800]
shr edi, 0x18
mov r9d, edi
mov dword [rsp + 0x10], r11d
movzx r11d, r15b
movzx edi, ah
mov ecx, dword [r14 + r11*4]
punpckldq xmm2, xmm13
movd xmm1, dword [rsp]
xor ecx, dword [r14 + r9*4 + 0xc00]
mov r9d, edx
xor ecx, dword [r14 + rdi*4 + 0x400]
mov edi, r15d
shr r9d, 0x10
shr edi, 0x18
movd xmm13, dword [rsp + 0x40]
movzx eax, r9b
xor ecx, dword [r14 + rax*4 + 0x800]
mov r9d, edi
punpckldq xmm1, xmm13
movzx eax, dh
mov dword [rsp + 0x74], ecx
movzx ecx, sil
punpcklqdq xmm1, xmm2
shr esi, 0x18
mov r11d, dword [r14 + rcx*4]
pxor xmm1, xmm3
shr r15d, 0x10
movzx edx, dl
xor r11d, dword [r14 + r9*4 + 0xc00]
mov r9d, r13d
xor r11d, dword [r14 + rax*4 + 0x400]
mov eax, r13d
shr r9d, 0x10
pshufd xmm2, xmm1, 0x55
movzx r13d, r15b
movd dword [rsp + 0x40], xmm1
movzx edi, r9b
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx r15d, r12b
xor r11d, dword [r14 + rdi*4 + 0x800]
movd dword [rsp + 0x38], xmm2
mov edi, ebx
shr edi, 0x18
mov dword [rsp + 0x78], r11d
mov r11d, dword [r14 + rdx*4]
xor r11d, dword [r14 + rsi*4 + 0xc00]
movzx esi, ah
movd dword [rsp], xmm13
xor r11d, dword [r14 + rsi*4 + 0x400]
movd dword [rsp + 0x50], xmm1
xor r11d, dword [r14 + r13*4 + 0x800]
mov eax, dword [rsp + 0x70]
mov r13d, r10d
shr r13d, 0x10
mov edx, dword [r14 + r15*4]
mov dword [rsp + 0x7c], r11d
movzx r15d, r13b
movd xmm1, dword [rsp + 0x10]
mov r13d, eax
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, ah
xor edx, dword [r14 + rdi*4 + 0x400]
xor edx, dword [r14 + r15*4 + 0x800]
mov dword [rsp + 0x10], edx
movzx edx, al
mov eax, r12d
mov r15d, dword [r14 + rdx*4]
mov edx, r10d
movd xmm2, dword [rsp + 0x78]
shr eax, 0x18
movzx edi, dh
movd xmm13, dword [rsp + 0x7c]
xor r15d, dword [r14 + rax*4 + 0xc00]
mov eax, ebx
xor r15d, dword [r14 + rdi*4 + 0x400]
mov edi, r13d
shr eax, 0x10
movzx edx, al
punpckldq xmm2, xmm13
shr edi, 0x18
movd xmm13, dword [rsp + 0x74]
xor r15d, dword [r14 + rdx*4 + 0x800]
movzx edx, bh
movzx ebx, bl
mov dword [rsp + 0x70], r15d
movzx r15d, r10b
punpckldq xmm1, xmm13
mov eax, dword [r14 + r15*4]
mov r15d, r12d
xor eax, dword [r14 + rdi*4 + 0xc00]
xor eax, dword [r14 + rdx*4 + 0x400]
shr r15d, 0x10
mov edx, r12d
movzx edi, r15b
mov r12d, r13d
shr r10d, 0x18
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rdi*4 + 0x800]
shr r12d, 0x10
pxor xmm1, xmm9
movzx edi, dh
mov dword [rsp + 0x74], eax
mov eax, dword [r14 + rbx*4]
movd esi, xmm1
movzx r15d, bpl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx r10d, r12b
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + r10*4 + 0x800]
pshufd xmm13, xmm1, 0xaa
mov dword [rsp + 0x78], eax
movd r9d, xmm2
movd r11d, xmm13
movd xmm2, dword [rsp + 0x74]
movd xmm13, dword [rsp + 0x78]
pshufd xmm1, xmm1, 0xff
movd ecx, xmm1
punpckldq xmm2, xmm13
movd xmm1, dword [rsp + 0x10]
movd xmm13, dword [rsp + 0x70]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
pxor xmm1, xmm9
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
movd edi, xmm1
movd dword [rsp + 0x10], xmm2
mov r13d, dword [rsp + 0x20]
mov eax, dword [rsp + 0x3c]
movd r10d, xmm13
pshufd xmm1, xmm1, 0xff
mov r12d, dword [r14 + r15*4]
mov r15d, r8d
movd edx, xmm1
shr r13d, 0x18
shr r15d, 0x10
xor r12d, dword [r14 + r13*4 + 0xc00]
movzx ebx, ah
movzx r13d, r15b
xor r12d, dword [r14 + rbx*4 + 0x400]
mov r15d, eax
mov ebx, r8d
xor r12d, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x3c], r12d
movzx r12d, al
mov eax, ebp
movd xmm1, dword [rsp + 0x3c]
shr eax, 0x18
mov r12d, dword [r14 + r12*4]
xor r12d, dword [r14 + rax*4 + 0xc00]
movzx eax, bh
mov ebx, dword [rsp + 0x20]
xor r12d, dword [r14 + rax*4 + 0x400]
mov r13d, ebx
shr r13d, 0x10
movzx eax, r13b
mov r13d, r15d
shr r15d, 0x10
xor r12d, dword [r14 + rax*4 + 0x800]
mov dword [rsp + 0x20], r12d
shr r13d, 0x18
movzx r12d, r8b
movzx eax, bh
mov r12d, dword [r14 + r12*4]
xor r12d, dword [r14 + r13*4 + 0xc00]
mov r13d, ebp
shr r8d, 0x18
shr r13d, 0x10
xor r12d, dword [r14 + rax*4 + 0x400]
movzx ebx, bl
movzx eax, r13b
xor r12d, dword [r14 + rax*4 + 0x800]
mov eax, ebp
mov dword [rsp + 0x70], r12d
movzx ebp, ah
mov r12d, dword [r14 + rbx*4]
xor r12d, dword [r14 + r8*4 + 0xc00]
movzx r8d, r15b
mov r15d, ecx
movzx ebx, sil
shr r15d, 0x18
xor r12d, dword [r14 + rbp*4 + 0x400]
xor r12d, dword [r14 + r8*4 + 0x800]
mov r8d, dword [r14 + rbx*4]
mov ebx, r9d
mov dword [rsp + 0x74], r12d
movzx ebx, bh
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, r11d
movd xmm13, dword [rsp + 0x74]
shr r15d, 0x10
xor r8d, dword [r14 + rbx*4 + 0x400]
movd xmm2, dword [rsp + 0x70]
movzx ebx, r15b
mov r15d, esi
xor r8d, dword [r14 + rbx*4 + 0x800]
shr r15d, 0x18
mov ebx, r11d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x20]
mov dword [rsp + 0x20], r8d
movzx r8d, r9b
movzx ebx, bh
mov r8d, dword [r14 + r8*4]
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, ecx
shr r15d, 0x10
xor r8d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
mov r15d, r9d
shr r9d, 0x10
xor r8d, dword [r14 + rbx*4 + 0x800]
shr r15d, 0x18
movzx ebx, ch
movzx ecx, cl
mov dword [rsp + 0x3c], r8d
movzx r8d, r11b
shr r11d, 0x18
movzx r9d, r9b
mov r8d, dword [r14 + r8*4]
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, esi
punpckldq xmm1, xmm13
shr r15d, 0x10
xor r8d, dword [r14 + rbx*4 + 0x400]
punpcklqdq xmm1, xmm2
movzx ebx, r15b
xor r8d, dword [r14 + rbx*4 + 0x800]
mov ebx, esi
pxor xmm1, xmm9
movzx esi, bh
mov ebx, dword [rsp + 0x38]
mov dword [rsp + 0x70], r8d
movd r13d, xmm1
pshufd xmm2, xmm1, 0x55
mov r8d, dword [r14 + rcx*4]
xor r8d, dword [r14 + r11*4 + 0xc00]
pshufd xmm13, xmm1, 0xaa
movd ebp, xmm2
mov r11d, dword [rsp + 0x40]
pshufd xmm1, xmm1, 0xff
movd r12d, xmm13
xor r8d, dword [r14 + rsi*4 + 0x400]
movzx esi, bh
mov ebx, dword [rsp]
xor r8d, dword [r14 + r9*4 + 0x800]
movd eax, xmm1
mov r9d, dword [rsp + 0x50]
movzx r15d, r11b
mov dword [rsp + 0x74], r8d
mov r8d, r9d
mov ecx, dword [r14 + r15*4]
mov r15d, ebx
shr r8d, 0x18
movd xmm2, dword [rsp + 0x74]
shr r15d, 0x10
xor ecx, dword [r14 + r8*4 + 0xc00]
movd xmm1, dword [rsp + 0x70]
movzx ebx, bh
movzx r8d, r15b
mov r15d, dword [rsp + 0x38]
xor ecx, dword [r14 + rsi*4 + 0x400]
mov esi, r11d
xor ecx, dword [r14 + r8*4 + 0x800]
mov r8d, r9d
punpckldq xmm1, xmm2
shr esi, 0x18
movd xmm2, dword [rsp + 0x20]
shr r8d, 0x10
mov dword [rsp + 0x20], ecx
movzx ecx, r15b
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rsi*4 + 0xc00]
movzx esi, r8b
movd xmm13, dword [rsp + 0x3c]
xor ecx, dword [r14 + rbx*4 + 0x400]
mov ebx, r15d
shr ebx, 0x18
xor ecx, dword [r14 + rsi*4 + 0x800]
punpckldq xmm2, xmm13
mov dword [rsp + 0x38], ecx
punpcklqdq xmm2, xmm1
movzx ecx, byte [rsp]
pxor xmm2, xmm10
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rbx*4 + 0xc00]
mov ebx, r9d
mov r9d, r11d
shr r9d, 0x10
movzx esi, bh
movzx r8d, r9b
xor ecx, dword [r14 + rsi*4 + 0x400]
xor ecx, dword [r14 + r8*4 + 0x800]
mov dword [rsp + 0x3c], ecx
movzx ecx, bl
mov ebx, dword [rsp]
shr ebx, 0x18
mov r9d, dword [r14 + rcx*4]
mov ecx, r11d
xor r9d, dword [r14 + rbx*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
movzx r11d, r15b
movzx ebx, dil
movd xmm13, dword [rsp + 0x3c]
xor r9d, dword [r14 + rsi*4 + 0x400]
xor r9d, dword [r14 + r11*4 + 0x800]
mov r15d, edx
mov dword [rsp], r9d
movd xmm1, dword [rsp]
shr r15d, 0x18
mov r11d, dword [r14 + rbx*4]
punpckldq xmm13, xmm1
mov ebx, dword [rsp + 0x10]
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, r10d
movq qword [rsp], xmm13
movd xmm1, dword [rsp + 0x20]
movd xmm13, dword [rsp + 0x38]
shr r15d, 0x10
movzx ebx, bh
xor r11d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
mov r15d, edi
xor r11d, dword [r14 + rbx*4 + 0x800]
punpckldq xmm1, xmm13
shr r15d, 0x18
mov ebx, r10d
movhps xmm1, qword [rsp]
mov dword [rsp], r11d
movzx r11d, byte [rsp + 0x10]
movzx ebx, bh
pxor xmm1, xmm9
pshufd xmm13, xmm1, 0x55
movd esi, xmm1
mov r11d, dword [r14 + r11*4]
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, edx
xor r11d, dword [r14 + rbx*4 + 0x400]
movd r8d, xmm13
shr r15d, 0x10
movzx ebx, r15b
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
xor r11d, dword [r14 + rbx*4 + 0x800]
mov dword [rsp + 0x20], r11d
mov r15d, dword [rsp + 0x10]
movzx r11d, r10b
movzx ebx, dh
mov r11d, dword [r14 + r11*4]
shr r10d, 0x18
movzx edx, dl
movd r9d, xmm13
shr r15d, 0x18
movd ecx, xmm1
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, edi
shr r15d, 0x10
xor r11d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
xor r11d, dword [r14 + rbx*4 + 0x800]
mov dword [rsp + 0x38], r11d
mov r11d, dword [r14 + rdx*4]
mov ebx, edi
movzx edx, r13b
xor r11d, dword [r14 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
movzx edi, bh
mov ebx, ebp
xor r11d, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x38]
shr r10d, 0x10
movzx r15d, r10b
xor r11d, dword [r14 + r15*4 + 0x800]
mov r10d, r12d
mov edi, dword [r14 + rdx*4]
movzx edx, bh
mov dword [rsp + 0x10], r11d
shr r10d, 0x10
mov r11d, eax
mov ebx, r12d
movd xmm1, dword [rsp + 0x10]
shr r11d, 0x18
movzx r15d, r10b
mov r10d, eax
xor edi, dword [r14 + r11*4 + 0xc00]
xor edi, dword [r14 + rdx*4 + 0x400]
movzx r11d, bpl
xor edi, dword [r14 + r15*4 + 0x800]
punpckldq xmm13, xmm1
movd xmm1, dword [rsp]
mov dword [rsp], edi
mov edi, r13d
movq qword [rsp + 0x10], xmm13
mov edx, dword [r14 + r11*4]
movd xmm13, dword [rsp + 0x20]
shr edi, 0x18
movzx r11d, r12b
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
xor edx, dword [r14 + rdi*4 + 0x400]
shr r10d, 0x10
mov ebx, ebp
movzx edi, ah
movzx r15d, r10b
punpckldq xmm1, xmm13
mov r10d, r13d
shr ebx, 0x18
shr r10d, 0x10
movhps xmm1, qword [rsp + 0x10]
shr r12d, 0x18
movzx eax, al
xor edx, dword [r14 + r15*4 + 0x800]
pxor xmm1, xmm10
movzx r15d, r10b
shr ebp, 0x10
movaps xmmword [rsp + 0x40], xmm1
movzx ebp, bpl
mov r10d, ecx
shr r10d, 0x18
mov dword [rsp + 0x10], edx
mov edx, dword [r14 + r11*4]
movzx r11d, sil
xor edx, dword [r14 + rbx*4 + 0xc00]
mov ebx, r13d
xor edx, dword [r14 + rdi*4 + 0x400]
movzx edi, bh
xor edx, dword [r14 + r15*4 + 0x800]
mov r15d, dword [r14 + r11*4]
mov r11d, ecx
mov dword [rsp + 0x20], edx
mov edx, dword [r14 + rax*4]
mov eax, r8d
shr r11d, 0x10
xor edx, dword [r14 + r12*4 + 0xc00]
mov r12d, edx
xor r12d, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x20]
movzx edx, ah
mov r13d, r12d
mov r12d, r9d
movzx edi, r8b
xor r13d, dword [r14 + rbp*4 + 0x800]
mov dword [rsp + 0x38], r13d
mov r13d, esi
shr r12d, 0x10
mov eax, r9d
movd xmm1, dword [rsp + 0x38]
shr r13d, 0x18
movzx ebx, r12b
mov ebp, dword [r14 + rdi*4]
xor r15d, dword [r14 + r10*4 + 0xc00]
movzx r10d, r11b
mov r12d, r8d
movzx edi, ch
shr r12d, 0x18
punpckldq xmm13, xmm1
shr r8d, 0x10
movzx ecx, cl
movq qword [rsp + 0x20], xmm13
movd xmm1, dword [rsp]
movd xmm13, dword [rsp + 0x10]
movzx r8d, r8b
xor r15d, dword [r14 + rdx*4 + 0x400]
xor ebp, dword [r14 + r13*4 + 0xc00]
movzx edx, ah
mov r13d, esi
xor r15d, dword [r14 + rbx*4 + 0x800]
shr r13d, 0x10
punpckldq xmm1, xmm13
xor ebp, dword [r14 + rdx*4 + 0x400]
movhps xmm1, qword [rsp + 0x20]
mov dword [rsp], r15d
mov edx, esi
movzx r15d, r9b
mov ebx, dword [r14 + r15*4]
shr r9d, 0x18
movzx esi, dh
pxor xmm1, xmm10
xor ebp, dword [r14 + r10*4 + 0x800]
mov eax, dword [r14 + rcx*4]
movaps xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x10], ebp
movzx ebp, r13b
xor ebx, dword [r14 + r12*4 + 0xc00]
xor ebx, dword [r14 + rdi*4 + 0x400]
xor ebx, dword [r14 + rbp*4 + 0x800]
mov dword [rsp + 0x20], ebx
xor eax, dword [r14 + r9*4 + 0xc00]
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r8*4 + 0x800]
movd xmm13, dword [rsp + 0x20]
mov dword [rsp + 0x38], eax
movd xmm1, dword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
punpckldq xmm13, xmm1
movq qword [rsp + 0x20], xmm13
movd xmm1, dword [rsp]
movd xmm13, dword [rsp + 0x10]
punpckldq xmm1, xmm13
movhps xmm1, qword [rsp + 0x20]
pxor xmm14, xmmword [r15 + 0x40]
pxor xmm15, xmmword [r15 + 0x60]
pxor xmm1, xmm10
pxor xmm0, xmmword [r15 + 0x70]
movd r13d, xmm14
movd ebp, xmm15
movzx ebx, r13b
pshufd xmm13, xmm14, 0x55
mov edx, dword [r14 + rbx*4]
movd esi, xmm13
pshufd xmm13, xmm14, 0xaa
pshufd xmm14, xmm14, 0xff
movd edi, xmm13
mov ebx, esi
movdqa xmm13, xmmword [rsp + 0x60]
movd eax, xmm14
pxor xmm13, xmmword [r15 + 0x50]
movzx ebx, bh
movd dword [rsp + 0x60], xmm0
mov r15d, eax
shr r15d, 0x18
pshufd xmm14, xmm13, 0x55
movd r12d, xmm13
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, edi
xor edx, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
movzx ebx, r15b
mov r15d, r13d
movd r10d, xmm14
shr r15d, 0x18
xor edx, dword [r14 + rbx*4 + 0x800]
mov ebx, edi
pshufd xmm14, xmm13, 0xaa
mov dword [rsp + 0x38], edx
movzx edx, sil
movzx ebx, bh
pshufd xmm13, xmm13, 0xff
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, eax
xor edx, dword [r14 + rbx*4 + 0x400]
movd dword [rsp], xmm13
shr r15d, 0x10
movd r11d, xmm14
pshufd xmm13, xmm15, 0xaa
movzx ebx, r15b
xor edx, dword [r14 + rbx*4 + 0x800]
mov r15d, esi
movzx ebx, ah
movzx eax, al
shr r15d, 0x18
mov dword [rsp + 0x70], edx
movzx edx, dil
shr edi, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, r13d
pshufd xmm14, xmm15, 0x55
shr r15d, 0x10
movd r8d, xmm14
movd r9d, xmm13
xor edx, dword [r14 + rbx*4 + 0x400]
pshufd xmm14, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
movzx ebx, r15b
shr esi, 0x10
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], xmm14
pshufd xmm15, xmm15, 0xff
movd ecx, xmm15
movd dword [rsp + 0x20], xmm13
movd dword [rsp + 0x3c], xmm0
xor edx, dword [r14 + rbx*4 + 0x800]
mov r15d, dword [r14 + rax*4]
movzx ebx, r12b
xor r15d, dword [r14 + rdi*4 + 0xc00]
mov eax, dword [r14 + rbx*4]
mov ebx, r10d
mov dword [rsp + 0x74], edx
mov edx, r13d
movd xmm0, dword [rsp + 0x38]
movzx r13d, sil
movd xmm13, dword [rsp + 0x70]
movzx edi, dh
movd xmm14, dword [rsp + 0x74]
punpckldq xmm0, xmm13
xor r15d, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp]
xor r15d, dword [r14 + r13*4 + 0x800]
shr edi, 0x18
mov dword [rsp + 0x78], r15d
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r11d
movd xmm15, dword [rsp + 0x78]
shr ebx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r12d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ebx, 0x18
punpckldq xmm14, xmm15
mov dword [rsp + 0x38], eax
movzx eax, r10b
punpcklqdq xmm0, xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rbx*4 + 0xc00]
mov ebx, r11d
pxor xmm0, xmm12
pshufd xmm15, xmm0, 0xaa
movzx edi, bh
mov ebx, dword [rsp]
movd esi, xmm15
movd r13d, xmm0
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm14, xmm0, 0x55
pshufd xmm0, xmm0, 0xff
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movd r15d, xmm14
movd edx, xmm0
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, r10d
mov dword [rsp], eax
movzx eax, r11b
shr edi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr r10d, 0x10
shr edi, 0x10
shr r11d, 0x18
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x70], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, r10b
movzx edi, bh
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, ecx
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
shr r11d, 0x18
mov dword [rsp + 0x74], eax
movzx eax, bpl
mov edi, dword [r14 + rax*4]
mov eax, r8d
xor edi, dword [r14 + r11*4 + 0xc00]
mov r11d, edi
movzx edi, ah
movd xmm15, dword [rsp]
movd xmm13, dword [rsp + 0x70]
mov eax, dword [r14 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x74]
xor eax, r11d
mov r11d, r9d
shr r11d, 0x10
movd xmm0, dword [rsp + 0x38]
punpckldq xmm13, xmm14
movzx edi, r11b
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, ebp
punpckldq xmm0, xmm15
mov dword [rsp], eax
shr r11d, 0x18
movzx eax, r8b
punpcklqdq xmm0, xmm13
mov edi, dword [r14 + rax*4]
mov eax, r9d
xor edi, dword [r14 + r11*4 + 0xc00]
pxor xmm0, xmm12
mov r11d, edi
movzx edi, ah
movd r12d, xmm0
pshufd xmm13, xmm0, 0x55
mov eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm14, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x38], xmm13
xor eax, r11d
mov r11d, ecx
movd r10d, xmm14
movd ebx, xmm0
movd xmm0, dword [rsp]
shr r11d, 0x10
movzx edi, r11b
mov r11d, r8d
shr r8d, 0x10
xor eax, dword [r14 + rdi*4 + 0x800]
shr r11d, 0x18
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x70], eax
movzx eax, r9b
movzx r8d, r8b
shr r9d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, ebp
shr r11d, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, r11b
movd xmm14, dword [rsp + 0x70]
punpckldq xmm0, xmm14
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, dword [rsp + 0x60]
mov dword [rsp + 0x74], eax
movzx edi, r11b
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
xor eax, dword [r14 + r9*4 + 0xc00]
movzx ebp, ch
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + r8*4 + 0x800]
mov dword [rsp + 0x78], eax
movd xmm15, dword [rsp + 0x74]
movd xmm13, dword [rsp + 0x78]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
pxor xmm0, xmm12
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
movd dword [rsp], xmm15
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd r8d, xmm13
movd dword [rsp + 0x70], xmm0
mov r9d, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x10]
shr r9d, 0x18
mov eax, dword [r14 + rdi*4]
xor eax, dword [r14 + r9*4 + 0xc00]
movzx edi, ch
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x400]
mov r9d, ecx
shr r9d, 0x10
movzx edi, r9b
mov r9d, r11d
movzx ecx, ch
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x10]
shr r9d, 0x18
movd xmm0, dword [rsp + 0x60]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r9*4 + 0xc00]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, dword [rsp + 0x3c]
mov edi, ecx
shr edi, 0x10
movzx r9d, dil
xor eax, dword [r14 + r9*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov r9d, r11d
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x20]
shr edi, 0x18
shr r9d, 0x10
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, r9b
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, cl
mov ecx, dword [rsp + 0x20]
mov eax, dword [r14 + rax*4]
shr ecx, 0x18
mov r9d, ecx
mov ecx, r11d
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + r9*4 + 0xc00]
shr r11d, 0x10
movzx edi, ch
movzx r9d, r11b
mov ecx, edx
movd xmm14, dword [rsp + 0x74]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r9*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm15, dword [rsp + 0x10]
movd xmm13, dword [rsp + 0x3c]
punpckldq xmm14, xmm15
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
punpckldq xmm0, xmm13
movzx edi, ch
mov ecx, esi
punpcklqdq xmm0, xmm14
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
shr ecx, 0x18
movzx eax, r15b
pxor xmm0, xmm12
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
pshufd xmm14, xmm0, 0x55
movzx edi, ch
mov ecx, edx
pshufd xmm15, xmm0, 0xaa
movd dword [rsp + 0x3c], xmm0
shr ecx, 0x10
pshufd xmm0, xmm0, 0xff
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x10], xmm14
movzx edi, cl
movd r11d, xmm15
movd r9d, xmm0
mov ecx, r15d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
movd xmm0, dword [rsp + 0x60]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
movd xmm15, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x74], eax
punpckldq xmm15, xmm0
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
movzx r13d, r15b
xor eax, dword [r14 + rsi*4 + 0x400]
mov ecx, dword [rsp + 0x38]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x78], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm13, xmm14
mov dword [rsp + 0x20], eax
movzx eax, byte [rsp + 0x38]
shr ecx, 0x18
punpcklqdq xmm15, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
pxor xmm15, xmm11
movzx edi, ch
mov ecx, ebx
xor eax, dword [r14 + rdi*4 + 0x400]
movd r13d, xmm15
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x38]
pshufd xmm13, xmm15, 0x55
pshufd xmm14, xmm15, 0xaa
pshufd xmm15, xmm15, 0xff
movd r15d, xmm13
movd esi, xmm14
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ecx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr ecx, 0x10
shr edi, 0x18
mov eax, dword [r14 + rax*4]
shr r10d, 0x18
movd edx, xmm15
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
movd xmm14, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
movd xmm15, dword [rsp + 0x60]
shr edi, 0x10
movzx edi, dil
punpckldq xmm14, xmm15
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
mov ecx, dword [rsp]
movd xmm13, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, bpl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x74]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
punpckldq xmm13, xmm0
mov ecx, ebp
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp]
shr ecx, 0x18
punpcklqdq xmm14, xmm13
mov eax, dword [r14 + rax*4]
pxor xmm14, xmm11
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
pshufd xmm13, xmm14, 0x55
movd r12d, xmm14
pshufd xmm0, xmm14, 0xaa
movd dword [rsp + 0x20], xmm13
xor eax, dword [r14 + rdi*4 + 0x400]
mov ecx, dword [rsp + 0x70]
pshufd xmm14, xmm14, 0xff
movd r10d, xmm0
movd ebx, xmm14
movd xmm0, dword [rsp + 0x38]
mov edi, ecx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x70], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm14, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm0, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
xor eax, dword [r14 + r8*4 + 0xc00]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + rbp*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r9d
movd xmm15, dword [rsp + 0x60]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
movd xmm13, dword [rsp]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
mov eax, dword [r14 + rax*4]
pxor xmm0, xmm11
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp], xmm15
movd r8d, xmm13
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x70], xmm0
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x38]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
shr r11d, 0x18
movd xmm13, dword [rsp + 0x60]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
movzx r9d, r9b
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
punpckldq xmm0, xmm13
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
movzx ecx, ch
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm14, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movzx eax, r13b
movd xmm15, dword [rsp + 0x10]
punpckldq xmm14, xmm15
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
punpcklqdq xmm0, xmm14
movzx edi, ch
mov ecx, esi
pxor xmm0, xmm11
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
movd dword [rsp + 0x38], xmm0
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm14, xmm0, 0x55
mov dword [rsp + 0x3c], eax
movzx eax, r15b
movd dword [rsp + 0x10], xmm14
pshufd xmm15, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov eax, dword [r14 + rax*4]
movd r11d, xmm15
movd r9d, xmm0
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movzx edi, ch
mov ecx, edx
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r15d
shr r15d, 0x10
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
movd xmm15, dword [rsp + 0x3c]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
movzx r13d, r15b
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ebx
movd xmm0, dword [rsp + 0x60]
mov dword [rsp + 0x74], eax
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
shr edi, 0x18
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rsi*4 + 0x400]
punpckldq xmm15, xmm0
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x78], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm13, xmm14
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpcklqdq xmm15, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
pxor xmm15, xmm8
movzx edi, ch
mov ecx, ebx
pshufd xmm14, xmm15, 0xaa
movd r13d, xmm15
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movd esi, xmm14
pshufd xmm13, xmm15, 0x55
movzx edi, cl
mov ecx, dword [rsp + 0x20]
pshufd xmm15, xmm15, 0xff
movd r15d, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, r10b
movd edx, xmm15
mov edi, ecx
shr edi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
movzx ebx, bl
shr r10d, 0x18
shr edi, 0x10
shr ecx, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
movzx edi, bh
xor eax, dword [r14 + r10*4 + 0xc00]
mov ecx, dword [rsp]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
movd xmm14, dword [rsp + 0x3c]
mov dword [rsp + 0x74], eax
movzx eax, bpl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm15, dword [rsp + 0x60]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm14, xmm15
movd xmm13, dword [rsp + 0x20]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp]
shr ecx, 0x18
movd xmm0, dword [rsp + 0x74]
mov eax, dword [r14 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
pxor xmm14, xmm8
movzx edi, ch
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
movd r12d, xmm14
pshufd xmm13, xmm14, 0x55
movd dword [rsp + 0x20], xmm13
pshufd xmm0, xmm14, 0xaa
pshufd xmm14, xmm14, 0xff
mov edi, ecx
shr edi, 0x10
movd r10d, xmm0
movd ebx, xmm14
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x70], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
xor eax, dword [r14 + r8*4 + 0xc00]
movzx ebp, ch
xor eax, dword [r14 + rbp*4 + 0x400]
mov ecx, dword [rsp]
shr ecx, 0x10
movzx edi, cl
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm0, dword [rsp + 0x3c]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x38]
shr ecx, 0x18
movd xmm15, dword [rsp + 0x60]
movd xmm13, dword [rsp]
movd xmm14, dword [rsp + 0x70]
punpckldq xmm15, xmm13
punpckldq xmm0, xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
punpcklqdq xmm0, xmm15
pxor xmm0, xmm8
mov ecx, dword [rsp + 0x10]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp], xmm15
movd r8d, xmm13
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x70], xmm0
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x38]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
shr r11d, 0x18
movzx edi, ch
mov ecx, dword [rsp + 0x38]
movzx r9d, r9b
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
movzx ecx, ch
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
shr ecx, 0x18
movd xmm14, dword [rsp + 0x38]
movd xmm13, dword [rsp + 0x60]
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm0, dword [rsp + 0x3c]
mov dword [rsp + 0x10], eax
movzx eax, r13b
mov eax, dword [r14 + rax*4]
movd xmm15, dword [rsp + 0x10]
punpckldq xmm0, xmm13
punpckldq xmm14, xmm15
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
punpcklqdq xmm0, xmm14
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
pxor xmm0, xmm8
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
pshufd xmm14, xmm0, 0x55
movd dword [rsp + 0x3c], xmm0
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
movd dword [rsp + 0x10], xmm14
pshufd xmm15, xmm0, 0xaa
mov dword [rsp + 0x38], eax
movzx eax, r15b
movd r11d, xmm15
pshufd xmm0, xmm0, 0xff
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movd r9d, xmm0
movzx edi, ch
mov ecx, edx
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r15d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx edi, dh
shr esi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
movzx edx, dl
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x74], eax
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
movzx r13d, r15b
xor eax, dword [r14 + rsi*4 + 0x400]
movd xmm13, dword [rsp + 0x74]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x78], eax
movzx eax, r12b
movd xmm14, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x20]
punpckldq xmm13, xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm15, dword [rsp + 0x38]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm0, dword [rsp + 0x60]
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm15, xmm0
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
punpcklqdq xmm15, xmm13
movzx edi, ch
mov ecx, ebx
xor eax, dword [r14 + rdi*4 + 0x400]
pxor xmm15, xmm7
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x20]
movd r13d, xmm15
pshufd xmm13, xmm15, 0x55
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm14, xmm15, 0xaa
movd r15d, xmm13
mov edi, ecx
mov dword [rsp + 0x60], eax
shr edi, 0x18
movzx eax, r10b
shr ecx, 0x10
mov eax, dword [r14 + rax*4]
shr r10d, 0x18
pshufd xmm15, xmm15, 0xff
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movd esi, xmm14
movd edx, xmm15
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
movd xmm15, dword [rsp + 0x60]
shr edi, 0x10
movzx edi, dil
movd xmm14, dword [rsp + 0x38]
punpckldq xmm14, xmm15
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
movzx edi, bh
xor eax, dword [r14 + r10*4 + 0xc00]
movd xmm13, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, bpl
movd xmm0, dword [rsp + 0x74]
mov edi, dword [rsp + 0x70]
punpckldq xmm13, xmm0
shr edi, 0x18
punpcklqdq xmm14, xmm13
pxor xmm14, xmm7
pshufd xmm13, xmm14, 0x55
movd dword [rsp + 0x20], xmm13
mov eax, dword [r14 + rax*4]
mov ecx, dword [rsp]
movd r12d, xmm14
pshufd xmm0, xmm14, 0xaa
xor eax, dword [r14 + rdi*4 + 0xc00]
pshufd xmm14, xmm14, 0xff
movd r10d, xmm0
movzx edi, ch
mov ecx, r8d
xor eax, dword [r14 + rdi*4 + 0x400]
movd ebx, xmm14
shr ecx, 0x10
movzx edi, cl
mov ecx, ebp
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp]
movd xmm0, dword [rsp + 0x38]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx edi, ch
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x70], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm14, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm0, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
xor eax, dword [r14 + r8*4 + 0xc00]
movzx ebp, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + rbp*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm15, dword [rsp + 0x60]
mov ecx, r9d
mov dword [rsp], eax
movd xmm13, dword [rsp]
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
pxor xmm0, xmm7
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x70], xmm15
movd dword [rsp + 0x38], xmm0
mov eax, dword [r14 + rax*4]
movd r8d, xmm13
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x3c]
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x10]
movd xmm0, dword [rsp]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movzx edi, ch
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ecx, 0x18
movzx eax, r11b
shr r11d, 0x18
movd xmm13, dword [rsp + 0x60]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
movzx r9d, r9b
movzx edi, ch
mov ecx, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x400]
punpckldq xmm0, xmm13
mov edi, ecx
shr edi, 0x10
movzx edi, dil
movzx ecx, ch
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r14 + rcx*4 + 0x400]
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, edx
mov dword [rsp + 0x10], eax
movd xmm14, dword [rsp + 0x3c]
movd xmm15, dword [rsp + 0x10]
shr ecx, 0x18
movzx eax, r13b
punpckldq xmm14, xmm15
punpcklqdq xmm0, xmm14
pxor xmm0, xmm7
movd dword [rsp + 0x60], xmm0
pshufd xmm14, xmm0, 0x55
pshufd xmm15, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp], xmm14
mov eax, dword [r14 + rax*4]
movd r11d, xmm15
movd r9d, xmm0
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
movzx edi, ch
mov ecx, esi
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
shr ecx, 0x18
movzx eax, r15b
movd xmm15, dword [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movzx edi, ch
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r15d
movzx edi, dh
shr r15d, 0x10
mov dword [rsp + 0x3c], eax
shr ecx, 0x18
movzx eax, sil
movzx edx, dl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
shr esi, 0x18
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x3c]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r13d
mov edi, ebx
movzx r13d, r15b
mov dword [rsp + 0x74], eax
mov eax, dword [r14 + rdx*4]
shr edi, 0x18
punpckldq xmm15, xmm0
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x78], eax
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x10], eax
movzx eax, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm13, xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
punpcklqdq xmm15, xmm13
movzx edi, ch
mov ecx, ebx
xor eax, dword [r14 + rdi*4 + 0x400]
pxor xmm15, xmm6
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x20]
pshufd xmm14, xmm15, 0xaa
movd r13d, xmm15
xor eax, dword [r14 + rdi*4 + 0x800]
movd esi, xmm14
pshufd xmm13, xmm15, 0x55
movd xmm14, dword [rsp + 0x10]
mov edi, ecx
mov dword [rsp + 0x3c], eax
movzx eax, r10b
pshufd xmm15, xmm15, 0xff
shr edi, 0x18
mov eax, dword [r14 + rax*4]
movd r15d, xmm13
movd edx, xmm15
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
movd xmm15, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr ecx, 0x10
punpckldq xmm14, xmm15
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
movzx edi, bh
mov ebx, dword [rsp + 0x38]
xor eax, dword [r14 + r10*4 + 0xc00]
shr ebx, 0x18
xor eax, dword [r14 + rdi*4 + 0x400]
mov ecx, ebx
xor eax, dword [r14 + r12*4 + 0x800]
mov r12d, ebp
mov dword [rsp + 0x74], eax
movzx eax, bpl
shr r12d, 0x18
movd xmm0, dword [rsp + 0x74]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x70]
movd xmm13, dword [rsp + 0x20]
movzx ebx, ch
punpckldq xmm13, xmm0
xor eax, dword [r14 + rbx*4 + 0x400]
mov ebx, r8d
punpcklqdq xmm14, xmm13
shr ebx, 0x10
movzx ebx, bl
pxor xmm14, xmm6
pshufd xmm13, xmm14, 0x55
movd dword [rsp + 0x74], xmm14
xor eax, dword [r14 + rbx*4 + 0x800]
mov ebx, r12d
mov r12d, ecx
movd dword [rsp + 0x3c], xmm13
mov dword [rsp + 0x10], eax
movzx eax, cl
shr ecx, 0x18
pshufd xmm0, xmm14, 0xaa
mov eax, dword [r14 + rax*4]
mov ecx, ecx
shr r12d, 0x10
pshufd xmm14, xmm14, 0xff
xor eax, dword [r14 + rbx*4 + 0xc00]
mov ebx, r8d
movd edi, xmm0
movzx ebx, bh
xor eax, dword [r14 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x38]
movd r10d, xmm14
shr ebx, 0x10
movzx ebx, bl
xor eax, dword [r14 + rbx*4 + 0x800]
mov ebx, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
movzx eax, r8b
shr r8d, 0x18
movd xmm14, dword [rsp + 0x20]
movd xmm0, dword [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, ebp
shr ebx, 0x10
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, ebp
movzx ebx, bl
xor eax, dword [r14 + rbx*4 + 0x800]
movzx ebp, ch
mov ecx, r9d
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x38]
shr ecx, 0x18
punpckldq xmm0, xmm14
movd xmm15, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r8*4 + 0xc00]
movzx r8d, r12b
mov ebx, dword [r14 + r8*4 + 0x800]
xor eax, dword [r14 + rbp*4 + 0x400]
xor ebx, eax
mov dword [rsp + 0x38], ebx
mov r12d, dword [rsp + 0x60]
mov ebx, dword [rsp]
movzx eax, r12b
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r14 + rcx*4 + 0x400]
movd xmm13, dword [rsp + 0x38]
movzx ecx, bl
xor eax, dword [r14 + rcx*4 + 0x800]
mov ebx, r12d
mov ecx, r11d
mov dword [rsp + 0x20], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpckldq xmm15, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rbx*4 + 0xc00]
movzx ebx, ch
mov ecx, r9d
shr ecx, 0x10
punpcklqdq xmm0, xmm15
xor eax, dword [r14 + rbx*4 + 0x400]
movzx ebx, cl
xor eax, dword [r14 + rbx*4 + 0x800]
pxor xmm0, xmm6
mov ebx, r9d
movzx r9d, r9b
movd dword [rsp + 0x78], xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], xmm15
mov dword [rsp + 0x38], eax
mov ecx, dword [rsp]
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [r14 + rax*4]
movd ebp, xmm13
movd r8d, xmm0
movd xmm13, dword [rsp + 0x38]
shr ecx, 0x18
movd xmm0, dword [rsp + 0x20]
punpckldq xmm0, xmm13
xor eax, dword [r14 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, r12d
shr ebx, 0x10
xor eax, dword [r14 + rcx*4 + 0x400]
movzx ecx, bl
mov ebx, r12d
xor eax, dword [r14 + rcx*4 + 0x800]
mov dword [rsp + 0x70], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
movzx ecx, bh
movzx ebx, r13b
mov r11d, dword [rsp]
xor eax, dword [r14 + rcx*4 + 0x400]
shr r11d, 0x10
movzx r12d, r11b
mov r9d, dword [r14 + r12*4 + 0x800]
mov r11d, edx
movd xmm14, dword [rsp + 0x70]
xor r9d, eax
mov rax, qword [rsp + 0x28]
shr r11d, 0x18
mov ecx, dword [r14 + rbx*4]
mov dword [rsp], r9d
mov r9d, esi
movd xmm15, dword [rsp]
xor ecx, dword [r14 + r11*4 + 0xc00]
prefetchnta byte [rax]
prefetchnta byte [rax + 4]
shr r9d, 0x10
mov eax, r15d
movzx ebx, ah
movzx r11d, r9b
mov eax, r13d
punpckldq xmm14, xmm15
mov r9d, edx
xor ecx, dword [r14 + rbx*4 + 0x400]
shr eax, 0x18
mov ebx, esi
punpcklqdq xmm0, xmm14
xor ecx, dword [r14 + r11*4 + 0x800]
shr r9d, 0x10
pxor xmm0, xmm6
pshufd xmm14, xmm0, 0x55
mov dword [rsp + 0x70], ecx
movzx ecx, r15b
pshufd xmm15, xmm0, 0xaa
mov r11d, dword [r14 + rcx*4]
movzx ecx, bh
movd dword [rsp + 0x38], xmm0
mov ebx, r15d
xor r11d, dword [r14 + rax*4 + 0xc00]
movzx eax, r9b
mov r9d, r13d
pshufd xmm0, xmm0, 0xff
shr ebx, 0x18
shr r9d, 0x10
xor r11d, dword [r14 + rcx*4 + 0x400]
movd r12d, xmm15
xor r11d, dword [r14 + rax*4 + 0x800]
mov dword [rsp + 0x60], r11d
movzx r11d, sil
movzx eax, dh
shr esi, 0x18
movd dword [rsp], xmm14
movzx edx, dl
movd dword [rsp + 0x20], xmm0
mov ecx, dword [r14 + r11*4]
movzx r11d, r9b
xor ecx, dword [r14 + rbx*4 + 0xc00]
mov ebx, r13d
xor ecx, dword [r14 + rax*4 + 0x400]
mov eax, dword [r14 + rdx*4]
xor ecx, dword [r14 + r11*4 + 0x800]
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov dword [rsp + 0x7c], ecx
movzx r13d, r15b
mov ecx, r10d
xor eax, dword [r14 + rsi*4 + 0x400]
shr ecx, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm15, dword [rsp + 0x70]
mov r9d, ecx
mov dword [rsp + 0x80], eax
mov ecx, dword [rsp + 0x3c]
movzx ecx, ch
mov eax, dword [rsp + 0x74]
movd xmm0, dword [rsp + 0x60]
movzx r15d, al
punpckldq xmm15, xmm0
mov edx, dword [r14 + r15*4]
xor edx, dword [r14 + r9*4 + 0xc00]
xor edx, dword [r14 + rcx*4 + 0x400]
mov ecx, edi
mov r15d, dword [rsp + 0x3c]
shr ecx, 0x10
movzx r9d, cl
mov ecx, eax
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x80]
shr ecx, 0x18
xor edx, dword [r14 + r9*4 + 0x800]
mov r9d, ecx
mov ecx, edi
mov dword [rsp + 0x70], edx
movzx ecx, ch
movzx edx, r15b
punpckldq xmm13, xmm14
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + r9*4 + 0xc00]
mov r9d, r15d
shr r15d, 0x10
xor edx, dword [r14 + rcx*4 + 0x400]
mov ecx, r10d
shr r9d, 0x18
punpcklqdq xmm15, xmm13
shr ecx, 0x10
pxor xmm15, xmm5
movd r13d, xmm15
movzx ecx, cl
xor edx, dword [r14 + rcx*4 + 0x800]
mov ecx, r9d
movzx r9d, r15b
mov r15d, r8d
mov dword [rsp + 0x3c], edx
movzx edx, dil
shr edi, 0x18
pshufd xmm13, xmm15, 0x55
mov edx, dword [r14 + rdx*4]
shr r15d, 0x18
pshufd xmm14, xmm15, 0xaa
xor edx, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movzx r10d, r10b
pshufd xmm15, xmm15, 0xff
movzx ecx, ch
movd ebx, xmm15
movd r11d, xmm13
movd esi, xmm14
xor edx, dword [r14 + rcx*4 + 0x400]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [r14 + rcx*4 + 0x800]
mov dword [rsp + 0x60], edx
mov edx, dword [r14 + r10*4]
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, ah
mov eax, dword [rsp + 0x78]
movzx ecx, al
xor edx, dword [r14 + rdi*4 + 0x400]
xor edx, dword [r14 + r9*4 + 0x800]
mov dword [rsp + 0x74], edx
mov edx, dword [r14 + rcx*4]
mov ecx, dword [rsp + 0x10]
movzx ecx, ch
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, ebp
xor edx, dword [r14 + rcx*4 + 0x400]
shr r15d, 0x10
movzx ecx, r15b
mov r15d, eax
movd xmm15, dword [rsp + 0x3c]
movd xmm0, dword [rsp + 0x74]
xor edx, dword [r14 + rcx*4 + 0x800]
shr r15d, 0x18
mov ecx, ebp
movd xmm13, dword [rsp + 0x60]
mov dword [rsp + 0x3c], edx
movzx edx, byte [rsp + 0x10]
movzx ecx, ch
punpckldq xmm13, xmm0
movd xmm14, dword [rsp + 0x70]
mov edx, dword [r14 + rdx*4]
punpckldq xmm14, xmm15
punpcklqdq xmm14, xmm13
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, r8d
xor edx, dword [r14 + rcx*4 + 0x400]
shr r15d, 0x10
movzx ecx, r15b
mov r15d, dword [rsp + 0x10]
pxor xmm14, xmm5
movd edi, xmm14
xor edx, dword [r14 + rcx*4 + 0x800]
mov ecx, r8d
movzx r8d, r8b
shr r15d, 0x18
mov dword [rsp + 0x60], edx
movzx edx, bpl
movzx ecx, ch
shr ebp, 0x18
mov edx, dword [r14 + rdx*4]
pshufd xmm13, xmm14, 0x55
pshufd xmm0, xmm14, 0xaa
xor edx, dword [r14 + r15*4 + 0xc00]
mov r15d, eax
pshufd xmm14, xmm14, 0xff
movd r9d, xmm13
xor edx, dword [r14 + rcx*4 + 0x400]
shr r15d, 0x10
movd dword [rsp + 0x70], xmm14
movd r10d, xmm0
movzx ecx, r15b
xor edx, dword [r14 + rcx*4 + 0x800]
mov dword [rsp + 0x74], edx
mov edx, dword [r14 + r8*4]
xor edx, dword [r14 + rbp*4 + 0xc00]
movzx ebp, ah
xor edx, dword [r14 + rbp*4 + 0x400]
mov r15d, dword [rsp + 0x10]
shr r15d, 0x10
movzx ecx, r15b
xor edx, dword [r14 + rcx*4 + 0x800]
mov eax, dword [rsp + 0x20]
mov r15d, r12d
mov dword [rsp + 0x10], edx
mov ecx, dword [rsp]
movzx edx, byte [rsp + 0x38]
shr eax, 0x18
shr r15d, 0x10
movd xmm14, dword [rsp + 0x60]
movd xmm15, dword [rsp + 0x74]
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + rax*4 + 0xc00]
movzx eax, ch
movzx ecx, r15b
xor edx, dword [r14 + rax*4 + 0x400]
mov eax, dword [rsp + 0x38]
shr eax, 0x18
xor edx, dword [r14 + rcx*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x10]
mov dword [rsp + 0x60], edx
movzx edx, byte [rsp]
movd xmm0, dword [rsp + 0x3c]
punpckldq xmm15, xmm13
punpckldq xmm0, xmm14
punpcklqdq xmm0, xmm15
mov edx, dword [r14 + rdx*4]
pxor xmm0, xmm5
xor edx, dword [r14 + rax*4 + 0xc00]
movzx eax, ch
mov ecx, dword [rsp + 0x20]
pshufd xmm15, xmm0, 0x55
movd dword [rsp + 0x3c], xmm0
xor edx, dword [r14 + rax*4 + 0x400]
movd dword [rsp + 0x10], xmm15
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov r15d, ecx
movd ebp, xmm13
movd r8d, xmm0
shr r15d, 0x10
movzx eax, r15b
mov r15d, dword [rsp]
xor edx, dword [r14 + rax*4 + 0x800]
shr r15d, 0x18
mov eax, r15d
mov dword [rsp + 0x74], edx
movzx edx, r12b
shr r12d, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + rax*4 + 0xc00]
movzx eax, ch
mov ecx, dword [rsp + 0x38]
xor edx, dword [r14 + rax*4 + 0x400]
mov r15d, ecx
shr r15d, 0x10
movzx eax, r15b
xor edx, dword [r14 + rax*4 + 0x800]
mov dword [rsp + 0x38], edx
movzx eax, ch
movzx edx, byte [rsp + 0x20]
movzx ecx, r13b
movd xmm14, dword [rsp + 0x38]
movd xmm13, dword [rsp + 0x74]
movd xmm0, dword [rsp + 0x60]
punpckldq xmm0, xmm13
mov r15d, dword [r14 + rdx*4]
xor r15d, dword [r14 + r12*4 + 0xc00]
mov r12d, dword [rsp]
xor r15d, dword [r14 + rax*4 + 0x400]
shr r12d, 0x10
movzx edx, r12b
xor r15d, dword [r14 + rdx*4 + 0x800]
mov eax, dword [r14 + rcx*4]
mov ecx, r11d
mov dword [rsp], r15d
mov r15d, ebx
movzx ecx, ch
movd xmm15, dword [rsp]
shr r15d, 0x18
xor eax, dword [r14 + r15*4 + 0xc00]
mov r15d, esi
xor eax, dword [r14 + rcx*4 + 0x400]
shr r15d, 0x10
movzx ecx, r15b
mov r15d, r13d
punpckldq xmm14, xmm15
shr r15d, 0x18
xor eax, dword [r14 + rcx*4 + 0x800]
mov ecx, esi
punpcklqdq xmm0, xmm14
mov dword [rsp], eax
movzx eax, r11b
movzx ecx, ch
pxor xmm0, xmm5
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r15*4 + 0xc00]
mov r15d, ebx
xor eax, dword [r14 + rcx*4 + 0x400]
movd dword [rsp + 0x60], xmm0
shr r15d, 0x10
pshufd xmm14, xmm0, 0x55
pshufd xmm15, xmm0, 0xaa
movzx ecx, r15b
xor eax, dword [r14 + rcx*4 + 0x800]
mov r15d, r11d
movzx ecx, bh
shr r11d, 0x10
shr r15d, 0x18
mov dword [rsp + 0x38], eax
movzx eax, sil
movzx ebx, bl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + r15*4 + 0xc00]
mov r15d, r13d
shr esi, 0x18
shr r15d, 0x10
movd r12d, xmm15
pshufd xmm0, xmm0, 0xff
xor eax, dword [r14 + rcx*4 + 0x400]
movzx ecx, r15b
movd dword [rsp + 0x20], xmm14
movd edx, xmm0
xor eax, dword [r14 + rcx*4 + 0x800]
mov ecx, r13d
mov dword [rsp + 0x74], eax
movzx r13d, r11b
mov eax, dword [r14 + rbx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x78], eax
movzx eax, dil
mov ecx, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
shr ecx, 0x18
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
movd xmm15, dword [rsp]
movzx esi, ch
mov ecx, r10d
xor eax, dword [r14 + rsi*4 + 0x400]
movd xmm0, dword [rsp + 0x38]
shr ecx, 0x10
movzx esi, cl
mov ecx, edi
punpckldq xmm15, xmm0
movd xmm13, dword [rsp + 0x74]
xor eax, dword [r14 + rsi*4 + 0x800]
shr ecx, 0x18
movd xmm14, dword [rsp + 0x78]
mov dword [rsp], eax
movzx eax, r9b
punpckldq xmm13, xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
punpcklqdq xmm15, xmm13
pxor xmm15, xmm4
movzx esi, ch
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rsi*4 + 0x400]
movd r13d, xmm15
pshufd xmm13, xmm15, 0x55
pshufd xmm14, xmm15, 0xaa
pshufd xmm15, xmm15, 0xff
movd r15d, xmm13
mov esi, ecx
shr esi, 0x10
movd r11d, xmm14
movd ebx, xmm15
movd xmm14, dword [rsp]
movzx esi, sil
xor eax, dword [r14 + rsi*4 + 0x800]
mov esi, r9d
mov dword [rsp + 0x38], eax
shr esi, 0x18
movzx eax, r10b
movd xmm15, dword [rsp + 0x38]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
movzx ecx, cl
xor eax, dword [r14 + rsi*4 + 0x400]
shr r9d, 0x10
mov esi, edi
shr r10d, 0x18
punpckldq xmm14, xmm15
shr esi, 0x10
movzx r9d, r9b
movzx esi, sil
xor eax, dword [r14 + rsi*4 + 0x800]
mov dword [rsp + 0x70], eax
mov eax, dword [r14 + rcx*4]
mov ecx, edi
movzx edi, ch
xor eax, dword [r14 + r10*4 + 0xc00]
xor eax, dword [r14 + rdi*4 + 0x400]
mov r10d, r8d
shr r10d, 0x18
xor eax, dword [r14 + r9*4 + 0x800]
movd xmm13, dword [rsp + 0x70]
mov dword [rsp + 0x74], eax
movd xmm0, dword [rsp + 0x74]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
pxor xmm14, xmm4
movd edi, xmm14
pshufd xmm13, xmm14, 0x55
pshufd xmm0, xmm14, 0xaa
movd dword [rsp], xmm13
pshufd xmm14, xmm14, 0xff
movd r9d, xmm0
movd dword [rsp + 0x70], xmm14
movzx esi, byte [rsp + 0x3c]
mov ecx, dword [rsp + 0x10]
mov eax, dword [r14 + rsi*4]
movzx esi, ch
xor eax, dword [r14 + r10*4 + 0xc00]
mov r10d, ebp
xor eax, dword [r14 + rsi*4 + 0x400]
shr r10d, 0x10
movzx ecx, r10b
mov esi, dword [rsp + 0x3c]
mov r10d, r8d
shr esi, 0x18
xor eax, dword [r14 + rcx*4 + 0x800]
mov ecx, ebp
shr r10d, 0x10
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x10]
movd xmm0, dword [rsp + 0x38]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
movzx ecx, r10b
xor eax, dword [r14 + rsi*4 + 0x400]
mov esi, dword [rsp + 0x10]
shr esi, 0x18
xor eax, dword [r14 + rcx*4 + 0x800]
mov ecx, r8d
movzx r8d, r8b
mov dword [rsp + 0x74], eax
movzx eax, bpl
shr ebp, 0x18
movd xmm14, dword [rsp + 0x74]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
mov ecx, dword [rsp + 0x3c]
punpckldq xmm0, xmm14
xor eax, dword [r14 + rsi*4 + 0x400]
mov r10d, ecx
shr r10d, 0x10
movzx esi, r10b
mov r10d, dword [rsp + 0x10]
xor eax, dword [r14 + rsi*4 + 0x800]
shr r10d, 0x10
mov dword [rsp + 0x3c], eax
movzx esi, r10b
mov eax, dword [r14 + r8*4]
xor eax, dword [r14 + rbp*4 + 0xc00]
movzx ebp, ch
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + rsi*4 + 0x800]
mov ecx, edx
mov dword [rsp + 0x10], eax
movd xmm15, dword [rsp + 0x3c]
movd xmm13, dword [rsp + 0x10]
shr ecx, 0x18
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
pxor xmm0, xmm4
pshufd xmm15, xmm0, 0x55
movd dword [rsp + 0x38], xmm0
movd dword [rsp + 0x10], xmm15
mov ebp, dword [rsp + 0x60]
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd r10d, xmm13
movd r8d, xmm0
movzx eax, bpl
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x20]
movzx esi, ch
mov ecx, r12d
shr ecx, 0x10
xor eax, dword [r14 + rsi*4 + 0x400]
movzx esi, cl
mov ecx, ebp
xor eax, dword [r14 + rsi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x20]
movd xmm0, dword [rsp + 0x3c]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r12d
movzx esi, ch
mov ecx, edx
xor eax, dword [r14 + rsi*4 + 0x400]
shr ecx, 0x10
movzx esi, cl
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rsi*4 + 0x800]
mov esi, ecx
mov dword [rsp + 0x60], eax
shr esi, 0x18
movzx eax, r12b
shr r12d, 0x18
movd xmm13, dword [rsp + 0x60]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, dh
movzx edx, dl
xor eax, dword [r14 + rsi*4 + 0x400]
mov esi, ebp
shr ecx, 0x10
punpckldq xmm0, xmm13
shr esi, 0x10
movzx esi, sil
xor eax, dword [r14 + rsi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r14 + rdx*4]
mov edx, ebp
xor eax, dword [r14 + r12*4 + 0xc00]
movzx r12d, cl
movzx ebp, dh
movd xmm14, dword [rsp + 0x20]
mov ecx, r15d
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov ebp, ebx
mov dword [rsp + 0x74], eax
shr ebp, 0x18
movd xmm15, dword [rsp + 0x74]
movzx eax, r13b
punpckldq xmm14, xmm15
mov eax, dword [r14 + rax*4]
punpcklqdq xmm0, xmm14
xor eax, dword [r14 + rbp*4 + 0xc00]
movzx ebp, ch
mov ecx, r11d
pxor xmm0, xmm4
shr ecx, 0x10
xor eax, dword [r14 + rbp*4 + 0x400]
pshufd xmm14, xmm0, 0x55
movzx ebp, cl
movd dword [rsp + 0x20], xmm14
mov ecx, r13d
pshufd xmm15, xmm0, 0xaa
xor eax, dword [r14 + rbp*4 + 0x800]
shr ecx, 0x18
movd esi, xmm15
movd r12d, xmm0
mov dword [rsp + 0x3c], eax
movzx eax, r15b
movd xmm15, dword [rsp + 0x3c]
pshufd xmm0, xmm0, 0xff
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movd edx, xmm0
movzx ebp, ch
mov ecx, ebx
shr ecx, 0x10
xor eax, dword [r14 + rbp*4 + 0x400]
movzx ebp, cl
mov ecx, r15d
xor eax, dword [r14 + rbp*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
movzx ebp, bh
shr r11d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
movzx ebx, bl
shr ecx, 0x10
xor eax, dword [r14 + rbp*4 + 0x400]
movd xmm0, dword [rsp + 0x60]
movzx ebp, cl
xor eax, dword [r14 + rbp*4 + 0x800]
mov ecx, r13d
punpckldq xmm15, xmm0
mov dword [rsp + 0x74], eax
mov eax, dword [r14 + rbx*4]
xor eax, dword [r14 + r11*4 + 0xc00]
shr r15d, 0x10
movzx ebp, ch
movzx r13d, r15b
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rbp*4 + 0x400]
shr ecx, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x78], eax
movzx eax, dil
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp]
movd xmm14, dword [rsp + 0x78]
movzx ebp, ch
mov ecx, r9d
shr ecx, 0x10
xor eax, dword [r14 + rbp*4 + 0x400]
punpckldq xmm13, xmm14
movzx ebp, cl
xor eax, dword [r14 + rbp*4 + 0x800]
mov ecx, edi
punpcklqdq xmm15, xmm13
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp]
shr ecx, 0x18
pxor xmm15, xmm3
movd r13d, xmm15
pshufd xmm13, xmm15, 0x55
pshufd xmm14, xmm15, 0xaa
pshufd xmm15, xmm15, 0xff
mov eax, dword [r14 + rax*4]
movd r15d, xmm13
movd r11d, xmm14
movd ebx, xmm15
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
movzx ebp, ch
xor eax, dword [r14 + rbp*4 + 0x400]
mov ecx, dword [rsp + 0x70]
movd xmm14, dword [rsp + 0x3c]
mov ebp, ecx
shr ebp, 0x10
movzx ebp, bpl
xor eax, dword [r14 + rbp*4 + 0x800]
mov ebp, dword [rsp]
mov dword [rsp + 0x70], eax
shr ebp, 0x18
movzx eax, r9b
shr r9d, 0x18
movd xmm15, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rbp*4 + 0xc00]
movzx ebp, ch
movzx ecx, cl
xor eax, dword [r14 + rbp*4 + 0x400]
mov ebp, edi
punpckldq xmm14, xmm15
shr ebp, 0x10
movzx ebp, bpl
xor eax, dword [r14 + rbp*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + rcx*4]
mov ecx, edi
xor eax, dword [r14 + r9*4 + 0xc00]
movzx edi, ch
mov ecx, dword [rsp]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r8d
shr ecx, 0x10
movzx ebp, cl
mov ecx, dword [rsp + 0x10]
shr edi, 0x18
movd xmm13, dword [rsp + 0x60]
xor eax, dword [r14 + rbp*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x38]
movd xmm0, dword [rsp]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
pxor xmm14, xmm3
movd ebp, xmm14
pshufd xmm13, xmm14, 0x55
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r10d
movd dword [rsp + 0x3c], xmm13
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm0, xmm14, 0xaa
movzx edi, cl
mov ecx, dword [rsp + 0x38]
pshufd xmm14, xmm14, 0xff
movd r9d, xmm0
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
movd dword [rsp + 0x70], xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movzx edi, ch
mov ecx, r8d
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm0, dword [rsp]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x10]
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
movzx r8d, r8b
movzx edi, ch
mov ecx, dword [rsp + 0x38]
movd xmm14, dword [rsp + 0x60]
punpckldq xmm0, xmm14
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ecx
shr edi, 0x10
movzx ecx, ch
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + r8*4]
xor eax, dword [r14 + r10*4 + 0xc00]
movzx r8d, r12b
xor eax, dword [r14 + rcx*4 + 0x400]
mov r10d, dword [rsp + 0x10]
mov ecx, edx
shr ecx, 0x18
shr r10d, 0x10
mov r8d, dword [r14 + r8*4]
xor r8d, dword [r14 + rcx*4 + 0xc00]
movzx edi, r10b
mov ecx, dword [rsp + 0x20]
xor eax, dword [r14 + rdi*4 + 0x800]
movzx edi, ch
mov ecx, esi
shr ecx, 0x10
xor r8d, dword [r14 + rdi*4 + 0x400]
mov dword [rsp + 0x10], eax
movzx edi, cl
xor r8d, dword [r14 + rdi*4 + 0x800]
movd xmm13, dword [rsp + 0x10]
mov ecx, r12d
mov dword [rsp + 0x10], r8d
movd xmm15, dword [rsp + 0x38]
movzx r8d, byte [rsp + 0x20]
shr ecx, 0x18
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
mov r8d, dword [r14 + r8*4]
pxor xmm0, xmm3
xor r8d, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
pshufd xmm15, xmm0, 0x55
movd dword [rsp + 0x38], xmm0
pshufd xmm13, xmm0, 0xaa
movzx edi, ch
mov ecx, edx
movd dword [rsp], xmm15
pshufd xmm0, xmm0, 0xff
shr ecx, 0x10
xor r8d, dword [r14 + rdi*4 + 0x400]
movd r10d, xmm13
movzx edi, cl
xor r8d, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x20]
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x60], r8d
movzx r8d, sil
shr esi, 0x18
movd eax, xmm0
shr ecx, 0x18
mov r8d, dword [r14 + r8*4]
movd xmm13, dword [rsp + 0x60]
xor r8d, dword [r14 + rcx*4 + 0xc00]
mov ecx, r12d
xor r8d, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
mov ecx, r12d
mov r12d, dword [rsp + 0x20]
movd xmm0, dword [rsp + 0x10]
xor r8d, dword [r14 + rdi*4 + 0x800]
mov edi, dword [r14 + rdx*4]
movzx edx, r13b
shr r12d, 0x10
mov dword [rsp + 0x74], r8d
movzx r8d, r12b
mov r12d, dword [r14 + rdx*4]
punpckldq xmm0, xmm13
xor edi, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
mov ecx, r15d
movd xmm14, dword [rsp + 0x74]
xor edi, dword [r14 + rsi*4 + 0x400]
xor edi, dword [r14 + r8*4 + 0x800]
mov r8d, r11d
movzx esi, ch
mov dword [rsp + 0x20], edi
mov edi, ebx
movd xmm15, dword [rsp + 0x20]
mov ecx, r13d
shr edi, 0x18
shr r8d, 0x10
movzx edx, r8b
mov r8d, ebx
xor r12d, dword [r14 + rdi*4 + 0xc00]
mov edi, dword [r14 + rdx*4 + 0x800]
shr ecx, 0x18
punpckldq xmm14, xmm15
xor r12d, dword [r14 + rsi*4 + 0x400]
shr r8d, 0x10
punpcklqdq xmm0, xmm14
xor edi, r12d
movzx r12d, r15b
mov dword [rsp + 0x10], edi
movzx edi, r8b
mov r8d, r13d
mov edx, dword [r14 + r12*4]
xor edx, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
pxor xmm0, xmm3
movzx esi, ch
shr r8d, 0x10
mov ecx, r15d
mov r12d, dword [r14 + rdi*4 + 0x800]
xor edx, dword [r14 + rsi*4 + 0x400]
movzx edi, r8b
shr ecx, 0x18
movzx esi, bh
xor r12d, edx
pshufd xmm14, xmm0, 0x55
movzx edx, r11b
movzx ebx, bl
pshufd xmm15, xmm0, 0xaa
movd dword [rsp + 0x20], xmm0
pshufd xmm0, xmm0, 0xff
shr r15d, 0x10
movd dword [rsp + 0x60], xmm14
shr r11d, 0x18
movd dword [rsp + 0x74], xmm15
movd dword [rsp + 0x78], xmm0
mov dword [rsp + 0x7c], r12d
mov r12d, dword [r14 + rdx*4]
mov edx, dword [r14 + rdi*4 + 0x800]
xor r12d, dword [r14 + rcx*4 + 0xc00]
xor r12d, dword [r14 + rsi*4 + 0x400]
mov ecx, dword [r14 + rbx*4]
xor edx, r12d
movzx r12d, bpl
mov dword [rsp + 0x80], edx
mov edx, r13d
movzx r13d, r15b
xor ecx, dword [r14 + r11*4 + 0xc00]
movzx esi, dh
mov edx, dword [r14 + r12*4]
mov r15d, dword [r14 + r13*4 + 0x800]
mov r13d, r9d
xor ecx, dword [r14 + rsi*4 + 0x400]
shr r13d, 0x10
movd xmm15, dword [rsp + 0x10]
xor r15d, ecx
mov dword [rsp + 0x84], r15d
mov r15d, dword [rsp + 0x70]
movzx r12d, r13b
mov edi, r15d
mov ecx, dword [rsp + 0x3c]
shr edi, 0x18
movd xmm0, dword [rsp + 0x7c]
mov r13d, ecx
xor edx, dword [r14 + rdi*4 + 0xc00]
punpckldq xmm15, xmm0
movd xmm14, dword [rsp + 0x84]
movzx edi, ch
xor edx, dword [r14 + rdi*4 + 0x400]
mov edi, dword [r14 + r12*4 + 0x800]
mov r12d, r15d
xor edi, edx
movzx edx, cl
mov ecx, ebp
shr r12d, 0x10
mov dword [rsp + 0x10], edi
shr ecx, 0x18
mov edx, dword [r14 + rdx*4]
movd xmm13, dword [rsp + 0x80]
punpckldq xmm13, xmm14
xor edx, dword [r14 + rcx*4 + 0xc00]
mov ecx, r9d
punpcklqdq xmm15, xmm13
movzx edi, ch
movzx ecx, r12b
xor edx, dword [r14 + rdi*4 + 0x400]
mov r12d, r13d
mov edi, dword [r14 + rcx*4 + 0x800]
mov ecx, r15d
shr r12d, 0x18
mov r15d, ebp
pxor xmm15, xmm9
xor edi, edx
movzx edx, r9b
movd esi, xmm15
mov dword [rsp + 0x3c], edi
movzx edi, ch
mov edx, dword [r14 + rdx*4]
xor edx, dword [r14 + r12*4 + 0xc00]
pshufd xmm13, xmm15, 0x55
xor edx, dword [r14 + rdi*4 + 0x400]
shr r15d, 0x10
movd r8d, xmm13
pshufd xmm14, xmm15, 0xaa
movzx r12d, r15b
shr r9d, 0x18
movd r11d, xmm14
pshufd xmm15, xmm15, 0xff
mov edi, dword [r14 + r12*4 + 0x800]
shr r13d, 0x10
movd ebx, xmm15
xor edi, edx
movzx edx, cl
mov dword [rsp + 0x70], edi
mov ecx, ebp
mov r15d, dword [r14 + rdx*4]
xor r15d, dword [r14 + r9*4 + 0xc00]
movzx r9d, r13b
movzx ebp, ch
mov r13d, eax
mov r12d, dword [r14 + r9*4 + 0x800]
xor r15d, dword [r14 + rbp*4 + 0x400]
shr r13d, 0x18
xor r12d, r15d
mov r15d, dword [rsp + 0x38]
mov dword [rsp + 0x7c], r12d
mov r12d, r10d
movzx edx, r15b
mov ecx, dword [r14 + rdx*4]
mov edx, dword [rsp]
shr r12d, 0x10
movzx edx, dh
xor ecx, dword [r14 + r13*4 + 0xc00]
movzx r13d, r12b
mov r12d, eax
xor ecx, dword [r14 + rdx*4 + 0x400]
xor ecx, dword [r14 + r13*4 + 0x800]
mov r13d, dword [rsp]
mov edx, r15d
shr r12d, 0x10
shr edx, 0x18
mov dword [rsp + 0x38], ecx
movd xmm13, dword [rsp + 0x70]
movzx ecx, r13b
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rdx*4 + 0xc00]
mov edx, r10d
movzx edx, dh
xor ecx, dword [r14 + rdx*4 + 0x400]
movzx edx, r12b
mov r12d, r13d
movd xmm0, dword [rsp + 0x7c]
shr r12d, 0x18
xor ecx, dword [r14 + rdx*4 + 0x800]
movzx edx, ah
movd xmm14, dword [rsp + 0x10]
mov dword [rsp], ecx
movzx ecx, r10b
shr r13d, 0x10
movzx eax, al
mov ecx, dword [r14 + rcx*4]
movd xmm15, dword [rsp + 0x3c]
shr r10d, 0x18
punpckldq xmm13, xmm0
xor ecx, dword [r14 + r12*4 + 0xc00]
mov r12d, r15d
xor ecx, dword [r14 + rdx*4 + 0x400]
shr r12d, 0x10
movzx edx, r12b
punpckldq xmm14, xmm15
mov r12d, dword [r14 + rax*4]
xor r12d, dword [r14 + r10*4 + 0xc00]
xor ecx, dword [r14 + rdx*4 + 0x800]
movzx r10d, r13b
punpcklqdq xmm14, xmm13
movzx eax, sil
mov dword [rsp + 0x3c], ecx
mov ecx, r15d
mov r15d, dword [r14 + r10*4 + 0x800]
pxor xmm14, xmm9
movzx edx, ch
movd ebp, xmm14
pshufd xmm13, xmm14, 0x55
xor r12d, dword [r14 + rdx*4 + 0x400]
xor r15d, r12d
pshufd xmm0, xmm14, 0xaa
movd r9d, xmm13
mov edx, ebx
pshufd xmm14, xmm14, 0xff
shr edx, 0x18
mov dword [rsp + 0x70], r15d
mov r15d, esi
movd dword [rsp + 0x10], xmm14
movd xmm15, dword [rsp + 0x3c]
mov ecx, dword [r14 + rax*4]
mov eax, r8d
xor ecx, dword [r14 + rdx*4 + 0xc00]
movzx edx, ah
mov eax, r11d
movd xmm13, dword [rsp + 0x70]
shr eax, 0x10
movd edi, xmm0
xor ecx, dword [r14 + rdx*4 + 0x400]
movd xmm0, dword [rsp + 0x38]
movzx edx, al
mov eax, r11d
movd xmm14, dword [rsp]
punpckldq xmm15, xmm13
xor ecx, dword [r14 + rdx*4 + 0x800]
movzx edx, ah
mov eax, ebx
shr r15d, 0x18
mov dword [rsp + 0x38], ecx
shr eax, 0x10
movzx ecx, r8b
punpckldq xmm0, xmm14
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + r15*4 + 0xc00]
mov r15d, r8d
punpcklqdq xmm0, xmm15
shr r15d, 0x18
shr r8d, 0x10
pxor xmm0, xmm9
xor ecx, dword [r14 + rdx*4 + 0x400]
movzx edx, al
movzx eax, bh
movzx ebx, bl
movzx r8d, r8b
xor ecx, dword [r14 + rdx*4 + 0x800]
pshufd xmm13, xmm0, 0xaa
movd r13d, xmm0
mov dword [rsp + 0x3c], ecx
movzx ecx, r11b
shr r11d, 0x18
movd r12d, xmm13
pshufd xmm15, xmm0, 0x55
mov edx, dword [r14 + rcx*4]
mov ecx, esi
pshufd xmm0, xmm0, 0xff
movd r10d, xmm15
shr ecx, 0x10
xor edx, dword [r14 + r15*4 + 0xc00]
xor edx, dword [r14 + rax*4 + 0x400]
mov eax, esi
movzx r15d, cl
movzx esi, ah
mov eax, dword [rsp + 0x20]
movd xmm15, dword [rsp + 0x3c]
xor edx, dword [r14 + r15*4 + 0x800]
movd dword [rsp], xmm0
mov dword [rsp + 0x70], edx
mov edx, dword [r14 + rbx*4]
xor edx, dword [r14 + r11*4 + 0xc00]
xor edx, dword [r14 + rsi*4 + 0x400]
movzx r11d, al
mov esi, dword [rsp + 0x78]
xor edx, dword [r14 + r8*4 + 0x800]
mov dword [rsp + 0x7c], edx
mov r15d, esi
movd xmm14, dword [rsp + 0x7c]
movd xmm13, dword [rsp + 0x70]
shr r15d, 0x18
punpckldq xmm13, xmm14
mov ecx, dword [r14 + r11*4]
movd xmm14, dword [rsp + 0x38]
punpckldq xmm14, xmm15
punpcklqdq xmm14, xmm13
xor ecx, dword [r14 + r15*4 + 0xc00]
mov edx, dword [rsp + 0x60]
pxor xmm14, xmm10
movzx ebx, dh
xor ecx, dword [r14 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x74]
mov r15d, edx
mov r8d, ebx
shr r8d, 0x10
movzx r11d, r8b
mov r8d, esi
shr r8d, 0x10
xor ecx, dword [r14 + r11*4 + 0x800]
mov dword [rsp + 0x20], ecx
movzx ecx, dl
mov edx, eax
shr edx, 0x18
mov r11d, dword [r14 + rcx*4]
mov ecx, ebx
movzx ebx, bh
xor r11d, dword [r14 + rdx*4 + 0xc00]
movzx edx, r8b
xor r11d, dword [r14 + rbx*4 + 0x400]
mov r8d, eax
xor r11d, dword [r14 + rdx*4 + 0x800]
mov ebx, r15d
mov edx, esi
shr r8d, 0x10
mov dword [rsp + 0x38], r11d
shr ebx, 0x18
mov r11d, ecx
movzx ecx, cl
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rbx*4 + 0xc00]
movzx ebx, dh
movzx edx, r8b
xor ecx, dword [r14 + rbx*4 + 0x400]
shr r11d, 0x18
xor ecx, dword [r14 + rdx*4 + 0x800]
movzx ebx, ah
mov dword [rsp + 0x3c], ecx
movzx ecx, sil
mov eax, dword [rsp + 0x10]
movzx edx, bpl
mov esi, dword [r14 + rcx*4]
xor esi, dword [r14 + r11*4 + 0xc00]
shr r15d, 0x10
movzx r8d, r15b
mov r15d, edi
shr eax, 0x18
mov r11d, dword [r14 + rdx*4]
mov edx, r9d
shr r15d, 0x10
xor r11d, dword [r14 + rax*4 + 0xc00]
movzx eax, dh
xor esi, dword [r14 + rbx*4 + 0x400]
movzx edx, r15b
xor esi, dword [r14 + r8*4 + 0x800]
mov r15d, ebp
xor r11d, dword [r14 + rax*4 + 0x400]
mov eax, dword [r14 + rdx*4 + 0x800]
mov dword [rsp + 0x70], esi
shr r15d, 0x18
mov edx, edi
movd xmm0, dword [rsp + 0x70]
movd xmm13, dword [rsp + 0x3c]
xor eax, r11d
movzx r11d, r9b
punpckldq xmm13, xmm0
movd xmm15, dword [rsp + 0x38]
mov r11d, dword [r14 + r11*4]
movd xmm0, dword [rsp + 0x20]
mov dword [rsp + 0x20], eax
movzx eax, dh
punpckldq xmm0, xmm15
xor r11d, dword [r14 + r15*4 + 0xc00]
mov edx, dword [rsp + 0x10]
punpcklqdq xmm0, xmm13
mov r15d, edx
shr r15d, 0x10
xor r11d, dword [r14 + rax*4 + 0x400]
pxor xmm0, xmm9
movzx eax, r15b
pshufd xmm13, xmm0, 0x55
mov r15d, dword [r14 + rax*4 + 0x800]
mov eax, r9d
shr r9d, 0x10
shr eax, 0x18
movd ebx, xmm13
movd esi, xmm0
movzx r9d, r9b
xor r15d, r11d
movzx r11d, dil
shr edi, 0x18
pshufd xmm15, xmm0, 0xaa
mov dword [rsp + 0x10], r15d
mov r15d, ebp
mov r11d, dword [r14 + r11*4]
movd r8d, xmm15
xor r11d, dword [r14 + rax*4 + 0xc00]
shr r15d, 0x10
movzx eax, dh
movzx edx, dl
xor r11d, dword [r14 + rax*4 + 0x400]
movzx eax, r15b
pshufd xmm0, xmm0, 0xff
mov r15d, dword [r14 + rax*4 + 0x800]
mov eax, ebp
movd ecx, xmm0
movd xmm0, dword [rsp + 0x20]
xor r15d, r11d
mov dword [rsp + 0x38], r15d
movzx ebp, ah
mov r15d, dword [rsp]
mov eax, r10d
mov r11d, dword [r14 + rdx*4]
xor r11d, dword [r14 + rdi*4 + 0xc00]
movzx edi, r13b
xor r11d, dword [r14 + rbp*4 + 0x400]
mov edx, dword [r14 + rdi*4]
movzx ebp, ah
mov eax, r13d
xor r11d, dword [r14 + r9*4 + 0x800]
mov r9d, r12d
movd xmm13, dword [rsp + 0x38]
shr eax, 0x18
mov dword [rsp + 0x3c], r11d
shr r9d, 0x10
mov r11d, r15d
movd xmm15, dword [rsp + 0x3c]
shr r11d, 0x18
movzx edi, r9b
mov r9d, r15d
xor edx, dword [r14 + r11*4 + 0xc00]
movzx r11d, r10b
xor edx, dword [r14 + rbp*4 + 0x400]
punpckldq xmm13, xmm15
xor edx, dword [r14 + rdi*4 + 0x800]
movd xmm15, dword [rsp + 0x10]
mov dword [rsp], edx
punpckldq xmm0, xmm15
punpcklqdq xmm0, xmm13
mov edx, dword [r14 + r11*4]
xor edx, dword [r14 + rax*4 + 0xc00]
mov eax, r12d
movzx r11d, r12b
movzx ebp, ah
mov eax, r10d
pxor xmm0, xmm10
movaps xmmword [rsp + 0x60], xmm0
xor edx, dword [r14 + rbp*4 + 0x400]
shr r9d, 0x10
movzx edi, r9b
xor edx, dword [r14 + rdi*4 + 0x800]
shr eax, 0x18
mov dword [rsp + 0x10], edx
mov edx, dword [r14 + r11*4]
shr r12d, 0x18
xor edx, dword [r14 + rax*4 + 0xc00]
mov eax, r15d
mov r15d, r13d
shr r10d, 0x10
shr r15d, 0x10
movzx ebp, ah
movzx edi, al
mov eax, r13d
movzx r9d, r15b
movzx r10d, r10b
mov r15d, ecx
movzx r11d, sil
xor edx, dword [r14 + rbp*4 + 0x400]
movzx ebp, ah
shr r15d, 0x18
xor edx, dword [r14 + r9*4 + 0x800]
mov dword [rsp + 0x20], edx
mov edx, dword [r14 + rdi*4]
movzx eax, bl
movzx edi, bh
xor edx, dword [r14 + r12*4 + 0xc00]
movd xmm0, dword [rsp + 0x20]
mov r12d, edx
mov edx, r8d
xor r12d, dword [r14 + rbp*4 + 0x400]
shr edx, 0x10
mov ebp, esi
mov r9d, dword [r14 + r11*4]
mov r13d, r12d
shr ebp, 0x18
xor r13d, dword [r14 + r10*4 + 0x800]
mov r10d, ecx
mov dword [rsp + 0x38], r13d
movzx r12d, dl
movd xmm13, dword [rsp + 0x38]
mov edx, r8d
shr r10d, 0x10
mov r13d, dword [r14 + rax*4]
movzx eax, ch
xor r9d, dword [r14 + r15*4 + 0xc00]
movzx r11d, r10b
punpckldq xmm0, xmm13
movzx r15d, r8b
movzx ecx, cl
xor r9d, dword [r14 + rdi*4 + 0x400]
movzx edi, dh
mov edx, esi
xor r9d, dword [r14 + r12*4 + 0x800]
xor r13d, dword [r14 + rbp*4 + 0xc00]
mov ebp, esi
movd xmm13, dword [rsp + 0x10]
movzx esi, dh
xor r13d, dword [r14 + rdi*4 + 0x400]
movd xmm15, dword [rsp]
shr ebp, 0x10
mov dword [rsp], r9d
mov r9d, ebx
shr ebx, 0x10
mov r12d, dword [r14 + r15*4]
mov edi, dword [r14 + rcx*4]
shr r8d, 0x18
shr r9d, 0x18
movzx ebx, bl
punpckldq xmm15, xmm13
xor r13d, dword [r14 + r11*4 + 0x800]
xor edi, dword [r14 + r8*4 + 0xc00]
punpcklqdq xmm15, xmm0
mov dword [rsp + 0x10], r13d
movzx r13d, bpl
xor r12d, dword [r14 + r9*4 + 0xc00]
pxor xmm15, xmm10
xor r12d, dword [r14 + rax*4 + 0x400]
xor edi, dword [r14 + rsi*4 + 0x400]
xor r12d, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x20], r12d
xor edi, dword [r14 + rbx*4 + 0x800]
mov dword [rsp + 0x38], edi
movd xmm13, dword [rsp + 0x20]
movd xmm0, dword [rsp + 0x38]
punpckldq xmm13, xmm0
movq qword [rsp + 0x20], xmm13
movd xmm0, dword [rsp]
movd xmm13, dword [rsp + 0x10]
punpckldq xmm0, xmm13
movhps xmm0, qword [rsp + 0x20]
sub qword [rsp + 0x30], 0xffffffffffffff80
pxor xmm0, xmm10
add qword [rsp + 0x28], 8
mov r8, qword [rsp + 0x28]
cmp qword [rsp + 0x88], r8
jne 0x66a950
mov r14, qword [rsp + 0x188]
movdqa xmm12, xmmword [rsp + 0x40]
movaps xmmword [r14 + 0x40], xmm2
movdqa xmm8, xmmword [rsp + 0x50]
movdqa xmm7, xmmword [rsp + 0x60]
movaps xmmword [r14 + 0x50], xmm12
movaps xmmword [r14 + 0x70], xmm1
movaps xmmword [r14 + 0x60], xmm8
movaps xmmword [r14 + 0x80], xmm14
movaps xmmword [r14 + 0x90], xmm7
movaps xmmword [r14 + 0xa0], xmm15
movaps xmmword [r14 + 0xb0], xmm0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xf0]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm14, xmmword [rsp + 0x110]
movaps xmm15, xmmword [rsp + 0x120]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret