Function at 0x5ac6c0
Capabilities:
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]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x188], rdx
movdqa xmm2, xmmword [rdx + 0x40]
mov r9d, dword [r8 + 4]
movaps xmmword [rsp + 0x40], xmm7
movdqa xmm3, xmmword [rdx + 0x90]
movdqa xmm1, xmmword [rdx + 0x70]
movdqa xmm0, xmmword [rdx + 0xb0]
movaps xmmword [rsp + 0x60], xmm3
movdqa xmm14, xmmword [rdx + 0x80]
movdqa xmm15, xmmword [rdx + 0xa0]
test r9d, r9d
je 0x5b33a0
mov rdi, qword [r8 + 0x10]
mov rsi, rdx
lea rbp, str.cw
shr rdi, 4
je 0x5b33a0
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
movdqa xmm7, xmm9
or esi, r8d
shl r13d, 0x10
pslldq xmm7, 4
mov r15d, r11d
shl r14d, 8
or esi, r13d
ror r15d, 8
or esi, r14d
mov ebx, esi
xor r15d, 1
mov dword [rsp + 0x28], esi
movd xmm10, dword [rsp + 0x28]
ror ebx, 8
mov dword [rsp], r15d
movd xmm13, dword [rsp]
xor ebx, 1
mov dword [rsp + 0x10], ebx
movd xmm6, dword [rsp + 0x10]
punpckldq xmm10, xmm6
mov dword [rsp + 0x10], r11d
movd xmm4, dword [rsp + 0x10]
punpckldq xmm4, xmm13
movdqa xmm3, xmm4
punpcklqdq xmm3, xmm10
movdqa xmm10, xmm8
pxor xmm8, xmm5
pshufd xmm11, xmm3, 0xff
pslldq xmm10, 4
movdqa xmm4, xmm7
pxor xmm11, xmm10
pslldq xmm4, 4
pxor xmm8, xmm11
pxor xmm8, xmm12
pxor xmm7, xmm4
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 + 0x28], r15d
ror eax, 8
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x28]
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 + 0x10], xmm9
punpckldq xmm11, xmm10
movdqa xmm3, xmm11
punpcklqdq xmm3, xmm13
movdqa xmm13, xmm4
pshufd xmm6, xmm3, 0xaa
pslldq xmm13, 4
pxor xmm6, xmm13
pxor xmm7, xmm6
pxor xmm7, xmm9
movdqa xmm6, xmm8
pshufd xmm9, xmm7, 0x55
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]
pshufd xmm4, xmm7, 0xff
movzx r8d, sil
movzx r12d, byte [rbp + rbx]
movd r13d, xmm4
movzx r10d, byte [rbp + r8]
movd eax, xmm4
shr r13d, 0x18
shl r14d, 0x18
movzx r9d, al
movzx ebx, ah
shl r12d, 8
or r14d, r11d
movd r11d, xmm4
shl r10d, 0x10
movdqa xmm4, xmm7
shr r11d, 0x10
movzx edx, byte [rbp + r13]
pslldq xmm6, 4
or r14d, r10d
movzx esi, r11b
movzx r15d, byte [rbp + r9]
or r14d, r12d
movdqa xmm13, xmm6
movzx r8d, byte [rbp + rsi]
movzx r10d, byte [rbp + rbx]
shl edx, 0x18
mov r12d, r14d
or edx, r15d
ror r12d, 8
pslldq xmm13, 4
xor r12d, 2
shl r8d, 0x10
shl r10d, 8
mov dword [rsp], r12d
movd xmm5, dword [rsp]
or edx, r8d
pslldq xmm4, 4
pxor xmm6, xmm13
or edx, r10d
mov eax, edx
mov dword [rsp + 0x30], edx
movd xmm3, dword [rsp + 0x30]
ror eax, 8
xor eax, 2
mov dword [rsp + 0x28], eax
movd xmm11, dword [rsp + 0x28]
punpckldq xmm3, xmm11
mov dword [rsp + 0x28], r14d
movd xmm10, dword [rsp + 0x28]
movdqa xmm11, xmm13
punpckldq xmm10, xmm5
movdqa xmm9, xmm10
pslldq xmm11, 4
movdqa xmm5, xmm4
punpcklqdq xmm9, xmm3
pslldq xmm5, 4
pshufd xmm3, xmm9, 0xff
pxor xmm3, xmm11
pxor xmm6, xmm3
pxor xmm6, xmm8
pshufd xmm13, xmm6, 0x55
pshufd xmm10, xmm6, 0xff
movd edx, xmm13
movzx r9d, dl
movd r14d, xmm13
movd r11d, xmm13
movd r12d, xmm10
movzx ebx, dh
shr r14d, 0x18
shr r11d, 0x10
movd eax, xmm10
movzx r15d, byte [rbp + r9]
movzx r13d, byte [rbp + r14]
movzx esi, r11b
movzx r10d, byte [rbp + rbx]
movzx r14d, al
movzx r8d, byte [rbp + rsi]
movzx r9d, byte [rbp + r14]
movzx ebx, ah
shl r13d, 0x18
or r13d, r15d
shl r8d, 0x10
movd r15d, xmm10
or r13d, r8d
shl r10d, 8
shr r12d, 0x18
movzx r8d, byte [rbp + rbx]
movzx edx, byte [rbp + r12]
shr r15d, 0x10
or r13d, r10d
movzx r11d, r15b
shl edx, 0x18
movzx esi, byte [rbp + r11]
or edx, r9d
shl r8d, 8
mov r10d, r13d
ror r10d, 8
shl esi, 0x10
mov dword [rsp], r10d
or edx, esi
or edx, r8d
mov eax, edx
ror eax, 8
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x30], edx
movd xmm3, dword [rsp + 0x28]
movd xmm11, dword [rsp]
mov dword [rsp + 0x28], r13d
movd xmm9, dword [rsp + 0x30]
movd xmm13, dword [rsp + 0x28]
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], r8d
movd xmm3, dword [rsp]
pslldq xmm13, 4
or edx, r11d
pxor xmm4, xmm13
or edx, ebx
mov eax, edx
ror eax, 8
mov dword [rsp + 0x30], edx
movd xmm10, dword [rsp + 0x30]
xor eax, 4
mov dword [rsp + 0x28], eax
movd xmm11, dword [rsp + 0x28]
punpckldq xmm10, xmm11
mov dword [rsp + 0x28], r12d
movd xmm9, dword [rsp + 0x28]
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], ebx
ror eax, 8
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], eax
movd xmm13, dword [rsp + 0x30]
movd xmm11, dword [rsp + 0x28]
mov dword [rsp + 0x28], r13d
punpckldq xmm13, xmm11
movd xmm9, dword [rsp + 0x28]
movd xmm11, dword [rsp]
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 + 0x30], r13d
xor r9d, 8
shr rdi, 3
ror eax, 8
movd xmm10, dword [rsp + 0x30]
mov dword [rsp], r9d
shl rdi, 7
xor eax, 8
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], eax
movd xmm11, dword [rsp + 0x28]
punpckldq xmm10, xmm11
movq qword [rsp + 0x28], xmm10
movd xmm11, dword [rsp]
movd xmm10, dword [rsp + 0x30]
punpckldq xmm10, xmm11
movdqa xmm11, xmm13
movhps xmm10, qword [rsp + 0x28]
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], xmm10
pslldq xmm10, 4
or r15d, r8d
mov dword [rsp + 0x28], r12d
or ebp, r15d
mov r10d, ebp
ror r10d, 8
mov dword [rsp + 0x3c], ebp
movd xmm13, dword [rsp + 0x3c]
mov dword [rsp + 0x30], r10d
movd xmm11, dword [rsp + 0x30]
punpckldq xmm13, xmm11
movq qword [rsp + 0x30], xmm13
movd xmm11, dword [rsp + 0x28]
mov dword [rsp + 0x3c], r14d
movd xmm13, dword [rsp + 0x3c]
lea r14, [0x00799880]
punpckldq xmm13, xmm11
movhps xmm13, qword [rsp + 0x30]
movdqa xmm11, xmm10
pxor xmm10, xmmword [rsp]
mov qword [rsp], rcx
pslldq xmm11, 4
pshufd xmm13, xmm13, 0xaa
lea rcx, [rcx + rdi + 0x80]
mov qword [rsp + 0x88], rcx
pxor xmm13, xmm11
movdqa xmm11, xmmword [rsp + 0x10]
pxor xmm10, xmm13
pxor xmm10, xmm3
nop dword [rax]
mov r15, qword [rsp]
pxor xmm2, xmmword [r15]
pshufd xmm13, xmm2, 0x55
movd r13d, xmm2
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 r11d, xmm13
movd dword [rsp + 0x10], xmm2
movdqa xmm2, xmmword [rsp + 0x50]
pxor xmm2, xmmword [r15 + 0x20]
mov r15d, eax
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 + 0x3c], 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 + 0x74], 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 + 0x28], xmm13
movzx ebx, r15b
xor edx, dword [r14 + rbx*4 + 0x800]
mov r15d, dword [r14 + rax*4]
movd dword [rsp + 0x70], 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 + 0x30], xmm2
xor r15d, dword [r14 + rdi*4 + 0x400]
xor r15d, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x78], r15d
movd xmm2, dword [rsp + 0x50]
mov edi, dword [rsp + 0x10]
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 + 0x3c]
shr ebx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x78]
movzx edi, bl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ebx, r12d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x3c], 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 + 0x10]
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 + 0x10], 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 + 0x3c]
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 + 0x74], 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 + 0x74]
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 + 0x10]
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 + 0x3c], 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 + 0x10], eax
shr r11d, 0x18
movzx eax, r8b
movd xmm1, dword [rsp + 0x10]
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 + 0x74], 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 + 0x28]
mov dword [rsp + 0x78], eax
movd xmm13, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x70]
punpckldq xmm2, xmm13
shr r9d, 0x18
movd xmm13, dword [rsp + 0x74]
mov eax, dword [r14 + rdi*4]
movzx edi, ch
punpckldq xmm1, xmm13
mov ecx, dword [rsp + 0x30]
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 + 0x10], xmm2
movzx ecx, ch
movd r8d, xmm13
movd dword [rsp + 0x74], xmm1
xor eax, dword [r14 + rdi*4 + 0x800]
shr r9d, 0x18
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x28]
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 + 0x70]
mov edi, ecx
shr edi, 0x10
movzx r9d, dil
xor eax, dword [r14 + r9*4 + 0x800]
mov edi, dword [rsp + 0x28]
mov r9d, r11d
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
mov eax, dword [r14 + rax*4]
shr ecx, 0x18
mov r9d, ecx
mov ecx, r11d
mov r11d, dword [rsp + 0x28]
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 + 0x28], eax
movd xmm13, dword [rsp + 0x28]
movzx eax, r13b
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x70]
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 + 0x70], xmm1
shr ecx, 0x18
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x28], xmm2
pshufd xmm1, xmm1, 0xff
movd r11d, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
movzx eax, r15b
movd r9d, xmm1
movd xmm1, dword [rsp + 0x30]
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 + 0x3c]
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 + 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 xmm13, dword [rsp + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x3c]
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 + 0x3c]
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 + 0x30]
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 + 0x3c], 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 + 0x10]
movd xmm2, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x74]
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 + 0x3c], eax
movzx eax, byte [rsp + 0x10]
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 + 0x74]
pxor xmm1, xmm11
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x30], 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 + 0x10]
mov dword [rsp + 0x74], 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 + 0x3c]
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 + 0x10]
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 + 0x10], eax
movzx eax, byte [rsp + 0x70]
shr ecx, 0x18
movd xmm13, dword [rsp + 0x10]
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x74]
mov eax, dword [r14 + rax*4]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x28]
pxor xmm1, xmm11
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd r8d, xmm13
movd dword [rsp + 0x10], xmm2
shr ecx, 0x10
movd dword [rsp + 0x74], xmm1
movzx edi, cl
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x28]
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 + 0x28]
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 + 0x70]
movzx r9d, r9b
movd xmm1, dword [rsp + 0x3c]
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 + 0x70], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x28]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm2, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x28], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x28]
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, xmm11
movzx edi, ch
mov ecx, edx
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x3c], xmm1
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x28], 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 + 0x30]
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm1, dword [rsp + 0x70]
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 xmm2, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x30], 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 + 0x30]
mov edi, dword [rsp + 0x74]
movzx eax, bpl
shr edi, 0x18
mov ecx, dword [rsp + 0x10]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movd xmm1, dword [rsp + 0x70]
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 + 0x10]
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 + 0x74]
pxor xmm1, xmm8
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x30], 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 + 0x10]
mov dword [rsp + 0x74], 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 + 0x10]
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 + 0x10], eax
movd xmm13, dword [rsp + 0x10]
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x74]
movd xmm1, dword [rsp + 0x70]
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 + 0x28]
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movd dword [rsp + 0x70], xmm1
movd r8d, xmm13
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x10], xmm2
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x74], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x28]
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 + 0x28]
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
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 + 0x28]
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 + 0x28], eax
movzx eax, r13b
movd xmm2, dword [rsp + 0x3c]
movd xmm1, dword [rsp + 0x74]
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 + 0x28]
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 + 0x74], 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 + 0x3c], 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 + 0x28], 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 + 0x74]
mov dword [rsp + 0x78], eax
movzx eax, r12b
movd xmm13, dword [rsp + 0x78]
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 + 0x30]
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 + 0x74], eax
movzx eax, byte [rsp + 0x30]
movd xmm1, dword [rsp + 0x74]
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 + 0x30]
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 + 0x30], 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 + 0x30]
mov ecx, dword [rsp + 0x10]
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 + 0x70]
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 + 0x30], xmm2
movd r10d, xmm13
movd r12d, xmm1
pshufd xmm1, xmm1, 0xff
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x10]
movd ebx, xmm1
movd xmm1, dword [rsp + 0x74]
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 + 0x10]
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 + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp + 0x10]
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 + 0x10], eax
movzx eax, byte [rsp + 0x3c]
movd xmm13, dword [rsp + 0x10]
shr ecx, 0x18
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 + 0x28]
pxor xmm1, xmm7
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd r8d, xmm13
movd dword [rsp + 0x10], xmm2
shr ecx, 0x10
movd dword [rsp + 0x70], xmm1
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x28]
mov ecx, dword [rsp + 0x3c]
movd xmm1, dword [rsp + 0x74]
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 + 0x28]
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 + 0x3c]
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 + 0x28]
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 + 0x28], eax
movd xmm13, dword [rsp + 0x28]
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 + 0x3c], xmm1
shr ecx, 0x10
movd dword [rsp + 0x28], 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 + 0x74], 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 + 0x74]
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 + 0x30]
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 xmm13, dword [rsp + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm2, dword [rsp + 0x50]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x74]
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 + 0x30], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
movzx edi, bh
mov ecx, dword [rsp + 0x10]
xor eax, dword [r14 + r10*4 + 0xc00]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
movd xmm2, dword [rsp + 0x30]
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 + 0x74], eax
movzx eax, byte [rsp + 0x10]
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, xmm6
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x30], 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 + 0x10]
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]
movd xmm1, dword [rsp + 0x74]
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 + 0x10]
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 + 0x10], eax
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
movd xmm13, dword [rsp + 0x10]
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 + 0x28]
pxor xmm1, xmm6
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd r8d, xmm13
movd dword [rsp + 0x10], xmm2
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 + 0x74], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x28]
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 + 0x28]
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 + 0x3c]
movd xmm1, dword [rsp + 0x74]
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 + 0x28]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
shr ecx, 0x18
movd xmm2, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x28], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x28]
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 + 0x74], 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 + 0x3c], xmm1
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x28], 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 + 0x30]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm1, 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 xmm2, dword [rsp + 0x50]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x30], 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 + 0x30]
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 + 0x74]
punpckldq xmm2, xmm13
mov edi, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x10]
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 + 0x74], eax
movzx eax, byte [rsp + 0x10]
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 + 0x70]
pshufd xmm2, xmm1, 0x55
movd r12d, xmm1
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm13, xmm1, 0xaa
movd dword [rsp + 0x30], xmm2
pshufd xmm1, xmm1, 0xff
mov edi, ecx
shr edi, 0x10
movd r10d, xmm13
movd ebx, xmm1
movd xmm1, dword [rsp + 0x74]
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
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 + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movzx ebp, ch
mov ecx, dword [rsp + 0x10]
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 + 0x10], eax
movd xmm2, dword [rsp + 0x40]
movd xmm13, dword [rsp + 0x10]
shr ecx, 0x18
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x70]
movzx eax, byte [rsp + 0x3c]
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 + 0x28]
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movd r8d, xmm13
movd dword [rsp + 0x10], xmm2
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x70], xmm1
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x74], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x28]
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 + 0x28]
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
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 + 0x28]
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 + 0x28], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x28]
punpckldq xmm2, xmm13
movd xmm1, dword [rsp + 0x74]
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 + 0x3c], xmm1
mov dword [rsp + 0x74], eax
movzx eax, r15b
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
mov eax, dword [r14 + rax*4]
movd r11d, xmm13
movd dword [rsp + 0x28], xmm2
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
movd r9d, xmm1
movd xmm1, dword [rsp + 0x74]
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 + 0x30]
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm2, dword [rsp + 0x50]
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
movd xmm13, dword [rsp + 0x78]
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 + 0x74], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x74]
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 + 0x30], 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 + 0x30]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
mov ecx, dword [rsp + 0x10]
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 + 0x74], eax
pxor xmm1, xmm4
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x30], 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 + 0x70]
movd ebx, xmm1
movd xmm1, dword [rsp + 0x74]
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 + 0x10]
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 + 0x40], eax
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
movd xmm2, dword [rsp + 0x40]
movzx ebp, ch
mov ecx, dword [rsp + 0x10]
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 + 0x10], eax
movzx eax, byte [rsp + 0x3c]
movd xmm13, dword [rsp + 0x10]
shr ecx, 0x18
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 + 0x28]
pxor xmm1, xmm4
movd ebp, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd r8d, xmm13
movd dword [rsp + 0x10], xmm2
shr ecx, 0x10
movd dword [rsp + 0x70], xmm1
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x28]
mov ecx, dword [rsp + 0x3c]
movd xmm1, dword [rsp + 0x74]
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 + 0x28]
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 + 0x3c]
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 + 0x28]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
shr ecx, 0x18
movd xmm2, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x28], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x28]
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 + 0x74], 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 + 0x3c], xmm1
shr ecx, 0x10
movd dword [rsp + 0x28], 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 + 0x74]
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 + 0x30]
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 + 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 xmm13, dword [rsp + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x74]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x30], 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 + 0x10]
movd xmm2, dword [rsp + 0x30]
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 + 0x30], eax
movzx eax, byte [rsp + 0x10]
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, xmm3
pshufd xmm2, xmm1, 0x55
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x74], 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 + 0x10]
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]
xor eax, dword [r14 + r8*4 + 0xc00]
mov ecx, ebp
movzx ebp, ch
mov r8d, dword [rsp + 0x10]
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 + 0x3c]
mov dword [rsp + 0x10], ecx
shr edi, 0x18
movd xmm13, dword [rsp + 0x10]
movd xmm1, dword [rsp + 0x30]
punpckldq xmm2, xmm13
mov ecx, dword [r14 + rax*4]
mov eax, dword [rsp + 0x28]
xor ecx, dword [r14 + rdi*4 + 0xc00]
movd xmm13, dword [rsp + 0x70]
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 + 0x3c]
punpcklqdq xmm1, xmm2
mov dword [rsp + 0x10], ecx
movzx ecx, byte [rsp + 0x28]
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 + 0x70], xmm2
movd r8d, xmm13
movzx edi, ah
mov eax, r9d
movd dword [rsp + 0x30], xmm1
shr eax, 0x10
xor ecx, dword [r14 + rdi*4 + 0x400]
movzx edi, al
mov eax, dword [rsp + 0x28]
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 + 0x3c]
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 + 0x3c], ecx
mov ecx, dword [r14 + r9*4]
mov r9d, edx
xor ecx, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x28]
shr r11d, 0x10
movzx edi, r11b
xor ecx, dword [r14 + rax*4 + 0x400]
mov eax, r15d
xor ecx, dword [r14 + rdi*4 + 0x800]
shr r9d, 0x18
mov dword [rsp + 0x28], ecx
movzx ecx, r13b
movzx edi, ah
mov eax, r13d
mov r11d, dword [r14 + rcx*4]
mov ecx, esi
xor r11d, dword [r14 + r9*4 + 0xc00]
shr eax, 0x18
shr ecx, 0x10
xor r11d, dword [r14 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x28]
movzx r9d, cl
xor r11d, dword [r14 + r9*4 + 0x800]
movd xmm2, dword [rsp + 0x3c]
mov r9d, edx
mov dword [rsp + 0x28], r11d
movzx r11d, r15b
shr r9d, 0x10
punpckldq xmm2, xmm13
movd xmm1, dword [rsp + 0x10]
mov ecx, dword [r14 + r11*4]
xor ecx, dword [r14 + rax*4 + 0xc00]
mov eax, esi
movzx r11d, r9b
movd xmm13, dword [rsp + 0x40]
movzx edi, ah
mov r9d, r13d
mov eax, r15d
shr r9d, 0x10
xor ecx, dword [r14 + rdi*4 + 0x400]
shr eax, 0x18
movzx edi, dh
xor ecx, dword [r14 + r11*4 + 0x800]
punpckldq xmm1, xmm13
shr r15d, 0x10
movzx edx, dl
mov dword [rsp + 0x78], ecx
movzx ecx, sil
punpcklqdq xmm1, xmm2
shr esi, 0x18
mov r11d, dword [r14 + rcx*4]
movzx ecx, r9b
pxor xmm1, xmm3
xor r11d, dword [r14 + rax*4 + 0xc00]
pshufd xmm2, xmm1, 0x55
pshufd xmm13, xmm1, 0xaa
mov eax, dword [r14 + rdx*4]
xor r11d, dword [r14 + rdi*4 + 0x400]
xor r11d, dword [r14 + rcx*4 + 0x800]
mov ecx, r13d
movzx r13d, r15b
mov edi, ebx
xor eax, dword [r14 + rsi*4 + 0xc00]
movd dword [rsp + 0x40], xmm1
movzx esi, ch
pshufd xmm1, xmm1, 0xff
xor eax, dword [r14 + rsi*4 + 0x400]
movd dword [rsp + 0x3c], xmm2
movzx r15d, r12b
shr edi, 0x18
movd dword [rsp + 0x10], xmm13
movd dword [rsp + 0x50], xmm1
mov dword [rsp + 0x7c], r11d
xor eax, dword [r14 + r13*4 + 0x800]
mov r13d, r10d
shr r13d, 0x10
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x74]
mov edx, dword [r14 + r15*4]
movzx r15d, r13b
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, ah
movd xmm1, dword [rsp + 0x28]
mov r13d, eax
xor edx, dword [r14 + rdi*4 + 0x400]
xor edx, dword [r14 + r15*4 + 0x800]
movd xmm2, dword [rsp + 0x7c]
mov dword [rsp + 0x28], edx
movzx edx, al
mov eax, r12d
mov r15d, dword [r14 + rdx*4]
mov edx, r10d
movd xmm13, dword [rsp + 0x80]
shr eax, 0x18
movzx edi, dh
xor r15d, dword [r14 + rax*4 + 0xc00]
mov eax, ebx
shr eax, 0x10
xor r15d, dword [r14 + rdi*4 + 0x400]
mov edi, r13d
movzx edx, al
xor r15d, dword [r14 + rdx*4 + 0x800]
punpckldq xmm2, xmm13
shr edi, 0x18
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x74], r15d
movzx r15d, r10b
movzx edx, bh
movzx ebx, bl
mov eax, dword [r14 + r15*4]
mov r15d, r12d
punpckldq xmm1, xmm13
xor eax, dword [r14 + rdi*4 + 0xc00]
xor eax, dword [r14 + rdx*4 + 0x400]
shr r15d, 0x10
mov edx, r12d
mov r12d, r13d
shr r10d, 0x18
movzx edi, r15b
shr r12d, 0x10
punpcklqdq xmm1, xmm2
xor eax, dword [r14 + rdi*4 + 0x800]
pxor xmm1, xmm9
movzx edi, dh
movzx r15d, bpl
mov dword [rsp + 0x78], eax
mov eax, dword [r14 + rbx*4]
pshufd xmm2, xmm1, 0x55
movd esi, xmm1
xor eax, dword [r14 + r10*4 + 0xc00]
movzx r10d, r12b
pshufd xmm13, xmm1, 0xaa
xor eax, dword [r14 + rdi*4 + 0x400]
movd r9d, xmm2
movd r11d, xmm13
movd xmm2, dword [rsp + 0x78]
xor eax, dword [r14 + r10*4 + 0x800]
mov dword [rsp + 0x7c], eax
movd xmm13, dword [rsp + 0x7c]
pshufd xmm1, xmm1, 0xff
movd ecx, xmm1
punpckldq xmm2, xmm13
movd xmm1, dword [rsp + 0x28]
movd xmm13, dword [rsp + 0x74]
punpckldq xmm1, xmm13
punpcklqdq xmm1, xmm2
pxor xmm1, xmm9
pshufd xmm2, xmm1, 0x55
movd dword [rsp + 0x28], xmm2
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x70]
pshufd xmm13, xmm1, 0xaa
movd edi, xmm1
mov r12d, dword [r14 + r15*4]
mov r15d, r8d
movd r10d, xmm13
pshufd xmm1, xmm1, 0xff
shr r13d, 0x18
shr r15d, 0x10
movzx ebx, ah
movd edx, xmm1
xor r12d, dword [r14 + r13*4 + 0xc00]
movzx r13d, r15b
xor r12d, dword [r14 + rbx*4 + 0x400]
mov r15d, eax
xor r12d, dword [r14 + r13*4 + 0x800]
mov ebx, r8d
mov dword [rsp + 0x70], r12d
movzx r12d, al
mov eax, ebp
mov r12d, dword [r14 + r12*4]
movd xmm1, dword [rsp + 0x70]
shr eax, 0x18
xor r12d, dword [r14 + rax*4 + 0xc00]
movzx eax, bh
mov ebx, dword [rsp + 0x30]
mov r13d, ebx
shr r13d, 0x10
xor r12d, dword [r14 + rax*4 + 0x400]
movzx eax, r13b
mov r13d, r15d
shr r13d, 0x18
xor r12d, dword [r14 + rax*4 + 0x800]
movzx eax, bh
shr r15d, 0x10
mov dword [rsp + 0x30], r12d
movzx r12d, r8b
movzx ebx, bl
shr r8d, 0x18
mov r12d, dword [r14 + r12*4]
xor r12d, dword [r14 + r13*4 + 0xc00]
mov r13d, ebp
shr r13d, 0x10
xor r12d, dword [r14 + rax*4 + 0x400]
movzx eax, r13b
xor r12d, dword [r14 + rax*4 + 0x800]
mov eax, ebp
mov dword [rsp + 0x74], r12d
mov r12d, dword [r14 + rbx*4]
movzx ebp, ah
movzx ebx, sil
xor r12d, dword [r14 + r8*4 + 0xc00]
movzx r8d, r15b
mov r15d, ecx
xor r12d, dword [r14 + rbp*4 + 0x400]
shr r15d, 0x18
xor r12d, dword [r14 + r8*4 + 0x800]
mov r8d, dword [r14 + rbx*4]
mov ebx, r9d
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, r11d
movzx ebx, bh
mov dword [rsp + 0x78], r12d
shr r15d, 0x10
movd xmm13, dword [rsp + 0x78]
xor r8d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
movd xmm2, dword [rsp + 0x74]
xor r8d, dword [r14 + rbx*4 + 0x800]
mov r15d, esi
mov ebx, r11d
shr r15d, 0x18
movzx ebx, bh
punpckldq xmm2, xmm13
movd xmm13, dword [rsp + 0x30]
mov dword [rsp + 0x30], r8d
movzx r8d, r9b
mov r8d, dword [r14 + r8*4]
punpckldq xmm1, xmm13
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, ecx
punpcklqdq xmm1, xmm2
xor r8d, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
pxor xmm1, xmm9
movd r13d, xmm1
movzx ebx, r15b
xor r8d, dword [r14 + rbx*4 + 0x800]
mov r15d, r9d
movzx ebx, ch
movzx ecx, cl
mov dword [rsp + 0x70], r8d
shr r15d, 0x18
movzx r8d, r11b
shr r11d, 0x18
mov r8d, dword [r14 + r8*4]
shr r9d, 0x10
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, esi
shr r15d, 0x10
movzx r9d, r9b
pshufd xmm2, xmm1, 0x55
xor r8d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
mov r15d, dword [rsp + 0x50]
pshufd xmm13, xmm1, 0xaa
movd ebp, xmm2
xor r8d, dword [r14 + rbx*4 + 0x800]
mov ebx, esi
pshufd xmm1, xmm1, 0xff
movzx esi, bh
mov ebx, dword [rsp + 0x3c]
mov dword [rsp + 0x74], r8d
movd eax, xmm1
movd r12d, xmm13
mov r8d, dword [r14 + rcx*4]
xor r8d, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x40]
xor r8d, dword [r14 + rsi*4 + 0x400]
movzx esi, bh
movzx ecx, r11b
mov ebx, dword [rsp + 0x10]
xor r8d, dword [r14 + r9*4 + 0x800]
mov dword [rsp + 0x78], r8d
mov r8d, r15d
mov r9d, dword [r14 + rcx*4]
shr r8d, 0x18
movd xmm2, dword [rsp + 0x78]
mov ecx, ebx
shr ecx, 0x10
xor r9d, dword [r14 + r8*4 + 0xc00]
movd xmm1, dword [rsp + 0x74]
movzx ebx, bh
movzx r8d, cl
xor r9d, dword [r14 + rsi*4 + 0x400]
movd xmm13, dword [rsp + 0x70]
punpckldq xmm1, xmm2
xor r9d, dword [r14 + r8*4 + 0x800]
movd xmm2, dword [rsp + 0x30]
mov r8d, r11d
mov dword [rsp + 0x30], r9d
mov r9d, dword [rsp + 0x3c]
shr r8d, 0x18
punpckldq xmm2, xmm13
movzx esi, r9b
mov ecx, dword [r14 + rsi*4]
mov esi, r15d
xor ecx, dword [r14 + r8*4 + 0xc00]
punpcklqdq xmm2, xmm1
shr esi, 0x10
xor ecx, dword [r14 + rbx*4 + 0x400]
mov ebx, r9d
movzx r8d, sil
xor ecx, dword [r14 + r8*4 + 0x800]
shr ebx, 0x18
pxor xmm2, xmm10
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rsp + 0x10]
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rbx*4 + 0xc00]
mov ebx, r15d
mov r15d, r11d
shr r15d, 0x10
movzx esi, bh
movzx r8d, r15b
mov r15d, edx
xor ecx, dword [r14 + rsi*4 + 0x400]
xor ecx, dword [r14 + r8*4 + 0x800]
mov dword [rsp + 0x70], ecx
movzx ecx, bl
mov ebx, dword [rsp + 0x10]
mov r8d, dword [r14 + rcx*4]
mov ecx, r11d
shr ebx, 0x18
xor r8d, dword [r14 + rbx*4 + 0xc00]
shr r9d, 0x10
movzx ebx, ch
movd xmm13, dword [rsp + 0x70]
movzx r11d, r9b
mov esi, r8d
xor esi, dword [r14 + rbx*4 + 0x400]
movzx ebx, dil
xor esi, dword [r14 + r11*4 + 0x800]
shr r15d, 0x18
mov r11d, dword [r14 + rbx*4]
mov dword [rsp + 0x10], esi
movd xmm1, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x28]
punpckldq xmm13, xmm1
movzx ebx, bh
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, r10d
movq qword [rsp + 0x10], xmm13
movd xmm1, dword [rsp + 0x30]
movd xmm13, dword [rsp + 0x3c]
shr r15d, 0x10
xor r11d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
xor r11d, dword [r14 + rbx*4 + 0x800]
punpckldq xmm1, xmm13
mov r15d, edi
mov ebx, r10d
movhps xmm1, qword [rsp + 0x10]
mov dword [rsp + 0x10], r11d
shr r15d, 0x18
movzx ebx, bh
movzx r11d, byte [rsp + 0x28]
pxor xmm1, xmm9
mov r11d, dword [r14 + r11*4]
pshufd xmm13, xmm1, 0x55
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, edx
movd esi, xmm1
xor r11d, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
movd r8d, xmm13
pshufd xmm13, xmm1, 0xaa
movzx ebx, r15b
xor r11d, dword [r14 + rbx*4 + 0x800]
movzx ebx, dh
movzx edx, dl
mov dword [rsp + 0x30], r11d
mov r15d, dword [rsp + 0x28]
movzx r11d, r10b
shr r10d, 0x18
pshufd xmm1, xmm1, 0xff
mov r11d, dword [r14 + r11*4]
movd r9d, xmm13
movd ecx, xmm1
shr r15d, 0x18
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, edi
xor r11d, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
movzx ebx, r15b
xor r11d, dword [r14 + rbx*4 + 0x800]
mov ebx, edi
mov dword [rsp + 0x3c], r11d
mov r11d, dword [r14 + rdx*4]
xor r11d, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
movzx edx, r13b
mov r10d, dword [rsp + 0x28]
mov ebx, ebp
xor r11d, dword [r14 + rdi*4 + 0x400]
shr r10d, 0x10
movzx r15d, r10b
mov r10d, r12d
mov edi, dword [r14 + rdx*4]
movd xmm13, dword [rsp + 0x3c]
xor r11d, dword [r14 + r15*4 + 0x800]
shr r10d, 0x10
movzx edx, bh
mov ebx, r12d
mov dword [rsp + 0x28], r11d
mov r11d, eax
movzx r15d, r10b
movd xmm1, dword [rsp + 0x28]
shr r11d, 0x18
mov r10d, eax
xor edi, dword [r14 + r11*4 + 0xc00]
movzx r11d, bpl
xor edi, dword [r14 + rdx*4 + 0x400]
xor edi, dword [r14 + r15*4 + 0x800]
punpckldq xmm13, xmm1
movq qword [rsp + 0x28], xmm13
movd xmm1, dword [rsp + 0x10]
mov edx, dword [r14 + r11*4]
mov dword [rsp + 0x10], edi
mov edi, r13d
shr edi, 0x18
movd xmm13, dword [rsp + 0x30]
movzx r11d, r12b
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
punpckldq xmm1, xmm13
mov ebx, ebp
xor edx, dword [r14 + rdi*4 + 0x400]
shr r10d, 0x10
movhps xmm1, qword [rsp + 0x28]
shr ebx, 0x18
movzx edi, ah
movzx r15d, r10b
mov r10d, r13d
pxor xmm1, xmm10
shr r12d, 0x18
shr r10d, 0x10
movaps xmmword [rsp + 0x40], xmm1
movzx eax, al
shr ebp, 0x10
xor edx, dword [r14 + r15*4 + 0x800]
movzx r15d, r10b
movzx ebp, bpl
mov r10d, ecx
mov dword [rsp + 0x28], edx
mov edx, dword [r14 + r11*4]
movzx r11d, sil
shr r10d, 0x18
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 + 0x30], 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 + 0x30]
movzx edx, ah
mov r13d, r12d
mov r12d, r9d
movzx edi, r8b
xor r13d, dword [r14 + rbp*4 + 0x800]
mov dword [rsp + 0x3c], r13d
mov r13d, esi
shr r12d, 0x10
mov eax, r9d
movd xmm1, dword [rsp + 0x3c]
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 + 0x30], xmm13
movd xmm1, dword [rsp + 0x10]
movd xmm13, dword [rsp + 0x28]
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 + 0x30]
mov dword [rsp + 0x10], 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 + 0x28], 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 + 0x30], 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 + 0x30]
mov dword [rsp + 0x3c], eax
movd xmm1, dword [rsp + 0x3c]
mov r15, qword [rsp]
punpckldq xmm13, xmm1
movq qword [rsp + 0x30], xmm13
movd xmm1, dword [rsp + 0x10]
movd xmm13, dword [rsp + 0x28]
punpckldq xmm1, xmm13
movhps xmm1, qword [rsp + 0x30]
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 + 0x3c], 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 + 0x10], 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 + 0x74], 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 + 0x28], xmm14
pshufd xmm15, xmm15, 0xff
movd ecx, xmm15
movd dword [rsp + 0x30], xmm13
movd dword [rsp + 0x70], 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 + 0x78], edx
mov edx, r13d
movd xmm0, dword [rsp + 0x3c]
movzx r13d, sil
movd xmm13, dword [rsp + 0x74]
movzx edi, dh
movd xmm14, dword [rsp + 0x78]
punpckldq xmm0, xmm13
xor r15d, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x10]
xor r15d, dword [r14 + r13*4 + 0x800]
shr edi, 0x18
mov dword [rsp + 0x7c], r15d
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r11d
movd xmm15, dword [rsp + 0x7c]
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 + 0x3c], 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 + 0x10]
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 + 0x10], 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 + 0x74], 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 + 0x78], 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 + 0x10]
movd xmm13, dword [rsp + 0x74]
xor r11d, dword [r14 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
mov eax, r11d
mov r11d, r9d
shr r11d, 0x10
movd xmm0, dword [rsp + 0x3c]
punpckldq xmm13, xmm14
movzx edi, r11b
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, ebp
punpckldq xmm0, xmm15
mov dword [rsp + 0x10], 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
xor r11d, dword [r14 + rdi*4 + 0x400]
mov eax, r11d
mov r11d, ecx
pshufd xmm14, xmm0, 0xaa
movd dword [rsp + 0x3c], xmm13
shr r11d, 0x10
pshufd xmm0, xmm0, 0xff
movd r10d, xmm14
movzx edi, r11b
xor eax, dword [r14 + rdi*4 + 0x800]
mov r11d, r8d
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x74], eax
shr r11d, 0x18
movzx eax, r9b
shr r8d, 0x10
mov eax, dword [r14 + rax*4]
shr r9d, 0x18
movzx r8d, r8b
movd ebx, xmm0
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, ebp
xor eax, dword [r14 + rdi*4 + 0x400]
shr r11d, 0x10
movzx edi, r11b
movd xmm14, dword [rsp + 0x74]
mov r11d, dword [rsp + 0x60]
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm0, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
punpckldq xmm0, xmm14
mov eax, dword [r14 + rcx*4]
mov ecx, ebp
xor eax, dword [r14 + r9*4 + 0xc00]
movzx edi, r11b
movzx ebp, ch
movd xmm15, dword [rsp + 0x78]
xor eax, dword [r14 + rbp*4 + 0x400]
xor eax, dword [r14 + r8*4 + 0x800]
mov dword [rsp + 0x7c], eax
movd xmm13, dword [rsp + 0x7c]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
pxor xmm0, xmm12
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
movd dword [rsp + 0x10], xmm15
pshufd xmm0, xmm0, 0xff
movd r8d, xmm13
movd dword [rsp + 0x74], xmm0
mov r9d, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x28]
mov eax, dword [r14 + rdi*4]
movzx edi, ch
shr r9d, 0x18
mov ecx, dword [rsp + 0x30]
xor eax, dword [r14 + r9*4 + 0xc00]
mov r9d, ecx
shr r9d, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, r9b
mov r9d, r11d
movzx ecx, ch
xor eax, dword [r14 + rdi*4 + 0x800]
shr r9d, 0x18
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x28]
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 + 0x70]
mov edi, ecx
shr edi, 0x10
movzx r9d, dil
mov edi, dword [rsp + 0x28]
xor eax, dword [r14 + r9*4 + 0x800]
shr edi, 0x18
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x30]
mov r9d, r11d
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 + 0x78], eax
movzx eax, cl
mov ecx, dword [rsp + 0x30]
movd xmm14, dword [rsp + 0x78]
shr ecx, 0x18
mov r9d, ecx
mov ecx, r11d
mov r11d, dword [rsp + 0x28]
mov eax, dword [r14 + rax*4]
movzx edi, ch
xor eax, dword [r14 + r9*4 + 0xc00]
mov ecx, edx
shr ecx, 0x18
shr r11d, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx r9d, r11b
xor eax, dword [r14 + r9*4 + 0x800]
mov dword [rsp + 0x28], eax
movzx eax, r13b
movd xmm15, dword [rsp + 0x28]
punpckldq xmm14, xmm15
movd xmm13, dword [rsp + 0x70]
mov eax, dword [r14 + rax*4]
punpckldq xmm0, xmm13
punpcklqdq xmm0, xmm14
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r15d
pxor xmm0, xmm12
movzx edi, ch
mov ecx, esi
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm14, xmm0, 0x55
movd dword [rsp + 0x70], xmm0
shr ecx, 0x10
pshufd xmm15, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x28], xmm14
movzx edi, cl
movd r11d, xmm15
movd r9d, xmm0
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x30], 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 xmm15, dword [rsp + 0x30]
shr ecx, 0x10
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]
movd xmm0, dword [rsp + 0x60]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r13d
mov edi, ebx
mov dword [rsp + 0x78], eax
mov eax, dword [r14 + rdx*4]
movd xmm13, dword [rsp + 0x78]
punpckldq xmm15, xmm0
xor eax, dword [r14 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, ch
mov ecx, dword [rsp + 0x3c]
movzx r13d, r15b
xor eax, dword [r14 + rsi*4 + 0x400]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, r12b
movd xmm14, dword [rsp + 0x7c]
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]
punpcklqdq xmm15, xmm13
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
pxor xmm15, xmm11
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
movd r13d, xmm15
pshufd xmm13, xmm15, 0x55
pshufd xmm14, xmm15, 0xaa
pshufd xmm15, xmm15, 0xff
movd r15d, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movd esi, xmm14
movd xmm14, dword [rsp + 0x30]
movzx edi, ch
mov ecx, ebx
movd edx, xmm15
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ecx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr edi, 0x18
mov eax, dword [r14 + rax*4]
shr r10d, 0x18
movd xmm15, dword [rsp + 0x60]
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
punpckldq xmm14, xmm15
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], 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 + 0x10]
movd xmm13, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x74]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x78], 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 + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
punpckldq xmm13, xmm0
mov ecx, ebp
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
punpcklqdq xmm14, xmm13
pxor xmm14, xmm11
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
pshufd xmm13, xmm14, 0x55
movzx edi, ch
movd dword [rsp + 0x30], xmm13
movd r12d, xmm14
pshufd xmm0, xmm14, 0xaa
xor eax, dword [r14 + rdi*4 + 0x400]
mov ecx, dword [rsp + 0x74]
pshufd xmm14, xmm14, 0xff
movd r10d, xmm0
movd ebx, xmm14
movd xmm0, dword [rsp + 0x3c]
mov edi, ecx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x74], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm14, dword [rsp + 0x74]
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 + 0x10]
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 + 0x10], eax
movzx eax, byte [rsp + 0x70]
shr ecx, 0x18
movd xmm13, dword [rsp + 0x10]
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 + 0x28]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], xmm15
movd r8d, xmm13
movzx edi, ch
mov ecx, r11d
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x74], xmm0
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x28]
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 + 0x3c]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [rsp + 0x28]
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 + 0x70]
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 + 0x70], eax
mov eax, dword [r14 + r9*4]
xor eax, dword [r14 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x28]
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm14, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x28], eax
movzx eax, r13b
movd xmm15, dword [rsp + 0x28]
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 + 0x3c], xmm0
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
pshufd xmm14, xmm0, 0x55
mov dword [rsp + 0x70], eax
movzx eax, r15b
movd dword [rsp + 0x28], 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 + 0x70]
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 + 0x78], eax
mov eax, dword [r14 + rdx*4]
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
shr edi, 0x18
mov ecx, dword [rsp + 0x30]
xor eax, dword [r14 + rsi*4 + 0x400]
punpckldq xmm15, xmm0
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x7c], 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 + 0x7c]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm13, xmm14
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x30], 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 + 0x10]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x74]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
movd xmm14, dword [rsp + 0x70]
mov dword [rsp + 0x78], 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 + 0x30]
mov dword [rsp + 0x70], eax
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
movd xmm0, dword [rsp + 0x78]
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 + 0x74]
pshufd xmm13, xmm14, 0x55
movd r12d, xmm14
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x30], xmm13
pshufd xmm0, xmm14, 0xaa
pshufd xmm14, xmm14, 0xff
mov edi, ecx
shr edi, 0x10
movd ebx, xmm14
movd r10d, xmm0
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x74], 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 + 0x10]
shr ecx, 0x10
movzx edi, cl
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm14, dword [rsp + 0x74]
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movzx eax, byte [rsp + 0x3c]
movd xmm15, dword [rsp + 0x60]
movd xmm13, dword [rsp + 0x10]
punpckldq xmm15, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x28]
movd xmm0, dword [rsp + 0x70]
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
punpckldq xmm0, xmm14
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x3c]
punpcklqdq xmm0, xmm15
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x28]
shr ecx, 0x18
pxor xmm0, xmm8
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r11d
movd dword [rsp + 0x70], xmm0
movd r8d, xmm13
movzx edi, ch
mov ecx, r9d
movd dword [rsp + 0x10], xmm15
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x28]
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
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 + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x400]
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 + 0x28]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x28], eax
shr ecx, 0x18
movzx eax, r13b
movd xmm0, dword [rsp + 0x74]
movd xmm13, dword [rsp + 0x60]
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 xmm15, dword [rsp + 0x28]
punpckldq xmm0, xmm13
shr ecx, 0x10
movd xmm14, dword [rsp + 0x3c]
movzx edi, cl
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
punpckldq xmm14, xmm15
mov dword [rsp + 0x74], eax
movzx eax, r15b
punpcklqdq xmm0, xmm14
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, esi
pxor xmm0, xmm8
pshufd xmm14, xmm0, 0x55
movd dword [rsp + 0x3c], xmm0
movzx edi, ch
mov ecx, edx
movd dword [rsp + 0x28], xmm14
pshufd xmm15, xmm0, 0xaa
shr ecx, 0x10
movd r11d, xmm15
pshufd xmm0, xmm0, 0xff
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, r15d
movd r9d, xmm0
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r13d
mov edi, ebx
mov dword [rsp + 0x78], 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 + 0x78]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, r12b
movd xmm14, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x30]
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 + 0x74]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm0, dword [rsp + 0x60]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
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 + 0x74]
punpckldq xmm14, xmm15
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x30], 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 + 0x30]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov dword [rsp + 0x78], eax
movzx eax, bpl
movd xmm0, dword [rsp + 0x78]
mov edi, dword [rsp + 0x70]
punpckldq xmm13, xmm0
shr edi, 0x18
punpcklqdq xmm14, xmm13
pxor xmm14, xmm7
pshufd xmm13, xmm14, 0x55
movd dword [rsp + 0x30], xmm13
mov eax, dword [r14 + rax*4]
mov ecx, dword [rsp + 0x10]
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 + 0x74], eax
movzx eax, byte [rsp + 0x10]
movd xmm0, dword [rsp + 0x74]
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 + 0x10]
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 + 0x10]
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
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x10]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
pxor xmm0, xmm7
movzx eax, byte [rsp + 0x3c]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], xmm15
movd r8d, xmm13
movd dword [rsp + 0x70], xmm0
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x28]
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 + 0x74], eax
movzx eax, byte [rsp + 0x28]
movd xmm0, dword [rsp + 0x74]
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 + 0x28]
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 + 0x28]
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 + 0x28], eax
movd xmm14, dword [rsp + 0x3c]
movd xmm15, dword [rsp + 0x28]
shr ecx, 0x18
movzx eax, r13b
punpckldq xmm14, xmm15
punpcklqdq xmm0, xmm14
pxor xmm0, xmm7
movd dword [rsp + 0x3c], xmm0
pshufd xmm14, xmm0, 0x55
pshufd xmm15, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x28], 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 + 0x74], eax
shr ecx, 0x18
movzx eax, r15b
movd xmm15, dword [rsp + 0x74]
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 + 0x60], 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 + 0x60]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r13d
mov edi, ebx
movzx r13d, r15b
mov dword [rsp + 0x78], 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 + 0x30]
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x7c], 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 + 0x7c]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
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 + 0x30]
pshufd xmm14, xmm15, 0xaa
movd r13d, xmm15
xor eax, dword [r14 + rdi*4 + 0x800]
movd esi, xmm14
movd xmm14, dword [rsp + 0x74]
pshufd xmm13, xmm15, 0x55
mov edi, ecx
mov dword [rsp + 0x60], 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 + 0x60]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, r12d
shr r10d, 0x18
punpckldq xmm14, xmm15
shr edi, 0x10
shr ecx, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x30], 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 + 0x10]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
movd xmm13, dword [rsp + 0x30]
mov dword [rsp + 0x78], 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 + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm13, xmm0
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
punpcklqdq xmm14, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
pxor xmm14, xmm6
movzx edi, ch
mov ecx, dword [rsp + 0x70]
pshufd xmm13, xmm14, 0x55
movd r12d, xmm14
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x30], 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 + 0x10]
mov dword [rsp + 0x70], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm14, dword [rsp + 0x70]
movd xmm0, dword [rsp + 0x74]
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 + 0x10]
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 + 0x10], eax
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
movd xmm13, dword [rsp + 0x10]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
mov eax, dword [r14 + rax*4]
pxor xmm0, xmm6
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x28]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], 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]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x28]
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
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, dword [rsp + 0x28]
movd xmm0, dword [rsp + 0x74]
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r14 + rax*4]
shr r11d, 0x18
movd xmm13, dword [rsp + 0x60]
shr ecx, 0x18
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 + 0x28]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r14 + rcx*4 + 0x400]
mov ecx, edx
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x28], eax
shr ecx, 0x18
movzx eax, r13b
movd xmm15, dword [rsp + 0x28]
movd xmm14, dword [rsp + 0x3c]
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]
punpckldq xmm14, xmm15
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
punpcklqdq xmm0, xmm14
shr ecx, 0x18
xor eax, dword [r14 + rdi*4 + 0x800]
pxor xmm0, xmm6
pshufd xmm14, xmm0, 0x55
movd dword [rsp + 0x3c], xmm0
mov dword [rsp + 0x74], eax
movzx eax, r15b
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
movd dword [rsp + 0x28], xmm14
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
movzx edi, dh
movzx edx, dl
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r13d
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movzx edi, cl
mov ecx, r13d
movd xmm15, dword [rsp + 0x74]
movd xmm0, dword [rsp + 0x60]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x78], 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 + 0x30]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x7c], 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 + 0x7c]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm13, xmm14
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
shr ecx, 0x18
punpcklqdq xmm15, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
pxor xmm15, xmm5
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 + 0x30]
pshufd xmm15, xmm15, 0xff
movd r15d, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr r10d, 0x18
movd edx, xmm15
mov edi, ecx
mov eax, dword [r14 + rax*4]
shr ecx, 0x10
shr edi, 0x18
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 + 0x30], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
xor eax, dword [r14 + r10*4 + 0xc00]
movzx r12d, cl
movzx edi, bh
mov ecx, dword [rsp + 0x10]
movd xmm14, dword [rsp + 0x74]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x70]
shr edi, 0x18
xor eax, dword [r14 + r12*4 + 0x800]
movd xmm15, dword [rsp + 0x60]
mov dword [rsp + 0x78], eax
movzx eax, bpl
mov eax, dword [r14 + rax*4]
movd xmm0, dword [rsp + 0x78]
punpckldq xmm14, xmm15
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
mov ecx, r8d
movd xmm13, dword [rsp + 0x30]
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, ebp
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
punpckldq xmm13, xmm0
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x10]
punpcklqdq xmm14, xmm13
mov eax, dword [r14 + rax*4]
pxor xmm14, xmm5
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
pshufd xmm13, xmm14, 0x55
movzx edi, ch
mov ecx, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
movd r12d, xmm14
movd dword [rsp + 0x30], xmm13
pshufd xmm0, xmm14, 0xaa
pshufd xmm14, xmm14, 0xff
mov edi, ecx
shr edi, 0x10
movzx edi, dil
movd r10d, xmm0
movd ebx, xmm14
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
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
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
movzx ecx, cl
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 + 0x10]
shr ecx, 0x10
movzx edi, cl
mov ecx, r9d
xor eax, dword [r14 + rdi*4 + 0x800]
movd xmm0, dword [rsp + 0x74]
mov dword [rsp + 0x10], eax
movzx eax, byte [rsp + 0x3c]
shr ecx, 0x18
movd xmm15, dword [rsp + 0x60]
movd xmm13, dword [rsp + 0x10]
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, xmm5
mov ecx, dword [rsp + 0x28]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], 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 + 0x74], eax
movzx eax, byte [rsp + 0x28]
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 + 0x28]
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x60], eax
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 + 0x3c]
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]
xor eax, dword [r14 + rcx*4 + 0x400]
mov r11d, dword [rsp + 0x28]
mov ecx, edx
shr r11d, 0x10
movzx edi, r11b
movd xmm0, dword [rsp + 0x74]
movd xmm13, dword [rsp + 0x60]
punpckldq xmm0, xmm13
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
movd xmm14, dword [rsp + 0x3c]
mov dword [rsp + 0x28], eax
movzx eax, r13b
movd xmm15, dword [rsp + 0x28]
mov eax, dword [r14 + rax*4]
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, xmm5
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]
pshufd xmm15, xmm0, 0xaa
movd dword [rsp + 0x28], xmm14
mov dword [rsp + 0x74], 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
shr r15d, 0x10
xor eax, dword [r14 + rdi*4 + 0x800]
shr ecx, 0x18
mov dword [rsp + 0x60], eax
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 + 0x78], eax
mov eax, dword [r14 + rdx*4]
shr edi, 0x18
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
movd xmm13, dword [rsp + 0x78]
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, r12b
movd xmm14, dword [rsp + 0x7c]
movd xmm15, dword [rsp + 0x74]
punpckldq xmm13, xmm14
mov ecx, dword [rsp + 0x30]
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rdi*4 + 0xc00]
movd xmm0, dword [rsp + 0x60]
movzx edi, ch
mov ecx, r10d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
punpckldq xmm15, xmm0
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpcklqdq xmm15, xmm13
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
shr ecx, 0x18
pxor xmm15, xmm4
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 esi, xmm14
movd edx, xmm15
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
movd xmm14, dword [rsp + 0x74]
movzx edi, ch
mov ecx, ebx
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x30]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ecx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr edi, 0x18
mov eax, dword [r14 + rax*4]
movd xmm15, dword [rsp + 0x60]
punpckldq xmm14, xmm15
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
mov edi, r12d
shr r10d, 0x18
shr edi, 0x10
movzx edi, dil
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
mov eax, dword [r14 + rbx*4]
mov ebx, r12d
movzx r12d, cl
xor eax, dword [r14 + r10*4 + 0xc00]
movzx edi, bh
movd xmm13, dword [rsp + 0x30]
xor eax, dword [r14 + rdi*4 + 0x400]
xor eax, dword [r14 + r12*4 + 0x800]
mov edi, dword [rsp + 0x70]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movd xmm0, dword [rsp + 0x78]
movzx eax, bpl
punpckldq xmm13, xmm0
mov eax, dword [r14 + rax*4]
punpcklqdq xmm14, xmm13
pxor xmm14, xmm4
pshufd xmm13, xmm14, 0x55
movd dword [rsp + 0x30], xmm13
xor eax, dword [r14 + rdi*4 + 0xc00]
mov ecx, dword [rsp + 0x10]
movd r12d, xmm14
pshufd xmm0, xmm14, 0xaa
pshufd xmm14, xmm14, 0xff
movd r10d, xmm0
movzx edi, ch
mov ecx, r8d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movd ebx, xmm14
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
mov dword [rsp + 0x74], eax
shr ecx, 0x18
movzx eax, byte [rsp + 0x10]
movd xmm0, dword [rsp + 0x74]
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 + 0x10]
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 + 0x10]
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
shr ecx, 0x18
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x10]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
pxor xmm0, xmm4
movzx eax, byte [rsp + 0x3c]
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], xmm15
mov eax, dword [r14 + rax*4]
movd dword [rsp + 0x70], xmm0
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, dword [rsp + 0x28]
movd r8d, xmm13
movzx edi, ch
mov ecx, r11d
shr ecx, 0x10
xor eax, dword [r14 + rdi*4 + 0x400]
movzx edi, cl
mov ecx, dword [rsp + 0x3c]
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x28]
shr ecx, 0x18
movd xmm0, dword [rsp + 0x74]
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 + 0x28]
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 + 0x28]
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 + 0x28], eax
movd xmm14, dword [rsp + 0x3c]
movd xmm15, dword [rsp + 0x28]
shr ecx, 0x18
movzx eax, r13b
mov eax, dword [r14 + rax*4]
punpckldq xmm14, xmm15
punpcklqdq xmm0, xmm14
pxor xmm0, xmm4
pshufd xmm14, xmm0, 0x55
movd dword [rsp + 0x3c], xmm0
pshufd xmm15, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x28], xmm14
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 + 0x74], eax
shr ecx, 0x18
movzx eax, r15b
movd xmm15, dword [rsp + 0x74]
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 + 0x60], 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
movd xmm0, dword [rsp + 0x60]
xor eax, dword [r14 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x78], 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 + 0x30]
shr edi, 0x18
xor eax, dword [r14 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x7c], 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 + 0x7c]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, r12d
punpckldq xmm13, xmm14
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x30]
shr ecx, 0x18
punpcklqdq xmm15, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r10d
pxor xmm15, xmm3
movzx edi, ch
mov ecx, ebx
pshufd xmm13, xmm15, 0x55
movd r13d, xmm15
xor eax, dword [r14 + rdi*4 + 0x400]
shr ecx, 0x10
movd r15d, xmm13
pshufd xmm14, xmm15, 0xaa
movzx edi, cl
mov ecx, dword [rsp + 0x30]
pshufd xmm15, xmm15, 0xff
movd esi, xmm14
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr r10d, 0x18
movd edx, xmm15
mov edi, ecx
mov eax, dword [r14 + rax*4]
shr ecx, 0x10
movd xmm14, dword [rsp + 0x74]
shr edi, 0x18
movd xmm15, dword [rsp + 0x60]
punpckldq xmm14, xmm15
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 + 0x30], 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 + 0x10]
movd xmm13, dword [rsp + 0x30]
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 + 0x78], 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 + 0x78]
movzx edi, cl
xor eax, dword [r14 + rdi*4 + 0x800]
mov ecx, ebp
punpckldq xmm13, xmm0
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x10]
shr ecx, 0x18
punpcklqdq xmm14, xmm13
mov eax, dword [r14 + rax*4]
xor eax, dword [r14 + rcx*4 + 0xc00]
mov ecx, r8d
pxor xmm14, xmm3
movzx edi, ch
mov ecx, dword [rsp + 0x70]
pshufd xmm13, xmm14, 0x55
movd r12d, xmm14
xor eax, dword [r14 + rdi*4 + 0x400]
movd dword [rsp + 0x74], 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 dword [rsp + 0x70], eax
movzx eax, r8b
shr r8d, 0x18
mov edi, dword [rsp + 0x10]
mov eax, dword [r14 + rax*4]
shr edi, 0x18
xor eax, dword [r14 + rdi*4 + 0xc00]
movzx edi, ch
movzx ecx, cl
movd xmm14, dword [rsp + 0x70]
xor eax, dword [r14 + rdi*4 + 0x400]
mov edi, ebp
movd xmm0, dword [rsp + 0x30]
shr edi, 0x10
movzx edi, dil
punpckldq xmm0, xmm14
xor eax, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + rcx*4]
xor eax, dword [r14 + r8*4 + 0xc00]
mov ecx, ebp
movzx ebp, ch
mov r8d, dword [rsp + 0x10]
xor eax, dword [r14 + rbp*4 + 0x400]
shr r8d, 0x10
movzx edi, r8b
mov ecx, dword [r14 + rdi*4 + 0x800]
mov edi, r9d
movd xmm15, dword [rsp + 0x60]
xor ecx, eax
movzx eax, byte [rsp + 0x3c]
mov dword [rsp + 0x10], ecx
shr edi, 0x18
movd xmm13, dword [rsp + 0x10]
mov ecx, dword [r14 + rax*4]
punpckldq xmm15, xmm13
punpcklqdq xmm0, xmm15
mov eax, dword [rsp + 0x28]
xor ecx, dword [r14 + rdi*4 + 0xc00]
pxor xmm0, xmm3
movd ebp, xmm0
pshufd xmm15, xmm0, 0x55
pshufd xmm13, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movzx edi, ah
mov eax, r11d
xor ecx, dword [r14 + rdi*4 + 0x400]
movd r8d, xmm13
movd dword [rsp + 0x70], xmm15
shr eax, 0x10
movd dword [rsp + 0x30], xmm0
movzx edi, al
mov eax, dword [rsp + 0x3c]
xor ecx, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x10], ecx
shr eax, 0x18
movzx ecx, byte [rsp + 0x28]
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rax*4 + 0xc00]
mov eax, r11d
movzx edi, ah
mov eax, r9d
shr eax, 0x10
xor ecx, dword [r14 + rdi*4 + 0x400]
movzx edi, al
xor ecx, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x60], ecx
mov eax, dword [rsp + 0x28]
movzx ecx, r11b
shr r11d, 0x18
mov ecx, dword [r14 + rcx*4]
movd xmm13, dword [rsp + 0x60]
shr eax, 0x18
xor ecx, dword [r14 + rax*4 + 0xc00]
mov eax, r9d
movzx r9d, r9b
movd xmm0, dword [rsp + 0x10]
movzx edi, ah
mov eax, dword [rsp + 0x3c]
xor ecx, dword [r14 + rdi*4 + 0x400]
punpckldq xmm0, xmm13
mov edi, eax
movzx eax, ah
shr edi, 0x10
movzx edi, dil
xor ecx, dword [r14 + rdi*4 + 0x800]
mov dword [rsp + 0x3c], ecx
mov ecx, dword [r14 + r9*4]
xor ecx, dword [r14 + r11*4 + 0xc00]
mov r9d, edx
mov r11d, dword [rsp + 0x28]
xor ecx, dword [r14 + rax*4 + 0x400]
mov eax, r15d
shr r11d, 0x10
movzx edi, r11b
movd xmm14, dword [rsp + 0x3c]
xor ecx, dword [r14 + rdi*4 + 0x800]
shr r9d, 0x18
mov dword [rsp + 0x28], ecx
movzx ecx, r13b
movzx edi, ah
mov eax, r13d
mov r11d, dword [r14 + rcx*4]
mov ecx, esi
movd xmm15, dword [rsp + 0x28]
shr eax, 0x18
shr ecx, 0x10
xor r11d, dword [r14 + r9*4 + 0xc00]
xor r11d, dword [r14 + rdi*4 + 0x400]
movzx r9d, cl
xor r11d, dword [r14 + r9*4 + 0x800]
mov r9d, edx
punpckldq xmm14, xmm15
mov dword [rsp + 0x28], r11d
movzx r11d, r15b
shr r9d, 0x10
punpcklqdq xmm0, xmm14
mov ecx, dword [r14 + r11*4]
xor ecx, dword [r14 + rax*4 + 0xc00]
mov eax, esi
movzx r11d, r9b
mov r9d, r13d
movzx edi, ah
pxor xmm0, xmm3
shr r9d, 0x10
mov eax, r15d
pshufd xmm14, xmm0, 0x55
xor ecx, dword [r14 + rdi*4 + 0x400]
shr eax, 0x18
movzx edi, dh
xor ecx, dword [r14 + r11*4 + 0x800]
pshufd xmm15, xmm0, 0xaa
shr r15d, 0x10
movd dword [rsp + 0x60], xmm0
mov dword [rsp + 0x7c], ecx
movzx ecx, sil
movzx edx, dl
shr esi, 0x18
pshufd xmm0, xmm0, 0xff
mov r11d, dword [r14 + rcx*4]
movzx ecx, r9b
movd dword [rsp + 0x3c], xmm14
movd dword [rsp + 0x10], xmm15
movd dword [rsp + 0x78], xmm0
xor r11d, dword [r14 + rax*4 + 0xc00]
xor r11d, dword [r14 + rdi*4 + 0x400]
mov edi, ebx
xor r11d, dword [r14 + rcx*4 + 0x800]
mov ecx, r13d
mov eax, dword [r14 + rdx*4]
movzx r13d, r15b
xor eax, dword [r14 + rsi*4 + 0xc00]
movzx esi, ch
movzx r15d, r12b
shr edi, 0x18
xor eax, dword [r14 + rsi*4 + 0x400]
xor eax, dword [r14 + r13*4 + 0x800]
mov r13d, r10d
mov dword [rsp + 0x80], r11d
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0x74]
shr r13d, 0x10
mov edx, dword [r14 + r15*4]
movzx r15d, r13b
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, ah
mov r13d, eax
xor edx, dword [r14 + rdi*4 + 0x400]
xor edx, dword [r14 + r15*4 + 0x800]
movd xmm15, dword [rsp + 0x28]
mov dword [rsp + 0x28], edx
movzx edx, al
mov eax, r12d
shr eax, 0x18
mov r15d, dword [r14 + rdx*4]
mov edx, r10d
movd xmm0, dword [rsp + 0x7c]
xor r15d, dword [r14 + rax*4 + 0xc00]
mov eax, ebx
movzx edi, dh
movd xmm14, dword [rsp + 0x84]
shr eax, 0x10
xor r15d, dword [r14 + rdi*4 + 0x400]
mov edi, r13d
movd xmm13, dword [rsp + 0x80]
movzx edx, al
shr edi, 0x18
punpckldq xmm15, xmm0
punpckldq xmm13, xmm14
xor r15d, dword [r14 + rdx*4 + 0x800]
movzx edx, bh
movzx ebx, bl
mov dword [rsp + 0x74], r15d
movzx r15d, r10b
punpcklqdq xmm15, xmm13
mov eax, dword [r14 + r15*4]
mov r15d, r12d
xor eax, dword [r14 + rdi*4 + 0xc00]
xor eax, dword [r14 + rdx*4 + 0x400]
mov edx, r12d
shr r15d, 0x10
movzx edi, r15b
mov r12d, r13d
shr r10d, 0x18
movzx r15d, bpl
xor eax, dword [r14 + rdi*4 + 0x800]
shr r12d, 0x10
movzx edi, dh
pxor xmm15, xmm9
mov dword [rsp + 0x7c], eax
mov eax, dword [r14 + rbx*4]
movd esi, xmm15
pshufd xmm13, xmm15, 0x55
xor eax, dword [r14 + r10*4 + 0xc00]
movzx r10d, r12b
pshufd xmm14, xmm15, 0xaa
xor eax, dword [r14 + rdi*4 + 0x400]
pshufd xmm15, xmm15, 0xff
movd r9d, xmm13
movd r11d, xmm14
xor eax, dword [r14 + r10*4 + 0x800]
mov r13d, dword [rsp + 0x30]
mov r12d, dword [r14 + r15*4]
mov r15d, r8d
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x70]
shr r15d, 0x10
movd ecx, xmm15
movd xmm13, dword [rsp + 0x7c]
shr r13d, 0x18
movd xmm15, dword [rsp + 0x74]
movd xmm0, dword [rsp + 0x80]
movzx ebx, ah
xor r12d, dword [r14 + r13*4 + 0xc00]
movzx r13d, r15b
mov r15d, eax
xor r12d, dword [r14 + rbx*4 + 0x400]
xor r12d, dword [r14 + r13*4 + 0x800]
mov ebx, r8d
punpckldq xmm13, xmm0
movd xmm14, dword [rsp + 0x28]
mov dword [rsp + 0x70], r12d
movzx r12d, al
mov eax, ebp
shr eax, 0x18
mov r12d, dword [r14 + r12*4]
xor r12d, dword [r14 + rax*4 + 0xc00]
movzx eax, bh
punpckldq xmm14, xmm15
mov ebx, dword [rsp + 0x30]
xor r12d, dword [r14 + rax*4 + 0x400]
punpcklqdq xmm14, xmm13
mov r13d, ebx
shr r13d, 0x10
pxor xmm14, xmm9
pshufd xmm13, xmm14, 0x55
movzx eax, r13b
xor r12d, dword [r14 + rax*4 + 0x800]
mov r13d, r15d
movzx eax, bh
shr r15d, 0x10
shr r13d, 0x18
mov dword [rsp + 0x30], r12d
movzx ebx, bl
movzx r12d, r8b
mov r12d, dword [r14 + r12*4]
shr r8d, 0x18
xor r12d, dword [r14 + r13*4 + 0xc00]
mov r13d, ebp
shr r13d, 0x10
xor r12d, dword [r14 + rax*4 + 0x400]
pshufd xmm0, xmm14, 0xaa
movd dword [rsp + 0x28], xmm13
movzx eax, r13b
movd r10d, xmm0
movd edi, xmm14
xor r12d, dword [r14 + rax*4 + 0x800]
mov eax, ebp
mov dword [rsp + 0x74], r12d
mov r12d, dword [r14 + rbx*4]
movzx ebx, sil
movzx ebp, ah
xor r12d, dword [r14 + r8*4 + 0xc00]
movzx r8d, r15b
mov r15d, ecx
xor r12d, dword [r14 + rbp*4 + 0x400]
shr r15d, 0x18
xor r12d, dword [r14 + r8*4 + 0x800]
pshufd xmm14, xmm14, 0xff
mov dword [rsp + 0x7c], r12d
movd xmm15, dword [rsp + 0x74]
movd edx, xmm14
movd xmm13, dword [rsp + 0x7c]
movd xmm0, dword [rsp + 0x70]
punpckldq xmm15, xmm13
mov r8d, dword [r14 + rbx*4]
mov ebx, r9d
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, r11d
shr r15d, 0x10
movzx ebx, bh
movd xmm14, dword [rsp + 0x30]
xor r8d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
mov r15d, esi
punpckldq xmm0, xmm14
xor r8d, dword [r14 + rbx*4 + 0x800]
mov dword [rsp + 0x30], r8d
shr r15d, 0x18
movzx r8d, r9b
mov ebx, r11d
mov r8d, dword [r14 + r8*4]
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, ecx
movzx ebx, bh
shr r15d, 0x10
xor r8d, dword [r14 + rbx*4 + 0x400]
punpcklqdq xmm0, xmm15
movzx ebx, r15b
xor r8d, dword [r14 + rbx*4 + 0x800]
mov r15d, r9d
movzx ebx, ch
shr r9d, 0x10
mov dword [rsp + 0x70], r8d
shr r15d, 0x18
movzx r8d, r11b
movzx ecx, cl
mov r8d, dword [r14 + r8*4]
xor r8d, dword [r14 + r15*4 + 0xc00]
mov r15d, esi
pxor xmm0, xmm9
shr r15d, 0x10
xor r8d, dword [r14 + rbx*4 + 0x400]
shr r11d, 0x18
movzx r9d, r9b
movzx ebx, r15b
mov r15d, dword [rsp + 0x78]
pshufd xmm13, xmm0, 0xaa
pshufd xmm15, xmm0, 0x55
movd r12d, xmm13
movd ebp, xmm15
movd r13d, xmm0
xor r8d, dword [r14 + rbx*4 + 0x800]
mov ebx, esi
mov dword [rsp + 0x74], r8d
mov r8d, dword [r14 + rcx*4]
pshufd xmm0, xmm0, 0xff
movzx esi, bh
mov ebx, dword [rsp + 0x3c]
xor r8d, dword [r14 + r11*4 + 0xc00]
movd eax, xmm0
mov r11d, dword [rsp + 0x60]
xor r8d, dword [r14 + rsi*4 + 0x400]
movzx ecx, r11b
movzx esi, bh
xor r8d, dword [r14 + r9*4 + 0x800]
movd xmm13, dword [rsp + 0x74]
mov dword [rsp + 0x7c], r8d
mov r8d, r15d
movd xmm14, dword [rsp + 0x7c]
shr r8d, 0x18
movd xmm15, dword [rsp + 0x70]
punpckldq xmm13, xmm14
mov r9d, dword [r14 + rcx*4]
movd xmm14, dword [rsp + 0x30]
punpckldq xmm14, xmm15
punpcklqdq xmm14, xmm13
xor r9d, dword [r14 + r8*4 + 0xc00]
xor r9d, dword [r14 + rsi*4 + 0x400]
pxor xmm14, xmm10
mov ebx, dword [rsp + 0x10]
mov ecx, ebx
shr ecx, 0x10
movzx ebx, bh
movzx r8d, cl
xor r9d, dword [r14 + r8*4 + 0x800]
mov r8d, r11d
mov dword [rsp + 0x30], r9d
mov r9d, dword [rsp + 0x3c]
shr r8d, 0x18
movzx esi, r9b
mov ecx, dword [r14 + rsi*4]
mov esi, r15d
xor ecx, dword [r14 + r8*4 + 0xc00]
xor ecx, dword [r14 + rbx*4 + 0x400]
shr esi, 0x10
movzx r8d, sil
mov ebx, r9d
xor ecx, dword [r14 + r8*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rsp + 0x10]
movd xmm15, dword [rsp + 0x3c]
mov ecx, dword [r14 + rcx*4]
xor ecx, dword [r14 + rbx*4 + 0xc00]
mov ebx, r15d
mov r15d, r11d
shr r15d, 0x10
movzx esi, bh
movzx r8d, r15b
mov r15d, edx
xor ecx, dword [r14 + rsi*4 + 0x400]
xor ecx, dword [r14 + r8*4 + 0x800]
mov dword [rsp + 0x70], ecx
movzx ecx, bl
mov ebx, dword [rsp + 0x10]
mov r8d, dword [r14 + rcx*4]
mov ecx, r11d
shr ebx, 0x18
xor r8d, dword [r14 + rbx*4 + 0xc00]
movzx ebx, ch
shr r9d, 0x10
movd xmm13, dword [rsp + 0x70]
movzx r11d, r9b
mov esi, r8d
xor esi, dword [r14 + rbx*4 + 0x400]
movzx ebx, dil
xor esi, dword [r14 + r11*4 + 0x800]
shr r15d, 0x18
mov r11d, dword [r14 + rbx*4]
mov dword [rsp + 0x10], esi
mov ebx, dword [rsp + 0x28]
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, r10d
shr r15d, 0x10
movzx ebx, bh
movd xmm0, dword [rsp + 0x10]
punpckldq xmm13, xmm0
xor r11d, dword [r14 + rbx*4 + 0x400]
movzx ebx, r15b
mov r15d, edi
movd xmm0, dword [rsp + 0x30]
xor r11d, dword [r14 + rbx*4 + 0x800]
mov dword [rsp + 0x10], r11d
movzx r11d, byte [rsp + 0x28]
shr r15d, 0x18
mov ebx, r10d
movzx ebx, bh
punpckldq xmm0, xmm15
mov r11d, dword [r14 + r11*4]
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, edx
xor r11d, dword [r14 + rbx*4 + 0x400]
punpcklqdq xmm0, xmm13
shr r15d, 0x10
movzx ebx, r15b
mov r15d, dword [rsp + 0x28]
pxor xmm0, xmm9
movd esi, xmm0
xor r11d, dword [r14 + rbx*4 + 0x800]
movzx ebx, dh
movzx edx, dl
mov dword [rsp + 0x30], r11d
shr r15d, 0x18
movzx r11d, r10b
shr r10d, 0x18
pshufd xmm13, xmm0, 0x55
mov r11d, dword [r14 + r11*4]
pshufd xmm15, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
xor r11d, dword [r14 + r15*4 + 0xc00]
mov r15d, edi
movd r8d, xmm13
movd r9d, xmm15
xor r11d, dword [r14 + rbx*4 + 0x400]
shr r15d, 0x10
movd ecx, xmm0
movd xmm0, dword [rsp + 0x10]
movzx ebx, r15b
xor r11d, dword [r14 + rbx*4 + 0x800]
mov ebx, edi
mov dword [rsp + 0x3c], r11d
movzx edi, bh
mov r11d, dword [r14 + rdx*4]
xor r11d, dword [r14 + r10*4 + 0xc00]
movzx edx, r13b
mov ebx, ebp
mov r10d, dword [rsp + 0x28]
xor r11d, dword [r14 + rdi*4 + 0x400]
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 + 0x28], r11d
shr r10d, 0x10
mov r11d, eax
mov ebx, r12d
shr r11d, 0x18
movzx r15d, r10b
movd xmm15, dword [rsp + 0x28]
movd xmm13, dword [rsp + 0x3c]
xor edi, dword [r14 + r11*4 + 0xc00]
movzx r11d, bpl
mov r10d, eax
xor edi, dword [r14 + rdx*4 + 0x400]
xor edi, dword [r14 + r15*4 + 0x800]
punpckldq xmm13, xmm15
mov edx, dword [r14 + r11*4]
movzx r11d, r12b
mov dword [rsp + 0x10], edi
mov edi, r13d
movd xmm15, dword [rsp + 0x30]
shr edi, 0x18
xor edx, dword [r14 + rdi*4 + 0xc00]
movzx edi, bh
punpckldq xmm0, xmm15
mov ebx, ebp
xor edx, dword [r14 + rdi*4 + 0x400]
shr r10d, 0x10
punpcklqdq xmm0, xmm13
movzx edi, ah
movzx r15d, r10b
mov r10d, r13d
shr ebx, 0x18
pxor xmm0, xmm10
shr r10d, 0x10
shr r12d, 0x18
movaps xmmword [rsp + 0x60], xmm0
movzx eax, al
xor edx, dword [r14 + r15*4 + 0x800]
movzx r15d, r10b
shr ebp, 0x10
mov r10d, ecx
mov dword [rsp + 0x28], edx
mov edx, dword [r14 + r11*4]
movzx ebp, bpl
movzx r11d, sil
xor edx, dword [r14 + rbx*4 + 0xc00]
mov ebx, r13d
xor edx, dword [r14 + rdi*4 + 0x400]
shr r10d, 0x18
xor edx, dword [r14 + r15*4 + 0x800]
movzx edi, bh
mov r15d, dword [r14 + r11*4]
mov r11d, ecx
mov dword [rsp + 0x30], edx
mov edx, dword [r14 + rax*4]
mov eax, r8d
shr r11d, 0x10
xor edx, dword [r14 + r12*4 + 0xc00]
xor r15d, dword [r14 + r10*4 + 0xc00]
movzx r10d, r11b
mov r12d, edx
movzx edx, ah
mov eax, r9d
xor r12d, dword [r14 + rdi*4 + 0x400]
movzx edi, r8b
mov r13d, r12d
mov r12d, r9d
xor r13d, dword [r14 + rbp*4 + 0x800]
xor r15d, dword [r14 + rdx*4 + 0x400]
mov dword [rsp + 0x3c], r13d
mov r13d, esi
shr r12d, 0x10
mov ebp, dword [r14 + rdi*4]
shr r13d, 0x18
movd xmm0, dword [rsp + 0x30]
movzx edx, ah
movzx edi, ch
xor ebp, dword [r14 + r13*4 + 0xc00]
movzx ebx, r12b
movd xmm13, dword [rsp + 0x3c]
mov r13d, esi
xor r15d, dword [r14 + rbx*4 + 0x800]
mov r12d, r8d
shr r13d, 0x10
movzx ecx, cl
xor ebp, dword [r14 + rdx*4 + 0x400]
punpckldq xmm0, xmm13
shr r12d, 0x18
mov edx, esi
xor ebp, dword [r14 + r10*4 + 0x800]
shr r8d, 0x10
movzx esi, dh
mov eax, dword [r14 + rcx*4]
movd xmm13, dword [rsp + 0x28]
movd xmm15, dword [rsp + 0x10]
mov dword [rsp + 0x28], ebp
movzx ebp, r13b
mov dword [rsp + 0x10], r15d
movzx r15d, r9b
movzx r8d, r8b
shr r9d, 0x18
mov ebx, dword [r14 + r15*4]
xor ebx, dword [r14 + r12*4 + 0xc00]
punpckldq xmm15, xmm13
punpcklqdq xmm15, xmm0
xor ebx, dword [r14 + rdi*4 + 0x400]
xor ebx, dword [r14 + rbp*4 + 0x800]
pxor xmm15, xmm10
mov dword [rsp + 0x30], 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 + 0x30]
mov dword [rsp + 0x3c], eax
movd xmm0, dword [rsp + 0x3c]
sub qword [rsp], 0xffffffffffffff80
punpckldq xmm13, xmm0
movq qword [rsp + 0x30], xmm13
movd xmm0, dword [rsp + 0x10]
movd xmm13, dword [rsp + 0x28]
punpckldq xmm0, xmm13
movhps xmm0, qword [rsp + 0x30]
mov r9, qword [rsp]
pxor xmm0, xmm10
cmp qword [rsp + 0x88], r9
jne 0x5ad130
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