Function at 0x659f80
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, 0x1a8
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x120], xmm8
movaps xmmword [rsp + 0x130], xmm9
movaps xmmword [rsp + 0x140], xmm10
movaps xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x160], xmm12
movaps xmmword [rsp + 0x170], xmm13
movaps xmmword [rsp + 0x180], xmm14
movaps xmmword [rsp + 0x190], xmm15
lea rsi, str.cw
mov qword [rsp + 0x1f8], rdx
movdqa xmm11, xmmword [rcx]
movdqa xmm12, xmmword [rcx + 0x10]
mov edx, dword [rcx + 0x14]
movdqa xmm2, xmm12
mov qword [rsp + 0x200], r8
pslldq xmm2, 4
mov eax, edx
movzx r8d, dl
mov ebp, edx
shr eax, 0x18
movzx ebx, byte [rsi + r8]
shr ebp, 0x10
movzx edx, dh
movzx edi, byte [rsi + rax]
mov eax, dword [rcx + 0x1c]
movzx r9d, bpl
mov r12d, eax
mov r8d, eax
shr r12d, 0x18
movzx r14d, al
movzx r11d, byte [rsi + rdx]
shr r8d, 0x10
shl edi, 0x18
movzx r13d, byte [rsi + r12]
movzx edx, ah
or edi, ebx
movzx ebx, r8b
movzx r15d, byte [rsi + r14]
movzx r10d, byte [rsi + r9]
movzx ebp, byte [rsi + rbx]
movzx r9d, byte [rsi + rdx]
shl r13d, 0x18
shl r11d, 8
or r13d, r15d
shl r10d, 0x10
or edi, r10d
or edi, r11d
shl ebp, 0x10
shl r9d, 8
mov r10d, edi
or r13d, ebp
or r13d, r9d
ror r10d, 8
mov r11d, r13d
mov dword [rsp + 0x20], r13d
ror r11d, 8
movd xmm0, dword [rsp + 0x20]
xor r10d, 1
xor r11d, 1
mov dword [rsp + 0x10], r11d
movd xmm5, dword [rsp + 0x10]
punpckldq xmm0, xmm5
mov dword [rsp], r10d
movd xmm6, dword [rsp]
mov dword [rsp + 0x10], edi
movd xmm5, dword [rsp + 0x10]
punpckldq xmm5, xmm6
movdqa xmm1, xmm5
movdqa xmm5, xmm11
punpcklqdq xmm1, xmm0
pshufd xmm3, xmm1, 0xff
pslldq xmm5, 4
movdqa xmm1, xmm2
movdqa xmm4, xmm5
pslldq xmm4, 4
pslldq xmm1, 4
movdqa xmm7, xmm4
pslldq xmm7, 4
pxor xmm5, xmm4
pxor xmm3, xmm7
pxor xmm5, xmm3
pxor xmm5, xmm11
pshufd xmm8, xmm5, 0x55
movd edi, xmm8
movd ebx, xmm8
movd r14d, xmm8
movzx r12d, bl
shr edi, 0x18
pshufd xmm9, xmm5, 0xff
shr r14d, 0x10
movzx ebp, bh
movzx eax, byte [rsi + rdi]
movzx r15d, r14b
movzx edx, byte [rsi + rbp]
movdqa xmm6, xmm5
movzx r13d, byte [rsi + r12]
movd r9d, xmm9
movd r12d, xmm9
movzx r8d, byte [rsi + r15]
shl eax, 0x18
shl edx, 8
pslldq xmm6, 4
movd ebx, xmm9
shr r9d, 0x18
shr r12d, 0x10
or eax, r13d
movzx r11d, bl
movzx r10d, byte [rsi + r9]
movzx r13d, r12b
shl r8d, 0x10
movzx ebp, bh
movzx edi, byte [rsi + r11]
movzx r14d, byte [rsi + r13]
or eax, r8d
movdqa xmm9, xmm1
movzx r15d, byte [rsi + rbp]
shl r10d, 0x18
or eax, edx
pxor xmm1, xmm2
or r10d, edi
shl r14d, 0x10
pslldq xmm9, 4
mov r8d, eax
shl r15d, 8
or r10d, r14d
ror r8d, 8
or r10d, r15d
mov edx, r10d
mov dword [rsp], r8d
ror edx, 8
mov dword [rsp + 0x10], edx
mov dword [rsp + 0x20], r10d
movd xmm13, dword [rsp + 0x10]
movd xmm15, dword [rsp]
mov dword [rsp + 0x10], eax
movd xmm14, dword [rsp + 0x10]
movd xmm10, dword [rsp + 0x20]
punpckldq xmm14, xmm15
punpckldq xmm10, xmm13
movdqa xmm0, xmm14
punpcklqdq xmm0, xmm10
pshufd xmm3, xmm0, 0xaa
pxor xmm9, xmm3
movdqa xmm3, xmm6
pxor xmm9, xmm1
pxor xmm9, xmm12
pslldq xmm3, 4
pshufd xmm4, xmm9, 0x55
movd eax, xmm4
movd ebx, xmm4
pshufd xmm7, xmm9, 0xff
shr eax, 0x18
movzx r9d, byte [rsi + rax]
movzx r10d, bl
movd edi, xmm4
movzx ebp, bh
movzx r11d, byte [rsi + r10]
movd ebx, xmm7
shr edi, 0x10
movdqa xmm2, xmm3
movzx r12d, dil
shl r9d, 0x18
movzx r8d, bl
pxor xmm6, xmm3
movd r15d, xmm7
movd r10d, xmm7
or r9d, r11d
movzx eax, byte [rsi + r8]
shr r15d, 0x18
shr r10d, 0x10
movzx r13d, byte [rsi + r12]
movzx r14d, byte [rsi + rbp]
movzx edx, byte [rsi + r15]
movzx r11d, r10b
movzx ebp, bh
movzx edi, byte [rsi + r11]
movzx r12d, byte [rsi + rbp]
shl r13d, 0x10
shl r14d, 8
pslldq xmm2, 4
shl edx, 0x18
shl edi, 0x10
or r9d, r13d
or edx, eax
or edx, edi
shl r12d, 8
or r9d, r14d
or edx, r12d
mov r13d, r9d
mov r14d, edx
mov dword [rsp + 0x20], edx
movd xmm8, dword [rsp + 0x20]
ror r13d, 8
ror r14d, 8
xor r13d, 2
xor r14d, 2
mov dword [rsp + 0x10], r14d
movd xmm10, dword [rsp + 0x10]
punpckldq xmm8, xmm10
mov dword [rsp], r13d
movd xmm13, dword [rsp]
mov dword [rsp + 0x10], r9d
movd xmm7, dword [rsp + 0x10]
punpckldq xmm7, xmm13
movdqa xmm0, xmm7
punpcklqdq xmm0, xmm8
pshufd xmm15, xmm0, 0xff
pxor xmm15, xmm2
pxor xmm6, xmm15
pxor xmm6, xmm5
pshufd xmm1, xmm6, 0x55
movd r9d, xmm1
movd eax, xmm1
movd ebx, xmm1
shr eax, 0x10
shr r9d, 0x18
movzx edx, bl
movzx r10d, al
movzx edi, bh
movzx r15d, byte [rsi + r9]
movzx r8d, byte [rsi + rdx]
pshufd xmm4, xmm6, 0xff
movd r12d, xmm4
movzx r11d, byte [rsi + r10]
movzx ebp, byte [rsi + rdi]
movd edx, xmm4
movd ebx, xmm4
shl r15d, 0x18
movzx r14d, bl
movzx edi, bh
or r15d, r8d
shl r11d, 0x10
movzx r9d, byte [rsi + r14]
movzx r10d, byte [rsi + rdi]
or r15d, r11d
shl ebp, 8
shr r12d, 0x18
movzx r13d, byte [rsi + r12]
or r15d, ebp
shr edx, 0x10
shl r10d, 8
mov r11d, r15d
movzx r8d, dl
movzx eax, byte [rsi + r8]
shl r13d, 0x18
ror r11d, 8
or r13d, r9d
mov dword [rsp], r11d
shl eax, 0x10
or r13d, eax
or r13d, r10d
mov ebp, r13d
mov dword [rsp + 0x20], r13d
ror ebp, 8
mov dword [rsp + 0x10], ebp
movd xmm8, dword [rsp + 0x20]
movd xmm10, dword [rsp + 0x10]
movd xmm7, dword [rsp]
mov dword [rsp + 0x10], r15d
punpckldq xmm8, xmm10
movd xmm13, dword [rsp + 0x10]
punpckldq xmm13, xmm7
movdqa xmm7, xmm9
movdqa xmm0, xmm13
pslldq xmm7, 4
punpcklqdq xmm0, xmm8
movdqa xmm3, xmm7
pslldq xmm3, 4
pshufd xmm15, xmm0, 0xaa
movdqa xmm2, xmm3
pslldq xmm2, 4
pxor xmm7, xmm3
pxor xmm15, xmm2
pxor xmm7, xmm15
pxor xmm7, xmm9
pshufd xmm1, xmm7, 0x55
movd r15d, xmm1
movd ebx, xmm1
movd r9d, xmm1
movzx r13d, bl
shr r15d, 0x18
pshufd xmm4, xmm7, 0xff
shr r9d, 0x10
movzx eax, bh
movzx r12d, byte [rsi + r15]
movzx r14d, byte [rsi + r13]
movzx edx, r9b
movd r10d, xmm4
movd r13d, xmm4
movd ebx, xmm4
shr r10d, 0x18
movzx edi, byte [rsi + rax]
movzx r8d, byte [rsi + rdx]
shr r13d, 0x10
shl r12d, 0x18
movzx ebp, bl
movzx r11d, byte [rsi + r10]
or r12d, r14d
movzx r14d, r13b
movzx edx, bh
movzx r15d, byte [rsi + rbp]
movzx r9d, byte [rsi + r14]
shl r8d, 0x10
shl edi, 8
or r12d, r8d
shl r11d, 0x18
movzx r8d, byte [rsi + rdx]
or r11d, r15d
shl r9d, 0x10
or r12d, edi
or r11d, r9d
shl r8d, 8
or r11d, r8d
mov eax, r12d
mov edi, r11d
ror eax, 8
ror edi, 8
xor eax, 4
mov dword [rsp + 0x20], r11d
movd xmm8, dword [rsp + 0x20]
xor edi, 4
mov dword [rsp], eax
movd xmm0, dword [rsp]
mov dword [rsp + 0x10], edi
movd xmm10, dword [rsp + 0x10]
punpckldq xmm8, xmm10
mov dword [rsp + 0x10], r12d
movd xmm13, dword [rsp + 0x10]
punpckldq xmm13, xmm0
movdqa xmm0, xmm13
punpcklqdq xmm0, xmm8
movdqa xmm8, xmm6
pshufd xmm15, xmm0, 0xff
pslldq xmm8, 4
movdqa xmm3, xmm8
pslldq xmm3, 4
movdqa xmm2, xmm3
pxor xmm8, xmm3
pslldq xmm2, 4
pxor xmm15, xmm2
pxor xmm8, xmm15
pxor xmm8, xmm6
pshufd xmm1, xmm8, 0x55
pshufd xmm4, xmm8, 0xff
movd r12d, xmm1
movd ebx, xmm1
movd r15d, xmm1
movzx edx, bh
shr r12d, 0x18
movzx r11d, bl
movd eax, xmm4
shr r15d, 0x10
movzx r10d, byte [rsi + r12]
movzx ebp, byte [rsi + r11]
movzx r13d, r15b
movzx ebx, al
movd r8d, xmm4
movd r11d, xmm4
movzx r12d, byte [rsi + rbx]
movzx r14d, byte [rsi + r13]
shr r8d, 0x18
shr r11d, 0x10
movzx r9d, byte [rsi + rdx]
movzx edx, ah
shl r10d, 0x18
movzx edi, byte [rsi + r8]
movzx r13d, byte [rsi + rdx]
shl r14d, 0x10
or r10d, ebp
movzx ebp, r11b
shl r9d, 8
movzx r15d, byte [rsi + rbp]
shl edi, 0x18
or r10d, r14d
shl r13d, 8
or edi, r12d
shl r15d, 0x10
or r10d, r9d
or edi, r15d
mov r14d, r10d
or edi, r13d
ror r14d, 8
mov r9d, edi
mov dword [rsp], r14d
ror r9d, 8
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x10], r9d
movd xmm10, dword [rsp + 0x20]
movd xmm13, dword [rsp + 0x10]
movd xmm14, dword [rsp]
mov dword [rsp + 0x10], r10d
punpckldq xmm10, xmm13
movd xmm0, dword [rsp + 0x10]
mov qword [rsp + 0x90], 0x10
punpckldq xmm0, xmm14
punpcklqdq xmm0, xmm10
movdqa xmm10, xmm7
pshufd xmm3, xmm0, 0xaa
pslldq xmm10, 4
movdqa xmm1, xmm10
pslldq xmm1, 4
movdqa xmm2, xmm1
pxor xmm10, xmm1
pslldq xmm2, 4
pxor xmm3, xmm2
pxor xmm10, xmm3
pxor xmm10, xmm7
pshufd xmm4, xmm10, 0x55
pshufd xmm13, xmm10, 0xff
movd r10d, xmm4
movd r12d, xmm4
movd ebx, xmm4
shr r12d, 0x10
shr r10d, 0x18
movzx r8d, bl
movzx r11d, r12b
movzx edx, bh
movzx eax, byte [rsi + r10]
movzx edi, byte [rsi + r8]
movd r13d, xmm13
movd r8d, xmm13
movzx ebp, byte [rsi + r11]
movd ebx, xmm13
shr r13d, 0x18
movzx r15d, byte [rsi + rdx]
shl eax, 0x18
shr r8d, 0x10
movzx r14d, byte [rsi + r13]
movzx r9d, bl
or eax, edi
shl ebp, 0x10
movzx edi, r8b
movzx r10d, byte [rsi + r9]
or eax, ebp
movzx r12d, byte [rsi + rdi]
movzx ebp, bh
shl r14d, 0x18
movzx esi, byte [rsi + rbp]
shl r15d, 8
or r14d, r10d
movdqa xmm13, xmm8
shl r12d, 0x10
pslldq xmm13, 4
or eax, r15d
or r14d, r12d
shl esi, 8
mov r11d, eax
movdqa xmm2, xmm13
or r14d, esi
mov edx, r14d
ror r11d, 8
mov dword [rsp + 0x20], r14d
movd xmm14, dword [rsp + 0x20]
ror edx, 8
pslldq xmm2, 4
xor r11d, 8
xor edx, 8
mov dword [rsp + 0x10], edx
movd xmm0, dword [rsp + 0x10]
lea r12, [0x00799880]
punpckldq xmm14, xmm0
mov dword [rsp + 0x10], eax
movd xmm15, dword [rsp + 0x10]
mov dword [rsp], r11d
movd xmm3, dword [rsp]
punpckldq xmm15, xmm3
movdqa xmm0, xmm15
punpcklqdq xmm0, xmm14
movdqa xmm14, xmm2
pxor xmm2, xmm13
movdqa xmm15, xmmword [rcx + 0x40]
pshufd xmm4, xmm0, 0xff
pslldq xmm14, 4
movdqa xmm0, xmmword [rcx + 0x70]
movdqa xmm3, xmmword [rcx + 0x60]
movdqa xmm13, xmmword [rcx + 0xb0]
pxor xmm4, xmm14
movdqa xmm14, xmmword [rcx + 0x80]
pxor xmm4, xmm2
movdqa xmm1, xmm4
movaps xmmword [rsp + 0x10], xmm0
movdqa xmm2, xmmword [rcx + 0x90]
movdqa xmm0, xmmword [rcx + 0xa0]
pxor xmm1, xmm8
movdqa xmm4, xmmword [rcx + 0x50]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x40], xmm2
movdqa xmm2, xmm0
movdqa xmm0, xmmword [rsp + 0x10]
movaps xmmword [rsp], xmm15
movdqa xmm15, xmm1
movdqa xmm1, xmmword [rsp]
movd ebp, xmm4
movd edi, xmm3
movd dword [rsp + 0x50], xmm0
movd r13d, xmm1
pshufd xmm1, xmmword [rsp], 0x55
movd r11d, xmm1
pshufd xmm1, xmmword [rsp], 0xaa
movd esi, xmm1
pshufd xmm1, xmmword [rsp], 0xff
movd r14d, xmm1
movzx eax, r13b
mov r15d, r14d
mov eax, dword [r12 + rax*4]
mov edx, r11d
pshufd xmm1, xmm4, 0x55
shr r15d, 0x18
movzx edx, dh
movd r8d, xmm1
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, esi
xor eax, dword [r12 + rdx*4 + 0x400]
pshufd xmm1, xmm4, 0xaa
shr r15d, 0x10
movzx edx, r15b
mov r15d, r13d
pshufd xmm4, xmm4, 0xff
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp + 0x30], eax
shr r15d, 0x18
movzx eax, r11b
mov edx, esi
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, r14d
movzx edx, dh
shr r15d, 0x10
movd r10d, xmm4
movd r9d, xmm1
xor eax, dword [r12 + rdx*4 + 0x400]
movzx edx, r15b
mov r15d, r11d
shr r11d, 0x10
pshufd xmm1, xmm3, 0x55
shr r15d, 0x18
pshufd xmm4, xmm3, 0xaa
movd dword [rsp], xmm1
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, sil
mov edx, r14d
shr esi, 0x18
mov eax, dword [r12 + rax*4]
movzx edx, dh
movzx r14d, r14b
movd ecx, xmm4
pshufd xmm1, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
pshufd xmm3, xmm3, 0xff
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, r13d
xor eax, dword [r12 + rdx*4 + 0x400]
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x10], xmm1
shr r15d, 0x10
movd ebx, xmm3
movd dword [rsp + 0x78], xmm0
movd xmm0, dword [rsp + 0x30]
movzx edx, r15b
movd dword [rsp + 0x20], xmm4
xor eax, dword [r12 + rdx*4 + 0x800]
mov edx, r13d
mov dword [rsp + 0x7c], eax
movzx r13d, r11b
mov eax, dword [r12 + r14*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, dh
mov edx, r10d
movd xmm3, dword [rsp + 0x7c]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
shr edx, 0x18
mov r13d, r9d
mov dword [rsp + 0x80], eax
movzx eax, bpl
shr r13d, 0x10
movd xmm1, dword [rsp + 0x80]
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm1
punpckldq xmm0, xmm4
xor eax, dword [r12 + rdx*4 + 0xc00]
mov edx, r8d
punpcklqdq xmm0, xmm3
movzx edx, dh
xor eax, dword [r12 + rdx*4 + 0x400]
movzx edx, r13b
mov r13d, ebp
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp + 0x30], eax
shr r13d, 0x18
movzx eax, r8b
mov edx, r9d
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r13*4 + 0xc00]
mov r13d, r10d
movzx edx, dh
shr r13d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
pxor xmm0, xmm11
movzx edx, r13b
xor eax, dword [r12 + rdx*4 + 0x800]
mov r13d, r8d
movd r14d, xmm0
mov edx, r10d
mov dword [rsp + 0x60], eax
shr r13d, 0x18
movzx eax, r9b
movzx edx, dh
mov eax, dword [r12 + rax*4]
movzx r10d, r10b
pshufd xmm3, xmm0, 0x55
xor eax, dword [r12 + r13*4 + 0xc00]
mov r13d, ebp
pshufd xmm1, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
xor eax, dword [r12 + rdx*4 + 0x400]
shr r13d, 0x10
shr r8d, 0x10
movd r11d, xmm0
movd xmm0, dword [rsp + 0x30]
movzx edx, r13b
shr r9d, 0x18
movzx r8d, r8b
movd esi, xmm1
xor eax, dword [r12 + rdx*4 + 0x800]
mov edx, ebp
movd r15d, xmm3
movd xmm1, dword [rsp + 0x60]
movzx ebp, dh
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r10*4]
mov r10d, ebx
xor eax, dword [r12 + r9*4 + 0xc00]
shr r10d, 0x18
mov edx, dword [rsp]
punpckldq xmm0, xmm1
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, dil
mov eax, dword [r12 + rax*4]
movzx edx, dh
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, ecx
shr r10d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
movd xmm4, dword [rsp + 0x80]
movzx edx, r10b
xor eax, dword [r12 + rdx*4 + 0x800]
mov r10d, edi
movd xmm3, dword [rsp + 0x7c]
movzx edx, ch
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp]
shr r10d, 0x18
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, ebx
shr r10d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
pxor xmm0, xmm11
movzx edx, r10b
mov r10d, dword [rsp]
movd ebp, xmm0
pshufd xmm3, xmm0, 0x55
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp + 0x60], eax
movzx eax, cl
movzx edx, bh
shr ecx, 0x18
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
movzx ebx, bl
pshufd xmm4, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd r13d, xmm3
movd r9d, xmm4
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, edi
xor eax, dword [r12 + rdx*4 + 0x400]
movd r8d, xmm0
movd xmm4, dword [rsp + 0x60]
shr r10d, 0x10
movd xmm0, dword [rsp + 0x30]
movzx edx, r10b
mov r10d, dword [rsp]
xor eax, dword [r12 + rdx*4 + 0x800]
punpckldq xmm0, xmm4
mov dword [rsp + 0x7c], eax
shr r10d, 0x10
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + rcx*4 + 0xc00]
mov ecx, edi
movzx edx, r10b
movzx edi, ch
mov r10d, dword [rsp + 0x78]
movd xmm1, dword [rsp + 0x7c]
shr r10d, 0x18
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x50]
movzx ebx, dil
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
mov eax, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x10]
movzx ebx, bh
movd xmm3, dword [rsp]
xor eax, dword [r12 + r10*4 + 0xc00]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x20]
pxor xmm0, xmm11
pshufd xmm1, xmm0, 0x55
movd dword [rsp + 0x30], xmm0
pshufd xmm3, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov r10d, ebx
shr r10d, 0x10
movd dword [rsp], xmm1
movzx ebx, bh
movd ecx, xmm3
movzx r10d, r10b
movd edx, xmm0
xor eax, dword [r12 + r10*4 + 0x800]
mov r10d, edi
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0x10]
shr r10d, 0x18
movd xmm3, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r10*4 + 0xc00]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x78]
mov r10d, ebx
shr r10d, 0x10
movzx ebx, bh
movzx r10d, r10b
xor eax, dword [r12 + r10*4 + 0x800]
mov r10d, dword [rsp + 0x10]
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x20]
shr r10d, 0x18
movd xmm0, dword [rsp + 0x60]
punpckldq xmm3, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, edi
shr r10d, 0x10
xor eax, dword [r12 + rbx*4 + 0x400]
movzx ebx, r10b
mov r10d, dword [rsp + 0x20]
shr r10d, 0x18
xor eax, dword [r12 + rbx*4 + 0x800]
mov ebx, r10d
mov r10d, dword [rsp + 0x10]
mov dword [rsp + 0x7c], eax
movzx eax, byte [rsp + 0x78]
shr r10d, 0x10
movd xmm1, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, edi
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
mov dword [rsp + 0x10], eax
movd xmm4, dword [rsp + 0x10]
shr edi, 0x18
mov ebx, r15d
movzx eax, r14b
punpckldq xmm1, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
punpcklqdq xmm3, xmm1
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
pxor xmm3, xmm11
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
pshufd xmm1, xmm3, 0x55
pshufd xmm4, xmm3, 0xaa
movd dword [rsp + 0x20], xmm3
shr ebx, 0x18
pshufd xmm3, xmm3, 0xff
movd dword [rsp + 0x10], xmm1
movd r10d, xmm4
movd dword [rsp + 0x78], xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
movzx eax, r15b
movd xmm3, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
shr esi, 0x18
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm3, xmm4
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, r8d
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r11*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, r13d
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm1, dword [rsp + 0x7c]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, bpl
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm0
punpcklqdq xmm3, xmm1
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r13b
pxor xmm3, xmm12
mov eax, dword [r12 + rax*4]
pshufd xmm0, xmm3, 0xaa
movd r14d, xmm3
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movd esi, xmm0
pshufd xmm1, xmm3, 0x55
movzx edi, bh
mov ebx, r8d
pshufd xmm3, xmm3, 0xff
movd r15d, xmm1
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r11d, xmm3
movzx edi, bl
mov ebx, r13d
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
shr r13d, 0x10
mov dword [rsp + 0x60], eax
movzx eax, r9b
movzx r13d, r13b
shr r9d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movd xmm0, dword [rsp + 0x50]
movzx edi, bh
mov ebx, ebp
movd xmm3, dword [rsp + 0x60]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
mov edi, edx
mov ebx, dword [rsp]
shr edi, 0x18
movd xmm1, dword [rsp + 0x7c]
punpckldq xmm0, xmm3
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x80], eax
movd xmm4, dword [rsp + 0x80]
movzx eax, byte [rsp + 0x30]
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
pxor xmm0, xmm12
movd ebp, xmm0
pshufd xmm1, xmm0, 0x55
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x30]
pshufd xmm4, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd r13d, xmm1
movd r9d, xmm4
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
movzx eax, byte [rsp]
movd r8d, xmm0
shr edi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov edi, dword [rsp]
mov eax, dword [r12 + rdx*4]
shr edi, 0x10
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x20]
movd xmm0, dword [rsp + 0x50]
movd xmm1, dword [rsp]
movd xmm4, dword [rsp + 0x30]
punpckldq xmm0, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movd xmm3, dword [rsp + 0x60]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm3, xmm1
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x20]
punpcklqdq xmm0, xmm3
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0x10]
shr ebx, 0x18
pxor xmm0, xmm12
pshufd xmm3, xmm0, 0x55
movd dword [rsp + 0x30], xmm0
pshufd xmm1, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd dword [rsp], xmm3
movd edx, xmm0
movzx edi, bh
mov ebx, dword [rsp + 0x78]
movd ecx, xmm1
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
movzx ebx, bl
shr edi, 0x10
movzx edi, dil
movd xmm0, dword [rsp + 0x50]
movd xmm1, dword [rsp + 0x78]
punpckldq xmm0, xmm1
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm4, dword [rsp + 0x10]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r15b
punpcklqdq xmm0, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm0, xmm12
movzx edi, bh
mov ebx, r11d
pshufd xmm3, xmm0, 0x55
movd dword [rsp + 0x20], xmm0
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm4, xmm0, 0xaa
movd dword [rsp + 0x10], xmm3
movzx edi, bl
pshufd xmm0, xmm0, 0xff
movd r10d, xmm4
mov ebx, r15d
shr ebx, 0x18
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
movd dword [rsp + 0x78], xmm0
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
movzx r14d, r15b
mov edi, r8d
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r11*4]
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, r13d
movd xmm0, dword [rsp + 0x50]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm1, dword [rsp + 0x7c]
punpckldq xmm0, xmm4
movd xmm3, dword [rsp + 0x80]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx edi, bh
mov ebx, r8d
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm1, xmm3
shr ebx, 0x10
movzx edi, bl
mov ebx, r13d
punpcklqdq xmm0, xmm1
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pxor xmm0, xmm5
movd r14d, xmm0
mov dword [rsp + 0x60], eax
movzx eax, r9b
pshufd xmm1, xmm0, 0x55
pshufd xmm3, xmm0, 0xaa
mov eax, dword [r12 + rax*4]
pshufd xmm0, xmm0, 0xff
xor eax, dword [r12 + rbx*4 + 0xc00]
movd r15d, xmm1
mov ebx, r8d
movzx edi, bh
mov ebx, ebp
movd esi, xmm3
movzx r8d, r8b
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r11d, xmm0
movd xmm3, dword [rsp + 0x50]
shr r13d, 0x10
movzx edi, bl
mov ebx, ebp
shr r9d, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
movzx r13d, r13b
mov edi, edx
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm1, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movd xmm4, dword [rsp + 0x80]
movd xmm0, dword [rsp + 0x60]
punpckldq xmm1, xmm4
punpckldq xmm3, xmm0
movzx eax, byte [rsp + 0x30]
mov ebx, dword [rsp]
punpcklqdq xmm3, xmm1
pxor xmm3, xmm5
movd ebp, xmm3
pshufd xmm1, xmm3, 0x55
pshufd xmm4, xmm3, 0xaa
mov eax, dword [r12 + rax*4]
pshufd xmm3, xmm3, 0xff
movd r13d, xmm1
movd r9d, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
movd r8d, xmm3
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
shr edi, 0x18
movzx eax, byte [rsp]
movd xmm3, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm4, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm3, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
movd xmm1, dword [rsp + 0x60]
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movd xmm0, dword [rsp]
punpckldq xmm1, xmm0
punpcklqdq xmm3, xmm1
pxor xmm3, xmm5
pshufd xmm1, xmm3, 0x55
movd dword [rsp + 0x30], xmm3
pshufd xmm0, xmm3, 0xaa
pshufd xmm3, xmm3, 0xff
movd dword [rsp], xmm1
mov ebx, dword [rsp + 0x78]
movzx eax, byte [rsp + 0x20]
movd ecx, xmm0
movd edx, xmm3
shr ebx, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
movd xmm1, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm4, dword [rsp + 0x10]
movd xmm0, dword [rsp + 0x50]
punpckldq xmm1, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm3, dword [rsp + 0x78]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
punpckldq xmm0, xmm3
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, r15b
punpcklqdq xmm0, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm0, xmm5
movzx edi, bh
mov ebx, r11d
pshufd xmm1, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd dword [rsp + 0x20], xmm0
pshufd xmm0, xmm0, 0xff
movd r10d, xmm4
movzx edi, bl
mov ebx, r15d
movd dword [rsp + 0x10], xmm1
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movd dword [rsp + 0x78], xmm0
movd xmm0, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
punpckldq xmm0, xmm4
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r11*4]
mov edi, r8d
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, r13d
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm3, dword [rsp + 0x7c]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, bpl
movd xmm1, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm1
punpcklqdq xmm0, xmm3
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, r13b
pxor xmm0, xmm9
mov eax, dword [r12 + rax*4]
movd r14d, xmm0
pshufd xmm3, xmm0, 0x55
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
pshufd xmm1, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movzx edi, bh
mov ebx, r8d
movd r11d, xmm0
movd xmm0, dword [rsp + 0x50]
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r15d, xmm3
movd esi, xmm1
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
shr r13d, 0x10
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, r9b
movzx r13d, r13b
shr r9d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movzx edi, bh
mov ebx, ebp
movd xmm1, dword [rsp + 0x60]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
mov edi, edx
mov ebx, dword [rsp]
shr edi, 0x18
movd xmm3, dword [rsp + 0x7c]
punpckldq xmm0, xmm1
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x80], eax
movd xmm4, dword [rsp + 0x80]
movzx eax, byte [rsp + 0x30]
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm3
pxor xmm0, xmm9
movd ebp, xmm0
pshufd xmm3, xmm0, 0x55
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x30]
pshufd xmm4, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd r13d, xmm3
movd r9d, xmm4
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
movzx eax, byte [rsp]
movd r8d, xmm0
shr edi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
movd xmm0, dword [rsp + 0x50]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm4, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm0, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x20]
movd xmm3, dword [rsp]
movd xmm1, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm0, xmm9
pshufd xmm1, xmm0, 0x55
movd dword [rsp + 0x30], xmm0
pshufd xmm3, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm1
movd ecx, xmm3
movd edx, xmm0
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd xmm3, dword [rsp + 0x50]
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm0, dword [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
punpckldq xmm3, xmm0
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
movd xmm1, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm4, dword [rsp + 0x10]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm3, xmm1
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
pxor xmm3, xmm9
shr ebx, 0x18
pshufd xmm1, xmm3, 0x55
pshufd xmm4, xmm3, 0xaa
movd dword [rsp + 0x20], xmm3
pshufd xmm3, xmm3, 0xff
movd r10d, xmm4
mov dword [rsp + 0x50], eax
movzx eax, r15b
mov eax, dword [r12 + rax*4]
movd dword [rsp + 0x10], xmm1
movd dword [rsp + 0x78], xmm3
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd xmm3, dword [rsp + 0x50]
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
movd xmm4, dword [rsp + 0x60]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, r8d
punpckldq xmm3, xmm4
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r11*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
mov ebx, r13d
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, bpl
movd xmm1, dword [rsp + 0x7c]
movd xmm0, dword [rsp + 0x80]
punpckldq xmm1, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm3, xmm1
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
pxor xmm3, xmm6
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r13b
pshufd xmm0, xmm3, 0xaa
movd r14d, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movd esi, xmm0
movzx edi, bh
mov ebx, r8d
pshufd xmm1, xmm3, 0x55
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r9b
pshufd xmm3, xmm3, 0xff
mov eax, dword [r12 + rax*4]
movd r11d, xmm3
movd r15d, xmm1
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movzx edi, bh
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, ebp
shr r13d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr r9d, 0x18
movzx ebp, bh
movzx r13d, r13b
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
mov edi, edx
xor eax, dword [r12 + r9*4 + 0xc00]
mov ebx, dword [rsp]
shr edi, 0x18
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, byte [rsp + 0x30]
movd xmm0, dword [rsp + 0x50]
movd xmm3, dword [rsp + 0x60]
movd xmm1, dword [rsp + 0x7c]
punpckldq xmm0, xmm3
movd xmm4, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x30]
pxor xmm0, xmm6
movd ebp, xmm0
pshufd xmm1, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
movzx eax, byte [rsp]
pshufd xmm0, xmm0, 0xff
shr edi, 0x18
movd r8d, xmm0
movd r13d, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
movd r9d, xmm4
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx edx, dl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rdx*4]
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
xor eax, dword [r12 + rcx*4 + 0x400]
mov edi, dword [rsp]
shr edi, 0x10
movzx edx, dil
xor eax, dword [r12 + rdx*4 + 0x800]
mov ebx, dword [rsp + 0x78]
mov dword [rsp], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x20]
movd xmm0, dword [rsp + 0x50]
movd xmm1, dword [rsp]
movd xmm4, dword [rsp + 0x30]
punpckldq xmm0, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movd xmm3, dword [rsp + 0x60]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm3, xmm1
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x20]
punpcklqdq xmm0, xmm3
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0x10]
shr ebx, 0x18
pxor xmm0, xmm6
pshufd xmm3, xmm0, 0x55
movd dword [rsp + 0x30], xmm0
pshufd xmm1, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd dword [rsp], xmm3
movd edx, xmm0
movzx edi, bh
mov ebx, dword [rsp + 0x78]
movd ecx, xmm1
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
movzx ebx, bl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
movd xmm0, dword [rsp + 0x50]
shr edi, 0x18
xor eax, dword [r12 + rbx*4 + 0x800]
mov ebx, r15d
movd xmm3, dword [rsp + 0x60]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm4, dword [rsp + 0x10]
punpckldq xmm3, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm1, dword [rsp + 0x78]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
punpckldq xmm0, xmm1
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r15b
punpcklqdq xmm0, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm0, xmm6
movzx edi, bh
mov ebx, r11d
pshufd xmm3, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd dword [rsp + 0x20], xmm0
pshufd xmm0, xmm0, 0xff
movd r10d, xmm4
movzx edi, bl
mov ebx, r15d
movd dword [rsp + 0x10], xmm3
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movd dword [rsp + 0x78], xmm0
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
mov edi, r8d
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r11*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
shr edi, 0x18
mov ebx, r13d
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm0, dword [rsp + 0x50]
mov dword [rsp + 0x80], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm1, dword [rsp + 0x7c]
punpckldq xmm0, xmm4
movd xmm3, dword [rsp + 0x80]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx edi, bh
mov ebx, r8d
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm1, xmm3
shr ebx, 0x10
movzx edi, bl
mov ebx, r13d
shr r13d, 0x10
punpcklqdq xmm0, xmm1
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movzx r13d, r13b
pxor xmm0, xmm7
mov dword [rsp + 0x60], eax
movzx eax, r9b
shr r9d, 0x18
movd r14d, xmm0
mov eax, dword [r12 + rax*4]
pshufd xmm1, xmm0, 0x55
pshufd xmm3, xmm0, 0xaa
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
pshufd xmm0, xmm0, 0xff
movzx edi, bh
movd r15d, xmm1
movd esi, xmm3
movd r11d, xmm0
mov ebx, ebp
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x60]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
movd xmm3, dword [rsp + 0x50]
movzx ebp, bh
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
punpckldq xmm3, xmm0
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm1, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movd xmm4, dword [rsp + 0x80]
movzx eax, byte [rsp + 0x30]
punpckldq xmm1, xmm4
punpcklqdq xmm3, xmm1
pxor xmm3, xmm7
movd ebp, xmm3
pshufd xmm1, xmm3, 0x55
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
mov ebx, dword [rsp]
pshufd xmm4, xmm3, 0xaa
pshufd xmm3, xmm3, 0xff
movd r13d, xmm1
movd r9d, xmm4
movd r8d, xmm3
movzx edi, bh
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
movzx eax, byte [rsp]
shr edi, 0x18
movd xmm3, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm4, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm3, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
movd xmm1, dword [rsp + 0x60]
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movd xmm0, dword [rsp]
movzx eax, byte [rsp + 0x20]
punpckldq xmm1, xmm0
punpcklqdq xmm3, xmm1
pxor xmm3, xmm7
pshufd xmm1, xmm3, 0x55
movd dword [rsp + 0x30], xmm3
pshufd xmm0, xmm3, 0xaa
movd dword [rsp], xmm1
mov eax, dword [r12 + rax*4]
pshufd xmm3, xmm3, 0xff
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movd ecx, xmm0
movd edx, xmm3
movzx edi, bh
mov ebx, r10d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x20]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
movd xmm0, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm3, dword [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
punpckldq xmm0, xmm3
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
movd xmm1, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
mov dword [rsp + 0x10], eax
movd xmm4, dword [rsp + 0x10]
movzx eax, r14b
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
pxor xmm0, xmm7
movd dword [rsp + 0x20], xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
pshufd xmm1, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
mov ebx, esi
shr ebx, 0x10
pshufd xmm0, xmm0, 0xff
movd r10d, xmm4
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd dword [rsp + 0x78], xmm0
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movd dword [rsp + 0x10], xmm1
mov dword [rsp + 0x50], eax
movzx eax, r15b
movd xmm0, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
shr r15d, 0x10
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
shr esi, 0x18
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
punpckldq xmm0, xmm4
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, r8d
mov dword [rsp + 0x7c], eax
shr edi, 0x18
mov eax, dword [r12 + r11*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, r13d
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm1, dword [rsp + 0x80]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm3, dword [rsp + 0x7c]
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r13b
punpckldq xmm3, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
punpcklqdq xmm0, xmm3
movzx edi, bh
mov ebx, r8d
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm0, xmm8
shr ebx, 0x10
movzx edi, bl
mov ebx, r13d
movd r14d, xmm0
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, r9b
pshufd xmm3, xmm0, 0x55
mov eax, dword [r12 + rax*4]
pshufd xmm1, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movd r11d, xmm0
movd xmm0, dword [rsp + 0x50]
movzx edi, bh
movd r15d, xmm3
movd esi, xmm1
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd xmm1, dword [rsp + 0x60]
movzx edi, bl
shr r13d, 0x10
mov ebx, ebp
shr r9d, 0x18
punpckldq xmm0, xmm1
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
movzx r13d, r13b
mov edi, edx
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov ebx, dword [rsp]
mov dword [rsp + 0x80], eax
movzx eax, byte [rsp + 0x30]
movd xmm3, dword [rsp + 0x7c]
movd xmm4, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm3
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x30]
pxor xmm0, xmm8
movd ebp, xmm0
pshufd xmm3, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
movzx eax, byte [rsp]
pshufd xmm0, xmm0, 0xff
shr edi, 0x18
movd r8d, xmm0
movd r13d, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
movd r9d, xmm4
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
mov edi, dword [rsp]
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
movd xmm0, dword [rsp + 0x50]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
movd xmm4, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
punpckldq xmm0, xmm4
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x20]
movd xmm3, dword [rsp]
movd xmm1, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm0, xmm8
pshufd xmm1, xmm0, 0x55
movd dword [rsp + 0x30], xmm0
pshufd xmm3, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm1
movd ecx, xmm3
movd edx, xmm0
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm0, dword [rsp + 0x78]
movd xmm3, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
punpckldq xmm3, xmm0
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
movd xmm1, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm4, dword [rsp + 0x10]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r15b
punpcklqdq xmm3, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm3, xmm8
movzx edi, bh
mov ebx, r11d
pshufd xmm1, xmm3, 0x55
movd dword [rsp + 0x20], xmm3
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm4, xmm3, 0xaa
movd dword [rsp + 0x10], xmm1
movzx edi, bl
pshufd xmm3, xmm3, 0xff
movd r10d, xmm4
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movd dword [rsp + 0x78], xmm3
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
movd xmm3, dword [rsp + 0x50]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
movd xmm4, dword [rsp + 0x60]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r11*4]
mov edi, r8d
punpckldq xmm3, xmm4
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, r13d
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm1, dword [rsp + 0x7c]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, bpl
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm0
punpcklqdq xmm3, xmm1
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x50], eax
movzx eax, r13b
pxor xmm3, xmm10
mov eax, dword [r12 + rax*4]
pshufd xmm0, xmm3, 0xaa
movd r14d, xmm3
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movd esi, xmm0
pshufd xmm1, xmm3, 0x55
movzx edi, bh
mov ebx, r8d
pshufd xmm3, xmm3, 0xff
movd r15d, xmm1
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r11d, xmm3
movzx edi, bl
mov ebx, r13d
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
shr r13d, 0x10
mov dword [rsp + 0x60], eax
movzx eax, r9b
movzx r13d, r13b
shr r9d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movzx edi, bh
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
movzx ebp, bh
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov ebx, dword [rsp]
mov dword [rsp + 0x80], eax
movzx eax, byte [rsp + 0x30]
movd xmm0, dword [rsp + 0x50]
movd xmm3, dword [rsp + 0x60]
movd xmm1, dword [rsp + 0x7c]
punpckldq xmm0, xmm3
movd xmm4, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x30]
pxor xmm0, xmm10
movd ebp, xmm0
pshufd xmm1, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x50], eax
mov edi, ebx
movzx eax, byte [rsp]
pshufd xmm0, xmm0, 0xff
shr edi, 0x18
movd r8d, xmm0
movd r13d, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
movd r9d, xmm4
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx edx, dl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movd xmm3, dword [rsp + 0x60]
movzx ebx, byte [rsp + 0x20]
mov edi, dword [rsp + 0x78]
movd xmm0, dword [rsp + 0x50]
shr edi, 0x18
mov edx, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x10]
xor edx, dword [r12 + rdi*4 + 0xc00]
movd xmm1, dword [rsp]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor edx, dword [r12 + rdi*4 + 0x400]
movd xmm4, dword [rsp + 0x30]
punpckldq xmm3, xmm1
movzx edi, bl
mov ebx, dword [rsp + 0x20]
shr ebx, 0x18
punpckldq xmm0, xmm4
xor edx, dword [r12 + rdi*4 + 0x800]
punpcklqdq xmm0, xmm3
mov dword [rsp + 0x50], edx
pxor xmm0, xmm10
movzx edx, byte [rsp + 0x10]
pshufd xmm3, xmm0, 0x55
movd dword [rsp + 0x30], xmm0
pshufd xmm1, xmm0, 0xaa
movd dword [rsp], xmm3
pshufd xmm0, xmm0, 0xff
movd ecx, xmm1
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd eax, xmm0
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], edx
shr edi, 0x18
movzx edx, r10b
shr r10d, 0x18
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], edx
mov edx, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x20]
xor edx, dword [r12 + r10*4 + 0xc00]
movzx edi, bh
xor edx, dword [r12 + rdi*4 + 0x400]
mov r10d, dword [rsp + 0x10]
mov edi, r11d
shr r10d, 0x10
movzx ebx, r10b
mov r10d, esi
movd xmm3, dword [rsp + 0x60]
movd xmm0, dword [rsp + 0x50]
xor edx, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
movd xmm1, dword [rsp + 0x78]
mov dword [rsp + 0x10], edx
shr r10d, 0x10
movzx edx, r14b
movd xmm4, dword [rsp + 0x10]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, r10b
xor edx, dword [r12 + rdi*4 + 0x400]
mov r10d, r11d
punpckldq xmm3, xmm4
mov edi, r14d
xor edx, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, esi
punpckldq xmm0, xmm1
shr r10d, 0x10
mov dword [rsp + 0x20], edx
movzx edx, r15b
punpcklqdq xmm0, xmm3
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, r10b
xor edx, dword [r12 + rdi*4 + 0x400]
mov r10d, r14d
mov edi, r15d
xor edx, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r11d
shr r10d, 0x10
mov dword [rsp + 0x7c], edx
movzx edx, sil
shr r15d, 0x10
movzx r11d, r11b
pxor xmm0, xmm10
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
shr esi, 0x18
movzx ebx, r10b
pshufd xmm3, xmm0, 0x55
pshufd xmm4, xmm0, 0xaa
xor edx, dword [r12 + rdi*4 + 0x400]
xor edx, dword [r12 + rbx*4 + 0x800]
mov ebx, r14d
movzx r14d, r15b
mov edi, r8d
mov dword [rsp + 0x80], edx
mov edx, dword [r12 + r11*4]
movzx r15d, bpl
shr edi, 0x18
xor edx, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, r13d
movd dword [rsp + 0x78], xmm0
xor edx, dword [r12 + rsi*4 + 0x400]
xor edx, dword [r12 + r14*4 + 0x800]
mov r14d, r9d
movd dword [rsp + 0x10], xmm3
shr r14d, 0x10
pshufd xmm0, xmm0, 0xff
movd dword [rsp + 0x50], xmm4
movd dword [rsp + 0x60], xmm0
mov dword [rsp + 0x84], edx
movd xmm1, dword [rsp + 0x80]
mov edx, dword [r12 + r15*4]
movzx r15d, r14b
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor edx, dword [r12 + rdi*4 + 0x400]
movd xmm4, dword [rsp + 0x7c]
mov ebx, ebp
shr ebx, 0x18
xor edx, dword [r12 + r15*4 + 0x800]
mov r15d, r8d
movd xmm0, dword [rsp + 0x20]
mov dword [rsp + 0x7c], edx
movzx edx, r13b
shr r15d, 0x10
punpckldq xmm0, xmm4
movd xmm3, dword [rsp + 0x84]
mov r14d, dword [r12 + rdx*4]
mov edx, r9d
xor r14d, dword [r12 + rbx*4 + 0xc00]
movzx ebx, r15b
movzx edi, dh
mov r15d, ebp
punpckldq xmm1, xmm3
xor r14d, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
xor r14d, dword [r12 + rbx*4 + 0x800]
mov ebx, r8d
movzx r8d, r8b
mov dword [rsp + 0x80], r14d
shr edi, 0x18
movzx r14d, r9b
punpcklqdq xmm0, xmm1
mov edx, dword [r12 + r14*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ebp
xor edx, dword [r12 + rdi*4 + 0x400]
shr r15d, 0x10
pxor xmm0, xmm15
movzx ebp, bh
movzx r14d, r15b
shr r13d, 0x10
mov ebx, eax
movd esi, xmm0
shr r9d, 0x18
movzx r13d, r13b
pshufd xmm1, xmm0, 0x55
shr ebx, 0x18
xor edx, dword [r12 + r14*4 + 0x800]
mov r14d, dword [rsp + 0x30]
pshufd xmm3, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
movd r10d, xmm1
mov dword [rsp + 0x84], edx
mov edx, dword [r12 + r8*4]
movd r11d, xmm3
movzx r15d, r14b
movd dword [rsp + 0x20], xmm0
xor edx, dword [r12 + r9*4 + 0xc00]
xor edx, dword [r12 + rbp*4 + 0x400]
xor edx, dword [r12 + r13*4 + 0x800]
movd xmm3, dword [rsp + 0x7c]
mov r13d, ecx
mov dword [rsp + 0x88], edx
movd xmm0, dword [rsp + 0x80]
mov edx, dword [r12 + r15*4]
shr r13d, 0x10
movzx r15d, r13b
movd xmm4, dword [rsp + 0x88]
xor edx, dword [r12 + rbx*4 + 0xc00]
mov r13d, eax
punpckldq xmm3, xmm0
movd xmm1, dword [rsp + 0x84]
mov ebx, dword [rsp]
shr r13d, 0x10
movzx ebx, bh
xor edx, dword [r12 + rbx*4 + 0x400]
mov ebx, r14d
punpckldq xmm1, xmm4
xor edx, dword [r12 + r15*4 + 0x800]
mov r15d, dword [rsp]
mov dword [rsp + 0x30], edx
shr ebx, 0x18
punpcklqdq xmm3, xmm1
pxor xmm3, xmm15
movd ebp, xmm3
pshufd xmm1, xmm3, 0x55
movzx edx, r15b
mov edx, dword [r12 + rdx*4]
pshufd xmm4, xmm3, 0xaa
pshufd xmm3, xmm3, 0xff
xor edx, dword [r12 + rbx*4 + 0xc00]
movzx ebx, ch
movd r9d, xmm1
movd edi, xmm4
xor edx, dword [r12 + rbx*4 + 0x400]
movzx ebx, r13b
mov r13d, r15d
shr r15d, 0x10
movd r8d, xmm3
xor edx, dword [r12 + rbx*4 + 0x800]
shr r13d, 0x18
movzx ebx, ah
movzx eax, al
mov dword [rsp], edx
movzx edx, cl
shr ecx, 0x18
movd xmm4, dword [rsp]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + r13*4 + 0xc00]
mov r13d, r14d
shr r13d, 0x10
xor edx, dword [r12 + rbx*4 + 0x400]
movzx ebx, r13b
mov r13d, dword [r12 + rax*4]
movzx eax, sil
xor edx, dword [r12 + rbx*4 + 0x800]
xor r13d, dword [r12 + rcx*4 + 0xc00]
mov ecx, r14d
movzx r14d, r15b
mov r15d, dword [rsp + 0x20]
movd xmm3, dword [rsp + 0x30]
mov dword [rsp + 0x7c], edx
movzx edx, ch
mov ebx, dword [r12 + r14*4 + 0x800]
xor r13d, dword [r12 + rdx*4 + 0x400]
xor ebx, r13d
shr r15d, 0x18
mov dword [rsp + 0x80], ebx
mov r13d, dword [r12 + rax*4]
mov ebx, r10d
punpckldq xmm3, xmm4
movd xmm0, dword [rsp + 0x80]
movd xmm1, dword [rsp + 0x7c]
movzx eax, bh
punpckldq xmm1, xmm0
xor r13d, dword [r12 + r15*4 + 0xc00]
mov r15d, r11d
punpcklqdq xmm3, xmm1
xor r13d, dword [r12 + rax*4 + 0x400]
shr r15d, 0x10
pxor xmm3, xmm15
mov eax, esi
movzx ebx, r15b
movd r14d, xmm3
pshufd xmm1, xmm3, 0x55
pshufd xmm0, xmm3, 0xaa
xor r13d, dword [r12 + rbx*4 + 0x800]
pshufd xmm3, xmm3, 0xff
shr eax, 0x18
mov ebx, r11d
mov dword [rsp + 0x30], r13d
movzx r13d, r10b
movd dword [rsp], xmm3
movd edx, xmm1
movd ecx, xmm0
mov r13d, dword [r12 + r13*4]
xor r13d, dword [r12 + rax*4 + 0xc00]
movzx eax, bh
mov ebx, dword [rsp + 0x20]
xor r13d, dword [r12 + rax*4 + 0x400]
mov r15d, ebx
shr r15d, 0x10
movzx eax, r15b
mov r15d, r10d
shr r10d, 0x10
movd xmm1, dword [rsp + 0x30]
xor r13d, dword [r12 + rax*4 + 0x800]
shr r15d, 0x18
movzx eax, bh
movzx r10d, r10b
mov dword [rsp + 0x20], r13d
movzx r13d, r11b
movzx ebx, bl
shr r11d, 0x18
mov r13d, dword [r12 + r13*4]
xor r13d, dword [r12 + r15*4 + 0xc00]
mov r15d, esi
shr r15d, 0x10
xor r13d, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
movd xmm3, dword [rsp + 0x20]
punpckldq xmm1, xmm3
xor r13d, dword [r12 + rax*4 + 0x800]
mov eax, esi
movzx esi, ah
mov dword [rsp + 0x7c], r13d
mov eax, dword [rsp + 0x78]
mov r13d, dword [r12 + rbx*4]
movzx r15d, al
xor r13d, dword [r12 + r11*4 + 0xc00]
xor r13d, dword [r12 + rsi*4 + 0x400]
xor r13d, dword [r12 + r10*4 + 0x800]
mov esi, dword [rsp + 0x60]
mov r11d, esi
mov dword [rsp + 0x80], r13d
mov r13d, dword [rsp + 0x50]
mov r10d, dword [r12 + r15*4]
shr r11d, 0x18
mov r15d, r13d
mov ebx, dword [rsp + 0x10]
shr r15d, 0x10
xor r10d, dword [r12 + r11*4 + 0xc00]
movzx ebx, bh
movzx r11d, r15b
mov r15d, dword [rsp + 0x10]
xor r10d, dword [r12 + rbx*4 + 0x400]
mov ebx, eax
xor r10d, dword [r12 + r11*4 + 0x800]
movd xmm0, dword [rsp + 0x7c]
shr ebx, 0x18
mov r11d, esi
movd xmm4, dword [rsp + 0x80]
mov dword [rsp + 0x20], r10d
movzx r10d, r15b
shr r11d, 0x10
mov r10d, dword [r12 + r10*4]
xor r10d, dword [r12 + rbx*4 + 0xc00]
mov ebx, r13d
punpckldq xmm0, xmm4
punpcklqdq xmm1, xmm0
movzx ebx, bh
movaps xmmword [rsp + 0x30], xmm1
xor r10d, dword [r12 + rbx*4 + 0x400]
movzx ebx, r11b
mov r11d, r15d
xor r10d, dword [r12 + rbx*4 + 0x800]
shr r11d, 0x18
mov dword [rsp + 0x10], r10d
movzx r10d, r13b
mov ebx, esi
shr r13d, 0x18
mov r10d, dword [r12 + r10*4]
movzx ebx, bh
movzx esi, sil
xor r10d, dword [r12 + r11*4 + 0xc00]
mov r11d, eax
movzx eax, ah
xor r10d, dword [r12 + rbx*4 + 0x400]
movd xmm3, dword [rsp + 0x10]
shr r11d, 0x10
movzx ebx, r11b
mov r11d, dword [r12 + rsi*4]
movzx esi, bpl
xor r10d, dword [r12 + rbx*4 + 0x800]
xor r11d, dword [r12 + r13*4 + 0xc00]
shr r15d, 0x10
mov dword [rsp + 0x78], r10d
xor r11d, dword [r12 + rax*4 + 0x400]
mov eax, r8d
movzx r10d, r15b
mov esi, dword [r12 + rsi*4]
shr eax, 0x18
mov r15d, edi
xor r11d, dword [r12 + r10*4 + 0x800]
movd xmm4, dword [rsp + 0x78]
xor esi, dword [r12 + rax*4 + 0xc00]
mov eax, r9d
shr r15d, 0x10
mov dword [rsp + 0x50], r11d
movzx eax, ah
movd xmm0, dword [rsp + 0x50]
punpckldq xmm4, xmm0
xor esi, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
mov r15d, ebp
movd xmm0, dword [rsp + 0x20]
xor esi, dword [r12 + rax*4 + 0x800]
shr r15d, 0x18
mov dword [rsp + 0x10], esi
movzx esi, r9b
mov eax, edi
mov esi, dword [r12 + rsi*4]
xor esi, dword [r12 + r15*4 + 0xc00]
mov r15d, r8d
movzx eax, ah
shr r15d, 0x10
xor esi, dword [r12 + rax*4 + 0x400]
punpckldq xmm0, xmm3
movzx eax, r15b
xor esi, dword [r12 + rax*4 + 0x800]
mov r15d, r9d
mov eax, r8d
shr r9d, 0x10
shr r15d, 0x18
mov dword [rsp + 0x20], esi
movzx esi, dil
movzx eax, ah
mov esi, dword [r12 + rsi*4]
movzx r8d, r8b
shr edi, 0x18
movzx r9d, r9b
xor esi, dword [r12 + r15*4 + 0xc00]
mov r15d, ebp
punpcklqdq xmm0, xmm4
xor esi, dword [r12 + rax*4 + 0x400]
shr r15d, 0x10
pxor xmm0, xmm15
movd r13d, xmm0
movzx eax, r15b
xor esi, dword [r12 + rax*4 + 0x800]
mov eax, ebp
pshufd xmm1, xmm0, 0x55
movzx ebp, ah
mov dword [rsp + 0x78], esi
mov r15d, dword [r12 + r8*4]
pshufd xmm4, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
mov eax, dword [rsp]
movd r10d, xmm1
movd r11d, xmm4
xor r15d, dword [r12 + rdi*4 + 0xc00]
xor r15d, dword [r12 + rbp*4 + 0x400]
movzx edi, r14b
movzx ebp, dh
xor r15d, dword [r12 + r9*4 + 0x800]
mov dword [rsp + 0x50], r15d
mov esi, eax
mov r15d, ecx
mov r8d, dword [r12 + rdi*4]
shr esi, 0x18
shr r15d, 0x10
movzx edi, dl
movd ebx, xmm0
movzx r9d, r15b
mov r15d, eax
xor r8d, dword [r12 + rsi*4 + 0xc00]
mov esi, r14d
shr esi, 0x18
xor r8d, dword [r12 + rbp*4 + 0x400]
movzx ebp, ch
xor r8d, dword [r12 + r9*4 + 0x800]
movd xmm0, dword [rsp + 0x20]
movd xmm1, dword [rsp + 0x78]
mov dword [rsp], r8d
mov r8d, dword [r12 + rdi*4]
movzx edi, cl
xor r8d, dword [r12 + rsi*4 + 0xc00]
mov esi, edx
xor r8d, dword [r12 + rbp*4 + 0x400]
shr r15d, 0x10
movzx ebp, ah
movzx eax, al
movd xmm4, dword [rsp + 0x10]
shr esi, 0x18
movzx r9d, r15b
mov r15d, r14d
shr r15d, 0x10
xor r8d, dword [r12 + r9*4 + 0x800]
shr ecx, 0x18
movd xmm3, dword [rsp + 0x50]
movzx r9d, r15b
shr edx, 0x10
mov dword [rsp + 0x10], r8d
mov r8d, dword [r12 + rdi*4]
mov edi, dword [r12 + rax*4]
mov eax, r14d
mov r15d, r11d
movzx r14d, dl
punpckldq xmm1, xmm3
shr r15d, 0x10
punpckldq xmm4, xmm0
mov edx, ebx
xor r8d, dword [r12 + rsi*4 + 0xc00]
movzx esi, ah
mov eax, r10d
shr edx, 0x18
xor r8d, dword [r12 + rbp*4 + 0x400]
xor edi, dword [r12 + rcx*4 + 0xc00]
punpcklqdq xmm4, xmm1
mov ecx, edi
xor r8d, dword [r12 + r9*4 + 0x800]
xor ecx, dword [r12 + rsi*4 + 0x400]
movzx edi, ah
movzx r9d, r15b
xor ecx, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x20], r8d
movzx r8d, r13b
movzx esi, r10b
mov dword [rsp + 0x78], ecx
movd xmm0, dword [rsp + 0x20]
mov ecx, r13d
mov r15d, r10d
movd xmm1, dword [rsp + 0x78]
movd xmm3, dword [rsp]
shr ecx, 0x18
shr r10d, 0x10
mov ebp, dword [r12 + r8*4]
mov r8d, ebx
mov r14d, dword [r12 + rsi*4]
movzx esi, bh
shr r8d, 0x10
movzx ebx, bl
punpckldq xmm0, xmm1
shr r15d, 0x18
xor ebp, dword [r12 + rdx*4 + 0xc00]
mov edx, r11d
xor ebp, dword [r12 + rdi*4 + 0x400]
movzx eax, r8b
xor ebp, dword [r12 + r9*4 + 0x800]
movzx edi, r11b
shr r11d, 0x18
xor r14d, dword [r12 + rcx*4 + 0xc00]
mov dword [rsp], ebp
movzx ebp, dh
mov ecx, r13d
movd xmm1, dword [rsp + 0x10]
shr ecx, 0x10
mov edx, dword [r12 + rbx*4]
movzx r10d, r10b
mov r9d, dword [r12 + rdi*4]
xor r14d, dword [r12 + rbp*4 + 0x400]
punpckldq xmm3, xmm1
movd edi, xmm2
xor r14d, dword [r12 + rax*4 + 0x800]
mov eax, r13d
xor edx, dword [r12 + r11*4 + 0xc00]
punpcklqdq xmm3, xmm0
mov dword [rsp + 0x10], r14d
movzx ebp, ah
movzx r14d, cl
mov r11d, edx
movaps xmmword [rsp + 0x50], xmm3
xor r11d, dword [r12 + rbp*4 + 0x400]
xor r9d, dword [r12 + r15*4 + 0xc00]
movd dword [rsp + 0x7c], xmm13
mov r13d, r11d
xor r9d, dword [r12 + rsi*4 + 0x400]
xor r13d, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x78], r13d
movd r13d, xmm14
movd xmm0, dword [rsp + 0x78]
xor r9d, dword [r12 + r14*4 + 0x800]
movzx edx, r13b
mov dword [rsp + 0x20], r9d
movd xmm1, dword [rsp + 0x20]
movd xmm3, dword [rsp + 0x10]
punpckldq xmm1, xmm0
movd xmm0, dword [rsp]
punpckldq xmm0, xmm3
pshufd xmm3, xmm14, 0xaa
punpcklqdq xmm0, xmm1
movaps xmmword [rsp + 0x60], xmm0
pshufd xmm1, xmm14, 0x55
movdqa xmm0, xmmword [rsp + 0x40]
pshufd xmm14, xmm14, 0xff
movd r14d, xmm14
movd esi, xmm3
movd r11d, xmm1
mov r15d, r14d
pshufd xmm3, xmm0, 0xaa
pshufd xmm14, xmm0, 0xff
shr r15d, 0x18
movd ebp, xmm0
movd r9d, xmm3
movd r10d, xmm14
pshufd xmm1, xmm0, 0x55
pshufd xmm3, xmm13, 0x55
pshufd xmm0, xmm2, 0x55
pshufd xmm14, xmm13, 0xaa
movd dword [rsp], xmm0
movd dword [rsp + 0x10], xmm3
movd r8d, xmm1
pshufd xmm13, xmm13, 0xff
pshufd xmm1, xmm2, 0xaa
movd dword [rsp + 0x20], xmm14
mov eax, dword [r12 + rdx*4]
mov edx, r11d
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, esi
pshufd xmm2, xmm2, 0xff
movd ecx, xmm1
movzx edx, dh
shr r15d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
movd ebx, xmm2
movd dword [rsp + 0x78], xmm13
movzx edx, r15b
mov r15d, r13d
xor eax, dword [r12 + rdx*4 + 0x800]
shr r15d, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r11b
mov edx, esi
movd xmm3, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, r14d
movzx edx, dh
shr r15d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
movzx edx, r15b
mov r15d, r11d
shr r15d, 0x18
xor eax, dword [r12 + rdx*4 + 0x800]
mov edx, r14d
shr r11d, 0x10
mov dword [rsp + 0x80], eax
movzx eax, sil
movzx edx, dh
shr esi, 0x18
mov eax, dword [r12 + rax*4]
movzx r14d, r14b
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, r13d
shr r15d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
movd xmm2, dword [rsp + 0x80]
movzx edx, r15b
xor eax, dword [r12 + rdx*4 + 0x800]
mov edx, r13d
movzx r13d, r11b
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r14*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, dh
mov edx, r10d
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
shr edx, 0x18
mov r13d, r9d
mov dword [rsp + 0x88], eax
movzx eax, bpl
shr r13d, 0x10
punpckldq xmm3, xmm2
movd xmm1, dword [rsp + 0x88]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdx*4 + 0xc00]
mov edx, r8d
movd xmm0, dword [rsp + 0x84]
movzx edx, dh
xor eax, dword [r12 + rdx*4 + 0x400]
movzx edx, r13b
mov r13d, ebp
xor eax, dword [r12 + rdx*4 + 0x800]
shr r13d, 0x18
mov dword [rsp + 0x40], eax
movzx eax, r8b
mov edx, r9d
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r13*4 + 0xc00]
mov r13d, r10d
movzx edx, dh
shr r13d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
punpckldq xmm0, xmm1
movzx edx, r13b
xor eax, dword [r12 + rdx*4 + 0x800]
mov r13d, r8d
mov edx, r10d
movzx r10d, r10b
mov dword [rsp + 0x80], eax
shr r13d, 0x18
movzx eax, r9b
movzx edx, dh
mov eax, dword [r12 + rax*4]
punpcklqdq xmm3, xmm0
xor eax, dword [r12 + r13*4 + 0xc00]
mov r13d, ebp
xor eax, dword [r12 + rdx*4 + 0x400]
shr r13d, 0x10
pxor xmm3, xmm11
movd xmm2, dword [rsp + 0x80]
movzx edx, r13b
shr r8d, 0x10
movd r14d, xmm3
pshufd xmm13, xmm3, 0xaa
xor eax, dword [r12 + rdx*4 + 0x800]
mov edx, ebp
shr r9d, 0x18
movzx r8d, r8b
movzx ebp, dh
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r10*4]
mov r10d, ebx
xor eax, dword [r12 + r9*4 + 0xc00]
shr r10d, 0x18
mov edx, dword [rsp]
movd esi, xmm13
xor eax, dword [r12 + rbp*4 + 0x400]
pshufd xmm14, xmm3, 0x55
pshufd xmm0, xmm3, 0xff
xor eax, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, dil
movzx edx, dh
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
movd r15d, xmm14
movd r11d, xmm0
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, ecx
punpckldq xmm13, xmm2
xor eax, dword [r12 + rdx*4 + 0x400]
movd xmm1, dword [rsp + 0x88]
movd xmm3, dword [rsp + 0x84]
shr r10d, 0x10
movzx edx, r10b
mov r10d, edi
xor eax, dword [r12 + rdx*4 + 0x800]
shr r10d, 0x18
movzx edx, ch
punpckldq xmm3, xmm1
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
punpcklqdq xmm13, xmm3
pxor xmm13, xmm11
pshufd xmm14, xmm13, 0x55
movd ebp, xmm13
pshufd xmm0, xmm13, 0xaa
mov eax, dword [r12 + rax*4]
movd r13d, xmm14
pshufd xmm3, xmm13, 0xff
movd r9d, xmm0
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, ebx
xor eax, dword [r12 + rdx*4 + 0x400]
movd r8d, xmm3
shr r10d, 0x10
movzx edx, r10b
mov r10d, dword [rsp]
xor eax, dword [r12 + rdx*4 + 0x800]
shr r10d, 0x18
mov dword [rsp + 0x80], eax
movzx eax, cl
movzx edx, bh
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, edi
movzx ebx, bl
shr r10d, 0x10
xor eax, dword [r12 + rdx*4 + 0x400]
movd xmm14, dword [rsp + 0x80]
movzx edx, r10b
xor eax, dword [r12 + rdx*4 + 0x800]
mov r10d, dword [rsp]
mov dword [rsp + 0x84], eax
shr r10d, 0x10
mov eax, dword [r12 + rbx*4]
movzx edx, r10b
xor eax, dword [r12 + rcx*4 + 0xc00]
mov ecx, edi
movzx edi, ch
mov r10d, dword [rsp + 0x78]
movd xmm13, dword [rsp + 0x40]
shr r10d, 0x18
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x7c]
punpckldq xmm13, xmm14
movzx ebx, dil
xor eax, dword [r12 + rdx*4 + 0x800]
movd xmm2, dword [rsp + 0x84]
mov dword [rsp], eax
mov eax, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x10]
movzx ebx, bh
xor eax, dword [r12 + r10*4 + 0xc00]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x20]
movd xmm1, dword [rsp]
mov r10d, ebx
punpckldq xmm2, xmm1
shr r10d, 0x10
punpcklqdq xmm13, xmm2
movzx r10d, r10b
movzx ebx, bh
xor eax, dword [r12 + r10*4 + 0x800]
mov r10d, edi
pxor xmm13, xmm11
mov dword [rsp + 0x7c], eax
movzx eax, byte [rsp + 0x10]
shr r10d, 0x18
pshufd xmm0, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
movd dword [rsp], xmm0
pshufd xmm3, xmm13, 0xaa
pshufd xmm2, xmm13, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r10*4 + 0xc00]
movd ecx, xmm3
movd edx, xmm2
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x78]
mov r10d, ebx
shr r10d, 0x10
movzx ebx, bh
movzx r10d, r10b
xor eax, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, byte [rsp + 0x20]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x18
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x80]
punpckldq xmm13, xmm14
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, edi
shr r10d, 0x10
xor eax, dword [r12 + rbx*4 + 0x400]
movzx ebx, r10b
mov r10d, dword [rsp + 0x20]
shr r10d, 0x18
xor eax, dword [r12 + rbx*4 + 0x800]
mov ebx, r10d
mov r10d, dword [rsp + 0x10]
mov dword [rsp + 0x84], eax
movzx eax, byte [rsp + 0x78]
shr r10d, 0x10
movd xmm0, dword [rsp + 0x84]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, edi
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
mov dword [rsp + 0x10], eax
shr edi, 0x18
mov ebx, r15d
movzx eax, r14b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm1, dword [rsp + 0x10]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
punpckldq xmm0, xmm1
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r15b
punpcklqdq xmm13, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm13, xmm11
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm3, xmm13, 0x55
movd dword [rsp + 0x20], xmm13
shr ebx, 0x10
pshufd xmm0, xmm13, 0xff
movd dword [rsp + 0x10], xmm3
pshufd xmm2, xmm13, 0xaa
movzx edi, bl
mov ebx, r15d
movd dword [rsp + 0x78], xmm0
movd r10d, xmm2
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x80], eax
movzx eax, sil
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
shr esi, 0x18
movzx edi, bh
mov ebx, r14d
movzx r11d, r11b
movd xmm13, dword [rsp + 0x7c]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x80]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
mov edi, r8d
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
shr edi, 0x18
shr r15d, 0x10
mov ebx, r13d
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm3, dword [rsp + 0x84]
movzx r14d, r15b
punpckldq xmm13, xmm14
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movd xmm1, dword [rsp + 0x88]
movzx eax, bpl
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm1
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r13b
punpcklqdq xmm13, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
pxor xmm13, xmm12
movzx edi, bh
mov ebx, r8d
movd r14d, xmm13
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
shr r13d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movzx r13d, r13b
pshufd xmm2, xmm13, 0x55
mov dword [rsp + 0x80], eax
movzx eax, r9b
shr r9d, 0x18
pshufd xmm0, xmm13, 0xaa
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movzx edi, bh
pshufd xmm3, xmm13, 0xff
movd esi, xmm0
mov ebx, ebp
shr ebx, 0x10
movd r15d, xmm2
movd r11d, xmm3
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r8*4]
mov edi, edx
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x88], eax
mov ebx, dword [rsp]
movzx eax, byte [rsp + 0x40]
movd xmm1, dword [rsp + 0x88]
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm14
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
movd xmm2, dword [rsp + 0x84]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x800]
punpckldq xmm2, xmm1
mov dword [rsp + 0x7c], eax
mov edi, ebx
movzx eax, byte [rsp]
shr edi, 0x18
punpcklqdq xmm13, xmm2
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
pxor xmm13, xmm12
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
pshufd xmm0, xmm13, 0x55
movd ebp, xmm13
shr edi, 0x10
movzx edi, dil
movd r13d, xmm0
pshufd xmm3, xmm13, 0xaa
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
pshufd xmm2, xmm13, 0xff
movd r9d, xmm3
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movd r8d, xmm2
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x80], eax
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movd xmm1, dword [rsp]
movd xmm13, dword [rsp + 0x7c]
punpckldq xmm0, xmm1
mov ebx, dword [rsp + 0x78]
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm14
punpcklqdq xmm13, xmm0
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm13, xmm12
pshufd xmm3, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
pshufd xmm2, xmm13, 0xaa
pshufd xmm0, xmm13, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm3
movd ecx, xmm2
movd edx, xmm0
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
mov dword [rsp + 0x10], eax
shr edi, 0x18
mov ebx, r15d
movzx eax, r14b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
movd xmm13, dword [rsp + 0x7c]
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm3, dword [rsp + 0x80]
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r15b
movd xmm1, dword [rsp + 0x10]
punpckldq xmm3, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
shr ebx, 0x10
movzx edi, bl
mov ebx, r15d
punpckldq xmm13, xmm14
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
punpcklqdq xmm13, xmm3
mov dword [rsp + 0x80], eax
movzx eax, sil
shr esi, 0x18
pxor xmm13, xmm12
pshufd xmm2, xmm13, 0x55
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
pshufd xmm3, xmm13, 0xff
movd dword [rsp + 0x20], xmm13
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm0, xmm13, 0xaa
movd dword [rsp + 0x10], xmm2
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
movd dword [rsp + 0x78], xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, r8d
movd r10d, xmm0
movd xmm13, dword [rsp + 0x7c]
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, r13d
movd xmm2, dword [rsp + 0x84]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, bpl
movd xmm1, dword [rsp + 0x88]
movd xmm14, dword [rsp + 0x80]
punpckldq xmm2, xmm1
punpckldq xmm13, xmm14
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm13, xmm2
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
pxor xmm13, xmm5
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, r13b
movd r14d, xmm13
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
pshufd xmm0, xmm13, 0x55
movzx edi, bh
mov ebx, r8d
xor eax, dword [r12 + rdi*4 + 0x400]
movd r15d, xmm0
shr ebx, 0x10
movzx edi, bl
mov ebx, r13d
pshufd xmm3, xmm13, 0xaa
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
shr ebx, 0x18
movzx eax, r9b
movd esi, xmm3
mov eax, dword [r12 + rax*4]
pshufd xmm2, xmm13, 0xff
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, ebp
movzx r8d, r8b
movd xmm13, dword [rsp + 0x7c]
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r11d, xmm2
movd xmm14, dword [rsp + 0x80]
shr r13d, 0x10
movzx edi, bl
mov ebx, ebp
shr r9d, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
movzx r13d, r13b
mov ebx, dword [rsp]
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r8*4]
mov edi, edx
punpckldq xmm13, xmm14
xor eax, dword [r12 + r9*4 + 0xc00]
shr edi, 0x18
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm0, dword [rsp + 0x84]
mov dword [rsp + 0x88], eax
movd xmm1, dword [rsp + 0x88]
movzx eax, byte [rsp + 0x40]
punpckldq xmm0, xmm1
punpcklqdq xmm13, xmm0
pxor xmm13, xmm5
pshufd xmm3, xmm13, 0x55
movd ebp, xmm13
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
movd r13d, xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, byte [rsp]
pshufd xmm2, xmm13, 0xaa
pshufd xmm0, xmm13, 0xff
mov ebx, dword [rsp + 0x40]
movd r9d, xmm2
movd r8d, xmm0
movd xmm13, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
mov edi, ebx
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x80], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x20]
movd xmm1, dword [rsp]
movd xmm3, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm13, xmm5
pshufd xmm2, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
pshufd xmm0, xmm13, 0xaa
pshufd xmm3, xmm13, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm2
movd ecx, xmm0
movd edx, xmm3
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov ebx, dword [rsp + 0x20]
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
movd xmm13, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm14, dword [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
movd xmm2, dword [rsp + 0x80]
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x10
mov ebx, dword [rsp + 0x20]
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + rbx*4 + 0x800]
mov edi, r11d
mov ebx, r15d
mov dword [rsp + 0x10], eax
movd xmm1, dword [rsp + 0x10]
shr edi, 0x18
movzx eax, r14b
punpckldq xmm2, xmm1
punpcklqdq xmm13, xmm2
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
pxor xmm13, xmm5
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
pshufd xmm0, xmm13, 0x55
pshufd xmm2, xmm13, 0xff
movzx edi, bl
movd dword [rsp + 0x20], xmm13
movd dword [rsp + 0x10], xmm0
mov ebx, r14d
pshufd xmm3, xmm13, 0xaa
shr ebx, 0x18
movd dword [rsp + 0x78], xmm2
xor eax, dword [r12 + rdi*4 + 0x800]
movd r10d, xmm3
mov dword [rsp + 0x7c], eax
movzx eax, r15b
movd xmm13, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
shr ebx, 0x18
mov dword [rsp + 0x80], eax
movd xmm14, dword [rsp + 0x80]
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm13, xmm14
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, r8d
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, r13d
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm0, dword [rsp + 0x84]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, bpl
movd xmm1, dword [rsp + 0x88]
mov eax, dword [r12 + rax*4]
punpckldq xmm0, xmm1
punpcklqdq xmm13, xmm0
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r13b
pxor xmm13, xmm9
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movd r14d, xmm13
movzx edi, bh
mov ebx, r8d
pshufd xmm3, xmm13, 0x55
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
shr r13d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movzx r13d, r13b
pshufd xmm2, xmm13, 0xaa
mov dword [rsp + 0x80], eax
movzx eax, r9b
shr r9d, 0x18
movd esi, xmm2
mov eax, dword [r12 + rax*4]
pshufd xmm0, xmm13, 0xff
movd r15d, xmm3
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movd r11d, xmm0
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x80]
movzx edi, bh
mov ebx, ebp
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
mov edi, edx
mov ebx, dword [rsp]
punpckldq xmm13, xmm14
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm3, dword [rsp + 0x84]
mov dword [rsp + 0x88], eax
movd xmm1, dword [rsp + 0x88]
movzx eax, byte [rsp + 0x40]
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
pxor xmm13, xmm9
movd ebp, xmm13
pshufd xmm2, xmm13, 0x55
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x40]
pshufd xmm0, xmm13, 0xaa
pshufd xmm3, xmm13, 0xff
movd r13d, xmm2
movd r9d, xmm0
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov edi, ebx
movzx eax, byte [rsp]
movd r8d, xmm3
shr edi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
mov edi, dword [rsp]
mov eax, dword [r12 + rdx*4]
shr edi, 0x10
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
movd xmm13, dword [rsp + 0x7c]
xor eax, dword [r12 + rdx*4 + 0x800]
movd xmm14, dword [rsp + 0x40]
mov dword [rsp], eax
punpckldq xmm13, xmm14
movzx eax, byte [rsp + 0x20]
movd xmm1, dword [rsp]
movd xmm2, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm2, xmm1
punpcklqdq xmm13, xmm2
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm13, xmm9
pshufd xmm0, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
pshufd xmm3, xmm13, 0xaa
pshufd xmm2, xmm13, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm0
movd ecx, xmm3
movd edx, xmm2
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x78]
shr edi, 0x10
punpckldq xmm13, xmm14
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x10
mov ebx, dword [rsp + 0x20]
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
mov ebx, r15d
shr edi, 0x18
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm1, dword [rsp + 0x10]
punpckldq xmm0, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm13, xmm0
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
pxor xmm13, xmm9
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r15b
pshufd xmm3, xmm13, 0x55
pshufd xmm0, xmm13, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd dword [rsp + 0x20], xmm13
movzx edi, bh
mov ebx, r11d
movd dword [rsp + 0x10], xmm3
pshufd xmm2, xmm13, 0xaa
shr ebx, 0x10
movd dword [rsp + 0x78], xmm0
movd r10d, xmm2
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x80], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
mov edi, r8d
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, r13d
movd xmm13, dword [rsp + 0x7c]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, bpl
movd xmm14, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm14
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
movd xmm1, dword [rsp + 0x88]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm3, dword [rsp + 0x84]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
punpckldq xmm3, xmm1
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, r13b
punpcklqdq xmm13, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
pxor xmm13, xmm6
movzx edi, bh
mov ebx, r8d
pshufd xmm2, xmm13, 0x55
movd r14d, xmm13
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r15d, xmm2
pshufd xmm0, xmm13, 0xaa
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
pshufd xmm3, xmm13, 0xff
movd xmm13, dword [rsp + 0x7c]
shr ebx, 0x18
mov dword [rsp + 0x80], eax
movzx eax, r9b
movd esi, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movzx edi, bh
mov ebx, ebp
movd r11d, xmm3
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
shr r13d, 0x10
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr r9d, 0x18
movzx ebp, bh
movzx r13d, r13b
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r8*4]
mov edi, edx
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm2, dword [rsp + 0x84]
mov dword [rsp + 0x88], eax
movd xmm1, dword [rsp + 0x88]
movd xmm14, dword [rsp + 0x80]
punpckldq xmm2, xmm1
punpckldq xmm13, xmm14
movzx eax, byte [rsp + 0x40]
mov ebx, dword [rsp]
punpcklqdq xmm13, xmm2
pxor xmm13, xmm6
pshufd xmm0, xmm13, 0x55
movd ebp, xmm13
pshufd xmm3, xmm13, 0xaa
mov eax, dword [r12 + rax*4]
movd r13d, xmm0
pshufd xmm2, xmm13, 0xff
movd r9d, xmm3
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
movd r8d, xmm2
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov edi, ebx
shr edi, 0x18
movzx eax, byte [rsp]
movd xmm13, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x80], eax
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movd xmm1, dword [rsp]
punpckldq xmm0, xmm1
punpcklqdq xmm13, xmm0
pxor xmm13, xmm6
pshufd xmm3, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
pshufd xmm2, xmm13, 0xaa
pshufd xmm0, xmm13, 0xff
movd dword [rsp], xmm3
mov ebx, dword [rsp + 0x78]
movzx eax, byte [rsp + 0x20]
movd ecx, xmm2
movd edx, xmm0
shr ebx, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
movd xmm3, dword [rsp + 0x80]
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x10
mov ebx, dword [rsp + 0x20]
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
mov ebx, r15d
mov dword [rsp + 0x10], eax
shr edi, 0x18
movzx eax, r14b
movd xmm1, dword [rsp + 0x10]
movd xmm13, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
punpckldq xmm3, xmm1
movzx edi, bl
mov ebx, r14d
shr ebx, 0x18
punpckldq xmm13, xmm14
xor eax, dword [r12 + rdi*4 + 0x800]
punpcklqdq xmm13, xmm3
mov dword [rsp + 0x7c], eax
movzx eax, r15b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm13, xmm6
movzx edi, bh
mov ebx, r11d
pshufd xmm2, xmm13, 0x55
movd dword [rsp + 0x20], xmm13
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm3, xmm13, 0xff
movd dword [rsp + 0x10], xmm2
movzx edi, bl
mov ebx, r15d
pshufd xmm0, xmm13, 0xaa
movd dword [rsp + 0x78], xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movd r10d, xmm0
movd xmm13, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movzx eax, sil
shr esi, 0x18
movd xmm14, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
punpckldq xmm13, xmm14
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
mov edi, r8d
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, r13d
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm2, dword [rsp + 0x84]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, bpl
movd xmm1, dword [rsp + 0x88]
mov eax, dword [r12 + rax*4]
punpckldq xmm2, xmm1
punpcklqdq xmm13, xmm2
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, r13b
pxor xmm13, xmm7
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movd r14d, xmm13
movzx edi, bh
mov ebx, r8d
pshufd xmm0, xmm13, 0x55
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
shr r13d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movzx r13d, r13b
pshufd xmm3, xmm13, 0xaa
mov dword [rsp + 0x80], eax
movzx eax, r9b
shr r9d, 0x18
movd esi, xmm3
mov eax, dword [r12 + rax*4]
pshufd xmm2, xmm13, 0xff
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, ebp
movd r15d, xmm0
movzx r8d, r8b
shr ebx, 0x10
movd r11d, xmm2
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x80]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
mov edi, edx
mov ebx, dword [rsp]
punpckldq xmm13, xmm14
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm0, dword [rsp + 0x84]
mov dword [rsp + 0x88], eax
movd xmm1, dword [rsp + 0x88]
movzx eax, byte [rsp + 0x40]
punpckldq xmm0, xmm1
punpcklqdq xmm13, xmm0
pxor xmm13, xmm7
pshufd xmm3, xmm13, 0x55
movd ebp, xmm13
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x40]
movd r13d, xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm2, xmm13, 0xaa
pshufd xmm0, xmm13, 0xff
mov dword [rsp + 0x7c], eax
mov edi, ebx
movzx eax, byte [rsp]
movd r9d, xmm2
movd r8d, xmm0
shr edi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
movd xmm13, dword [rsp + 0x7c]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x80], eax
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x20]
movd xmm1, dword [rsp]
movd xmm3, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm13, xmm7
pshufd xmm2, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
pshufd xmm0, xmm13, 0xaa
pshufd xmm3, xmm13, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm2
movd ecx, xmm0
movd edx, xmm3
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd xmm13, dword [rsp + 0x7c]
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm14, dword [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
movd xmm2, dword [rsp + 0x80]
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x10
mov ebx, dword [rsp + 0x20]
movzx edi, bh
movzx ebx, r10b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
mov ebx, r15d
shr edi, 0x18
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm1, dword [rsp + 0x10]
punpckldq xmm2, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm13, xmm2
movzx edi, bl
pxor xmm13, xmm7
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
shr ebx, 0x18
pshufd xmm0, xmm13, 0x55
pshufd xmm2, xmm13, 0xff
mov dword [rsp + 0x7c], eax
movzx eax, r15b
movd dword [rsp + 0x10], xmm0
mov eax, dword [r12 + rax*4]
pshufd xmm3, xmm13, 0xaa
movd r10d, xmm3
movd dword [rsp + 0x20], xmm13
movd dword [rsp + 0x78], xmm2
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd xmm13, dword [rsp + 0x7c]
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
shr ebx, 0x18
movzx eax, sil
shr esi, 0x18
movd xmm14, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm14
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx r11d, r11b
movzx edi, bh
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
movzx r14d, r15b
mov edi, r8d
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, r13d
movd xmm0, dword [rsp + 0x84]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, bpl
movd xmm1, dword [rsp + 0x88]
mov eax, dword [r12 + rax*4]
punpckldq xmm0, xmm1
punpcklqdq xmm13, xmm0
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r13b
pxor xmm13, xmm8
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movd r14d, xmm13
movzx edi, bh
mov ebx, r8d
pshufd xmm3, xmm13, 0x55
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x80], eax
movzx eax, r9b
pshufd xmm2, xmm13, 0xaa
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx r8d, r8b
movzx edi, bh
pshufd xmm0, xmm13, 0xff
movd esi, xmm2
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r15d, xmm3
movd r11d, xmm0
shr r13d, 0x10
movzx edi, bl
mov ebx, ebp
shr r9d, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebp, bh
movzx r13d, r13b
mov edi, edx
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
mov ebx, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
movd xmm13, dword [rsp + 0x7c]
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm14, dword [rsp + 0x80]
mov dword [rsp + 0x88], eax
punpckldq xmm13, xmm14
movd xmm1, dword [rsp + 0x88]
movzx eax, byte [rsp + 0x40]
movd xmm3, dword [rsp + 0x84]
mov eax, dword [r12 + rax*4]
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x40]
pxor xmm13, xmm8
xor eax, dword [r12 + rdi*4 + 0x800]
movd ebp, xmm13
pshufd xmm2, xmm13, 0x55
mov dword [rsp + 0x7c], eax
mov edi, ebx
movzx eax, byte [rsp]
movd r13d, xmm2
pshufd xmm0, xmm13, 0xaa
shr edi, 0x18
pshufd xmm3, xmm13, 0xff
movd r9d, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
movd r8d, xmm3
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx edx, dl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
mov eax, dword [r12 + rdx*4]
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
xor eax, dword [r12 + rcx*4 + 0x400]
mov edi, dword [rsp]
shr edi, 0x10
movzx edx, dil
xor eax, dword [r12 + rdx*4 + 0x800]
mov ebx, dword [rsp + 0x78]
mov dword [rsp], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x20]
movd xmm13, dword [rsp + 0x7c]
movd xmm1, dword [rsp]
movd xmm14, dword [rsp + 0x40]
punpckldq xmm13, xmm14
movd xmm2, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm2, xmm1
punpcklqdq xmm13, xmm2
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm13, xmm8
pshufd xmm0, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
pshufd xmm3, xmm13, 0xaa
pshufd xmm2, xmm13, 0xff
movzx edi, bh
mov ebx, r10d
movd dword [rsp], xmm0
movd ecx, xmm3
movd edx, xmm2
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
mov ebx, dword [rsp + 0x20]
shr r10d, 0x10
movzx edi, bh
movzx ebx, r10b
movd xmm13, dword [rsp + 0x7c]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
xor eax, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r15d
movd xmm0, dword [rsp + 0x80]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm1, dword [rsp + 0x10]
punpckldq xmm0, xmm1
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x78]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
punpckldq xmm13, xmm14
shr ebx, 0x18
mov dword [rsp + 0x7c], eax
movzx eax, r15b
punpcklqdq xmm13, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
pxor xmm13, xmm8
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm3, xmm13, 0x55
movd dword [rsp + 0x20], xmm13
shr ebx, 0x10
pshufd xmm0, xmm13, 0xff
movd dword [rsp + 0x10], xmm3
pshufd xmm2, xmm13, 0xaa
movzx edi, bl
mov ebx, r15d
movd dword [rsp + 0x78], xmm0
movd r10d, xmm2
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x80], eax
movzx eax, sil
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
shr esi, 0x18
movzx edi, bh
mov ebx, r14d
movzx r11d, r11b
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x84], eax
mov eax, dword [r12 + r11*4]
mov edi, r8d
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, r13d
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
shr edi, 0x18
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x88], eax
movzx eax, bpl
movd xmm13, dword [rsp + 0x7c]
movd xmm14, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm14
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r9d
movd xmm1, dword [rsp + 0x88]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm3, dword [rsp + 0x84]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
punpckldq xmm3, xmm1
mov dword [rsp + 0x7c], eax
shr ebx, 0x18
movzx eax, r13b
punpcklqdq xmm13, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
pxor xmm13, xmm10
movzx edi, bh
mov ebx, r8d
pshufd xmm2, xmm13, 0x55
movd r14d, xmm13
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movd r15d, xmm2
pshufd xmm0, xmm13, 0xaa
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
shr r13d, 0x10
movd esi, xmm0
mov dword [rsp + 0x80], eax
shr ebx, 0x18
movzx eax, r9b
movzx r13d, r13b
mov eax, dword [r12 + rax*4]
shr r9d, 0x18
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, ebp
movzx r8d, r8b
movd xmm14, dword [rsp + 0x80]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
pshufd xmm3, xmm13, 0xff
movd xmm13, dword [rsp + 0x7c]
movzx edi, bl
mov ebx, ebp
movd r11d, xmm3
movzx ebp, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
punpckldq xmm13, xmm14
mov dword [rsp + 0x84], eax
movd xmm2, dword [rsp + 0x84]
mov eax, dword [r12 + r8*4]
shr edi, 0x18
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbp*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x88], eax
movd xmm1, dword [rsp + 0x88]
movzx eax, byte [rsp + 0x40]
punpckldq xmm2, xmm1
punpcklqdq xmm13, xmm2
pxor xmm13, xmm10
pshufd xmm0, xmm13, 0x55
movd ebp, xmm13
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
mov ebx, dword [rsp]
movd r13d, xmm0
pshufd xmm3, xmm13, 0xaa
pshufd xmm2, xmm13, 0xff
movd r9d, xmm3
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd r8d, xmm2
movzx edi, bl
mov ebx, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov edi, ebx
movzx eax, byte [rsp]
shr edi, 0x18
movd xmm13, dword [rsp + 0x7c]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, cl
shr ecx, 0x18
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
shr edi, 0x10
mov dword [rsp + 0x80], eax
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rdx*4]
movzx edx, dil
xor eax, dword [r12 + rcx*4 + 0xc00]
movzx ecx, bh
movzx ebx, byte [rsp + 0x20]
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + rdx*4 + 0x800]
mov dword [rsp], eax
movd xmm1, dword [rsp]
mov edi, dword [rsp + 0x78]
punpckldq xmm0, xmm1
shr edi, 0x18
punpcklqdq xmm13, xmm0
pxor xmm13, xmm10
pshufd xmm3, xmm13, 0x55
movd dword [rsp + 0x40], xmm13
movd dword [rsp], xmm3
mov edx, dword [r12 + rbx*4]
mov ebx, dword [rsp + 0x10]
pshufd xmm2, xmm13, 0xaa
xor edx, dword [r12 + rdi*4 + 0xc00]
pshufd xmm0, xmm13, 0xff
movd ecx, xmm2
movzx edi, bh
mov ebx, r10d
xor edx, dword [r12 + rdi*4 + 0x400]
movd eax, xmm0
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor edx, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x7c], edx
movzx edx, byte [rsp + 0x10]
movd xmm13, dword [rsp + 0x7c]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp + 0x10]
mov dword [rsp + 0x78], edx
shr edi, 0x18
movzx edx, r10b
shr r10d, 0x18
movd xmm14, dword [rsp + 0x78]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x20]
punpckldq xmm13, xmm14
shr edi, 0x10
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x80], edx
movd xmm3, dword [rsp + 0x80]
mov edx, dword [r12 + rbx*4]
xor edx, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x10
mov ebx, dword [rsp + 0x20]
movzx edi, bh
movzx ebx, r10b
mov r10d, esi
xor edx, dword [r12 + rdi*4 + 0x400]
xor edx, dword [r12 + rbx*4 + 0x800]
mov edi, r11d
mov ebx, r15d
mov dword [rsp + 0x10], edx
movd xmm1, dword [rsp + 0x10]
shr edi, 0x18
movzx edx, r14b
shr r10d, 0x10
punpckldq xmm3, xmm1
punpcklqdq xmm13, xmm3
pxor xmm13, xmm10
movd dword [rsp + 0x78], xmm13
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, r10b
mov r10d, r11d
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, r14d
shr r10d, 0x10
xor edx, dword [r12 + rbx*4 + 0x800]
mov ebx, esi
mov dword [rsp + 0x20], edx
shr edi, 0x18
movzx edx, r15b
pshufd xmm2, xmm13, 0x55
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, r10b
mov r10d, r14d
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, r15d
xor edx, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r11d
shr r10d, 0x10
movzx r11d, r11b
shr r15d, 0x10
mov dword [rsp + 0x84], edx
movzx edx, sil
shr esi, 0x18
mov edx, dword [r12 + rdx*4]
pshufd xmm0, xmm13, 0xaa
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, r10b
pshufd xmm3, xmm13, 0xff
xor edx, dword [r12 + rdi*4 + 0x400]
movd xmm13, dword [rsp + 0x20]
xor edx, dword [r12 + rbx*4 + 0x800]
mov ebx, r14d
movzx r14d, r15b
movd dword [rsp + 0x10], xmm2
mov dword [rsp + 0x88], edx
mov edx, dword [r12 + r11*4]
mov edi, r8d
movzx r15d, bpl
xor edx, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
shr edi, 0x18
mov ebx, r13d
xor edx, dword [r12 + rsi*4 + 0x400]
xor edx, dword [r12 + r14*4 + 0x800]
mov r14d, r9d
movd dword [rsp + 0x7c], xmm0
mov dword [rsp + 0x8c], edx
shr r14d, 0x10
mov edx, dword [r12 + r15*4]
movzx r15d, r14b
movd xmm1, dword [rsp + 0x8c]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movd dword [rsp + 0x80], xmm3
movd xmm14, dword [rsp + 0x84]
xor edx, dword [r12 + rdi*4 + 0x400]
mov ebx, ebp
shr ebx, 0x18
movd xmm2, dword [rsp + 0x88]
punpckldq xmm13, xmm14
xor edx, dword [r12 + r15*4 + 0x800]
mov r15d, r8d
shr r15d, 0x10
punpckldq xmm2, xmm1
punpcklqdq xmm13, xmm2
pxor xmm13, xmm15
pshufd xmm0, xmm13, 0x55
movd esi, xmm13
pshufd xmm2, xmm13, 0xff
movd r10d, xmm0
pshufd xmm3, xmm13, 0xaa
movd dword [rsp + 0x20], xmm2
mov dword [rsp + 0x84], edx
movzx edx, r13b
movd r11d, xmm3
movd xmm13, dword [rsp + 0x84]
mov r14d, dword [r12 + rdx*4]
mov edx, r9d
xor r14d, dword [r12 + rbx*4 + 0xc00]
movzx ebx, r15b
movzx edi, dh
mov r15d, ebp
xor r14d, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
xor r14d, dword [r12 + rbx*4 + 0x800]
shr edi, 0x18
mov ebx, r8d
movzx r8d, r8b
mov dword [rsp + 0x88], r14d
movzx r14d, r9b
movd xmm14, dword [rsp + 0x88]
punpckldq xmm13, xmm14
mov edx, dword [r12 + r14*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, ebp
xor edx, dword [r12 + rdi*4 + 0x400]
shr r15d, 0x10
movzx ebp, bh
mov ebx, eax
shr r13d, 0x10
movzx r14d, r15b
shr r9d, 0x18
movzx r13d, r13b
xor edx, dword [r12 + r14*4 + 0x800]
mov r14d, dword [rsp + 0x40]
shr ebx, 0x18
mov dword [rsp + 0x8c], edx
movzx r15d, r14b
mov edx, dword [r12 + r8*4]
xor edx, dword [r12 + r9*4 + 0xc00]
xor edx, dword [r12 + rbp*4 + 0x400]
xor edx, dword [r12 + r13*4 + 0x800]
mov r13d, ecx
shr r13d, 0x10
movd xmm0, dword [rsp + 0x8c]
mov dword [rsp + 0xc0], edx
movd xmm1, dword [rsp + 0xc0]
mov edx, dword [r12 + r15*4]
movzx r15d, r13b
mov r13d, eax
xor edx, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp]
shr r13d, 0x10
movzx ebx, bh
xor edx, dword [r12 + rbx*4 + 0x400]
mov ebx, r14d
punpckldq xmm0, xmm1
xor edx, dword [r12 + r15*4 + 0x800]
mov r15d, dword [rsp]
shr ebx, 0x18
mov dword [rsp + 0x40], edx
punpcklqdq xmm13, xmm0
pxor xmm13, xmm15
movd ebp, xmm13
pshufd xmm3, xmm13, 0x55
movzx edx, r15b
mov edx, dword [r12 + rdx*4]
pshufd xmm2, xmm13, 0xaa
pshufd xmm0, xmm13, 0xff
xor edx, dword [r12 + rbx*4 + 0xc00]
movzx ebx, ch
movd r9d, xmm3
movd edi, xmm2
xor edx, dword [r12 + rbx*4 + 0x400]
movzx ebx, r13b
mov r13d, r15d
shr r15d, 0x10
movd r8d, xmm0
xor edx, dword [r12 + rbx*4 + 0x800]
shr r13d, 0x18
movzx ebx, ah
movzx eax, al
mov dword [rsp], edx
movzx edx, cl
shr ecx, 0x18
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + r13*4 + 0xc00]
mov r13d, r14d
xor edx, dword [r12 + rbx*4 + 0x400]
shr r13d, 0x10
movzx ebx, r13b
mov r13d, dword [r12 + rax*4]
movzx eax, sil
xor r13d, dword [r12 + rcx*4 + 0xc00]
mov ecx, r14d
movzx r14d, r15b
xor edx, dword [r12 + rbx*4 + 0x800]
mov r15d, dword [rsp + 0x20]
mov dword [rsp + 0x84], edx
movzx edx, ch
mov ebx, dword [r12 + r14*4 + 0x800]
shr r15d, 0x18
xor r13d, dword [r12 + rdx*4 + 0x400]
movd xmm13, dword [rsp + 0x40]
xor ebx, r13d
mov dword [rsp + 0x88], ebx
mov r13d, dword [r12 + rax*4]
mov ebx, r10d
xor r13d, dword [r12 + r15*4 + 0xc00]
mov r15d, r11d
shr r15d, 0x10
movzx eax, bh
movd xmm14, dword [rsp]
movd xmm3, dword [rsp + 0x84]
movzx ebx, r15b
xor r13d, dword [r12 + rax*4 + 0x400]
mov eax, esi
movd xmm1, dword [rsp + 0x88]
xor r13d, dword [r12 + rbx*4 + 0x800]
shr eax, 0x18
mov ebx, r11d
punpckldq xmm13, xmm14
mov dword [rsp + 0x40], r13d
movzx r13d, r10b
punpckldq xmm3, xmm1
mov r13d, dword [r12 + r13*4]
xor r13d, dword [r12 + rax*4 + 0xc00]
movzx eax, bh
mov ebx, dword [rsp + 0x20]
punpcklqdq xmm13, xmm3
xor r13d, dword [r12 + rax*4 + 0x400]
pxor xmm13, xmm15
pshufd xmm2, xmm13, 0x55
mov r15d, ebx
shr r15d, 0x10
pshufd xmm3, xmm13, 0xff
movd edx, xmm2
movzx eax, r15b
xor r13d, dword [r12 + rax*4 + 0x800]
mov r15d, r10d
movzx eax, bh
shr r10d, 0x10
shr r15d, 0x18
mov dword [rsp + 0x20], r13d
movzx r13d, r11b
movzx ebx, bl
mov r13d, dword [r12 + r13*4]
shr r11d, 0x18
movzx r10d, r10b
xor r13d, dword [r12 + r15*4 + 0xc00]
mov r15d, esi
movd dword [rsp], xmm3
movd r14d, xmm13
xor r13d, dword [r12 + rax*4 + 0x400]
shr r15d, 0x10
pshufd xmm0, xmm13, 0xaa
movzx eax, r15b
xor r13d, dword [r12 + rax*4 + 0x800]
mov eax, esi
mov dword [rsp + 0x84], r13d
mov r13d, dword [r12 + rbx*4]
movd ecx, xmm0
movzx esi, ah
mov eax, dword [rsp + 0x78]
mov ebx, dword [rsp + 0x10]
movzx r15d, al
movzx ebx, bh
movd xmm2, dword [rsp + 0x20]
xor r13d, dword [r12 + r11*4 + 0xc00]
xor r13d, dword [r12 + rsi*4 + 0x400]
xor r13d, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x88], r13d
mov esi, dword [rsp + 0x80]
mov r13d, dword [rsp + 0x7c]
mov r11d, esi
shr r11d, 0x18
mov r10d, dword [r12 + r15*4]
xor r10d, dword [r12 + r11*4 + 0xc00]
mov r15d, r13d
shr r15d, 0x10
movzx r11d, r15b
mov r15d, dword [rsp + 0x10]
xor r10d, dword [r12 + rbx*4 + 0x400]
mov ebx, eax
xor r10d, dword [r12 + r11*4 + 0x800]
shr ebx, 0x18
mov r11d, esi
movd xmm13, dword [rsp + 0x88]
mov dword [rsp + 0x20], r10d
movzx r10d, r15b
shr r11d, 0x10
movd xmm1, dword [rsp + 0x84]
mov r10d, dword [r12 + r10*4]
xor r10d, dword [r12 + rbx*4 + 0xc00]
mov ebx, r13d
movzx ebx, bh
xor r10d, dword [r12 + rbx*4 + 0x400]
movzx ebx, r11b
mov r11d, r15d
movd xmm14, dword [rsp + 0x40]
xor r10d, dword [r12 + rbx*4 + 0x800]
shr r11d, 0x18
mov ebx, esi
movzx esi, sil
mov dword [rsp + 0x10], r10d
movzx r10d, r13b
movzx ebx, bh
shr r13d, 0x18
mov r10d, dword [r12 + r10*4]
punpckldq xmm1, xmm13
punpckldq xmm14, xmm2
xor r10d, dword [r12 + r11*4 + 0xc00]
mov r11d, eax
xor r10d, dword [r12 + rbx*4 + 0x400]
punpcklqdq xmm14, xmm1
movzx eax, ah
shr r11d, 0x10
movzx ebx, r11b
mov r11d, dword [r12 + rsi*4]
movzx esi, bpl
xor r10d, dword [r12 + rbx*4 + 0x800]
xor r11d, dword [r12 + r13*4 + 0xc00]
shr r15d, 0x10
mov dword [rsp + 0x78], r10d
xor r11d, dword [r12 + rax*4 + 0x400]
mov eax, r8d
movzx r10d, r15b
mov r15d, edi
shr eax, 0x18
xor r11d, dword [r12 + r10*4 + 0x800]
mov esi, dword [r12 + rsi*4]
shr r15d, 0x10
xor esi, dword [r12 + rax*4 + 0xc00]
mov eax, r9d
movd xmm0, dword [rsp + 0x20]
mov dword [rsp + 0x40], r11d
movzx eax, ah
movd xmm13, dword [rsp + 0x10]
movd xmm1, dword [rsp + 0x40]
punpckldq xmm0, xmm13
xor esi, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
mov r15d, ebp
movd xmm3, dword [rsp + 0x78]
xor esi, dword [r12 + rax*4 + 0x800]
shr r15d, 0x18
mov eax, edi
mov dword [rsp + 0x10], esi
movzx esi, r9b
movzx eax, ah
punpckldq xmm3, xmm1
mov esi, dword [r12 + rsi*4]
xor esi, dword [r12 + r15*4 + 0xc00]
mov r15d, r8d
punpcklqdq xmm0, xmm3
xor esi, dword [r12 + rax*4 + 0x400]
shr r15d, 0x10
pxor xmm0, xmm15
pshufd xmm2, xmm0, 0x55
movzx eax, r15b
xor esi, dword [r12 + rax*4 + 0x800]
mov r15d, r9d
mov eax, r8d
shr r9d, 0x10
mov dword [rsp + 0x20], esi
shr r15d, 0x18
movzx esi, dil
movzx eax, ah
mov esi, dword [r12 + rsi*4]
shr edi, 0x18
movzx r8d, r8b
movzx r9d, r9b
pshufd xmm1, xmm0, 0xff
movd r13d, xmm0
movd r10d, xmm2
xor esi, dword [r12 + r15*4 + 0xc00]
mov r15d, ebp
movd ebx, xmm1
pshufd xmm3, xmm0, 0xaa
xor esi, dword [r12 + rax*4 + 0x400]
shr r15d, 0x10
movd xmm2, dword [rsp + 0x20]
movd xmm1, dword [rsp + 0x10]
movd r11d, xmm3
movzx eax, r15b
mov r15d, dword [r12 + r8*4]
xor r15d, dword [r12 + rdi*4 + 0xc00]
movzx edi, r14b
xor esi, dword [r12 + rax*4 + 0x800]
mov eax, ebp
mov r8d, dword [r12 + rdi*4]
movzx edi, dl
movzx ebp, ah
mov eax, dword [rsp]
mov dword [rsp + 0x78], esi
punpckldq xmm1, xmm2
xor r15d, dword [r12 + rbp*4 + 0x400]
xor r15d, dword [r12 + r9*4 + 0x800]
movzx ebp, dh
mov esi, eax
mov dword [rsp + 0x40], r15d
mov r15d, ecx
shr esi, 0x18
movd xmm13, dword [rsp + 0x40]
shr r15d, 0x10
movd xmm0, dword [rsp + 0x78]
xor r8d, dword [r12 + rsi*4 + 0xc00]
mov esi, r14d
movzx r9d, r15b
xor r8d, dword [r12 + rbp*4 + 0x400]
shr esi, 0x18
movzx ebp, ch
xor r8d, dword [r12 + r9*4 + 0x800]
mov r15d, eax
punpckldq xmm0, xmm13
mov dword [rsp], r8d
mov r8d, dword [r12 + rdi*4]
movzx edi, cl
movd xmm2, dword [rsp]
punpcklqdq xmm1, xmm0
xor r8d, dword [r12 + rsi*4 + 0xc00]
xor r8d, dword [r12 + rbp*4 + 0x400]
shr r15d, 0x10
mov esi, edx
shr esi, 0x18
movzx r9d, r15b
mov r15d, r14d
movzx ebp, ah
shr r15d, 0x10
xor r8d, dword [r12 + r9*4 + 0x800]
movzx eax, al
shr ecx, 0x18
movzx r9d, r15b
mov dword [rsp + 0x10], r8d
shr edx, 0x10
mov r8d, dword [r12 + rdi*4]
mov r15d, r11d
xor r8d, dword [r12 + rsi*4 + 0xc00]
mov edi, dword [r12 + rax*4]
mov eax, r14d
xor r8d, dword [r12 + rbp*4 + 0x400]
movzx esi, ah
movzx r14d, dl
mov eax, r10d
xor r8d, dword [r12 + r9*4 + 0x800]
xor edi, dword [r12 + rcx*4 + 0xc00]
shr r15d, 0x10
mov edx, ebx
mov dword [rsp + 0x20], r8d
movzx r8d, r13b
shr edx, 0x18
movzx r9d, r15b
mov ebp, dword [r12 + r8*4]
mov ecx, edi
mov r8d, ebx
movzx edi, ah
xor ecx, dword [r12 + rsi*4 + 0x400]
shr r8d, 0x10
movzx esi, r10b
xor ecx, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x78], ecx
mov ecx, r13d
movzx eax, r8b
mov r14d, dword [r12 + rsi*4]
shr ecx, 0x18
movzx esi, bh
movzx ebx, bl
movd xmm0, dword [rsp + 0x78]
movd xmm13, dword [rsp + 0x10]
movd xmm3, dword [rsp + 0x20]
mov r15d, r10d
shr r10d, 0x10
xor ebp, dword [r12 + rdx*4 + 0xc00]
mov edx, r11d
shr r15d, 0x18
movzx r10d, r10b
xor ebp, dword [r12 + rdi*4 + 0x400]
movzx edi, r11b
shr r11d, 0x18
xor ebp, dword [r12 + r9*4 + 0x800]
mov dword [rsp], ebp
movzx ebp, dh
punpckldq xmm3, xmm0
xor r14d, dword [r12 + rcx*4 + 0xc00]
mov ecx, r13d
xor r14d, dword [r12 + rbp*4 + 0x400]
punpckldq xmm2, xmm13
xor r14d, dword [r12 + rax*4 + 0x800]
mov eax, r13d
mov dword [rsp + 0x10], r14d
shr ecx, 0x10
mov edx, dword [r12 + rbx*4]
movzx ebp, ah
movzx r14d, cl
mov r9d, dword [r12 + rdi*4]
punpcklqdq xmm2, xmm3
xor edx, dword [r12 + r11*4 + 0xc00]
xor r9d, dword [r12 + r15*4 + 0xc00]
mov r11d, edx
xor r11d, dword [r12 + rbp*4 + 0x400]
xor r9d, dword [r12 + rsi*4 + 0x400]
mov r13d, r11d
xor r9d, dword [r12 + r14*4 + 0x800]
xor r13d, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x78], r13d
movd xmm3, dword [rsp + 0x20]
movd xmm0, dword [rsp + 0x78]
movd xmm13, dword [rsp]
punpckldq xmm3, xmm0
sub qword [rsp + 0x90], 1
movd xmm0, dword [rsp + 0x10]
punpckldq xmm13, xmm0
punpcklqdq xmm13, xmm3
movdqa xmm3, xmmword [rsp + 0x30]
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm3, xmm4
movaps xmmword [rsp], xmm3
movdqa xmm3, xmmword [rsp + 0x50]
pxor xmm4, xmm3
pxor xmm3, xmm0
pxor xmm0, xmm14
pxor xmm14, xmm1
pxor xmm1, xmm2
pxor xmm2, xmm13
movaps xmmword [rsp + 0x40], xmm1
pxor xmm13, xmmword [rsp + 0x30]
jne 0x65a840
mov r8, qword [rsp + 0x200]
movdqa xmm15, xmmword [rsp]
movaps xmmword [rsp + 0x10], xmm0
movaps xmmword [rsp + 0x90], xmm2
movdqa xmm2, xmm1
mov edi, dword [r8 + 4]
test edi, edi
je 0x667097
mov r15, qword [r8 + 0x10]
lea rsi, str.cw
shr r15, 4
je 0x667097
movdqa xmm1, xmmword [rsp + 0xa0]
sub r15, 1
pshufd xmm0, xmm1, 0x55
pshufd xmm1, xmmword [rsp + 0xa0], 0xff
movd r9d, xmm0
movd ecx, xmm0
movd r11d, xmm0
shr r15, 3
shr r9d, 0x18
movzx ebx, cl
shr r11d, 0x10
movd r10d, xmm1
movzx r14d, byte [rsi + r9]
movzx edx, byte [rsi + rbx]
movzx eax, r11b
movzx edi, ch
movzx ebp, byte [rsi + rax]
shr r10d, 0x18
movd ecx, xmm1
shl r15, 7
shl r14d, 0x18
movzx r9d, byte [rsi + r10]
movzx r8d, cl
movzx r13d, byte [rsi + rdi]
or r14d, edx
movd edx, xmm1
shl ebp, 0x10
movzx ebx, byte [rsi + r8]
shr edx, 0x10
or r14d, ebp
movzx ebp, ch
shl r9d, 0x18
movzx r11d, dl
or r9d, ebx
shl r13d, 8
movdqa xmm0, xmm10
movzx eax, byte [rsi + r11]
movzx esi, byte [rsi + rbp]
or r14d, r13d
pslldq xmm0, 4
movaps xmmword [rsp + 0x20], xmm0
pslldq xmm0, 4
mov edi, r14d
mov rcx, qword [rsp + 0x1f8]
shl eax, 0x10
shl esi, 8
movaps xmmword [rsp], xmm0
or r9d, eax
or r9d, esi
ror edi, 8
mov qword [rsp + 0x50], rcx
mov r13d, r9d
ror r13d, 8
mov dword [rsp + 0x40], r9d
movd xmm0, dword [rsp + 0x40]
mov dword [rsp + 0x30], r13d
movd xmm1, dword [rsp + 0x30]
punpckldq xmm0, xmm1
movq qword [rsp + 0x30], xmm0
mov dword [rsp + 0x40], r14d
movd xmm1, dword [rsp + 0x40]
mov dword [rsp + 0x78], edi
movd xmm0, dword [rsp + 0x78]
punpckldq xmm1, xmm0
movhps xmm1, qword [rsp + 0x30]
movdqa xmm0, xmmword [rsp]
pshufd xmm1, xmm1, 0xaa
mov r14, qword [rsp + 0x1f8]
mov qword [rsp + 0xc8], r15
pslldq xmm0, 4
lea r15, [r14 + r15 + 0x80]
pxor xmm1, xmm0
movdqa xmm0, xmmword [rsp]
pxor xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0xc0], r15
pxor xmm1, xmm0
movdqa xmm0, xmm1
pxor xmm0, xmm10
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xd0], xmm13
movdqa xmm1, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xe0], xmm2
movdqa xmm2, xmm0
movdqa xmm0, xmmword [rsp + 0x10]
movaps xmmword [rsp + 0xf0], xmm14
nop dword [rax + rax]
movd r14d, xmm15
pshufd xmm14, xmm15, 0x55
pshufd xmm13, xmm15, 0xaa
movd dword [rsp + 0x60], xmm0
pshufd xmm15, xmm15, 0xff
movd esi, xmm14
movd edi, xmm13
movzx eax, r14b
movd edx, xmm15
mov ecx, dword [r12 + rax*4]
mov eax, esi
movd r13d, xmm4
mov r15d, edx
pshufd xmm14, xmm4, 0x55
movd ebp, xmm3
movzx eax, ah
shr r15d, 0x18
pshufd xmm13, xmm4, 0xaa
pshufd xmm4, xmm4, 0xff
xor ecx, dword [r12 + r15*4 + 0xc00]
mov r15d, edi
movd dword [rsp], xmm4
movd r10d, xmm14
xor ecx, dword [r12 + rax*4 + 0x400]
shr r15d, 0x10
movd r11d, xmm13
pshufd xmm4, xmm0, 0xaa
movzx eax, r15b
mov r15d, r14d
xor ecx, dword [r12 + rax*4 + 0x800]
mov eax, edi
movd dword [rsp + 0x20], xmm4
mov dword [rsp + 0x78], ecx
shr r15d, 0x18
movzx ecx, sil
movzx eax, ah
mov ecx, dword [r12 + rcx*4]
xor ecx, dword [r12 + r15*4 + 0xc00]
mov r15d, edx
pshufd xmm15, xmm3, 0x55
shr r15d, 0x10
xor ecx, dword [r12 + rax*4 + 0x400]
movd r8d, xmm15
movzx eax, r15b
mov r15d, esi
shr esi, 0x10
xor ecx, dword [r12 + rax*4 + 0x800]
movzx eax, dh
mov dword [rsp + 0x40], ecx
shr r15d, 0x18
movzx ecx, dil
movzx edx, dl
mov ecx, dword [r12 + rcx*4]
shr edi, 0x18
xor ecx, dword [r12 + r15*4 + 0xc00]
mov r15d, r14d
shr r15d, 0x10
xor ecx, dword [r12 + rax*4 + 0x400]
pshufd xmm14, xmm3, 0xaa
movzx eax, r15b
mov r15d, dword [r12 + rdx*4]
movzx edx, r13b
pshufd xmm3, xmm3, 0xff
xor ecx, dword [r12 + rax*4 + 0x800]
mov eax, dword [rsp]
mov dword [rsp + 0x7c], ecx
mov ecx, r14d
movzx r14d, sil
xor r15d, dword [r12 + rdi*4 + 0xc00]
movzx edi, ch
mov edx, dword [r12 + rdx*4]
movd ebx, xmm3
shr eax, 0x18
pshufd xmm13, xmm0, 0x55
pshufd xmm0, xmm0, 0xff
xor r15d, dword [r12 + rdi*4 + 0x400]
mov edi, eax
mov eax, r10d
xor r15d, dword [r12 + r14*4 + 0x800]
movd xmm3, dword [rsp + 0x40]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, ah
movd r9d, xmm14
mov dword [rsp + 0x80], r15d
movd dword [rsp + 0x30], xmm0
mov eax, r13d
movd xmm14, dword [rsp + 0x80]
movd xmm15, dword [rsp + 0x7c]
movd dword [rsp + 0x10], xmm13
movd xmm13, dword [rsp + 0x78]
shr eax, 0x18
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
punpckldq xmm15, xmm14
shr edi, 0x10
punpckldq xmm13, xmm3
movzx edi, dil
punpcklqdq xmm13, xmm15
pxor xmm13, xmm11
xor edx, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], edx
mov edi, eax
movzx edx, r10b
mov eax, r11d
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, ah
mov eax, r10d
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp]
shr eax, 0x18
movd r14d, xmm13
pshufd xmm0, xmm13, 0xaa
pshufd xmm4, xmm13, 0x55
pshufd xmm15, xmm13, 0xff
shr edi, 0x10
movzx edi, dil
movd esi, xmm0
movd xmm0, dword [rsp + 0x78]
movd r15d, xmm4
xor edx, dword [r12 + rdi*4 + 0x800]
mov edi, eax
mov eax, dword [rsp]
movd ecx, xmm15
mov dword [rsp + 0x40], edx
movzx edx, r11b
movd xmm3, dword [rsp + 0x40]
punpckldq xmm0, xmm3
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, ah
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr r10d, 0x10
shr edi, 0x10
shr r11d, 0x18
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], edx
movzx edx, byte [rsp]
movd xmm14, dword [rsp + 0x7c]
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, r10b
movzx edi, dh
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, ebx
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
shr r11d, 0x18
mov dword [rsp], eax
movzx eax, bpl
mov edi, dword [r12 + rax*4]
mov eax, r8d
movd xmm13, dword [rsp]
punpckldq xmm14, xmm13
xor edi, dword [r12 + r11*4 + 0xc00]
punpcklqdq xmm0, xmm14
mov r11d, edi
movzx edi, ah
mov eax, dword [r12 + rdi*4 + 0x400]
pxor xmm0, xmm11
pshufd xmm4, xmm0, 0x55
pshufd xmm15, xmm0, 0xaa
movd dword [rsp + 0x78], xmm4
movd r13d, xmm0
movd r10d, xmm15
pshufd xmm14, xmm0, 0xff
xor eax, r11d
mov r11d, r9d
movd edx, xmm14
shr r11d, 0x10
movzx edi, r11b
mov r11d, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr r11d, 0x18
mov dword [rsp], eax
movzx eax, r8b
mov edi, dword [r12 + rax*4]
mov eax, r9d
xor edi, dword [r12 + r11*4 + 0xc00]
movd xmm15, dword [rsp]
mov r11d, edi
movzx edi, ah
mov eax, dword [r12 + rdi*4 + 0x400]
xor eax, r11d
mov r11d, ebx
shr r11d, 0x10
movzx edi, r11b
mov r11d, r8d
shr r8d, 0x10
movzx r8d, r8b
xor eax, dword [r12 + rdi*4 + 0x800]
shr r11d, 0x18
movzx edi, bh
movzx ebx, bl
mov dword [rsp + 0x40], eax
movzx eax, r9b
shr r9d, 0x18
movd xmm3, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, ebp
shr r11d, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, r11b
mov r11d, dword [rsp + 0x60]
punpckldq xmm15, xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx edi, r11b
mov eax, dword [r12 + rbx*4]
mov ebx, ebp
xor eax, dword [r12 + r9*4 + 0xc00]
movzx ebp, bh
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rbp*4 + 0x400]
mov r9d, dword [rsp + 0x30]
xor eax, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x80], eax
shr r9d, 0x18
mov eax, dword [r12 + rdi*4]
movzx edi, bh
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + r9*4 + 0xc00]
movd xmm13, dword [rsp + 0x7c]
mov r9d, ebx
shr r9d, 0x10
movd xmm0, dword [rsp + 0x80]
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, r9b
mov r9d, r11d
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebx, bh
shr r9d, 0x18
punpckldq xmm13, xmm0
punpcklqdq xmm15, xmm13
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x10]
pxor xmm15, xmm11
pshufd xmm4, xmm15, 0x55
pshufd xmm13, xmm15, 0xff
pshufd xmm14, xmm15, 0xaa
movd dword [rsp], xmm4
movd dword [rsp + 0x40], xmm13
mov eax, dword [r12 + rax*4]
movd ebp, xmm15
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x30]
movd r8d, xmm14
mov edi, ebx
shr edi, 0x10
movd xmm14, dword [rsp + 0x60]
movzx r9d, dil
mov edi, dword [rsp + 0x10]
xor eax, dword [r12 + r9*4 + 0x800]
mov r9d, r11d
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, byte [rsp + 0x20]
shr r9d, 0x10
movd xmm3, dword [rsp + 0x30]
punpckldq xmm14, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, r9b
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, bl
mov ebx, dword [rsp + 0x20]
movd xmm15, dword [rsp + 0x7c]
shr ebx, 0x18
mov r9d, ebx
mov ebx, r11d
mov r11d, dword [rsp + 0x10]
mov eax, dword [r12 + rax*4]
movzx edi, bh
xor eax, dword [r12 + r9*4 + 0xc00]
mov ebx, ecx
shr ebx, 0x18
shr r11d, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx r9d, r11b
xor eax, dword [r12 + r9*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
punpckldq xmm15, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpcklqdq xmm14, xmm15
movzx edi, bh
mov ebx, esi
pxor xmm14, xmm11
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd dword [rsp + 0x30], xmm14
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm4, xmm14, 0x55
mov dword [rsp + 0x20], eax
movzx eax, r15b
movd dword [rsp + 0x10], xmm4
pshufd xmm13, xmm14, 0xaa
pshufd xmm15, xmm14, 0xff
mov eax, dword [r12 + rax*4]
movd r11d, xmm13
movd r9d, xmm15
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
movzx edi, ch
mov eax, dword [r12 + rax*4]
movzx ecx, cl
shr esi, 0x18
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
movd xmm13, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
mov edi, edx
punpckldq xmm13, xmm3
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, dword [rsp + 0x78]
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
shr edi, 0x18
movd xmm14, dword [rsp + 0x7c]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm14, xmm0
punpcklqdq xmm13, xmm14
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
movzx eax, byte [rsp + 0x78]
shr ebx, 0x18
pxor xmm13, xmm12
movd r14d, xmm13
pshufd xmm4, xmm13, 0x55
pshufd xmm15, xmm13, 0xaa
mov eax, dword [r12 + rax*4]
pshufd xmm14, xmm13, 0xff
movd esi, xmm15
movd r15d, xmm4
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd ecx, xmm14
movzx edi, bh
mov ebx, edx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr edi, 0x18
mov eax, dword [r12 + rax*4]
shr r10d, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
movzx edi, dh
mov ebx, dword [rsp]
xor eax, dword [r12 + r10*4 + 0xc00]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x40]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm3, dword [rsp + 0x60]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm0, dword [rsp + 0x7c]
mov dword [rsp + 0x78], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpckldq xmm13, xmm0
movd xmm15, dword [rsp + 0x20]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
punpckldq xmm15, xmm3
movzx edi, bh
mov ebx, dword [rsp + 0x40]
punpcklqdq xmm15, xmm13
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm15, xmm12
pshufd xmm4, xmm15, 0x55
pshufd xmm14, xmm15, 0xaa
mov edi, ebx
shr edi, 0x10
movd dword [rsp + 0x20], xmm4
movd r10d, xmm14
movd r13d, xmm15
movzx edi, dil
pshufd xmm13, xmm15, 0xff
movd edx, xmm13
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
movzx ebx, bl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
mov ebx, r9d
xor eax, dword [r12 + rbp*4 + 0x400]
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm14, dword [rsp + 0x78]
movd xmm15, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm3, dword [rsp + 0x40]
mov dword [rsp], eax
punpckldq xmm14, xmm3
movzx eax, byte [rsp + 0x30]
movd xmm0, dword [rsp]
punpckldq xmm15, xmm0
punpcklqdq xmm14, xmm15
pxor xmm14, xmm12
pshufd xmm4, xmm14, 0x55
movd ebp, xmm14
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pshufd xmm15, xmm14, 0xff
movd dword [rsp], xmm4
movd dword [rsp + 0x40], xmm15
pshufd xmm13, xmm14, 0xaa
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd r8d, xmm13
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x30]
mov dword [rsp + 0x78], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
shr r11d, 0x18
movzx edi, bh
mov ebx, dword [rsp + 0x30]
movzx r9d, r9b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, ecx
shr r11d, 0x10
movzx edi, r11b
movd xmm14, dword [rsp + 0x30]
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
punpckldq xmm13, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpckldq xmm14, xmm0
movzx edi, bh
mov ebx, esi
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm13, xmm14
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
pxor xmm13, xmm12
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm4, xmm13, 0x55
pshufd xmm15, xmm13, 0xaa
movd dword [rsp + 0x78], xmm13
mov dword [rsp + 0x30], eax
movzx eax, r15b
pshufd xmm14, xmm13, 0xff
movd r11d, xmm15
mov eax, dword [r12 + rax*4]
movd dword [rsp + 0x10], xmm4
movd r9d, xmm14
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
mov edi, edx
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x7c]
mov ebx, dword [rsp + 0x20]
mov eax, dword [r12 + rax*4]
movd xmm15, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
movd xmm3, dword [rsp + 0x60]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x80]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
punpckldq xmm13, xmm0
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
punpckldq xmm15, xmm3
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
punpcklqdq xmm15, xmm13
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm15, xmm5
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
pshufd xmm14, xmm15, 0xaa
movd r14d, xmm15
xor eax, dword [r12 + rdi*4 + 0x800]
movd esi, xmm14
pshufd xmm4, xmm15, 0x55
movd xmm14, dword [rsp + 0x30]
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
pshufd xmm13, xmm15, 0xff
shr edi, 0x18
mov eax, dword [r12 + rax*4]
movd xmm3, dword [rsp + 0x60]
movd r15d, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr ebx, 0x10
punpckldq xmm14, xmm3
movd ecx, xmm13
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
movzx edi, dh
xor eax, dword [r12 + r10*4 + 0xc00]
movd xmm15, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
movd xmm0, dword [rsp + 0x7c]
punpckldq xmm15, xmm0
punpcklqdq xmm14, xmm15
pxor xmm14, xmm5
pshufd xmm4, xmm14, 0x55
pshufd xmm13, xmm14, 0xaa
movd r13d, xmm14
movd dword [rsp + 0x20], xmm4
mov edi, dword [rsp + 0x40]
mov ebx, dword [rsp]
movd r10d, xmm13
pshufd xmm15, xmm14, 0xff
mov eax, dword [r12 + rax*4]
movd edx, xmm15
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp]
movd xmm13, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm3, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm13, xmm3
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
movd xmm14, dword [rsp + 0x60]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movd xmm0, dword [rsp]
punpckldq xmm14, xmm0
punpcklqdq xmm13, xmm14
pxor xmm13, xmm5
pshufd xmm4, xmm13, 0x55
pshufd xmm15, xmm13, 0xaa
movd dword [rsp], xmm4
pshufd xmm14, xmm13, 0xff
movd ebp, xmm13
movd r8d, xmm15
movd dword [rsp + 0x30], xmm14
movzx eax, byte [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, r11b
shr r11d, 0x18
movd xmm3, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm15, xmm3
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx ebx, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r12 + rbx*4 + 0x400]
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ecx
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x78]
movd xmm0, dword [rsp + 0x10]
shr ebx, 0x18
movzx eax, r14b
punpckldq xmm13, xmm0
punpcklqdq xmm15, xmm13
pxor xmm15, xmm5
movd dword [rsp + 0x78], xmm15
pshufd xmm4, xmm15, 0x55
pshufd xmm14, xmm15, 0xaa
pshufd xmm13, xmm15, 0xff
movd dword [rsp + 0x10], xmm4
mov eax, dword [r12 + rax*4]
movd r11d, xmm14
movd r9d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, r15b
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
mov dword [rsp + 0x7c], eax
punpckldq xmm14, xmm3
mov eax, dword [r12 + rcx*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
mov ebx, dword [rsp + 0x20]
shr edi, 0x18
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm15, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm15, xmm0
punpcklqdq xmm14, xmm15
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
pxor xmm14, xmm9
pshufd xmm13, xmm14, 0xaa
movd r14d, xmm14
pshufd xmm4, xmm14, 0x55
mov eax, dword [r12 + rax*4]
movd esi, xmm13
pshufd xmm15, xmm14, 0xff
movd r15d, xmm4
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd xmm13, dword [rsp + 0x40]
movd ecx, xmm15
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm3, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr ebx, 0x10
punpckldq xmm13, xmm3
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
xor eax, dword [r12 + r10*4 + 0xc00]
movzx edi, dh
mov ebx, dword [rsp]
movd xmm14, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x7c]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
punpckldq xmm14, xmm0
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpcklqdq xmm13, xmm14
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pxor xmm13, xmm9
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
movd r13d, xmm13
pshufd xmm4, xmm13, 0x55
movd dword [rsp + 0x20], xmm4
pshufd xmm15, xmm13, 0xaa
pshufd xmm14, xmm13, 0xff
mov edi, ebx
shr edi, 0x10
movd r10d, xmm15
movd edx, xmm14
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm3, dword [rsp + 0x30]
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm15, xmm3
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm13, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x78]
movd xmm0, dword [rsp]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm15, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm15, xmm9
pshufd xmm4, xmm15, 0x55
pshufd xmm13, xmm15, 0xff
movd dword [rsp], xmm4
pshufd xmm14, xmm15, 0xaa
movd ebp, xmm15
movzx edi, bh
mov ebx, r11d
movd dword [rsp + 0x30], xmm13
movd r8d, xmm14
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x10]
movd xmm14, dword [rsp + 0x40]
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r12 + rax*4]
shr r11d, 0x18
movd xmm3, dword [rsp + 0x60]
shr ebx, 0x18
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm14, xmm3
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx ebx, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
shr ebx, 0x18
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
movd xmm15, dword [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
movzx edi, bh
mov ebx, esi
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm15, xmm0
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
punpcklqdq xmm14, xmm15
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pxor xmm14, xmm9
pshufd xmm4, xmm14, 0x55
movd dword [rsp + 0x78], xmm14
mov dword [rsp + 0x40], eax
movzx eax, r15b
pshufd xmm13, xmm14, 0xaa
pshufd xmm15, xmm14, 0xff
mov eax, dword [r12 + rax*4]
movd dword [rsp + 0x10], xmm4
movd r11d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd r9d, xmm15
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movzx edi, ch
shr r15d, 0x10
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx ecx, cl
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
xor eax, dword [r12 + rsi*4 + 0x400]
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm3, dword [rsp + 0x60]
mov dword [rsp + 0x80], eax
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x80]
punpckldq xmm13, xmm3
movzx edi, bl
mov ebx, r13d
movd xmm14, dword [rsp + 0x7c]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
punpckldq xmm14, xmm0
mov dword [rsp + 0x40], eax
punpcklqdq xmm13, xmm14
movzx eax, byte [rsp + 0x20]
pxor xmm13, xmm6
pshufd xmm15, xmm13, 0xaa
movd r14d, xmm13
movd esi, xmm15
pshufd xmm4, xmm13, 0x55
pshufd xmm14, xmm13, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd r15d, xmm4
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
movd ecx, xmm14
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
shr edi, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r10b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
shr r10d, 0x18
mov edi, r13d
shr ebx, 0x10
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
xor eax, dword [r12 + r10*4 + 0xc00]
movzx r13d, bl
movzx edi, dh
mov ebx, dword [rsp]
movd xmm15, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm3, dword [rsp + 0x60]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
movd xmm0, dword [rsp + 0x7c]
punpckldq xmm15, xmm3
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
movd xmm13, dword [rsp + 0x20]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
punpckldq xmm13, xmm0
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
punpcklqdq xmm15, xmm13
mov eax, dword [r12 + rax*4]
pxor xmm15, xmm6
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pshufd xmm4, xmm15, 0x55
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
movd r13d, xmm15
movd dword [rsp + 0x20], xmm4
pshufd xmm14, xmm15, 0xaa
pshufd xmm13, xmm15, 0xff
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movd r10d, xmm14
movd edx, xmm13
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
movzx ebx, bl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
mov ebx, ebp
xor eax, dword [r12 + r8*4 + 0xc00]
movzx ebp, bh
xor eax, dword [r12 + rbp*4 + 0x400]
mov r8d, dword [rsp]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm14, dword [rsp + 0x40]
movd xmm15, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm3, dword [rsp + 0x30]
mov dword [rsp], eax
punpckldq xmm14, xmm3
movzx eax, byte [rsp + 0x78]
movd xmm0, dword [rsp]
punpckldq xmm15, xmm0
punpcklqdq xmm14, xmm15
pxor xmm14, xmm6
pshufd xmm4, xmm14, 0x55
pshufd xmm13, xmm14, 0xaa
mov eax, dword [r12 + rax*4]
pshufd xmm15, xmm14, 0xff
movd dword [rsp], xmm4
movd r8d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movd dword [rsp + 0x30], xmm15
movd ebp, xmm14
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x78]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
shr r11d, 0x18
movzx edi, bh
mov ebx, dword [rsp + 0x78]
movzx r9d, r9b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
xor eax, dword [r12 + rbx*4 + 0x400]
mov r11d, dword [rsp + 0x10]
mov ebx, ecx
shr r11d, 0x10
movzx edi, r11b
shr ebx, 0x18
movd xmm13, dword [rsp + 0x40]
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm14, dword [rsp + 0x78]
mov dword [rsp + 0x10], eax
movzx eax, r14b
mov eax, dword [r12 + rax*4]
movd xmm0, dword [rsp + 0x10]
punpckldq xmm13, xmm3
punpckldq xmm14, xmm0
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpcklqdq xmm13, xmm14
movzx edi, bh
mov ebx, esi
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm13, xmm6
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
pshufd xmm4, xmm13, 0x55
movd dword [rsp + 0x78], xmm13
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm15, xmm13, 0xaa
movd dword [rsp + 0x10], xmm4
mov dword [rsp + 0x40], eax
movzx eax, r15b
movd r11d, xmm15
pshufd xmm14, xmm13, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd r9d, xmm14
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx edi, ch
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
movzx ecx, cl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm13, dword [rsp + 0x7c]
shr edi, 0x18
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm0, dword [rsp + 0x80]
movd xmm15, dword [rsp + 0x40]
punpckldq xmm13, xmm0
mov ebx, dword [rsp + 0x20]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movd xmm3, dword [rsp + 0x60]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm15, xmm3
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
punpcklqdq xmm15, xmm13
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
pxor xmm15, xmm7
pshufd xmm14, xmm15, 0xaa
movd r14d, xmm15
movd esi, xmm14
pshufd xmm4, xmm15, 0x55
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
pshufd xmm13, xmm15, 0xff
movd r15d, xmm4
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd ecx, xmm13
movzx edi, bh
mov ebx, edx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr edi, 0x18
mov eax, dword [r12 + rax*4]
shr ebx, 0x10
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
shr r10d, 0x18
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
punpckldq xmm14, xmm3
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
xor eax, dword [r12 + r10*4 + 0xc00]
movzx edi, dh
movd xmm15, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x7c], eax
shr edi, 0x18
movd xmm0, dword [rsp + 0x7c]
movzx eax, bpl
punpckldq xmm15, xmm0
mov eax, dword [r12 + rax*4]
punpcklqdq xmm14, xmm15
pxor xmm14, xmm7
pshufd xmm4, xmm14, 0x55
movd dword [rsp + 0x20], xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
mov ebx, dword [rsp]
pshufd xmm13, xmm14, 0xaa
movd r13d, xmm14
movd r10d, xmm13
pshufd xmm15, xmm14, 0xff
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd edx, xmm15
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp]
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm3, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm13, xmm3
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
movd xmm14, dword [rsp + 0x60]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movd xmm0, dword [rsp]
punpckldq xmm14, xmm0
punpcklqdq xmm13, xmm14
pxor xmm13, xmm7
movzx eax, byte [rsp + 0x78]
pshufd xmm4, xmm13, 0x55
pshufd xmm15, xmm13, 0xaa
pshufd xmm14, xmm13, 0xff
movd dword [rsp], xmm4
movd ebp, xmm13
movd r8d, xmm15
movd dword [rsp + 0x30], xmm14
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x10]
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, r11b
shr r11d, 0x18
movd xmm3, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm15, xmm3
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx ebx, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r12 + rbx*4 + 0x400]
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ecx
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x78]
movd xmm0, dword [rsp + 0x10]
shr ebx, 0x18
movzx eax, r14b
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm15, xmm13
pxor xmm15, xmm7
pshufd xmm4, xmm15, 0x55
movd dword [rsp + 0x78], xmm15
pshufd xmm14, xmm15, 0xaa
pshufd xmm13, xmm15, 0xff
movd dword [rsp + 0x10], xmm4
movd r11d, xmm14
movd r9d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, r15b
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
movzx edi, ch
shr r15d, 0x10
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
movzx ecx, cl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
shr esi, 0x18
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm3, dword [rsp + 0x60]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
mov edi, edx
movzx r14d, r15b
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
shr edi, 0x18
punpckldq xmm14, xmm3
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x80]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
movd xmm15, dword [rsp + 0x7c]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
punpckldq xmm15, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
punpcklqdq xmm14, xmm15
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm14, xmm8
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
pshufd xmm13, xmm14, 0xaa
movd r14d, xmm14
xor eax, dword [r12 + rdi*4 + 0x800]
movd esi, xmm13
movd xmm13, dword [rsp + 0x40]
pshufd xmm4, xmm14, 0x55
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
pshufd xmm15, xmm14, 0xff
shr edi, 0x18
mov eax, dword [r12 + rax*4]
movd xmm3, dword [rsp + 0x60]
movd r15d, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr ebx, 0x10
punpckldq xmm13, xmm3
movd ecx, xmm15
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
movzx edi, dh
xor eax, dword [r12 + r10*4 + 0xc00]
mov ebx, dword [rsp]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm14, dword [rsp + 0x20]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x7c]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
punpckldq xmm14, xmm0
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpcklqdq xmm13, xmm14
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pxor xmm13, xmm8
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
movd r13d, xmm13
pshufd xmm4, xmm13, 0x55
movd dword [rsp + 0x20], xmm4
pshufd xmm15, xmm13, 0xaa
pshufd xmm14, xmm13, 0xff
mov edi, ebx
shr edi, 0x10
movd r10d, xmm15
movd edx, xmm14
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
movzx eax, r8b
shr r8d, 0x18
mov edi, dword [rsp]
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
movd xmm15, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
movd xmm3, dword [rsp + 0x30]
shr edi, 0x10
movzx edi, dil
punpckldq xmm15, xmm3
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm13, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x78]
movd xmm0, dword [rsp]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm15, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm15, xmm8
pshufd xmm4, xmm15, 0x55
pshufd xmm13, xmm15, 0xff
movd dword [rsp], xmm4
pshufd xmm14, xmm15, 0xaa
movd ebp, xmm15
movzx edi, bh
mov ebx, r11d
movd dword [rsp + 0x30], xmm13
movd r8d, xmm14
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov ebx, dword [rsp + 0x10]
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [r12 + rax*4]
movd xmm14, dword [rsp + 0x40]
shr ebx, 0x18
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movd xmm3, dword [rsp + 0x60]
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm14, xmm3
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, ecx
shr r11d, 0x10
movzx edi, r11b
shr ebx, 0x18
movd xmm15, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
punpckldq xmm15, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpcklqdq xmm14, xmm15
movzx edi, bh
mov ebx, esi
pxor xmm14, xmm8
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd dword [rsp + 0x78], xmm14
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm4, xmm14, 0x55
mov dword [rsp + 0x40], eax
movzx eax, r15b
movd dword [rsp + 0x10], xmm4
pshufd xmm13, xmm14, 0xaa
pshufd xmm15, xmm14, 0xff
mov eax, dword [r12 + rax*4]
movd r11d, xmm13
movd r9d, xmm15
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx edi, ch
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
movzx ecx, cl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
shr esi, 0x18
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
mov edi, edx
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, dword [rsp + 0x20]
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm3, dword [rsp + 0x60]
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm14, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm13, xmm3
movd xmm0, dword [rsp + 0x80]
movzx edi, bl
mov ebx, r13d
shr ebx, 0x18
punpckldq xmm14, xmm0
xor eax, dword [r12 + rdi*4 + 0x800]
punpcklqdq xmm13, xmm14
mov dword [rsp + 0x40], eax
pxor xmm13, xmm10
movzx eax, byte [rsp + 0x20]
pshufd xmm15, xmm13, 0xaa
movd r14d, xmm13
pshufd xmm4, xmm13, 0x55
movd esi, xmm15
pshufd xmm14, xmm13, 0xff
movd r15d, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd ecx, xmm14
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
xor eax, dword [r12 + r10*4 + 0xc00]
movzx edi, dh
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov edi, dword [rsp + 0x30]
mov ebx, dword [rsp]
movzx eax, bpl
shr edi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm15, dword [rsp + 0x40]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm3, dword [rsp + 0x60]
shr ebx, 0x18
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
punpckldq xmm15, xmm3
movd xmm13, dword [rsp + 0x20]
movd xmm0, dword [rsp + 0x7c]
punpckldq xmm13, xmm0
punpcklqdq xmm15, xmm13
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pxor xmm15, xmm10
movzx edi, bh
mov ebx, dword [rsp + 0x30]
pshufd xmm4, xmm15, 0x55
movd r13d, xmm15
xor eax, dword [r12 + rdi*4 + 0x400]
movd dword [rsp + 0x20], xmm4
pshufd xmm14, xmm15, 0xaa
pshufd xmm13, xmm15, 0xff
mov edi, ebx
movd r10d, xmm14
movd edx, xmm13
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
mov ebx, ebp
movzx ebp, bh
xor eax, dword [r12 + r8*4 + 0xc00]
mov r8d, dword [rsp]
shr r8d, 0x10
movzx edi, r8b
mov ebx, dword [r12 + rdi*4 + 0x800]
xor eax, dword [r12 + rbp*4 + 0x400]
mov edi, r9d
xor ebx, eax
mov dword [rsp], ebx
mov ebx, dword [rsp + 0x78]
shr edi, 0x18
movzx eax, bl
mov r8d, dword [r12 + rax*4]
mov eax, dword [rsp + 0x10]
xor r8d, dword [r12 + rdi*4 + 0xc00]
movd xmm15, dword [rsp + 0x60]
movzx edi, ah
mov eax, r11d
shr eax, 0x10
xor r8d, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp]
movzx edi, al
xor r8d, dword [r12 + rdi*4 + 0x800]
mov eax, ebx
movd xmm3, dword [rsp + 0x30]
punpckldq xmm15, xmm0
mov dword [rsp + 0x78], r8d
movzx r8d, byte [rsp + 0x10]
shr eax, 0x18
movd xmm14, dword [rsp + 0x40]
mov r8d, dword [r12 + r8*4]
punpckldq xmm14, xmm3
punpcklqdq xmm14, xmm15
xor r8d, dword [r12 + rax*4 + 0xc00]
mov eax, r11d
pxor xmm14, xmm10
movzx edi, ah
mov eax, r9d
xor r8d, dword [r12 + rdi*4 + 0x400]
pshufd xmm4, xmm14, 0x55
shr eax, 0x10
movzx edi, al
mov eax, dword [rsp + 0x10]
pshufd xmm13, xmm14, 0xaa
pshufd xmm15, xmm14, 0xff
xor r8d, dword [r12 + rdi*4 + 0x800]
movd ebp, xmm14
movd dword [rsp], xmm4
shr eax, 0x18
mov dword [rsp + 0x60], r8d
movzx r8d, r11b
shr r11d, 0x18
mov r8d, dword [r12 + r8*4]
xor r8d, dword [r12 + rax*4 + 0xc00]
mov eax, r9d
movzx r9d, r9b
movd dword [rsp + 0x30], xmm13
movzx edi, ah
mov eax, ebx
movd dword [rsp + 0x40], xmm15
shr eax, 0x10
xor r8d, dword [r12 + rdi*4 + 0x400]
movzx edi, al
movzx eax, bh
xor r8d, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], r8d
mov r8d, dword [r12 + r9*4]
mov r9d, ecx
xor r8d, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor r8d, dword [r12 + rax*4 + 0x400]
xor r8d, dword [r12 + rdi*4 + 0x800]
shr r9d, 0x18
mov eax, r15d
mov ebx, r9d
mov r9d, esi
mov dword [rsp + 0x10], r8d
movzx r8d, r14b
shr r9d, 0x10
movd xmm14, dword [rsp + 0x7c]
movzx edi, ah
mov r11d, dword [r12 + r8*4]
mov eax, r14d
xor r11d, dword [r12 + rbx*4 + 0xc00]
movzx ebx, r9b
mov r9d, ecx
shr eax, 0x18
shr r9d, 0x10
xor r11d, dword [r12 + rdi*4 + 0x400]
xor r11d, dword [r12 + rbx*4 + 0x800]
mov edi, eax
mov ebx, esi
movd xmm0, dword [rsp + 0x10]
movd xmm3, dword [rsp + 0x60]
mov dword [rsp + 0x80], r11d
movzx r11d, r15b
movd xmm13, dword [rsp + 0x78]
movzx eax, bh
mov r8d, dword [r12 + r11*4]
mov ebx, r15d
punpckldq xmm14, xmm0
xor r8d, dword [r12 + rdi*4 + 0xc00]
shr ebx, 0x18
movzx edi, r9b
mov r9d, r14d
shr r15d, 0x10
xor r8d, dword [r12 + rax*4 + 0x400]
shr r9d, 0x10
mov eax, ebx
punpckldq xmm13, xmm3
xor r8d, dword [r12 + rdi*4 + 0x800]
movzx ebx, r9b
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x84], r8d
movzx r8d, sil
shr esi, 0x18
punpcklqdq xmm13, xmm14
mov r11d, dword [r12 + r8*4]
pxor xmm13, xmm10
xor r11d, dword [r12 + rax*4 + 0xc00]
mov eax, r14d
movzx r14d, r15b
pshufd xmm4, xmm13, 0x55
movzx r15d, r13b
xor r11d, dword [r12 + rdi*4 + 0x400]
xor r11d, dword [r12 + rbx*4 + 0x800]
pshufd xmm15, xmm13, 0xaa
pshufd xmm14, xmm13, 0xff
movd xmm3, dword [rsp + 0x84]
mov dword [rsp + 0x88], r11d
mov r11d, dword [r12 + rcx*4]
mov edi, edx
shr edi, 0x18
xor r11d, dword [r12 + rsi*4 + 0xc00]
movzx esi, ah
movd dword [rsp + 0x10], xmm13
movd xmm13, dword [rsp + 0x88]
xor r11d, dword [r12 + rsi*4 + 0x400]
movd dword [rsp + 0x78], xmm4
xor r11d, dword [r12 + r14*4 + 0x800]
mov r14d, r10d
mov dword [rsp + 0x8c], r11d
shr r14d, 0x10
mov eax, r13d
movd xmm0, dword [rsp + 0x8c]
movd dword [rsp + 0x60], xmm15
shr eax, 0x18
movd xmm15, dword [rsp + 0x80]
punpckldq xmm13, xmm0
movd dword [rsp + 0x7c], xmm14
mov esi, dword [r12 + r15*4]
mov ebx, dword [rsp + 0x20]
movzx r15d, r14b
xor esi, dword [r12 + rdi*4 + 0xc00]
punpckldq xmm15, xmm3
movzx edi, bh
xor esi, dword [r12 + rdi*4 + 0x400]
xor esi, dword [r12 + r15*4 + 0x800]
mov r15d, edx
punpcklqdq xmm15, xmm13
mov dword [rsp + 0x20], esi
movzx esi, bl
shr r15d, 0x10
pxor xmm15, xmm1
pshufd xmm14, xmm15, 0xaa
mov r14d, dword [r12 + rsi*4]
movzx esi, r15b
movd r11d, xmm15
xor r14d, dword [r12 + rax*4 + 0xc00]
mov eax, r10d
movd r9d, xmm14
pshufd xmm4, xmm15, 0x55
movd xmm14, dword [rsp + 0x20]
movzx edi, ah
pshufd xmm13, xmm15, 0xff
movd r8d, xmm4
mov eax, ebx
xor r14d, dword [r12 + rdi*4 + 0x400]
shr eax, 0x18
movzx edi, dh
xor r14d, dword [r12 + rsi*4 + 0x800]
mov dword [rsp + 0x80], r14d
mov esi, r13d
movzx r14d, r10b
movzx edx, dl
mov r15d, dword [r12 + r14*4]
xor r15d, dword [r12 + rax*4 + 0xc00]
mov eax, r13d
movd ecx, xmm13
xor r15d, dword [r12 + rdi*4 + 0x400]
shr esi, 0x10
movzx edi, ah
movd xmm3, dword [rsp + 0x80]
shr ebx, 0x10
movzx r14d, sil
shr r10d, 0x18
mov eax, dword [rsp + 0x30]
xor r15d, dword [r12 + r14*4 + 0x800]
movzx r13d, bl
punpckldq xmm14, xmm3
mov dword [rsp + 0x84], r15d
movd xmm15, dword [rsp + 0x84]
mov r15d, dword [r12 + rdx*4]
movzx edx, bpl
xor r15d, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [r12 + r13*4 + 0x800]
xor r15d, dword [r12 + rdi*4 + 0x400]
xor r10d, r15d
mov r15d, dword [rsp + 0x40]
mov dword [rsp + 0x88], r10d
movd xmm0, dword [rsp + 0x88]
mov r14d, r15d
mov r10d, dword [r12 + rdx*4]
punpckldq xmm15, xmm0
mov edx, dword [rsp]
shr r14d, 0x18
punpcklqdq xmm14, xmm15
movzx ebx, dh
xor r10d, dword [r12 + r14*4 + 0xc00]
mov r14d, eax
pxor xmm14, xmm1
xor r10d, dword [r12 + rbx*4 + 0x400]
shr r14d, 0x10
pshufd xmm15, xmm14, 0xff
movd r13d, xmm14
movzx ebx, r14b
movd dword [rsp + 0x20], xmm15
mov r14d, ebp
xor r10d, dword [r12 + rbx*4 + 0x800]
movzx ebx, ah
mov dword [rsp], r10d
shr r14d, 0x18
movzx r10d, dl
pshufd xmm13, xmm14, 0xaa
mov r10d, dword [r12 + r10*4]
movd edi, xmm13
pshufd xmm4, xmm14, 0x55
xor r10d, dword [r12 + r14*4 + 0xc00]
xor r10d, dword [r12 + rbx*4 + 0x400]
mov ebx, r15d
shr r15d, 0x10
movd esi, xmm4
movzx r14d, r15b
mov r15d, eax
movzx eax, al
movd xmm13, dword [rsp]
xor r10d, dword [r12 + r14*4 + 0x800]
mov r14d, edx
shr edx, 0x10
mov dword [rsp + 0x30], r10d
shr r14d, 0x18
mov r10d, dword [r12 + rax*4]
mov eax, ebx
movzx ebx, bh
xor r10d, dword [r12 + r14*4 + 0xc00]
mov r14d, ebp
shr r15d, 0x18
xor r10d, dword [r12 + rbx*4 + 0x400]
shr r14d, 0x10
movd xmm3, dword [rsp + 0x30]
movzx ebx, r14b
movzx r14d, dl
xor r10d, dword [r12 + rbx*4 + 0x800]
mov ebx, ebp
punpckldq xmm13, xmm3
mov dword [rsp + 0x40], r10d
movzx r10d, al
movzx ebp, bh
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + r10*4]
mov r10d, dword [r12 + r14*4 + 0x800]
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, ecx
shr r15d, 0x18
xor eax, dword [r12 + rbp*4 + 0x400]
xor r10d, eax
movzx eax, r11b
mov dword [rsp + 0x80], r10d
movd xmm0, dword [rsp + 0x80]
mov r10d, r9d
mov edx, dword [r12 + rax*4]
mov eax, r8d
shr r10d, 0x10
xor edx, dword [r12 + r15*4 + 0xc00]
movzx eax, ah
movzx r15d, r10b
xor edx, dword [r12 + rax*4 + 0x400]
mov eax, r11d
xor edx, dword [r12 + r15*4 + 0x800]
mov r15d, ecx
mov dword [rsp + 0x30], edx
movzx edx, r8b
punpckldq xmm14, xmm0
shr eax, 0x18
mov r10d, dword [r12 + rdx*4]
shr r15d, 0x10
mov edx, r9d
punpcklqdq xmm13, xmm14
xor r10d, dword [r12 + rax*4 + 0xc00]
movzx eax, dh
movzx edx, r15b
mov r15d, r11d
pxor xmm13, xmm1
xor r10d, dword [r12 + rax*4 + 0x400]
mov eax, r8d
xor r10d, dword [r12 + rdx*4 + 0x800]
pshufd xmm14, xmm13, 0xff
shr eax, 0x18
mov dword [rsp + 0x40], r10d
movzx r10d, r9b
shr r15d, 0x10
movd dword [rsp], xmm14
mov edx, dword [r12 + r10*4]
xor edx, dword [r12 + rax*4 + 0xc00]
movzx eax, ch
movzx r10d, r15b
movzx ecx, cl
shr r9d, 0x18
shr r8d, 0x10
pshufd xmm15, xmm13, 0xaa
movd r14d, xmm13
xor edx, dword [r12 + rax*4 + 0x400]
mov eax, r11d
mov r11d, dword [rsp + 0x10]
movzx r8d, r8b
xor edx, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x80], edx
mov edx, dword [r12 + rcx*4]
movzx ecx, ah
movd ebp, xmm15
movzx r15d, r11b
xor edx, dword [r12 + r9*4 + 0xc00]
mov r9d, dword [rsp + 0x7c]
pshufd xmm4, xmm13, 0x55
xor edx, dword [r12 + rcx*4 + 0x400]
mov ecx, dword [r12 + r15*4]
movd ebx, xmm4
mov r10d, r9d
mov r15d, dword [rsp + 0x78]
shr r10d, 0x18
xor edx, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x84], edx
xor ecx, dword [r12 + r10*4 + 0xc00]
movd xmm3, dword [rsp + 0x40]
mov edx, r15d
movzx eax, dh
xor ecx, dword [r12 + rax*4 + 0x400]
mov eax, dword [rsp + 0x60]
mov edx, r11d
mov r8d, eax
shr r8d, 0x10
shr edx, 0x18
movd xmm13, dword [rsp + 0x84]
movd xmm0, dword [rsp + 0x80]
movzx r10d, r8b
mov r8d, r15d
movd xmm15, dword [rsp + 0x30]
xor ecx, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x10], ecx
movzx ecx, r15b
shr r8d, 0x18
punpckldq xmm0, xmm13
mov r10d, dword [r12 + rcx*4]
xor r10d, dword [r12 + rdx*4 + 0xc00]
mov edx, r9d
movzx ecx, ah
shr edx, 0x10
xor r10d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm15, xmm3
movzx ecx, dl
xor r10d, dword [r12 + rcx*4 + 0x800]
punpcklqdq xmm15, xmm0
mov dword [rsp + 0x78], r10d
mov r10d, eax
movzx eax, al
shr r10d, 0x18
pxor xmm15, xmm2
mov ecx, dword [r12 + rax*4]
mov eax, r9d
mov r9d, r11d
xor ecx, dword [r12 + r8*4 + 0xc00]
shr r9d, 0x10
movzx edx, ah
movzx r8d, r9b
xor ecx, dword [r12 + rdx*4 + 0x400]
mov edx, r11d
xor ecx, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x30], ecx
movzx ecx, al
mov r8d, dword [r12 + rcx*4]
movzx ecx, dh
xor r8d, dword [r12 + r10*4 + 0xc00]
shr r15d, 0x10
mov edx, dword [rsp + 0x20]
movzx r11d, r15b
mov eax, r8d
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + r11*4 + 0x800]
movzx r8d, r13b
mov r15d, edi
movd xmm0, dword [rsp + 0x10]
mov dword [rsp + 0x40], eax
mov eax, edx
mov r8d, dword [r12 + r8*4]
shr r15d, 0x10
shr eax, 0x18
movd xmm13, dword [rsp + 0x78]
movd xmm14, dword [rsp + 0x30]
punpckldq xmm0, xmm13
xor r8d, dword [r12 + rax*4 + 0xc00]
mov eax, esi
movd xmm4, dword [rsp + 0x40]
movzx eax, ah
xor r8d, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
mov r15d, r13d
xor r8d, dword [r12 + rax*4 + 0x800]
shr r15d, 0x18
mov dword [rsp + 0x10], r8d
movzx r8d, sil
mov eax, edi
mov r8d, dword [r12 + r8*4]
xor r8d, dword [r12 + r15*4 + 0xc00]
mov r15d, edx
movzx eax, ah
shr r15d, 0x10
xor r8d, dword [r12 + rax*4 + 0x400]
punpckldq xmm14, xmm4
movzx eax, r15b
xor r8d, dword [r12 + rax*4 + 0x800]
mov r15d, esi
movzx eax, dh
movzx edx, dl
shr r15d, 0x18
mov dword [rsp + 0x20], r8d
movzx r8d, dil
shr edi, 0x18
mov r8d, dword [r12 + r8*4]
xor r8d, dword [r12 + r15*4 + 0xc00]
mov r15d, r13d
punpcklqdq xmm0, xmm14
shr r15d, 0x10
xor r8d, dword [r12 + rax*4 + 0x400]
shr esi, 0x10
pxor xmm0, xmm1
movzx eax, r15b
movzx esi, sil
pshufd xmm4, xmm0, 0xff
movzx r15d, r14b
movd r11d, xmm0
movd ecx, xmm4
pshufd xmm3, xmm0, 0x55
xor r8d, dword [r12 + rax*4 + 0x800]
mov eax, r13d
mov dword [rsp + 0x78], r8d
mov r8d, dword [r12 + rdx*4]
pshufd xmm14, xmm0, 0xaa
xor r8d, dword [r12 + rdi*4 + 0xc00]
movzx edx, ah
movd xmm0, dword [rsp + 0x78]
movd r10d, xmm14
mov edi, r8d
xor edi, dword [r12 + rdx*4 + 0x400]
movzx edx, bh
mov r13d, edi
xor r13d, dword [r12 + rsi*4 + 0x800]
movd r9d, xmm3
mov dword [rsp + 0x30], r13d
mov r13d, ebp
movd xmm13, dword [rsp + 0x30]
movd xmm4, dword [rsp + 0x10]
shr r13d, 0x10
movzx esi, r13b
mov edi, dword [rsp]
mov eax, dword [r12 + r15*4]
movzx r15d, bl
punpckldq xmm0, xmm13
movd xmm3, dword [rsp + 0x20]
mov r8d, edi
mov r13d, edi
punpckldq xmm4, xmm3
shr r8d, 0x18
punpcklqdq xmm4, xmm0
xor eax, dword [r12 + r8*4 + 0xc00]
mov r8d, r14d
xor eax, dword [r12 + rdx*4 + 0x400]
shr r8d, 0x18
mov edx, dword [r12 + r15*4]
pxor xmm4, xmm2
xor eax, dword [r12 + rsi*4 + 0x800]
xor edx, dword [r12 + r8*4 + 0xc00]
mov r8d, ebx
mov dword [rsp], eax
mov eax, ebp
movd xmm3, dword [rsp]
movzx esi, ah
mov eax, edi
xor edx, dword [r12 + rsi*4 + 0x400]
shr r13d, 0x10
mov esi, r14d
movzx edi, ah
shr r8d, 0x18
movzx r15d, r13b
shr esi, 0x10
xor edx, dword [r12 + r15*4 + 0x800]
mov dword [rsp + 0x10], edx
movzx edx, bpl
shr ebp, 0x18
movzx r15d, sil
mov r13d, dword [r12 + rdx*4]
movzx edx, al
mov eax, r14d
xor r13d, dword [r12 + r8*4 + 0xc00]
mov edx, dword [r12 + rdx*4]
xor r13d, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, ah
xor edx, dword [r12 + rbp*4 + 0xc00]
xor r13d, dword [r12 + r15*4 + 0x800]
movzx ebx, bl
mov r15d, r10d
mov ebp, edx
mov dword [rsp + 0x20], r13d
movzx r8d, r11b
mov edx, r9d
xor ebp, dword [r12 + rdi*4 + 0x400]
shr r15d, 0x10
mov r13d, ecx
mov esi, dword [r12 + r8*4]
mov r14d, ebp
shr r13d, 0x18
movzx ebp, dh
movzx eax, r15b
mov r8d, ecx
movzx edi, r9b
mov edx, r10d
mov r15d, r9d
shr r8d, 0x10
xor r14d, dword [r12 + rbx*4 + 0x800]
xor esi, dword [r12 + r13*4 + 0xc00]
shr r15d, 0x18
mov dword [rsp + 0x78], r14d
mov r14d, r11d
xor esi, dword [r12 + rbp*4 + 0x400]
movzx r13d, r8b
xor esi, dword [r12 + rax*4 + 0x800]
shr r14d, 0x18
movd xmm0, dword [rsp + 0x78]
movzx ebp, r10b
movd xmm13, dword [rsp + 0x10]
mov dword [rsp], esi
movzx esi, dh
shr r10d, 0x18
movd xmm14, dword [rsp + 0x20]
mov ebx, dword [r12 + rdi*4]
movzx edi, ch
movzx ecx, cl
xor ebx, dword [r12 + r14*4 + 0xc00]
mov r14d, r11d
mov eax, dword [r12 + rbp*4]
shr r9d, 0x10
xor ebx, dword [r12 + rsi*4 + 0x400]
shr r14d, 0x10
mov edx, dword [r12 + rcx*4]
movzx r9d, r9b
punpckldq xmm14, xmm0
punpckldq xmm3, xmm13
movd xmm0, dword [rsp]
xor ebx, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x10], ebx
movzx ebx, r14b
punpcklqdq xmm3, xmm14
xor eax, dword [r12 + r15*4 + 0xc00]
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + rbx*4 + 0x800]
pxor xmm3, xmm2
mov dword [rsp + 0x20], eax
mov eax, r11d
xor edx, dword [r12 + r10*4 + 0xc00]
mov r8, qword [rsp + 0x50]
movzx esi, ah
mov r10d, edx
xor r10d, dword [r12 + rsi*4 + 0x400]
movd xmm13, dword [rsp + 0x20]
movaps xmmword [r8], xmm15
mov r11d, r10d
xor r11d, dword [r12 + r9*4 + 0x800]
movaps xmmword [r8 + 0x10], xmm4
sub r8, 0xffffffffffffff80
mov dword [rsp + 0x78], r11d
movd xmm14, dword [rsp + 0x78]
punpckldq xmm13, xmm14
movd xmm14, dword [rsp + 0x10]
movaps xmmword [r8 - 0x60], xmm3
punpckldq xmm0, xmm14
punpcklqdq xmm0, xmm13
pxor xmm0, xmm2
movaps xmmword [r8 - 0x50], xmm0
mov qword [rsp + 0x50], r8
cmp qword [rsp + 0xc0], r8
jne 0x660cb0
mov r13, qword [rsp + 0x1f8]
mov rbp, qword [rsp + 0x1f8]
add r13, 0x40
mov qword [rsp + 0x50], r13
mov r15, qword [rsp + 0xc8]
movdqa xmm13, xmmword [rsp + 0xd0]
lea rdi, [rbp + r15 + 0xc0]
mov qword [rsp + 0xc0], rdi
movdqa xmm2, xmmword [rsp + 0xe0]
movdqa xmm14, xmmword [rsp + 0xf0]
movdqa xmm0, xmmword [rsp + 0x90]
movdqa xmm1, xmmword [rsp + 0xa0]
movdqa xmm3, xmmword [rsp + 0xb0]
nop dword [rax + rax]
nop word cs:[rax + rax]
movd r14d, xmm14
pshufd xmm15, xmm14, 0x55
pshufd xmm4, xmm14, 0xaa
movd dword [rsp + 0x60], xmm13
pshufd xmm14, xmm14, 0xff
movd edi, xmm4
movd esi, xmm15
movzx ecx, r14b
movd edx, xmm14
mov ecx, dword [r12 + rcx*4]
mov r15d, edi
movd ebp, xmm0
mov eax, edx
shr r15d, 0x10
movd r13d, xmm2
pshufd xmm4, xmm2, 0xaa
shr eax, 0x18
pshufd xmm15, xmm2, 0x55
pshufd xmm2, xmm2, 0xff
xor ecx, dword [r12 + rax*4 + 0xc00]
mov eax, esi
movd dword [rsp], xmm2
movd r10d, xmm15
movd r11d, xmm4
movzx eax, ah
pshufd xmm14, xmm0, 0x55
pshufd xmm15, xmm0, 0xaa
xor ecx, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
mov r15d, r14d
pshufd xmm4, xmm13, 0x55
xor ecx, dword [r12 + rax*4 + 0x800]
mov dword [rsp + 0x78], ecx
shr r15d, 0x18
movzx ecx, sil
mov eax, edi
mov ecx, dword [r12 + rcx*4]
xor ecx, dword [r12 + r15*4 + 0xc00]
mov r15d, edx
movzx eax, ah
shr r15d, 0x10
pshufd xmm2, xmm13, 0xaa
pshufd xmm0, xmm0, 0xff
xor ecx, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
mov r15d, esi
shr esi, 0x10
pshufd xmm13, xmm13, 0xff
xor ecx, dword [r12 + rax*4 + 0x800]
shr r15d, 0x18
movzx eax, dh
movzx edx, dl
mov dword [rsp + 0x40], ecx
movzx ecx, dil
shr edi, 0x18
movd r8d, xmm14
mov ecx, dword [r12 + rcx*4]
movd r9d, xmm15
movd ebx, xmm0
xor ecx, dword [r12 + r15*4 + 0xc00]
mov r15d, r14d
xor ecx, dword [r12 + rax*4 + 0x400]
movd dword [rsp + 0x10], xmm4
movd xmm0, dword [rsp + 0x78]
shr r15d, 0x10
movd xmm4, dword [rsp + 0x40]
movd dword [rsp + 0x20], xmm2
movzx eax, r15b
xor ecx, dword [r12 + rax*4 + 0x800]
mov eax, dword [rsp]
movd dword [rsp + 0x30], xmm13
punpckldq xmm0, xmm4
mov dword [rsp + 0x7c], ecx
mov ecx, r14d
mov r15d, dword [r12 + rdx*4]
movzx r14d, sil
xor r15d, dword [r12 + rdi*4 + 0xc00]
shr eax, 0x18
movzx edi, ch
movzx edx, r13b
xor r15d, dword [r12 + rdi*4 + 0x400]
mov edi, eax
mov eax, r10d
xor r15d, dword [r12 + r14*4 + 0x800]
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, ah
mov dword [rsp + 0x80], r15d
movd xmm14, dword [rsp + 0x7c]
mov eax, r13d
movd xmm15, dword [rsp + 0x80]
shr eax, 0x18
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, r11d
punpckldq xmm14, xmm15
shr edi, 0x10
movzx edi, dil
punpcklqdq xmm0, xmm14
pxor xmm0, xmm11
xor edx, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], edx
mov edi, eax
movzx edx, r10b
mov eax, r11d
mov edx, dword [r12 + rdx*4]
pshufd xmm13, xmm0, 0xaa
movd r14d, xmm0
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, ah
mov eax, r10d
movd esi, xmm13
movd xmm13, dword [rsp + 0x78]
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp]
shr eax, 0x18
pshufd xmm2, xmm0, 0x55
pshufd xmm14, xmm0, 0xff
movd r15d, xmm2
shr edi, 0x10
movd ecx, xmm14
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov edi, eax
mov eax, dword [rsp]
mov dword [rsp + 0x40], edx
movzx edx, r11b
movd xmm4, dword [rsp + 0x40]
punpckldq xmm13, xmm4
mov edx, dword [r12 + rdx*4]
xor edx, dword [r12 + rdi*4 + 0xc00]
movzx edi, ah
xor edx, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr r10d, 0x10
shr edi, 0x10
shr r11d, 0x18
movzx edi, dil
xor edx, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], edx
movzx edx, byte [rsp]
movd xmm15, dword [rsp + 0x7c]
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, r10b
movzx edi, dh
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, ebx
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
shr r11d, 0x18
mov dword [rsp], eax
movzx eax, bpl
mov edi, dword [r12 + rax*4]
mov eax, r8d
movd xmm0, dword [rsp]
punpckldq xmm15, xmm0
xor edi, dword [r12 + r11*4 + 0xc00]
punpcklqdq xmm13, xmm15
mov r11d, edi
movzx edi, ah
mov eax, dword [r12 + rdi*4 + 0x400]
pxor xmm13, xmm11
pshufd xmm2, xmm13, 0x55
pshufd xmm14, xmm13, 0xaa
movd dword [rsp + 0x78], xmm2
movd r13d, xmm13
movd r10d, xmm14
pshufd xmm15, xmm13, 0xff
xor eax, r11d
mov r11d, r9d
movd edx, xmm15
shr r11d, 0x10
movzx edi, r11b
mov r11d, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr r11d, 0x18
mov dword [rsp], eax
movzx eax, r8b
mov edi, dword [r12 + rax*4]
mov eax, r9d
xor edi, dword [r12 + r11*4 + 0xc00]
movd xmm14, dword [rsp]
mov r11d, edi
movzx edi, ah
mov eax, dword [r12 + rdi*4 + 0x400]
xor eax, r11d
mov r11d, ebx
shr r11d, 0x10
movzx edi, r11b
mov r11d, r8d
shr r8d, 0x10
movzx r8d, r8b
xor eax, dword [r12 + rdi*4 + 0x800]
shr r11d, 0x18
movzx edi, bh
movzx ebx, bl
mov dword [rsp + 0x40], eax
movzx eax, r9b
shr r9d, 0x18
movd xmm4, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, ebp
shr r11d, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, r11b
mov r11d, dword [rsp + 0x60]
punpckldq xmm14, xmm4
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx edi, r11b
mov eax, dword [r12 + rbx*4]
mov ebx, ebp
xor eax, dword [r12 + r9*4 + 0xc00]
movzx ebp, bh
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rbp*4 + 0x400]
mov r9d, dword [rsp + 0x30]
xor eax, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x80], eax
shr r9d, 0x18
mov eax, dword [r12 + rdi*4]
movzx edi, bh
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + r9*4 + 0xc00]
movd xmm13, dword [rsp + 0x7c]
mov r9d, ebx
shr r9d, 0x10
movd xmm0, dword [rsp + 0x80]
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, r9b
mov r9d, r11d
xor eax, dword [r12 + rdi*4 + 0x800]
movzx ebx, bh
shr r9d, 0x18
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x10]
pxor xmm14, xmm11
pshufd xmm2, xmm14, 0x55
pshufd xmm13, xmm14, 0xff
pshufd xmm15, xmm14, 0xaa
movd dword [rsp], xmm2
movd dword [rsp + 0x40], xmm13
mov eax, dword [r12 + rax*4]
movd ebp, xmm14
xor eax, dword [r12 + r9*4 + 0xc00]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, dword [rsp + 0x30]
movd r8d, xmm15
mov edi, ebx
shr edi, 0x10
movd xmm15, dword [rsp + 0x60]
movzx r9d, dil
mov edi, dword [rsp + 0x10]
xor eax, dword [r12 + r9*4 + 0x800]
mov r9d, r11d
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, byte [rsp + 0x20]
shr r9d, 0x10
movd xmm4, dword [rsp + 0x30]
punpckldq xmm15, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, r9b
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, bl
mov ebx, dword [rsp + 0x20]
movd xmm14, dword [rsp + 0x7c]
shr ebx, 0x18
mov r9d, ebx
mov ebx, r11d
mov r11d, dword [rsp + 0x10]
mov eax, dword [r12 + rax*4]
movzx edi, bh
xor eax, dword [r12 + r9*4 + 0xc00]
mov ebx, ecx
shr ebx, 0x18
shr r11d, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx r9d, r11b
xor eax, dword [r12 + r9*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
punpckldq xmm14, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpcklqdq xmm15, xmm14
movzx edi, bh
mov ebx, esi
pxor xmm15, xmm11
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd dword [rsp + 0x30], xmm15
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm2, xmm15, 0x55
mov dword [rsp + 0x20], eax
movzx eax, r15b
movd dword [rsp + 0x10], xmm2
pshufd xmm13, xmm15, 0xaa
pshufd xmm14, xmm15, 0xff
mov eax, dword [r12 + rax*4]
movd r11d, xmm13
movd r9d, xmm14
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
movzx edi, ch
mov eax, dword [r12 + rax*4]
movzx ecx, cl
shr esi, 0x18
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
movd xmm13, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
mov edi, edx
punpckldq xmm13, xmm4
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, dword [rsp + 0x78]
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
shr edi, 0x18
movd xmm15, dword [rsp + 0x7c]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm15, xmm0
punpcklqdq xmm13, xmm15
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
movzx eax, byte [rsp + 0x78]
shr ebx, 0x18
pxor xmm13, xmm12
movd r14d, xmm13
pshufd xmm2, xmm13, 0x55
pshufd xmm14, xmm13, 0xaa
mov eax, dword [r12 + rax*4]
pshufd xmm15, xmm13, 0xff
movd esi, xmm14
movd r15d, xmm2
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd ecx, xmm15
movzx edi, bh
mov ebx, edx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr edi, 0x18
mov eax, dword [r12 + rax*4]
shr r10d, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
movzx edi, dh
mov ebx, dword [rsp]
xor eax, dword [r12 + r10*4 + 0xc00]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x40]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm4, dword [rsp + 0x60]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm0, dword [rsp + 0x7c]
mov dword [rsp + 0x78], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpckldq xmm13, xmm0
movd xmm14, dword [rsp + 0x20]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
punpckldq xmm14, xmm4
movzx edi, bh
mov ebx, dword [rsp + 0x40]
punpcklqdq xmm14, xmm13
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm14, xmm12
pshufd xmm2, xmm14, 0x55
pshufd xmm15, xmm14, 0xaa
mov edi, ebx
shr edi, 0x10
movd dword [rsp + 0x20], xmm2
movd r10d, xmm15
movd r13d, xmm14
movzx edi, dil
pshufd xmm13, xmm14, 0xff
movd edx, xmm13
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
movzx ebx, bl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
mov ebx, r9d
xor eax, dword [r12 + rbp*4 + 0x400]
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm15, dword [rsp + 0x78]
movd xmm14, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm4, dword [rsp + 0x40]
mov dword [rsp], eax
punpckldq xmm15, xmm4
movzx eax, byte [rsp + 0x30]
movd xmm0, dword [rsp]
punpckldq xmm14, xmm0
punpcklqdq xmm15, xmm14
pxor xmm15, xmm12
pshufd xmm2, xmm15, 0x55
movd ebp, xmm15
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pshufd xmm14, xmm15, 0xff
movd dword [rsp], xmm2
movd dword [rsp + 0x40], xmm14
pshufd xmm13, xmm15, 0xaa
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd r8d, xmm13
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x30]
mov dword [rsp + 0x78], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
shr r11d, 0x18
movzx edi, bh
mov ebx, dword [rsp + 0x30]
movzx r9d, r9b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, ecx
shr r11d, 0x10
movzx edi, r11b
movd xmm15, dword [rsp + 0x30]
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movd xmm13, dword [rsp + 0x78]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
punpckldq xmm13, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpckldq xmm15, xmm0
movzx edi, bh
mov ebx, esi
xor eax, dword [r12 + rdi*4 + 0x400]
punpcklqdq xmm13, xmm15
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
pxor xmm13, xmm12
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm2, xmm13, 0x55
pshufd xmm14, xmm13, 0xaa
movd dword [rsp + 0x78], xmm13
mov dword [rsp + 0x30], eax
movzx eax, r15b
pshufd xmm15, xmm13, 0xff
movd r11d, xmm14
mov eax, dword [r12 + rax*4]
movd dword [rsp + 0x10], xmm2
movd r9d, xmm15
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr r15d, 0x10
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x60], eax
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
mov edi, edx
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm13, dword [rsp + 0x7c]
mov ebx, dword [rsp + 0x20]
mov eax, dword [r12 + rax*4]
movd xmm14, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
movd xmm4, dword [rsp + 0x60]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x80]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
punpckldq xmm13, xmm0
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
punpckldq xmm14, xmm4
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
punpcklqdq xmm14, xmm13
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm14, xmm5
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
pshufd xmm15, xmm14, 0xaa
movd r14d, xmm14
xor eax, dword [r12 + rdi*4 + 0x800]
movd esi, xmm15
pshufd xmm2, xmm14, 0x55
movd xmm15, dword [rsp + 0x30]
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
pshufd xmm13, xmm14, 0xff
shr edi, 0x18
mov eax, dword [r12 + rax*4]
movd xmm4, dword [rsp + 0x60]
movd r15d, xmm2
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr ebx, 0x10
punpckldq xmm15, xmm4
movd ecx, xmm13
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
movzx edi, dh
xor eax, dword [r12 + r10*4 + 0xc00]
movd xmm14, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
movd xmm0, dword [rsp + 0x7c]
punpckldq xmm14, xmm0
punpcklqdq xmm15, xmm14
pxor xmm15, xmm5
pshufd xmm2, xmm15, 0x55
pshufd xmm13, xmm15, 0xaa
movd r13d, xmm15
movd dword [rsp + 0x20], xmm2
mov edi, dword [rsp + 0x40]
mov ebx, dword [rsp]
movd r10d, xmm13
pshufd xmm14, xmm15, 0xff
mov eax, dword [r12 + rax*4]
movd edx, xmm14
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp]
movd xmm13, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x40], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm4, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm13, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
movd xmm15, dword [rsp + 0x60]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movd xmm0, dword [rsp]
punpckldq xmm15, xmm0
punpcklqdq xmm13, xmm15
pxor xmm13, xmm5
pshufd xmm2, xmm13, 0x55
pshufd xmm14, xmm13, 0xaa
movd dword [rsp], xmm2
pshufd xmm15, xmm13, 0xff
movd ebp, xmm13
movd r8d, xmm14
movd dword [rsp + 0x30], xmm15
movzx eax, byte [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, r11b
shr r11d, 0x18
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm14, xmm4
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx ebx, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r12 + rbx*4 + 0x400]
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ecx
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x78]
movd xmm0, dword [rsp + 0x10]
shr ebx, 0x18
movzx eax, r14b
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
pxor xmm14, xmm5
movd dword [rsp + 0x78], xmm14
pshufd xmm2, xmm14, 0x55
pshufd xmm15, xmm14, 0xaa
pshufd xmm13, xmm14, 0xff
movd dword [rsp + 0x10], xmm2
mov eax, dword [r12 + rax*4]
movd r11d, xmm15
movd r9d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, r15b
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
mov dword [rsp + 0x7c], eax
punpckldq xmm15, xmm4
mov eax, dword [r12 + rcx*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
mov ebx, dword [rsp + 0x20]
shr edi, 0x18
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm14, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm0, dword [rsp + 0x80]
mov eax, dword [r12 + rax*4]
punpckldq xmm14, xmm0
punpcklqdq xmm15, xmm14
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r13d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
pxor xmm15, xmm9
pshufd xmm13, xmm15, 0xaa
movd r14d, xmm15
pshufd xmm2, xmm15, 0x55
mov eax, dword [r12 + rax*4]
movd esi, xmm13
pshufd xmm14, xmm15, 0xff
movd r15d, xmm2
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd xmm13, dword [rsp + 0x40]
movd ecx, xmm14
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr ebx, 0x10
punpckldq xmm13, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
xor eax, dword [r12 + r10*4 + 0xc00]
movzx edi, dh
mov ebx, dword [rsp]
movd xmm15, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x7c]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
punpckldq xmm15, xmm0
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpcklqdq xmm13, xmm15
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pxor xmm13, xmm9
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
movd r13d, xmm13
pshufd xmm2, xmm13, 0x55
movd dword [rsp + 0x20], xmm2
pshufd xmm14, xmm13, 0xaa
pshufd xmm15, xmm13, 0xff
mov edi, ebx
shr edi, 0x10
movd r10d, xmm14
movd edx, xmm15
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm4, dword [rsp + 0x30]
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm14, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm13, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x78]
movd xmm0, dword [rsp]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm14, xmm9
pshufd xmm2, xmm14, 0x55
pshufd xmm13, xmm14, 0xff
movd dword [rsp], xmm2
pshufd xmm15, xmm14, 0xaa
movd ebp, xmm14
movzx edi, bh
mov ebx, r11d
movd dword [rsp + 0x30], xmm13
movd r8d, xmm15
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x10]
movd xmm15, dword [rsp + 0x40]
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r12 + rax*4]
shr r11d, 0x18
movd xmm4, dword [rsp + 0x60]
shr ebx, 0x18
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm15, xmm4
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx ebx, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
shr ebx, 0x18
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
movd xmm14, dword [rsp + 0x78]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
movzx edi, bh
mov ebx, esi
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm14, xmm0
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
punpcklqdq xmm15, xmm14
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pxor xmm15, xmm9
pshufd xmm2, xmm15, 0x55
movd dword [rsp + 0x78], xmm15
mov dword [rsp + 0x40], eax
movzx eax, r15b
pshufd xmm13, xmm15, 0xaa
pshufd xmm14, xmm15, 0xff
mov eax, dword [r12 + rax*4]
movd dword [rsp + 0x10], xmm2
movd r11d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd r9d, xmm14
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
movzx edi, ch
shr r15d, 0x10
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx ecx, cl
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movzx r14d, r15b
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
xor eax, dword [r12 + rsi*4 + 0x400]
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm4, dword [rsp + 0x60]
mov dword [rsp + 0x80], eax
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x80]
punpckldq xmm13, xmm4
movzx edi, bl
mov ebx, r13d
movd xmm15, dword [rsp + 0x7c]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
punpckldq xmm15, xmm0
mov dword [rsp + 0x40], eax
punpcklqdq xmm13, xmm15
movzx eax, byte [rsp + 0x20]
pxor xmm13, xmm6
pshufd xmm14, xmm13, 0xaa
movd r14d, xmm13
movd esi, xmm14
pshufd xmm2, xmm13, 0x55
pshufd xmm15, xmm13, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd r15d, xmm2
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
movd ecx, xmm15
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
shr edi, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r10b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
shr r10d, 0x18
mov edi, r13d
shr ebx, 0x10
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
xor eax, dword [r12 + r10*4 + 0xc00]
movzx r13d, bl
movzx edi, dh
mov ebx, dword [rsp]
movd xmm14, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm4, dword [rsp + 0x60]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
movd xmm0, dword [rsp + 0x7c]
punpckldq xmm14, xmm4
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
movd xmm13, dword [rsp + 0x20]
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, ebp
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
punpckldq xmm13, xmm0
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
punpcklqdq xmm14, xmm13
mov eax, dword [r12 + rax*4]
pxor xmm14, xmm6
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pshufd xmm2, xmm14, 0x55
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
movd r13d, xmm14
movd dword [rsp + 0x20], xmm2
pshufd xmm15, xmm14, 0xaa
pshufd xmm13, xmm14, 0xff
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movd r10d, xmm15
movd edx, xmm13
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
movzx ebx, bl
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
mov ebx, ebp
xor eax, dword [r12 + r8*4 + 0xc00]
movzx ebp, bh
xor eax, dword [r12 + rbp*4 + 0x400]
mov r8d, dword [rsp]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm15, dword [rsp + 0x40]
movd xmm14, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm4, dword [rsp + 0x30]
mov dword [rsp], eax
punpckldq xmm15, xmm4
movzx eax, byte [rsp + 0x78]
movd xmm0, dword [rsp]
punpckldq xmm14, xmm0
punpcklqdq xmm15, xmm14
pxor xmm15, xmm6
pshufd xmm2, xmm15, 0x55
pshufd xmm13, xmm15, 0xaa
mov eax, dword [r12 + rax*4]
pshufd xmm14, xmm15, 0xff
movd dword [rsp], xmm2
movd r8d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movd dword [rsp + 0x30], xmm14
movd ebp, xmm15
movzx edi, bh
mov ebx, r11d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, dword [rsp + 0x78]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, r11b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
shr r11d, 0x18
movzx edi, bh
mov ebx, dword [rsp + 0x78]
movzx r9d, r9b
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
xor eax, dword [r12 + rbx*4 + 0x400]
mov r11d, dword [rsp + 0x10]
mov ebx, ecx
shr r11d, 0x10
movzx edi, r11b
shr ebx, 0x18
movd xmm13, dword [rsp + 0x40]
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
movd xmm15, dword [rsp + 0x78]
mov dword [rsp + 0x10], eax
movzx eax, r14b
mov eax, dword [r12 + rax*4]
movd xmm0, dword [rsp + 0x10]
punpckldq xmm13, xmm4
punpckldq xmm15, xmm0
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpcklqdq xmm13, xmm15
movzx edi, bh
mov ebx, esi
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm13, xmm6
shr ebx, 0x10
movzx edi, bl
mov ebx, r14d
pshufd xmm2, xmm13, 0x55
movd dword [rsp + 0x78], xmm13
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm14, xmm13, 0xaa
movd dword [rsp + 0x10], xmm2
mov dword [rsp + 0x40], eax
movzx eax, r15b
movd r11d, xmm14
pshufd xmm15, xmm13, 0xff
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movd r9d, xmm15
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx edi, ch
shr esi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
movzx ecx, cl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, edx
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
movzx r14d, r15b
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm13, dword [rsp + 0x7c]
shr edi, 0x18
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
movd xmm0, dword [rsp + 0x80]
movd xmm14, dword [rsp + 0x40]
punpckldq xmm13, xmm0
mov ebx, dword [rsp + 0x20]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movd xmm4, dword [rsp + 0x60]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm14, xmm4
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
punpcklqdq xmm14, xmm13
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
pxor xmm14, xmm7
pshufd xmm15, xmm14, 0xaa
movd r14d, xmm14
movd esi, xmm15
pshufd xmm2, xmm14, 0x55
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
pshufd xmm13, xmm14, 0xff
movd r15d, xmm2
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd ecx, xmm13
movzx edi, bh
mov ebx, edx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
shr edi, 0x18
mov eax, dword [r12 + rax*4]
shr ebx, 0x10
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
shr r10d, 0x18
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
punpckldq xmm15, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
xor eax, dword [r12 + r10*4 + 0xc00]
movzx edi, dh
movd xmm14, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x7c], eax
shr edi, 0x18
movd xmm0, dword [rsp + 0x7c]
movzx eax, bpl
punpckldq xmm14, xmm0
mov eax, dword [r12 + rax*4]
punpcklqdq xmm15, xmm14
pxor xmm15, xmm7
pshufd xmm2, xmm15, 0x55
movd dword [rsp + 0x20], xmm2
xor eax, dword [r12 + rdi*4 + 0xc00]
mov ebx, dword [rsp]
pshufd xmm13, xmm15, 0xaa
movd r13d, xmm15
movd r10d, xmm13
pshufd xmm14, xmm15, 0xff
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd edx, xmm14
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp]
movd xmm13, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
movd xmm4, dword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
punpckldq xmm13, xmm4
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
movd xmm15, dword [rsp + 0x60]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movd xmm0, dword [rsp]
punpckldq xmm15, xmm0
punpcklqdq xmm13, xmm15
pxor xmm13, xmm7
movzx eax, byte [rsp + 0x78]
pshufd xmm2, xmm13, 0x55
pshufd xmm14, xmm13, 0xaa
pshufd xmm15, xmm13, 0xff
movd dword [rsp], xmm2
movd ebp, xmm13
movd r8d, xmm14
movd dword [rsp + 0x30], xmm15
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
movzx edi, bh
mov ebx, r11d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x10]
movd xmm14, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x10]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, r11b
shr r11d, 0x18
movd xmm4, dword [rsp + 0x60]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm14, xmm4
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx ebx, bh
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor eax, dword [r12 + rbx*4 + 0x400]
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ecx
mov dword [rsp + 0x10], eax
movd xmm13, dword [rsp + 0x78]
movd xmm0, dword [rsp + 0x10]
shr ebx, 0x18
movzx eax, r14b
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
pxor xmm14, xmm7
pshufd xmm2, xmm14, 0x55
movd dword [rsp + 0x78], xmm14
pshufd xmm15, xmm14, 0xaa
pshufd xmm13, xmm14, 0xff
movd dword [rsp + 0x10], xmm2
movd r11d, xmm15
movd r9d, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
movzx edi, bh
mov ebx, esi
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, r15b
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r15d
movzx edi, ch
shr r15d, 0x10
mov dword [rsp + 0x60], eax
shr ebx, 0x18
movzx eax, sil
movzx ecx, cl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
shr esi, 0x18
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm4, dword [rsp + 0x60]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
mov edi, edx
movzx r14d, r15b
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
shr edi, 0x18
punpckldq xmm15, xmm4
xor eax, dword [r12 + rsi*4 + 0xc00]
movzx esi, bh
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rsi*4 + 0x400]
xor eax, dword [r12 + r14*4 + 0x800]
mov dword [rsp + 0x80], eax
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x80]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r13d
movd xmm14, dword [rsp + 0x7c]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x20]
shr ebx, 0x18
punpckldq xmm14, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
punpcklqdq xmm15, xmm14
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
pxor xmm15, xmm8
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
pshufd xmm13, xmm15, 0xaa
movd r14d, xmm15
xor eax, dword [r12 + rdi*4 + 0x800]
movd esi, xmm13
movd xmm13, dword [rsp + 0x40]
pshufd xmm2, xmm15, 0x55
mov edi, ebx
mov dword [rsp + 0x60], eax
movzx eax, r10b
pshufd xmm14, xmm15, 0xff
shr edi, 0x18
mov eax, dword [r12 + rax*4]
movd xmm4, dword [rsp + 0x60]
movd r15d, xmm2
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr ebx, 0x10
punpckldq xmm13, xmm4
movd ecx, xmm14
shr edi, 0x10
shr r10d, 0x18
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
movzx edi, dh
xor eax, dword [r12 + r10*4 + 0xc00]
mov ebx, dword [rsp]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
xor eax, dword [r12 + r13*4 + 0x800]
movd xmm15, dword [rsp + 0x20]
mov dword [rsp + 0x7c], eax
movzx eax, bpl
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp + 0x7c]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
punpckldq xmm15, xmm0
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
shr ebx, 0x18
punpcklqdq xmm13, xmm15
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pxor xmm13, xmm8
movzx edi, bh
mov ebx, dword [rsp + 0x30]
xor eax, dword [r12 + rdi*4 + 0x400]
movd r13d, xmm13
pshufd xmm2, xmm13, 0x55
movd dword [rsp + 0x20], xmm2
pshufd xmm14, xmm13, 0xaa
pshufd xmm15, xmm13, 0xff
mov edi, ebx
shr edi, 0x10
movd r10d, xmm14
movd edx, xmm15
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x30], eax
movzx eax, r8b
shr r8d, 0x18
mov edi, dword [rsp]
mov eax, dword [r12 + rax*4]
shr edi, 0x18
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
movd xmm14, dword [rsp + 0x40]
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
movd xmm4, dword [rsp + 0x30]
shr edi, 0x10
movzx edi, dil
punpckldq xmm14, xmm4
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
xor eax, dword [r12 + r8*4 + 0xc00]
mov ebx, ebp
movzx ebp, bh
mov r8d, dword [rsp]
xor eax, dword [r12 + rbp*4 + 0x400]
mov ebx, r9d
shr r8d, 0x10
movzx edi, r8b
shr ebx, 0x18
movd xmm13, dword [rsp + 0x60]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp], eax
movzx eax, byte [rsp + 0x78]
movd xmm0, dword [rsp]
mov eax, dword [r12 + rax*4]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, dword [rsp + 0x10]
pxor xmm14, xmm8
pshufd xmm2, xmm14, 0x55
pshufd xmm13, xmm14, 0xff
movd dword [rsp], xmm2
pshufd xmm15, xmm14, 0xaa
movd ebp, xmm14
movzx edi, bh
mov ebx, r11d
movd dword [rsp + 0x30], xmm13
movd r8d, xmm15
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x40], eax
shr ebx, 0x18
movzx eax, byte [rsp + 0x10]
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r11d
movzx edi, bh
mov ebx, r9d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov ebx, dword [rsp + 0x10]
movzx eax, r11b
shr r11d, 0x18
mov eax, dword [r12 + rax*4]
movd xmm15, dword [rsp + 0x40]
shr ebx, 0x18
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r9d
movzx r9d, r9b
movd xmm4, dword [rsp + 0x60]
movzx edi, bh
mov ebx, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm15, xmm4
mov edi, ebx
movzx ebx, bh
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + r9*4]
xor eax, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
xor eax, dword [r12 + rbx*4 + 0x400]
mov ebx, ecx
shr r11d, 0x10
movzx edi, r11b
shr ebx, 0x18
movd xmm14, dword [rsp + 0x78]
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x10], eax
movzx eax, r14b
movd xmm0, dword [rsp + 0x10]
punpckldq xmm14, xmm0
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r15d
punpcklqdq xmm15, xmm14
movzx edi, bh
mov ebx, esi
pxor xmm15, xmm8
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r14d
movd dword [rsp + 0x78], xmm15
shr ebx, 0x18
xor eax, dword [r12 + rdi*4 + 0x800]
pshufd xmm2, xmm15, 0x55
mov dword [rsp + 0x40], eax
movzx eax, r15b
movd dword [rsp + 0x10], xmm2
pshufd xmm13, xmm15, 0xaa
pshufd xmm14, xmm15, 0xff
mov eax, dword [r12 + rax*4]
movd r11d, xmm13
movd r9d, xmm14
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, esi
movzx edi, bh
mov ebx, ecx
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movzx edi, bl
mov ebx, r15d
xor eax, dword [r12 + rdi*4 + 0x800]
shr ebx, 0x18
mov dword [rsp + 0x60], eax
movzx eax, sil
movzx edi, ch
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r14d
movzx ecx, cl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
shr esi, 0x18
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, r14d
mov edi, edx
movd xmm13, dword [rsp + 0x40]
mov dword [rsp + 0x7c], eax
mov eax, dword [r12 + rcx*4]
xor eax, dword [r12 + rsi*4 + 0xc00]
shr r15d, 0x10
movzx esi, bh
mov ebx, dword [rsp + 0x20]
movzx r14d, r15b
shr edi, 0x18
xor eax, dword [r12 + rsi*4 + 0x400]
movd xmm4, dword [rsp + 0x60]
xor eax, dword [r12 + r14*4 + 0x800]
movd xmm15, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
movzx eax, r13b
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r10d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
punpckldq xmm13, xmm4
movd xmm0, dword [rsp + 0x80]
movzx edi, bl
mov ebx, r13d
shr ebx, 0x18
punpckldq xmm15, xmm0
xor eax, dword [r12 + rdi*4 + 0x800]
punpcklqdq xmm13, xmm15
mov dword [rsp + 0x40], eax
pxor xmm13, xmm10
movzx eax, byte [rsp + 0x20]
pshufd xmm14, xmm13, 0xaa
movd r14d, xmm13
pshufd xmm2, xmm13, 0x55
movd esi, xmm14
pshufd xmm15, xmm13, 0xff
movd r15d, xmm2
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r10d
movd ecx, xmm15
movzx edi, bh
mov ebx, edx
xor eax, dword [r12 + rdi*4 + 0x400]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [rsp + 0x20]
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, ebx
mov dword [rsp + 0x60], eax
shr edi, 0x18
movzx eax, r10b
shr r10d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, dh
movzx edx, dl
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, r13d
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x20], eax
mov eax, dword [r12 + rdx*4]
mov edx, r13d
movzx r13d, bl
xor eax, dword [r12 + r10*4 + 0xc00]
movzx edi, dh
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + r13*4 + 0x800]
mov dword [rsp + 0x7c], eax
mov edi, dword [rsp + 0x30]
mov ebx, dword [rsp]
movzx eax, bpl
shr edi, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
mov ebx, r8d
shr ebx, 0x10
xor eax, dword [r12 + rdi*4 + 0x400]
movd xmm14, dword [rsp + 0x40]
movzx edi, bl
xor eax, dword [r12 + rdi*4 + 0x800]
mov ebx, ebp
movd xmm4, dword [rsp + 0x60]
shr ebx, 0x18
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp]
punpckldq xmm14, xmm4
movd xmm13, dword [rsp + 0x20]
movd xmm0, dword [rsp + 0x7c]
punpckldq xmm13, xmm0
punpcklqdq xmm14, xmm13
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rbx*4 + 0xc00]
mov ebx, r8d
pxor xmm14, xmm10
movzx edi, bh
mov ebx, dword [rsp + 0x30]
pshufd xmm2, xmm14, 0x55
movd r13d, xmm14
xor eax, dword [r12 + rdi*4 + 0x400]
movd dword [rsp + 0x20], xmm2
pshufd xmm15, xmm14, 0xaa
pshufd xmm13, xmm14, 0xff
mov edi, ebx
movd r10d, xmm15
movd edx, xmm13
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov edi, dword [rsp]
mov dword [rsp + 0x30], eax
shr edi, 0x18
movzx eax, r8b
shr r8d, 0x18
mov eax, dword [r12 + rax*4]
xor eax, dword [r12 + rdi*4 + 0xc00]
movzx edi, bh
movzx ebx, bl
xor eax, dword [r12 + rdi*4 + 0x400]
mov edi, ebp
shr edi, 0x10
movzx edi, dil
xor eax, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x60], eax
mov eax, dword [r12 + rbx*4]
mov ebx, ebp
movzx ebp, bh
xor eax, dword [r12 + r8*4 + 0xc00]
mov r8d, dword [rsp]
shr r8d, 0x10
movzx edi, r8b
mov ebx, dword [r12 + rdi*4 + 0x800]
xor eax, dword [r12 + rbp*4 + 0x400]
mov edi, r9d
xor ebx, eax
mov dword [rsp], ebx
mov ebx, dword [rsp + 0x78]
shr edi, 0x18
movzx eax, bl
mov r8d, dword [r12 + rax*4]
mov eax, dword [rsp + 0x10]
xor r8d, dword [r12 + rdi*4 + 0xc00]
movd xmm14, dword [rsp + 0x60]
movzx edi, ah
mov eax, r11d
shr eax, 0x10
xor r8d, dword [r12 + rdi*4 + 0x400]
movd xmm0, dword [rsp]
movzx edi, al
xor r8d, dword [r12 + rdi*4 + 0x800]
mov eax, ebx
movd xmm4, dword [rsp + 0x30]
punpckldq xmm14, xmm0
mov dword [rsp + 0x78], r8d
movzx r8d, byte [rsp + 0x10]
shr eax, 0x18
movd xmm15, dword [rsp + 0x40]
mov r8d, dword [r12 + r8*4]
punpckldq xmm15, xmm4
punpcklqdq xmm15, xmm14
xor r8d, dword [r12 + rax*4 + 0xc00]
mov eax, r11d
pxor xmm15, xmm10
movzx edi, ah
mov eax, r9d
xor r8d, dword [r12 + rdi*4 + 0x400]
pshufd xmm2, xmm15, 0x55
shr eax, 0x10
movzx edi, al
mov eax, dword [rsp + 0x10]
pshufd xmm13, xmm15, 0xaa
pshufd xmm14, xmm15, 0xff
xor r8d, dword [r12 + rdi*4 + 0x800]
movd ebp, xmm15
movd dword [rsp], xmm2
shr eax, 0x18
mov dword [rsp + 0x60], r8d
movzx r8d, r11b
shr r11d, 0x18
mov r8d, dword [r12 + r8*4]
xor r8d, dword [r12 + rax*4 + 0xc00]
mov eax, r9d
movzx r9d, r9b
movd dword [rsp + 0x30], xmm13
movzx edi, ah
mov eax, ebx
movd dword [rsp + 0x40], xmm14
shr eax, 0x10
xor r8d, dword [r12 + rdi*4 + 0x400]
movzx edi, al
movzx eax, bh
xor r8d, dword [r12 + rdi*4 + 0x800]
mov dword [rsp + 0x7c], r8d
mov r8d, dword [r12 + r9*4]
mov r9d, ecx
xor r8d, dword [r12 + r11*4 + 0xc00]
mov r11d, dword [rsp + 0x10]
shr r11d, 0x10
movzx edi, r11b
xor r8d, dword [r12 + rax*4 + 0x400]
xor r8d, dword [r12 + rdi*4 + 0x800]
shr r9d, 0x18
mov eax, r15d
mov ebx, r9d
mov r9d, esi
mov dword [rsp + 0x10], r8d
movzx r8d, r14b
shr r9d, 0x10
movd xmm15, dword [rsp + 0x7c]
movzx edi, ah
mov r11d, dword [r12 + r8*4]
mov eax, r14d
xor r11d, dword [r12 + rbx*4 + 0xc00]
movzx ebx, r9b
mov r9d, ecx
shr eax, 0x18
shr r9d, 0x10
xor r11d, dword [r12 + rdi*4 + 0x400]
xor r11d, dword [r12 + rbx*4 + 0x800]
mov edi, eax
mov ebx, esi
movd xmm0, dword [rsp + 0x10]
movd xmm4, dword [rsp + 0x60]
mov dword [rsp + 0x80], r11d
movzx r11d, r15b
movd xmm13, dword [rsp + 0x78]
movzx eax, bh
mov r8d, dword [r12 + r11*4]
mov ebx, r15d
punpckldq xmm15, xmm0
xor r8d, dword [r12 + rdi*4 + 0xc00]
shr ebx, 0x18
movzx edi, r9b
mov r9d, r14d
shr r15d, 0x10
xor r8d, dword [r12 + rax*4 + 0x400]
shr r9d, 0x10
mov eax, ebx
punpckldq xmm13, xmm4
xor r8d, dword [r12 + rdi*4 + 0x800]
movzx ebx, r9b
movzx edi, ch
movzx ecx, cl
mov dword [rsp + 0x84], r8d
movzx r8d, sil
shr esi, 0x18
punpcklqdq xmm13, xmm15
mov r11d, dword [r12 + r8*4]
pxor xmm13, xmm10
xor r11d, dword [r12 + rax*4 + 0xc00]
mov eax, r14d
movzx r14d, r15b
pshufd xmm2, xmm13, 0x55
movzx r15d, r13b
xor r11d, dword [r12 + rdi*4 + 0x400]
xor r11d, dword [r12 + rbx*4 + 0x800]
pshufd xmm14, xmm13, 0xaa
pshufd xmm15, xmm13, 0xff
movd xmm4, dword [rsp + 0x84]
mov dword [rsp + 0x88], r11d
mov r11d, dword [r12 + rcx*4]
mov edi, edx
shr edi, 0x18
xor r11d, dword [r12 + rsi*4 + 0xc00]
movzx esi, ah
movd dword [rsp + 0x10], xmm13
movd xmm13, dword [rsp + 0x88]
xor r11d, dword [r12 + rsi*4 + 0x400]
movd dword [rsp + 0x78], xmm2
xor r11d, dword [r12 + r14*4 + 0x800]
mov r14d, r10d
mov dword [rsp + 0x8c], r11d
shr r14d, 0x10
mov eax, r13d
movd xmm0, dword [rsp + 0x8c]
movd dword [rsp + 0x60], xmm14
shr eax, 0x18
movd xmm14, dword [rsp + 0x80]
punpckldq xmm13, xmm0
movd dword [rsp + 0x7c], xmm15
mov esi, dword [r12 + r15*4]
mov ebx, dword [rsp + 0x20]
movzx r15d, r14b
xor esi, dword [r12 + rdi*4 + 0xc00]
punpckldq xmm14, xmm4
movzx edi, bh
xor esi, dword [r12 + rdi*4 + 0x400]
xor esi, dword [r12 + r15*4 + 0x800]
mov r15d, edx
punpcklqdq xmm14, xmm13
mov dword [rsp + 0x20], esi
movzx esi, bl
shr r15d, 0x10
pxor xmm14, xmm1
pshufd xmm15, xmm14, 0xaa
mov r14d, dword [r12 + rsi*4]
movzx esi, r15b
movd r11d, xmm14
xor r14d, dword [r12 + rax*4 + 0xc00]
mov eax, r10d
movd r9d, xmm15
pshufd xmm2, xmm14, 0x55
movd xmm15, dword [rsp + 0x20]
movzx edi, ah
pshufd xmm13, xmm14, 0xff
movd r8d, xmm2
mov eax, ebx
xor r14d, dword [r12 + rdi*4 + 0x400]
shr eax, 0x18
movzx edi, dh
xor r14d, dword [r12 + rsi*4 + 0x800]
mov dword [rsp + 0x80], r14d
mov esi, r13d
movzx r14d, r10b
movzx edx, dl
mov r15d, dword [r12 + r14*4]
xor r15d, dword [r12 + rax*4 + 0xc00]
mov eax, r13d
movd ecx, xmm13
xor r15d, dword [r12 + rdi*4 + 0x400]
shr esi, 0x10
movzx edi, ah
movd xmm4, dword [rsp + 0x80]
shr ebx, 0x10
movzx r14d, sil
shr r10d, 0x18
mov eax, dword [rsp + 0x30]
xor r15d, dword [r12 + r14*4 + 0x800]
movzx r13d, bl
punpckldq xmm15, xmm4
mov dword [rsp + 0x84], r15d
movd xmm14, dword [rsp + 0x84]
mov r15d, dword [r12 + rdx*4]
movzx edx, bpl
xor r15d, dword [r12 + r10*4 + 0xc00]
mov r10d, dword [r12 + r13*4 + 0x800]
xor r15d, dword [r12 + rdi*4 + 0x400]
xor r10d, r15d
mov r15d, dword [rsp + 0x40]
mov dword [rsp + 0x88], r10d
movd xmm0, dword [rsp + 0x88]
mov r14d, r15d
mov r10d, dword [r12 + rdx*4]
punpckldq xmm14, xmm0
mov edx, dword [rsp]
shr r14d, 0x18
punpcklqdq xmm15, xmm14
movzx ebx, dh
xor r10d, dword [r12 + r14*4 + 0xc00]
mov r14d, eax
pxor xmm15, xmm1
xor r10d, dword [r12 + rbx*4 + 0x400]
shr r14d, 0x10
pshufd xmm14, xmm15, 0xff
movd r13d, xmm15
movzx ebx, r14b
movd dword [rsp + 0x20], xmm14
mov r14d, ebp
xor r10d, dword [r12 + rbx*4 + 0x800]
movzx ebx, ah
mov dword [rsp], r10d
shr r14d, 0x18
movzx r10d, dl
pshufd xmm13, xmm15, 0xaa
mov r10d, dword [r12 + r10*4]
movd edi, xmm13
pshufd xmm2, xmm15, 0x55
xor r10d, dword [r12 + r14*4 + 0xc00]
xor r10d, dword [r12 + rbx*4 + 0x400]
mov ebx, r15d
shr r15d, 0x10
movd esi, xmm2
movzx r14d, r15b
mov r15d, eax
movzx eax, al
movd xmm13, dword [rsp]
xor r10d, dword [r12 + r14*4 + 0x800]
mov r14d, edx
shr edx, 0x10
mov dword [rsp + 0x30], r10d
shr r14d, 0x18
mov r10d, dword [r12 + rax*4]
mov eax, ebx
movzx ebx, bh
xor r10d, dword [r12 + r14*4 + 0xc00]
mov r14d, ebp
shr r15d, 0x18
xor r10d, dword [r12 + rbx*4 + 0x400]
shr r14d, 0x10
movd xmm4, dword [rsp + 0x30]
movzx ebx, r14b
movzx r14d, dl
xor r10d, dword [r12 + rbx*4 + 0x800]
mov ebx, ebp
punpckldq xmm13, xmm4
mov dword [rsp + 0x40], r10d
movzx r10d, al
movzx ebp, bh
movd xmm15, dword [rsp + 0x40]
mov eax, dword [r12 + r10*4]
mov r10d, dword [r12 + r14*4 + 0x800]
xor eax, dword [r12 + r15*4 + 0xc00]
mov r15d, ecx
shr r15d, 0x18
xor eax, dword [r12 + rbp*4 + 0x400]
xor r10d, eax
movzx eax, r11b
mov dword [rsp + 0x80], r10d
movd xmm0, dword [rsp + 0x80]
mov r10d, r9d
mov edx, dword [r12 + rax*4]
mov eax, r8d
shr r10d, 0x10
xor edx, dword [r12 + r15*4 + 0xc00]
movzx eax, ah
movzx r15d, r10b
xor edx, dword [r12 + rax*4 + 0x400]
mov eax, r11d
xor edx, dword [r12 + r15*4 + 0x800]
mov r15d, ecx
mov dword [rsp + 0x30], edx
movzx edx, r8b
punpckldq xmm15, xmm0
shr eax, 0x18
mov r10d, dword [r12 + rdx*4]
shr r15d, 0x10
mov edx, r9d
punpcklqdq xmm13, xmm15
xor r10d, dword [r12 + rax*4 + 0xc00]
movzx eax, dh
movzx edx, r15b
mov r15d, r11d
pxor xmm13, xmm1
xor r10d, dword [r12 + rax*4 + 0x400]
mov eax, r8d
xor r10d, dword [r12 + rdx*4 + 0x800]
pshufd xmm15, xmm13, 0xff
shr eax, 0x18
mov dword [rsp + 0x40], r10d
movzx r10d, r9b
shr r15d, 0x10
movd dword [rsp], xmm15
mov edx, dword [r12 + r10*4]
xor edx, dword [r12 + rax*4 + 0xc00]
movzx eax, ch
movzx r10d, r15b
movzx ecx, cl
shr r9d, 0x18
shr r8d, 0x10
pshufd xmm14, xmm13, 0xaa
movd r14d, xmm13
xor edx, dword [r12 + rax*4 + 0x400]
mov eax, r11d
mov r11d, dword [rsp + 0x10]
movzx r8d, r8b
xor edx, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x80], edx
mov edx, dword [r12 + rcx*4]
movzx ecx, ah
movd ebp, xmm14
movzx r15d, r11b
xor edx, dword [r12 + r9*4 + 0xc00]
mov r9d, dword [rsp + 0x7c]
pshufd xmm2, xmm13, 0x55
xor edx, dword [r12 + rcx*4 + 0x400]
mov ecx, dword [r12 + r15*4]
movd ebx, xmm2
mov r10d, r9d
mov r15d, dword [rsp + 0x78]
shr r10d, 0x18
xor edx, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x84], edx
xor ecx, dword [r12 + r10*4 + 0xc00]
movd xmm4, dword [rsp + 0x40]
mov edx, r15d
movzx eax, dh
xor ecx, dword [r12 + rax*4 + 0x400]
mov eax, dword [rsp + 0x60]
mov edx, r11d
mov r8d, eax
shr r8d, 0x10
shr edx, 0x18
movd xmm13, dword [rsp + 0x84]
movd xmm0, dword [rsp + 0x80]
movzx r10d, r8b
mov r8d, r15d
movd xmm14, dword [rsp + 0x30]
xor ecx, dword [r12 + r10*4 + 0x800]
mov dword [rsp + 0x10], ecx
movzx ecx, r15b
shr r8d, 0x18
punpckldq xmm0, xmm13
mov r10d, dword [r12 + rcx*4]
xor r10d, dword [r12 + rdx*4 + 0xc00]
mov edx, r9d
movzx ecx, ah
shr edx, 0x10
xor r10d, dword [r12 + rcx*4 + 0x400]
punpckldq xmm14, xmm4
movzx ecx, dl
xor r10d, dword [r12 + rcx*4 + 0x800]
punpcklqdq xmm14, xmm0
mov dword [rsp + 0x78], r10d
mov r10d, eax
movzx eax, al
shr r10d, 0x18
pxor xmm14, xmm3
mov ecx, dword [r12 + rax*4]
mov eax, r9d
mov r9d, r11d
xor ecx, dword [r12 + r8*4 + 0xc00]
shr r9d, 0x10
movzx edx, ah
movzx r8d, r9b
xor ecx, dword [r12 + rdx*4 + 0x400]
mov edx, r11d
xor ecx, dword [r12 + r8*4 + 0x800]
mov dword [rsp + 0x30], ecx
movzx ecx, al
mov r8d, dword [r12 + rcx*4]
movzx ecx, dh
xor r8d, dword [r12 + r10*4 + 0xc00]
shr r15d, 0x10
mov edx, dword [rsp + 0x20]
movzx r11d, r15b
mov eax, r8d
xor eax, dword [r12 + rcx*4 + 0x400]
xor eax, dword [r12 + r11*4 + 0x800]
movzx r8d, r13b
mov r15d, edi
movd xmm0, dword [rsp + 0x10]
mov dword [rsp + 0x40], eax
mov eax, edx
mov r8d, dword [r12 + r8*4]
shr r15d, 0x10
shr eax, 0x18
movd xmm13, dword [rsp + 0x78]
movd xmm2, dword [rsp + 0x30]
punpckldq xmm0, xmm13
xor r8d, dword [r12 + rax*4 + 0xc00]
mov eax, esi
movd xmm15, dword [rsp + 0x40]
movzx eax, ah
xor r8d, dword [r12 + rax*4 + 0x400]
movzx eax, r15b
mov r15d, r13d
xor r8d, dword [r12 + rax*4 + 0x800]
shr r15d, 0x18
mov dword [rsp + 0x10], r8d
movzx r8d, sil
mov eax, edi
mov r8d, dword [r12 + r8*4]
xor r8d, dword [r12 + r15*4 + 0xc00]
mov r15d, edx
movzx eax, ah
shr r15d, 0x10
xor r8d, dword [r12 + rax*4 + 0x400]
punpckldq xmm2, xmm15
movzx eax, r15b
xor r8d, dword [r12 + rax*4 + 0x800]
mov r15d, esi
movzx eax, dh
movzx edx, dl
shr r15d, 0x18
mov dword [rsp + 0x20], r8d
movzx r8d, dil
shr edi, 0x18
mov r8d, dword [r12 + r8*4]
xor r8d, dword [r12 + r15*4 + 0xc00]
mov r15d, r13d
punpcklqdq xmm0, xmm2
shr r15d, 0x10
xor r8d, dword [r12 + rax*4 + 0x400]
shr esi, 0x10
pxor xmm0, xmm1
movzx eax, r15b
movzx esi, sil
pshufd xmm2, xmm0, 0xaa
movzx r15d, r14b
movd r11d, xmm0
movd r10d, xmm2
pshufd xmm4, xmm0, 0x55
xor r8d, dword [r12 + rax*4 + 0x800]
mov eax, r13d
mov dword [rsp + 0x78], r8d
mov r8d, dword [r12 + rdx*4]
pshufd xmm15, xmm0, 0xff
xor r8d, dword [r12 + rdi*4 + 0xc00]
movzx edx, ah
movd xmm0, dword [rsp + 0x78]
movd r9d, xmm4
mov edi, r8d
xor edi, dword [r12 + rdx*4 + 0x400]
movzx edx, bh
mov r13d, edi
xor r13d, dword [r12 + rsi*4 + 0x800]
movd ecx, xmm15
mov dword [rsp + 0x30], r13d
mov r13d, ebp
movd xmm13, dword [rsp + 0x30]
movd xmm2, dword [rsp + 0x10]
shr r13d, 0x10
movzx esi, r13b
mov edi, dword [rsp]
mov eax, dword [r12 + r15*4]
movzx r15d, bl
punpckldq xmm0, xmm13
movd xmm4, dword [rsp + 0x20]
mov r8d, edi
mov r13d, edi
punpckldq xmm2, xmm4
shr r8d, 0x18
punpcklqdq xmm2, xmm0
xor eax, dword [r12 + r8*4 + 0xc00]
mov r8d, r14d
xor eax, dword [r12 + rdx*4 + 0x400]
shr r8d, 0x18
mov edx, dword [r12 + r15*4]
pxor xmm2, xmm3
xor eax, dword [r12 + rsi*4 + 0x800]
xor edx, dword [r12 + r8*4 + 0xc00]
mov r8d, ebx
mov dword [rsp], eax
mov eax, ebp
movd xmm0, dword [rsp]
movzx esi, ah
mov eax, edi
xor edx, dword [r12 + rsi*4 + 0x400]
shr r13d, 0x10
mov esi, r14d
movzx edi, ah
shr r8d, 0x18
movzx r15d, r13b
shr esi, 0x10
xor edx, dword [r12 + r15*4 + 0x800]
mov dword [rsp + 0x10], edx
movzx edx, bpl
shr ebp, 0x18
movzx r15d, sil
mov r13d, dword [r12 + rdx*4]
movzx edx, al
mov eax, r14d
shr ebx, 0x10
xor r13d, dword [r12 + r8*4 + 0xc00]
mov edx, dword [r12 + rdx*4]
movzx ebx, bl
movzx r8d, r11b
xor r13d, dword [r12 + rdi*4 + 0x400]
movzx edi, ah
mov esi, dword [r12 + r8*4]
mov r8d, ecx
xor edx, dword [r12 + rbp*4 + 0xc00]
shr r8d, 0x10
xor r13d, dword [r12 + r15*4 + 0x800]
mov r15d, r10d
mov ebp, edx
mov dword [rsp + 0x20], r13d
mov edx, r9d
shr r15d, 0x10
xor ebp, dword [r12 + rdi*4 + 0x400]
mov r13d, ecx
movzx eax, r15b
movzx edi, r9b
mov r14d, ebp
shr r13d, 0x18
movzx ebp, dh
mov edx, r10d
movd xmm4, dword [rsp + 0x10]
xor r14d, dword [r12 + rbx*4 + 0x800]
mov r15d, r9d
shr r9d, 0x10
mov dword [rsp + 0x78], r14d
mov r14d, r11d
shr r15d, 0x18
movzx r9d, r9b
xor esi, dword [r12 + r13*4 + 0xc00]
shr r14d, 0x18
xor esi, dword [r12 + rbp*4 + 0x400]
movzx r13d, r8b
xor esi, dword [r12 + rax*4 + 0x800]
movd xmm15, dword [rsp + 0x78]
movzx ebp, r10b
shr r10d, 0x18
movd xmm13, dword [rsp + 0x20]
mov dword [rsp], esi
movzx esi, dh
punpckldq xmm0, xmm4
mov ebx, dword [r12 + rdi*4]
xor ebx, dword [r12 + r14*4 + 0xc00]
mov r14d, r11d
movzx edi, ch
shr r14d, 0x10
mov eax, dword [r12 + rbp*4]
movzx ecx, cl
punpckldq xmm13, xmm15
mov edx, dword [r12 + rcx*4]
punpcklqdq xmm0, xmm13
mov r8, qword [rsp + 0x50]
pxor xmm0, xmm3
xor ebx, dword [r12 + rsi*4 + 0x400]
xor ebx, dword [r12 + r13*4 + 0x800]
movaps xmmword [r8], xmm14
mov dword [rsp + 0x10], ebx
movzx ebx, r14b
xor eax, dword [r12 + r15*4 + 0xc00]
xor eax, dword [r12 + rdi*4 + 0x400]
xor eax, dword [r12 + rbx*4 + 0x800]
movaps xmmword [r8 + 0x10], xmm2
mov dword [rsp + 0x20], eax
mov eax, r11d
xor edx, dword [r12 + r10*4 + 0xc00]
movzx esi, ah
mov r10d, edx
movd xmm4, dword [rsp + 0x20]
movaps xmmword [r8 + 0x20], xmm0
xor r10d, dword [r12 + rsi*4 + 0x400]
mov r11d, r10d
xor r11d, dword [r12 + r9*4 + 0x800]
sub r8, 0xffffffffffffff80
movd xmm15, dword [rsp + 0x10]
mov dword [rsp + 0x78], r11d
movd xmm13, dword [rsp + 0x78]
punpckldq xmm4, xmm13
movd xmm13, dword [rsp]
punpckldq xmm13, xmm15
punpcklqdq xmm13, xmm4
pxor xmm13, xmm3
movaps xmmword [r8 - 0x50], xmm13
mov qword [rsp + 0x50], r8
cmp qword [rsp + 0xc0], r8
jne 0x663ee0
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm10, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm12, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0x180]
movaps xmm15, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret