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