Function at 0x5321e6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, edx
mov ebx, eax
and esp, 0xfffffff0
sub esp, 0x2f0
lea edx, [esp + 0x2d0]
lea ecx, [esp + 0x2c0]
lea eax, [esp + 0x2e0]
lea edi, [esp + 0x2b0]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x290]
lea ecx, [esp + 0x280]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], edi
lea eax, [esp + 0x2a0]
lea edi, [esp + 0x270]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
lea edx, [esp + 0x250]
lea ecx, [esp + 0x260]
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov eax, ebx
call fcn.0052b8f6
movdqa xmm0, xmmword [esp + 0x250]
mov dword [esp + 0x13c], esi
add esi, 0x200000
movaps xmmword [esp + 0x1e0], xmm0
mov dword [esp + 0x2c], esi
movdqa xmm0, xmmword [esp + 0x260]
movaps xmmword [esp + 0x240], xmm0
movdqa xmm0, xmmword [esp + 0x270]
movaps xmmword [esp + 0x150], xmm0
movdqa xmm0, xmmword [esp + 0x280]
movaps xmmword [esp + 0x230], xmm0
movdqa xmm0, xmmword [esp + 0x290]
movaps xmmword [esp + 0x30], xmm0
movdqa xmm0, xmmword [esp + 0x2a0]
movaps xmmword [esp + 0x220], xmm0
movdqa xmm0, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x210], xmm0
movdqa xmm0, xmmword [esp + 0x2c0]
movaps xmmword [esp + 0x1f0], xmm0
movdqa xmm0, xmmword [esp + 0x2d0]
movdqa xmm1, xmmword [ebx + 0x70]
movdqa xmm6, xmmword [ebx + 0x60]
movdqa xmm7, xmmword [ebx + 0x40]
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x190], xmm1
movaps xmmword [esp + 0x1a0], xmm6
movdqa xmm0, xmmword [esp + 0x2e0]
movdqa xmm3, xmmword [ebx + 0x50]
movaps xmmword [esp + 0x140], xmm0
movdqa xmm0, xmm7
movdqa xmm6, xmmword [ebx + 0x80]
movdqa xmm5, xmmword [ebx + 0x90]
movdqa xmm4, xmmword [ebx + 0xa0]
movdqa xmm2, xmmword [ebx + 0xb0]
nop
movdqa xmm7, xmmword [esp + 0x1e0]
movdqa xmm1, xmm7
movaps xmmword [esp + 0x120], xmm6
movaps xmmword [esp + 0x160], xmm5
movaps xmmword [esp + 0x1c0], xmm4
movaps xmmword [esp + 0x1b0], xmm2
movaps xmmword [esp + 0x1d0], xmm3
call fcn.0052b6c6
movaps xmmword [esp + 0x180], xmm0
movdqa xmm0, xmmword [esp + 0x1d0]
call fcn.0052b6c6
movaps xmmword [esp + 0x170], xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
call fcn.0052b6c6
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x1e0], xmm7
movdqa xmm0, xmmword [esp + 0x190]
call fcn.0052b6c6
movdqa xmm6, xmmword [esp + 0x160]
movdqa xmm7, xmm0
movdqa xmm2, xmmword [esp + 0x120]
pshufd xmm1, xmm6, 0x55
pshufd xmm0, xmm6, 0xaa
pshufd xmm3, xmm2, 0x55
movd dword [esp + 0xec], xmm2
movd dword [esp + 0x160], xmm1
pshufd xmm4, xmm2, 0xaa
pshufd xmm5, xmm2, 0xff
movd dword [esp + 0x1d0], xmm0
pshufd xmm2, xmm6, 0xff
movd esi, xmm3
movd edi, xmm4
movd dword [esp + 0x190], xmm6
movdqa xmm1, xmmword [esp + 0x1b0]
movd ebx, xmm5
movdqa xmm3, xmmword [esp + 0x1c0]
pshufd xmm0, xmm1, 0x55
pshufd xmm4, xmm3, 0x55
movd dword [esp + 0x120], xmm2
pshufd xmm5, xmm3, 0xaa
movd dword [esp + 0x138], xmm3
pshufd xmm6, xmm3, 0xff
movd dword [esp + 0x130], xmm1
pshufd xmm3, xmm1, 0xff
movd dword [esp + 0x1b0], xmm0
pshufd xmm2, xmm1, 0xaa
movd dword [esp + 0x134], xmm4
movd dword [esp + 0x1c0], xmm5
movd dword [esp + 0xf0], xmm3
movd dword [esp + 0x110], xmm6
movd dword [esp + 0x100], xmm2
movdqa xmm1, xmmword [esp + 0x240]
movdqa xmm0, xmmword [esp + 0x180]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x240]
movaps xmmword [esp + 0xa0], xmm0
movdqa xmm0, xmmword [esp + 0x170]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x240]
movaps xmmword [esp + 0xb0], xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x240]
movaps xmmword [esp + 0xc0], xmm0
movdqa xmm0, xmm7
call fcn.0052b6c6
mov edx, dword [esp + 0xec]
mov ecx, ebx
shr ecx, 0x18
movaps xmmword [esp + 0xd0], xmm0
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, esi
movzx ecx, ch
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, edx
shr ecx, 0x18
mov dword [esp + 0x1a0], eax
mov eax, esi
movzx eax, al
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx ecx, ch
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, ebx
shr ecx, 0x10
movdqa xmm7, xmmword [esp + 0x1e0]
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, esi
shr esi, 0x10
shr ecx, 0x18
mov dword [esp + 0x180], eax
mov eax, edi
shr edi, 0x18
movzx eax, al
movd xmm2, dword [esp + 0x180]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, edx
movzx ebx, bl
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x170], eax
mov eax, dword [ebx*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
mov edx, esi
xor eax, dword [edi*4 + 0x4c1bf0]
movzx esi, dl
movd xmm1, dword [esp + 0x170]
xor eax, dword [esi*4 + 0x4c1ff0]
mov dword [esp + 0xec], eax
movd xmm0, dword [esp + 0xec]
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x1a0]
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x240]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x190]
mov edi, dword [esp + 0x120]
movaps xmmword [esp + 0x180], xmm0
mov ecx, esi
mov edx, edi
movzx ebx, cl
shr edx, 0x18
mov eax, dword [ebx*4 + 0x4c17f0]
mov ebx, dword [esp + 0x160]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1d0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1e0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0x1d0]
movd xmm6, dword [esp + 0x1a0]
movd xmm0, dword [esp + 0x1e0]
movdqa xmm1, xmmword [esp + 0x240]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
punpckldq xmm0, xmm6
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x190], eax
movzx eax, bl
mov ebx, dword [esp + 0x1d0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm4, dword [esp + 0x190]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], edi
movd xmm5, dword [esp + 0x1d0]
punpckldq xmm4, xmm5
punpcklqdq xmm0, xmm4
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x110]
movaps xmmword [esp + 0x190], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x134]
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1c0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1e0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
mov dword [esp + 0x1d0], eax
movzx eax, byte [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
movd xmm2, dword [esp + 0x1d0]
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
shr ecx, 0x10
mov dword [esp + 0x1a0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1c0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm1, dword [esp + 0x1a0]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1c0], edi
movd xmm0, dword [esp + 0x1c0]
punpckldq xmm1, xmm0
movd xmm0, dword [esp + 0x1e0]
movaps xmmword [esp + 0x1e0], xmm7
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x240]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x130]
mov edi, dword [esp + 0xf0]
movdqa xmm7, xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
mov ebx, dword [esp + 0x1b0]
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x100]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, edi
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1b0]
movd xmm5, dword [esp + 0x1c0]
movd xmm0, dword [esp + 0x1d0]
shr edx, 0x10
mov dword [esp + 0x1a0], eax
movzx eax, bl
movzx edi, dl
mov ebx, dword [eax*4 + 0x4c17f0]
xor ebx, dword [ecx*4 + 0x4c23f0]
mov ecx, esi
movzx esi, ch
movd xmm1, dword [esp + 0x1a0]
xor ebx, dword [esi*4 + 0x4c1bf0]
punpckldq xmm0, xmm5
xor ebx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], ebx
movd xmm3, dword [esp + 0x1b0]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x240]
pxor xmm0, xmmword [esp + 0x1e0]
call fcn.0052b6c6
movdqa xmm6, xmmword [esp + 0xa0]
pshufd xmm3, xmm6, 0xff
movd esi, xmm6
movdqa xmm4, xmmword [esp + 0xb0]
pshufd xmm2, xmm6, 0x55
mov eax, esi
movd edi, xmm3
movdqa xmm3, xmmword [esp + 0xc0]
pshufd xmm1, xmm6, 0xaa
movzx edx, al
pshufd xmm5, xmm4, 0x55
movd ecx, xmm2
pshufd xmm6, xmm4, 0xaa
movd dword [esp + 0x120], xmm4
pshufd xmm2, xmm4, 0xff
movd ebx, xmm1
pshufd xmm4, xmm3, 0xaa
movd dword [esp + 0x138], xmm5
pshufd xmm1, xmm3, 0x55
movd dword [esp + 0x1d0], xmm6
pshufd xmm5, xmm3, 0xff
movd dword [esp + 0x134], xmm2
movd dword [esp + 0x1c0], xmm4
movd dword [esp + 0x110], xmm3
movd dword [esp + 0x130], xmm1
movd dword [esp + 0x100], xmm5
movdqa xmm6, xmmword [esp + 0xd0]
movdqa xmm4, xmmword [esp + 0x180]
pshufd xmm2, xmm6, 0x55
pshufd xmm3, xmm6, 0xaa
movd dword [esp + 0xf0], xmm6
pshufd xmm1, xmm6, 0xff
movd dword [esp + 0xc0], xmm4
pshufd xmm5, xmm4, 0x55
movd dword [esp + 0xec], xmm2
pshufd xmm6, xmm4, 0xaa
movd dword [esp + 0x1b0], xmm3
movd dword [esp + 0xd0], xmm1
pshufd xmm2, xmm4, 0xff
movd dword [esp + 0xb0], xmm5
pshufd xmm3, xmm0, 0x55
movd dword [esp + 0x1a0], xmm6
mov dword [esp + 0x170], edi
shr edi, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
movzx edx, ch
movd dword [esp + 0xa0], xmm2
xor eax, dword [edi*4 + 0x4c23f0]
mov edi, ebx
movd dword [esp + 0x70], xmm7
shr edi, 0x10
xor eax, dword [edx*4 + 0x4c1bf0]
movd dword [esp + 0xe0], xmm0
mov edx, edi
pshufd xmm2, xmm7, 0x55
movzx edi, dl
movd dword [esp + 0x160], xmm3
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
shr edi, 0x18
movd dword [esp + 0x60], xmm2
movdqa xmm4, xmmword [esp + 0x190]
mov dword [esp + 0x40], eax
movzx eax, cl
movd dword [esp + 0xe8], xmm4
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
pshufd xmm1, xmm4, 0x55
mov edi, dword [esp + 0x170]
pshufd xmm5, xmm4, 0xaa
pshufd xmm6, xmm4, 0xff
movd dword [esp + 0x90], xmm1
pshufd xmm4, xmm7, 0xaa
shr edi, 0x10
pshufd xmm1, xmm0, 0xaa
mov edx, edi
pshufd xmm7, xmm7, 0xff
movzx edi, dl
mov edx, dword [esp + 0x170]
movd dword [esp + 0x180], xmm4
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, ecx
movd dword [esp + 0x190], xmm5
shr edi, 0x18
pshufd xmm0, xmm0, 0xff
movd dword [esp + 0x80], xmm6
shr ecx, 0x10
movd dword [esp + 0xe4], xmm7
movzx ecx, cl
mov dword [esp + 0x54], eax
movzx eax, bl
movd dword [esp + 0x5c], xmm1
mov eax, dword [eax*4 + 0x4c17f0]
movd dword [esp + 0x58], xmm0
shr ebx, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, esi
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x170]
movd xmm2, dword [esp + 0x54]
movd xmm0, dword [esp + 0x40]
movd xmm6, dword [esp + 0x50]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
punpckldq xmm0, xmm2
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [ecx*4 + 0x4c1ff0]
movdqa xmm7, xmmword [esp + 0x150]
movdqa xmm1, xmmword [esp + 0x230]
mov dword [esp + 0x170], edi
movd xmm5, dword [esp + 0x170]
punpckldq xmm6, xmm5
punpcklqdq xmm0, xmm6
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x134]
movaps xmmword [esp + 0x40], xmm0
mov edx, esi
mov ebx, edi
shr ebx, 0x18
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x138]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1d0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x170], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
mov dword [esp + 0x150], eax
movzx eax, byte [esp + 0x1d0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x120], eax
movzx eax, bl
mov ebx, dword [esp + 0x1d0]
mov edi, dword [eax*4 + 0x4c17f0]
movd xmm6, dword [esp + 0x150]
movd xmm1, dword [esp + 0x120]
shr ebx, 0x18
shr ecx, 0x10
movd xmm0, dword [esp + 0x170]
xor edi, dword [ebx*4 + 0x4c23f0]
movzx eax, cl
xor edi, dword [esi*4 + 0x4c1bf0]
punpckldq xmm0, xmm6
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], edi
movd xmm3, dword [esp + 0x1d0]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x100]
movaps xmmword [esp + 0x120], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x130]
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1c0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x170], eax
movzx eax, byte [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x150], eax
movzx eax, bl
mov ebx, dword [esp + 0x1c0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm4, dword [esp + 0x170]
movd xmm0, dword [esp + 0x1d0]
shr ebx, 0x18
movd xmm2, dword [esp + 0x150]
xor edi, dword [ebx*4 + 0x4c23f0]
punpckldq xmm0, xmm4
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
movdqa xmm1, xmmword [esp + 0x230]
mov dword [esp + 0x1c0], edi
movd xmm5, dword [esp + 0x1c0]
punpckldq xmm2, xmm5
punpcklqdq xmm0, xmm2
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xd0]
movaps xmmword [esp + 0x110], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0xec]
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1b0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x1b0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x170], eax
movzx eax, bl
mov ebx, dword [esp + 0x1b0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm2, dword [esp + 0x1c0]
movd xmm0, dword [esp + 0x1d0]
shr ebx, 0x18
movd xmm6, dword [esp + 0x170]
xor edi, dword [ebx*4 + 0x4c23f0]
punpckldq xmm0, xmm2
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
movdqa xmm1, xmmword [esp + 0x230]
mov dword [esp + 0x1b0], edi
movd xmm3, dword [esp + 0x1b0]
punpckldq xmm6, xmm3
punpcklqdq xmm0, xmm6
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xa0]
movaps xmmword [esp + 0xf0], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0xb0]
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1a0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x1a0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x1b0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1a0]
mov edi, dword [eax*4 + 0x4c17f0]
movd xmm1, dword [esp + 0x1c0]
movd xmm4, dword [esp + 0x1b0]
shr ebx, 0x18
movd xmm0, dword [esp + 0x1d0]
xor edi, dword [ebx*4 + 0x4c23f0]
shr ecx, 0x10
xor edi, dword [esi*4 + 0x4c1bf0]
movzx eax, cl
xor edi, dword [eax*4 + 0x4c1ff0]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
mov dword [esp + 0x1a0], edi
movd xmm5, dword [esp + 0x1a0]
punpckldq xmm4, xmm5
punpcklqdq xmm0, xmm4
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x80]
movaps xmmword [esp + 0x170], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x90]
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x190]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x1b0], eax
movzx eax, bl
mov ebx, dword [esp + 0x190]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm4, dword [esp + 0x1c0]
movd xmm2, dword [esp + 0x1b0]
shr ebx, 0x18
movd xmm0, dword [esp + 0x1d0]
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
punpckldq xmm0, xmm4
xor edi, dword [eax*4 + 0x4c1ff0]
movdqa xmm1, xmmword [esp + 0x230]
mov dword [esp + 0x1a0], edi
movd xmm3, dword [esp + 0x1a0]
punpckldq xmm2, xmm3
punpcklqdq xmm0, xmm2
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0xe4]
movaps xmmword [esp + 0x190], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x60]
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x180]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x180]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x1b0], eax
movzx eax, bl
mov ebx, dword [esp + 0x180]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm5, dword [esp + 0x1b0]
movd xmm1, dword [esp + 0x1c0]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
movaps xmmword [esp + 0x150], xmm7
mov dword [esp + 0x1a0], edi
movd xmm0, dword [esp + 0x1a0]
punpckldq xmm5, xmm0
movd xmm0, dword [esp + 0x1d0]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
punpcklqdq xmm0, xmm5
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x58]
movdqa xmm7, xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
mov ebx, dword [esp + 0x160]
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x5c]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, edi
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], eax
movzx eax, bl
mov ebx, dword [eax*4 + 0x4c17f0]
xor ebx, dword [ecx*4 + 0x4c23f0]
mov ecx, esi
movzx esi, ch
xor ebx, dword [esi*4 + 0x4c1bf0]
mov edx, dword [esp + 0x160]
movd xmm3, dword [esp + 0x1c0]
movd xmm1, dword [esp + 0x1b0]
shr edx, 0x10
movd xmm0, dword [esp + 0x1d0]
movzx edi, dl
xor ebx, dword [edi*4 + 0x4c1ff0]
punpckldq xmm0, xmm3
mov dword [esp + 0x1a0], ebx
movd xmm6, dword [esp + 0x1a0]
punpckldq xmm1, xmm6
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
pxor xmm0, xmmword [esp + 0x150]
call fcn.0052b6c6
movdqa xmm4, xmmword [esp + 0x40]
movdqa xmm2, xmmword [esp + 0x120]
movd esi, xmm4
pshufd xmm6, xmm4, 0xff
pshufd xmm5, xmm4, 0x55
movd dword [esp + 0x120], xmm2
mov eax, esi
pshufd xmm1, xmm4, 0xaa
movzx edx, al
pshufd xmm4, xmm2, 0xaa
movd edi, xmm6
movdqa xmm6, xmmword [esp + 0x110]
movd ecx, xmm5
pshufd xmm3, xmm2, 0x55
movd ebx, xmm1
pshufd xmm5, xmm2, 0xff
movd dword [esp + 0x1d0], xmm4
pshufd xmm2, xmm6, 0xaa
movd dword [esp + 0x110], xmm6
pshufd xmm1, xmm6, 0x55
movd dword [esp + 0x138], xmm3
movd dword [esp + 0x134], xmm5
pshufd xmm3, xmm6, 0xff
movd dword [esp + 0x1c0], xmm2
movd dword [esp + 0x130], xmm1
movd dword [esp + 0x100], xmm3
movdqa xmm4, xmmword [esp + 0xf0]
pshufd xmm5, xmm4, 0x55
movd dword [esp + 0xf0], xmm4
movdqa xmm2, xmmword [esp + 0x170]
pshufd xmm6, xmm4, 0xaa
pshufd xmm1, xmm4, 0xff
movd dword [esp + 0xec], xmm5
pshufd xmm3, xmm2, 0x55
movd dword [esp + 0xc0], xmm2
pshufd xmm4, xmm2, 0xaa
movd dword [esp + 0x1b0], xmm6
pshufd xmm5, xmm2, 0xff
movd dword [esp + 0xd0], xmm1
movd dword [esp + 0xb0], xmm3
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x1a0], xmm4
movd dword [esp + 0xa0], xmm5
pshufd xmm5, xmm7, 0x55
movdqa xmm6, xmmword [esp + 0x190]
movd dword [esp + 0xe8], xmm6
mov dword [esp + 0x170], edi
shr edi, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
mov edi, ebx
movzx edx, ch
shr edi, 0x10
movd dword [esp + 0x70], xmm7
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, edi
movd dword [esp + 0xe0], xmm0
movzx edi, dl
pshufd xmm2, xmm6, 0x55
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
movd dword [esp + 0x60], xmm5
shr edi, 0x18
pshufd xmm3, xmm6, 0xaa
pshufd xmm4, xmm6, 0xff
movd dword [esp + 0x90], xmm2
pshufd xmm6, xmm7, 0xaa
movd dword [esp + 0x160], xmm1
mov dword [esp + 0x40], eax
movzx eax, cl
movd dword [esp + 0x190], xmm3
mov eax, dword [eax*4 + 0x4c17f0]
pshufd xmm2, xmm0, 0xaa
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
movd dword [esp + 0x180], xmm6
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x170]
movd dword [esp + 0x80], xmm4
pshufd xmm7, xmm7, 0xff
movd dword [esp + 0x5c], xmm2
pshufd xmm0, xmm0, 0xff
shr edi, 0x10
mov edx, edi
movd dword [esp + 0xe4], xmm7
movzx edi, dl
mov edx, dword [esp + 0x170]
movd dword [esp + 0x58], xmm0
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, ecx
shr ecx, 0x10
shr edi, 0x18
movzx ecx, cl
mov dword [esp + 0x54], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, esi
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x170]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
xor edi, dword [esi*4 + 0x4c1bf0]
movd xmm5, dword [esp + 0x54]
xor edi, dword [ecx*4 + 0x4c1ff0]
movd xmm3, dword [esp + 0x50]
movd xmm0, dword [esp + 0x40]
movdqa xmm7, xmmword [esp + 0x30]
punpckldq xmm0, xmm5
mov dword [esp + 0x170], edi
movd xmm4, dword [esp + 0x170]
movdqa xmm1, xmmword [esp + 0x220]
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm3
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x120]
mov edi, dword [esp + 0x134]
movaps xmmword [esp + 0x170], xmm0
mov edx, esi
mov ebx, edi
shr ebx, 0x18
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x138]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1d0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x120], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x1d0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x134], eax
movzx eax, bl
mov ebx, dword [esp + 0x1d0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
movd xmm2, dword [esp + 0x138]
xor edi, dword [esi*4 + 0x4c1bf0]
movd xmm1, dword [esp + 0x134]
xor edi, dword [eax*4 + 0x4c1ff0]
movd xmm0, dword [esp + 0x120]
punpckldq xmm0, xmm2
mov dword [esp + 0x1d0], edi
movd xmm6, dword [esp + 0x1d0]
punpckldq xmm1, xmm6
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x220]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x110]
mov edi, dword [esp + 0x100]
movaps xmmword [esp + 0x120], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
mov ecx, dword [esp + 0x130]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ebx, ch
xor eax, dword [ebx*4 + 0x4c1bf0]
mov ebx, dword [esp + 0x1c0]
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ebx*4 + 0x4c1bf0]
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x134], eax
movzx eax, cl
mov ecx, dword [esp + 0x1c0]
mov edi, dword [eax*4 + 0x4c17f0]
shr ecx, 0x18
xor edi, dword [ecx*4 + 0x4c23f0]
movd xmm4, dword [esp + 0x138]
xor edi, dword [esi*4 + 0x4c1bf0]
shr ebx, 0x10
movd xmm1, dword [esp + 0x134]
movzx eax, bl
movd xmm0, dword [esp + 0x1d0]
xor edi, dword [eax*4 + 0x4c1ff0]
punpckldq xmm0, xmm4
mov dword [esp + 0x1c0], edi
movd xmm3, dword [esp + 0x1c0]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x220]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xd0]
movaps xmmword [esp + 0x1c0], xmm0
mov ecx, esi
mov edx, edi
movzx ebx, cl
shr edx, 0x18
mov eax, dword [ebx*4 + 0x4c17f0]
mov ebx, dword [esp + 0xec]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1b0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x1b0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x134], eax
movzx eax, bl
mov ebx, dword [esp + 0x1b0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
movd xmm2, dword [esp + 0x138]
xor edi, dword [esi*4 + 0x4c1bf0]
movd xmm6, dword [esp + 0x134]
xor edi, dword [eax*4 + 0x4c1ff0]
movd xmm0, dword [esp + 0x1d0]
movdqa xmm1, xmmword [esp + 0x220]
punpckldq xmm0, xmm2
mov dword [esp + 0x1b0], edi
movd xmm5, dword [esp + 0x1b0]
punpckldq xmm6, xmm5
punpcklqdq xmm0, xmm6
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xa0]
movaps xmmword [esp + 0x1b0], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
mov ecx, dword [esp + 0xb0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ebx, ch
xor eax, dword [ebx*4 + 0x4c1bf0]
mov ebx, dword [esp + 0x1a0]
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
xor eax, dword [ebx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
shr ebx, 0x10
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x1a0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x134], eax
movzx eax, cl
mov ecx, dword [esp + 0x1a0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, bl
shr ecx, 0x18
xor edi, dword [ecx*4 + 0x4c23f0]
movd xmm4, dword [esp + 0x138]
xor edi, dword [esi*4 + 0x4c1bf0]
movd xmm1, dword [esp + 0x134]
xor edi, dword [eax*4 + 0x4c1ff0]
movd xmm0, dword [esp + 0x1d0]
punpckldq xmm0, xmm4
mov dword [esp + 0x1a0], edi
movd xmm3, dword [esp + 0x1a0]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x220]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x80]
movaps xmmword [esp + 0x1a0], xmm0
mov ecx, esi
mov edx, edi
movzx ebx, cl
shr edx, 0x18
mov eax, dword [ebx*4 + 0x4c17f0]
mov ebx, dword [esp + 0x90]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x190]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x134], eax
movzx eax, bl
mov ebx, dword [esp + 0x190]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
movd xmm5, dword [esp + 0x138]
xor edi, dword [esi*4 + 0x4c1bf0]
movd xmm2, dword [esp + 0x134]
xor edi, dword [eax*4 + 0x4c1ff0]
movd xmm0, dword [esp + 0x1d0]
movdqa xmm1, xmmword [esp + 0x220]
punpckldq xmm0, xmm5
mov dword [esp + 0x190], edi
movd xmm6, dword [esp + 0x190]
punpckldq xmm2, xmm6
punpcklqdq xmm0, xmm2
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0xe4]
movaps xmmword [esp + 0x190], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
mov ecx, dword [esp + 0x60]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ebx, ch
xor eax, dword [ebx*4 + 0x4c1bf0]
mov ebx, dword [esp + 0x180]
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ebx*4 + 0x4c1bf0]
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
shr ebx, 0x10
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0x180]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x134], eax
movzx eax, cl
mov ecx, dword [esp + 0x180]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, bl
shr ecx, 0x18
xor edi, dword [ecx*4 + 0x4c23f0]
movd xmm4, dword [esp + 0x138]
xor edi, dword [esi*4 + 0x4c1bf0]
movd xmm1, dword [esp + 0x134]
xor edi, dword [eax*4 + 0x4c1ff0]
movd xmm0, dword [esp + 0x1d0]
punpckldq xmm0, xmm4
mov dword [esp + 0x180], edi
movd xmm3, dword [esp + 0x180]
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x220]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x58]
movaps xmmword [esp + 0x180], xmm0
mov ecx, esi
mov edx, edi
movzx ebx, cl
shr edx, 0x18
mov eax, dword [ebx*4 + 0x4c17f0]
mov ebx, dword [esp + 0x160]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x5c]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, edi
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
shr ebx, 0x18
mov edx, esi
shr edx, 0x10
mov dword [esp + 0x138], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x134], eax
movzx eax, bl
mov ebx, dword [eax*4 + 0x4c17f0]
xor ebx, dword [ecx*4 + 0x4c23f0]
mov ecx, esi
movzx esi, ch
xor ebx, dword [esi*4 + 0x4c1bf0]
mov edx, dword [esp + 0x160]
movd xmm6, dword [esp + 0x138]
movd xmm0, dword [esp + 0x1d0]
shr edx, 0x10
movd xmm1, dword [esp + 0x134]
movzx edi, dl
punpckldq xmm0, xmm6
xor ebx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x160], ebx
movd xmm2, dword [esp + 0x160]
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x220]
pxor xmm0, xmm7
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [esp + 0x170]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1d0], xmm0
movdqa xmm0, xmmword [esp + 0x120]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x170], xmm0
movdqa xmm0, xmmword [esp + 0x1c0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1c0], xmm0
movdqa xmm0, xmmword [esp + 0x1b0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1b0], xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1a0], xmm0
movdqa xmm0, xmmword [esp + 0x190]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x190], xmm0
movdqa xmm0, xmmword [esp + 0x180]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x180], xmm0
movdqa xmm0, xmm7
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x1f0]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [esp + 0x1d0]
call fcn.0052b6c6
movdqa xmm6, xmmword [esp + 0x170]
pshufd xmm4, xmm6, 0xaa
movd dword [esp + 0x170], xmm6
movdqa xmm2, xmmword [esp + 0x1c0]
pshufd xmm5, xmm6, 0x55
pshufd xmm1, xmm6, 0xff
movd dword [esp + 0x1d0], xmm4
pshufd xmm6, xmm2, 0xaa
movdqa xmm4, xmmword [esp + 0x1b0]
pshufd xmm3, xmm2, 0x55
movd dword [esp + 0x160], xmm5
pshufd xmm5, xmm2, 0xff
movd dword [esp + 0x138], xmm2
pshufd xmm2, xmm4, 0xaa
movd dword [esp + 0x1c0], xmm6
movd dword [esp + 0x134], xmm3
pshufd xmm3, xmm4, 0xff
movd dword [esp + 0x120], xmm1
pshufd xmm1, xmm4, 0x55
movd dword [esp + 0x130], xmm4
movd dword [esp + 0x1b0], xmm2
movd dword [esp + 0xf0], xmm3
movd dword [esp + 0x110], xmm5
movd dword [esp + 0x100], xmm1
movdqa xmm6, xmmword [esp + 0x1a0]
movdqa xmm2, xmmword [esp + 0x190]
pshufd xmm4, xmm6, 0xaa
pshufd xmm3, xmm2, 0x55
movd dword [esp + 0xec], xmm6
pshufd xmm5, xmm6, 0x55
movd dword [esp + 0xb0], xmm2
movd dword [esp + 0x1a0], xmm4
pshufd xmm1, xmm6, 0xff
movd dword [esp + 0xa0], xmm3
pshufd xmm6, xmm2, 0xaa
movd dword [esp + 0xd0], xmm5
pshufd xmm5, xmm2, 0xff
movd dword [esp + 0xc0], xmm1
movd dword [esp + 0x190], xmm6
movd dword [esp + 0xe8], xmm5
movdqa xmm4, xmmword [esp + 0x180]
pshufd xmm3, xmm4, 0xff
movd esi, xmm4
pshufd xmm1, xmm4, 0x55
pshufd xmm2, xmm4, 0xaa
mov eax, esi
movd edi, xmm3
movzx edx, al
movd dword [esp + 0x180], xmm3
movd ecx, xmm1
mov eax, dword [edx*4 + 0x4c17f0]
shr edi, 0x18
movd ebx, xmm2
xor eax, dword [edi*4 + 0x4c23f0]
movd edi, xmm2
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
pshufd xmm2, xmm7, 0x55
shr edi, 0x10
pshufd xmm3, xmm7, 0xaa
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm4
shr edi, 0x18
mov dword [esp + 0x90], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x180]
shr edi, 0x10
mov edx, edi
movzx edi, dl
mov edx, dword [esp + 0x180]
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm1
shr edi, 0x18
mov dword [esp + 0x80], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
movd edi, xmm4
shr ebx, 0x18
shr ecx, 0x10
movd xmm1, dword [esp + 0x80]
shr edi, 0x10
movzx ecx, cl
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x70], eax
movzx eax, byte [esp + 0x180]
movd xmm6, dword [esp + 0x70]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm4
movd xmm4, dword [esp + 0x90]
movzx esi, bh
movd ebx, xmm3
xor edi, dword [esi*4 + 0x4c1bf0]
movd esi, xmm7
xor edi, dword [ecx*4 + 0x4c1ff0]
pshufd xmm7, xmm7, 0xff
mov edx, esi
movd ecx, xmm2
movzx eax, dl
punpckldq xmm4, xmm1
mov eax, dword [eax*4 + 0x4c17f0]
movzx edx, ch
mov dword [esp + 0x180], edi
movd edi, xmm7
movd xmm5, dword [esp + 0x180]
shr edi, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
movd edi, xmm3
punpckldq xmm6, xmm5
xor eax, dword [edx*4 + 0x4c1bf0]
shr edi, 0x10
pshufd xmm3, xmm0, 0x55
mov edx, edi
movzx edi, dl
punpcklqdq xmm4, xmm6
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
movdqa xmm6, xmmword [esp + 0x1f0]
shr edi, 0x18
pxor xmm4, xmm6
movd dword [esp + 0x1f0], xmm7
mov dword [esp + 0x180], eax
movzx eax, cl
shr ecx, 0x10
movzx ecx, cl
pshufd xmm7, xmm0, 0xaa
movaps xmmword [esp + 0x60], xmm4
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1f0]
movd xmm4, dword [esp + 0x180]
shr edi, 0x10
mov edx, edi
movzx edi, dl
mov edx, dword [esp + 0x1f0]
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm2
shr edi, 0x18
mov dword [esp + 0x90], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, esi
movd xmm2, dword [esp + 0x90]
shr edi, 0x10
mov edx, edi
punpckldq xmm4, xmm2
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x1f0]
movd xmm1, dword [esp + 0x80]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
movd ebx, xmm7
xor edi, dword [esi*4 + 0x4c1bf0]
movd esi, xmm0
xor edi, dword [ecx*4 + 0x4c1ff0]
pshufd xmm0, xmm0, 0xff
mov edx, esi
movd ecx, xmm3
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
movzx edx, ch
mov dword [esp + 0x1f0], edi
movd edi, xmm0
movd xmm5, dword [esp + 0x1f0]
shr edi, 0x18
movd dword [esp + 0x1f0], xmm0
xor eax, dword [edi*4 + 0x4c23f0]
movd edi, xmm7
xor eax, dword [edx*4 + 0x4c1bf0]
punpckldq xmm1, xmm5
shr edi, 0x10
mov edx, edi
movzx edi, dl
punpcklqdq xmm4, xmm1
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
shr edi, 0x18
pxor xmm4, xmm6
mov dword [esp + 0x180], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx ecx, cl
movaps xmmword [esp + 0x70], xmm4
mov edi, dword [esp + 0x1f0]
shr edi, 0x10
movd xmm2, dword [esp + 0x180]
mov edx, edi
movzx edi, dl
mov edx, dword [esp + 0x1f0]
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm3
movdqa xmm3, xmmword [esp + 0x200]
shr edi, 0x18
mov dword [esp + 0x90], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, esi
movd xmm4, dword [esp + 0x90]
shr edi, 0x10
mov edx, edi
punpckldq xmm2, xmm4
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x80], eax
movzx eax, byte [esp + 0x1f0]
movd xmm1, dword [esp + 0x80]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
xor edi, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0x170]
xor edi, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x160]
mov edx, esi
movzx eax, dl
movzx edx, ch
mov dword [esp + 0x1f0], edi
mov edi, dword [esp + 0x120]
mov eax, dword [eax*4 + 0x4c17f0]
movd xmm5, dword [esp + 0x1f0]
mov ebx, edi
punpckldq xmm1, xmm5
shr ebx, 0x18
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x1d0]
xor eax, dword [edx*4 + 0x4c1bf0]
punpcklqdq xmm2, xmm1
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
pxor xmm2, xmm3
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
movaps xmmword [esp + 0x80], xmm2
mov dword [esp + 0x200], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ebx*4 + 0x4c1bf0]
movd xmm5, dword [esp + 0x200]
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x1d0]
movd xmm1, dword [esp + 0x1f0]
punpckldq xmm5, xmm1
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x180], eax
movzx eax, cl
mov ecx, dword [esp + 0x1d0]
mov edi, dword [eax*4 + 0x4c17f0]
movd xmm7, dword [esp + 0x180]
shr ecx, 0x18
shr ebx, 0x10
xor edi, dword [ecx*4 + 0x4c23f0]
movzx eax, bl
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], edi
movd xmm0, dword [esp + 0x1d0]
punpckldq xmm7, xmm0
punpcklqdq xmm5, xmm7
pxor xmm5, xmm6
pshufd xmm7, xmm5, 0xff
movd esi, xmm5
pshufd xmm2, xmm5, 0x55
pshufd xmm4, xmm5, 0xaa
mov edx, esi
movd edi, xmm7
movzx eax, dl
movd dword [esp + 0x200], xmm7
movd ecx, xmm2
mov eax, dword [eax*4 + 0x4c17f0]
shr edi, 0x18
movd ebx, xmm4
xor eax, dword [edi*4 + 0x4c23f0]
movd edi, xmm4
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm5
shr edi, 0x18
mov dword [esp + 0x1f0], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x200]
movzx ecx, cl
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm2
shr edi, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
mov edx, dword [esp + 0x200]
movd xmm7, dword [esp + 0x1f0]
movd xmm1, dword [esp + 0x1d0]
movzx edi, dh
punpckldq xmm7, xmm1
xor eax, dword [edi*4 + 0x4c1bf0]
movd edi, xmm5
movdqa xmm1, xmm3
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0x200]
movd xmm0, dword [esp + 0x180]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm5
movzx esi, bh
xor edi, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0x138]
xor edi, dword [ecx*4 + 0x4c1ff0]
mov edx, esi
movzx eax, dl
mov dword [esp + 0x200], edi
mov edi, dword [esp + 0x110]
mov eax, dword [eax*4 + 0x4c17f0]
movd xmm5, dword [esp + 0x200]
mov ebx, edi
punpckldq xmm0, xmm5
shr ebx, 0x18
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x134]
punpcklqdq xmm7, xmm0
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1c0]
pxor xmm7, xmm3
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x200], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
movd xmm5, dword [esp + 0x1f0]
movd xmm0, dword [esp + 0x200]
movaps xmmword [esp + 0x1f0], xmm6
punpckldq xmm0, xmm5
movaps xmmword [esp + 0x200], xmm3
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1c0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm2, dword [esp + 0x1d0]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1c0], edi
movd xmm4, dword [esp + 0x1c0]
punpckldq xmm2, xmm4
punpcklqdq xmm0, xmm2
pxor xmm0, xmm6
call fcn.0052b6c6
mov esi, dword [esp + 0x130]
mov edi, dword [esp + 0xf0]
movaps xmmword [esp + 0x90], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
mov ecx, dword [esp + 0x100]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ebx, ch
xor eax, dword [ebx*4 + 0x4c1bf0]
mov ebx, dword [esp + 0x1b0]
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ebx*4 + 0x4c1bf0]
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x1b0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x180], eax
movzx eax, cl
mov ecx, dword [esp + 0x1b0]
mov edi, dword [eax*4 + 0x4c17f0]
movd xmm3, dword [esp + 0x180]
movd xmm1, dword [esp + 0x1c0]
shr ecx, 0x18
xor edi, dword [ecx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
shr ebx, 0x10
movzx eax, bl
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], edi
movd xmm0, dword [esp + 0x1b0]
punpckldq xmm3, xmm0
movd xmm0, dword [esp + 0x1d0]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x200]
punpcklqdq xmm0, xmm3
pxor xmm0, xmmword [esp + 0x1f0]
call fcn.0052b6c6
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xc0]
movaps xmmword [esp + 0x100], xmm0
mov ecx, esi
mov edx, edi
movzx ebx, cl
shr edx, 0x18
mov eax, dword [ebx*4 + 0x4c17f0]
mov ebx, dword [esp + 0xd0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1a0]
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x1a0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x1b0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1a0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm6, dword [esp + 0x1c0]
movd xmm0, dword [esp + 0x1d0]
shr ebx, 0x18
movd xmm4, dword [esp + 0x1b0]
xor edi, dword [ebx*4 + 0x4c23f0]
punpckldq xmm0, xmm6
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
movdqa xmm1, xmmword [esp + 0x200]
mov dword [esp + 0x1a0], edi
movd xmm5, dword [esp + 0x1a0]
punpckldq xmm4, xmm5
punpcklqdq xmm0, xmm4
pxor xmm0, xmmword [esp + 0x1f0]
call fcn.0052b6c6
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0xe8]
movaps xmmword [esp + 0x180], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
mov ecx, dword [esp + 0xa0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ebx, ch
xor eax, dword [ebx*4 + 0x4c1bf0]
mov ebx, dword [esp + 0x190]
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
xor eax, dword [ebx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
shr ebx, 0x10
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movzx edi, bl
mov dword [esp + 0x1b0], eax
movzx eax, cl
mov ecx, dword [esp + 0x190]
mov edx, dword [eax*4 + 0x4c17f0]
mov eax, esi
movd xmm3, dword [esp + 0x1b0]
movzx esi, ah
movd xmm1, dword [esp + 0x1c0]
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x4c23f0]
xor edx, dword [esi*4 + 0x4c1bf0]
xor edx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1a0], edx
movd xmm0, dword [esp + 0x1a0]
punpckldq xmm3, xmm0
movd xmm0, dword [esp + 0x1d0]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x200]
punpcklqdq xmm0, xmm3
pxor xmm0, xmmword [esp + 0x1f0]
call fcn.0052b6c6
movdqa xmm2, xmmword [esp + 0x60]
movdqa xmm1, xmm0
movdqa xmm3, xmmword [esp + 0x70]
pshufd xmm5, xmm2, 0xaa
pshufd xmm4, xmm2, 0x55
pshufd xmm0, xmm3, 0x55
movd dword [esp + 0x170], xmm2
movd dword [esp + 0x1d0], xmm5
pshufd xmm6, xmm2, 0xff
movd dword [esp + 0x160], xmm4
pshufd xmm2, xmm3, 0xaa
movd dword [esp + 0x134], xmm0
pshufd xmm4, xmm3, 0xff
movd dword [esp + 0x120], xmm6
movd dword [esp + 0x138], xmm3
movd dword [esp + 0x1c0], xmm2
movd dword [esp + 0x110], xmm4
movdqa xmm5, xmmword [esp + 0x80]
pshufd xmm0, xmm5, 0xff
movd esi, xmm5
pshufd xmm6, xmm5, 0x55
pshufd xmm3, xmm5, 0xaa
mov edx, esi
movd edi, xmm0
movzx eax, dl
movd dword [esp + 0x1b0], xmm0
movd ecx, xmm6
mov edx, dword [eax*4 + 0x4c17f0]
shr edi, 0x18
movd ebx, xmm3
xor edx, dword [edi*4 + 0x4c23f0]
movd edi, xmm3
movzx eax, ch
xor edx, dword [eax*4 + 0x4c1bf0]
pshufd xmm3, xmm7, 0xaa
shr edi, 0x10
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm5
shr edi, 0x18
mov dword [esp + 0x1a0], edx
movzx edx, cl
shr ecx, 0x10
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor edx, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1b0]
movzx ecx, cl
movd xmm0, dword [esp + 0x1a0]
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, dword [esp + 0x1b0]
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm6
pshufd xmm6, xmm7, 0x55
shr edi, 0x18
mov dword [esp + 0x190], edx
movzx edx, bl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, ah
xor edx, dword [edi*4 + 0x4c1bf0]
movd edi, xmm5
shr edi, 0x10
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x130], edx
movzx edx, byte [esp + 0x1b0]
movd xmm2, dword [esp + 0x130]
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm5
movd xmm5, dword [esp + 0x190]
movzx esi, bh
movd ebx, xmm3
xor eax, dword [esi*4 + 0x4c1bf0]
movd esi, xmm7
pshufd xmm7, xmm7, 0xff
xor eax, dword [ecx*4 + 0x4c1ff0]
movd ecx, xmm6
mov edx, esi
punpckldq xmm0, xmm5
movdqa xmm5, xmmword [esp + 0x140]
movd edi, xmm7
mov dword [esp + 0x1b0], eax
movzx eax, dl
shr edi, 0x18
mov edx, dword [eax*4 + 0x4c17f0]
movzx eax, ch
xor edx, dword [edi*4 + 0x4c23f0]
movd edi, xmm3
movd xmm4, dword [esp + 0x1b0]
xor edx, dword [eax*4 + 0x4c1bf0]
movd dword [esp + 0x1b0], xmm7
shr edi, 0x10
punpckldq xmm2, xmm4
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
mov edi, esi
shr edi, 0x18
punpcklqdq xmm0, xmm2
mov dword [esp + 0x1a0], edx
movzx edx, cl
shr ecx, 0x10
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor edx, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1b0]
movzx ecx, cl
pxor xmm0, xmm5
shr edi, 0x10
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm6
shr edi, 0x18
mov dword [esp + 0x190], edx
movzx edx, bl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x4c17f0]
mov eax, dword [esp + 0x1b0]
xor edx, dword [edi*4 + 0x4c23f0]
movd xmm6, dword [esp + 0x190]
movdqa xmm7, xmmword [esp + 0x90]
movzx edi, ah
xor edx, dword [edi*4 + 0x4c1bf0]
mov edi, esi
movd xmm3, dword [esp + 0x1a0]
shr edi, 0x10
mov eax, edi
punpckldq xmm3, xmm6
movzx edi, al
pshufd xmm6, xmm7, 0xff
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm6
mov dword [esp + 0x140], edx
movzx edx, byte [esp + 0x1b0]
shr edi, 0x18
movd xmm2, dword [esp + 0x140]
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
xor eax, dword [esi*4 + 0x4c1bf0]
movd esi, xmm7
xor eax, dword [ecx*4 + 0x4c1ff0]
mov edx, esi
mov dword [esp + 0x1b0], eax
movzx eax, dl
movd xmm4, dword [esp + 0x1b0]
mov edx, dword [eax*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movd dword [esp + 0x1b0], xmm6
punpckldq xmm2, xmm4
pshufd xmm4, xmm7, 0xaa
punpcklqdq xmm3, xmm2
pshufd xmm2, xmm7, 0x55
movd edi, xmm4
movd ebx, xmm4
shr edi, 0x10
pxor xmm3, xmm5
movd ecx, xmm2
movzx eax, ch
xor edx, dword [eax*4 + 0x4c1bf0]
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm7
shr edi, 0x18
mov dword [esp + 0x1a0], edx
movzx edx, cl
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor edx, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1b0]
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, dword [esp + 0x1b0]
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm2
shr edi, 0x18
mov dword [esp + 0x190], edx
movzx edx, bl
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, ah
xor edx, dword [edi*4 + 0x4c1bf0]
movd edi, xmm7
shr ebx, 0x18
shr ecx, 0x10
movd xmm6, dword [esp + 0x190]
shr edi, 0x10
movzx ecx, cl
movd xmm2, dword [esp + 0x1a0]
mov eax, edi
movzx edi, al
punpckldq xmm2, xmm6
xor edx, dword [edi*4 + 0x4c1ff0]
movdqa xmm6, xmm5
mov dword [esp + 0x140], edx
movzx edx, byte [esp + 0x1b0]
movd xmm4, dword [esp + 0x140]
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm7
movzx esi, bh
xor eax, dword [esi*4 + 0x4c1bf0]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], eax
movd xmm7, dword [esp + 0x1b0]
punpckldq xmm4, xmm7
punpcklqdq xmm2, xmm4
pxor xmm2, xmm5
movdqa xmm5, xmmword [esp + 0x100]
movaps xmmword [esp + 0x1a0], xmm2
pshufd xmm2, xmm5, 0xff
movd esi, xmm5
pshufd xmm4, xmm5, 0x55
pshufd xmm7, xmm5, 0xaa
mov edx, esi
movd edi, xmm2
movzx eax, dl
movd dword [esp + 0x1b0], xmm2
movd ecx, xmm4
mov edx, dword [eax*4 + 0x4c17f0]
shr edi, 0x18
movd ebx, xmm7
xor edx, dword [edi*4 + 0x4c23f0]
movd edi, xmm7
movzx eax, ch
xor edx, dword [eax*4 + 0x4c1bf0]
shr edi, 0x10
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm5
shr edi, 0x18
mov dword [esp + 0x190], edx
movzx edx, cl
shr ecx, 0x10
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor edx, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1b0]
movzx ecx, cl
shr edi, 0x10
mov eax, edi
movzx edi, al
mov eax, dword [esp + 0x1b0]
xor edx, dword [edi*4 + 0x4c1ff0]
movd edi, xmm4
shr edi, 0x18
mov dword [esp + 0x140], edx
movzx edx, bl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [edi*4 + 0x4c23f0]
movzx edi, ah
xor edx, dword [edi*4 + 0x4c1bf0]
movd edi, xmm5
shr edi, 0x10
mov eax, edi
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x130], edx
movzx edx, byte [esp + 0x1b0]
movd xmm2, dword [esp + 0x140]
movd xmm4, dword [esp + 0x130]
movd xmm7, dword [esp + 0x190]
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm5
punpckldq xmm7, xmm2
movzx esi, bh
xor eax, dword [esi*4 + 0x4c1bf0]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], eax
movd xmm5, dword [esp + 0x1b0]
punpckldq xmm4, xmm5
punpcklqdq xmm7, xmm4
movdqa xmm4, xmm7
movdqa xmm7, xmm6
pxor xmm4, xmm6
movdqa xmm6, xmmword [esp + 0x180]
pshufd xmm5, xmm6, 0x55
movd esi, xmm6
movaps xmmword [esp + 0x190], xmm4
pshufd xmm4, xmm6, 0xff
mov edx, esi
pshufd xmm2, xmm6, 0xaa
movd ecx, xmm5
movzx eax, dl
movd edi, xmm4
mov eax, dword [eax*4 + 0x4c17f0]
movzx edx, ch
movd ebx, xmm2
movd dword [esp + 0x1b0], xmm4
shr edi, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
movd edi, xmm2
xor eax, dword [edx*4 + 0x4c1bf0]
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm6
shr edi, 0x18
mov dword [esp + 0x180], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1b0]
movzx ecx, cl
shr edi, 0x10
mov edx, edi
movzx edi, dl
mov edx, dword [esp + 0x1b0]
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm5
shr edi, 0x18
mov dword [esp + 0x140], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
movd edi, xmm6
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x130], eax
movzx eax, byte [esp + 0x1b0]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm6
movd xmm5, dword [esp + 0x130]
movzx esi, bh
movd xmm2, dword [esp + 0x140]
xor edi, dword [esi*4 + 0x4c1bf0]
movd esi, xmm1
xor edi, dword [ecx*4 + 0x4c1ff0]
mov edx, esi
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
mov dword [esp + 0x1b0], edi
movd xmm6, dword [esp + 0x1b0]
punpckldq xmm5, xmm6
movd xmm6, dword [esp + 0x180]
punpckldq xmm6, xmm2
pshufd xmm2, xmm1, 0xaa
punpcklqdq xmm6, xmm5
pshufd xmm5, xmm1, 0x55
movd ebx, xmm2
pshufd xmm1, xmm1, 0xff
pxor xmm6, xmm7
movd ecx, xmm5
movd edi, xmm1
movd dword [esp + 0x1b0], xmm1
movzx edx, ch
shr edi, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
movd edi, xmm2
xor eax, dword [edx*4 + 0x4c1bf0]
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
shr edi, 0x18
mov dword [esp + 0x180], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1b0]
shr edi, 0x10
mov edx, edi
movzx edi, dl
mov edx, dword [esp + 0x1b0]
xor eax, dword [edi*4 + 0x4c1ff0]
movd edi, xmm5
shr edi, 0x18
mov dword [esp + 0x140], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, esi
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
mov dword [esp + 0x130], eax
movzx eax, byte [esp + 0x1b0]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], edi
movd xmm1, dword [esp + 0x130]
mov esi, dword [esp + 0x170]
mov edi, dword [esp + 0x120]
movd xmm5, dword [esp + 0x1b0]
movd xmm2, dword [esp + 0x140]
mov edx, esi
mov ebx, edi
shr ebx, 0x18
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x160]
punpckldq xmm1, xmm5
movd xmm5, dword [esp + 0x180]
movzx ecx, bh
punpckldq xmm5, xmm2
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1d0]
punpcklqdq xmm5, xmm1
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
movzx edx, dl
pxor xmm5, xmm7
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1b0], eax
movzx eax, bl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0x1d0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x170], eax
movzx eax, bl
mov ebx, dword [esp + 0x1d0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm2, dword [esp + 0x170]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], edi
movd xmm4, dword [esp + 0x1d0]
movd xmm1, dword [esp + 0x1b0]
punpckldq xmm2, xmm4
movd xmm4, dword [esp + 0x180]
movaps xmmword [esp + 0x140], xmm7
punpckldq xmm1, xmm4
punpcklqdq xmm1, xmm2
pxor xmm1, xmmword [esp + 0x200]
movd esi, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm4, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
mov edx, esi
movd ecx, xmm2
movzx eax, dl
mov edx, dword [eax*4 + 0x4c17f0]
movd ebx, xmm4
movd edi, xmm1
movzx eax, ch
movd dword [esp + 0x1d0], xmm1
shr edi, 0x18
xor edx, dword [edi*4 + 0x4c23f0]
xor edx, dword [eax*4 + 0x4c1bf0]
movd eax, xmm4
shr eax, 0x10
movzx edi, al
mov eax, esi
xor edx, dword [edi*4 + 0x4c1ff0]
shr eax, 0x18
movzx edi, bh
mov dword [esp + 0x1b0], edx
movzx edx, cl
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [eax*4 + 0x4c23f0]
mov eax, dword [esp + 0x1d0]
xor edx, dword [edi*4 + 0x4c1bf0]
shr ecx, 0x10
movzx ecx, cl
shr eax, 0x10
movzx edi, al
movd eax, xmm2
xor edx, dword [edi*4 + 0x4c1ff0]
shr eax, 0x18
mov dword [esp + 0x180], edx
movzx edx, bl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [eax*4 + 0x4c23f0]
mov eax, dword [esp + 0x1d0]
movd xmm4, dword [esp + 0x180]
movzx edi, ah
mov eax, esi
shr eax, 0x10
xor edx, dword [edi*4 + 0x4c1bf0]
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x170], edx
movzx edx, byte [esp + 0x1d0]
movd xmm1, dword [esp + 0x170]
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
xor eax, dword [esi*4 + 0x4c1bf0]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], eax
movd xmm2, dword [esp + 0x1d0]
punpckldq xmm1, xmm2
movd xmm2, dword [esp + 0x1b0]
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x110]
mov ecx, dword [esp + 0x134]
punpckldq xmm2, xmm4
mov edx, esi
mov ebx, edi
shr ebx, 0x18
movzx eax, dl
movzx edx, ch
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x1c0]
xor eax, dword [edx*4 + 0x4c1bf0]
movdqa xmm4, xmm2
mov edx, ebx
movzx ebx, bh
shr edx, 0x10
punpcklqdq xmm4, xmm1
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
pxor xmm4, xmm7
mov dword [esp + 0x1d0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ebx*4 + 0x4c1bf0]
movzx ebx, dl
mov edx, esi
xor eax, dword [ebx*4 + 0x4c1ff0]
mov ebx, ecx
shr ecx, 0x18
shr edx, 0x10
shr ebx, 0x10
mov dword [esp + 0x1b0], eax
movzx eax, byte [esp + 0x1c0]
movd xmm7, dword [esp + 0x1b0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, edi
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movzx edi, bl
mov dword [esp + 0x180], eax
movzx eax, cl
mov ecx, dword [esp + 0x1c0]
mov edx, dword [eax*4 + 0x4c17f0]
mov eax, esi
movd xmm2, dword [esp + 0x180]
movzx esi, ah
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x4c23f0]
xor edx, dword [esi*4 + 0x4c1bf0]
xor edx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1c0], edx
movd xmm1, dword [esp + 0x1c0]
punpckldq xmm2, xmm1
movd xmm1, dword [esp + 0x1d0]
punpckldq xmm1, xmm7
punpcklqdq xmm1, xmm2
pxor xmm1, xmmword [esp + 0x200]
movd esi, xmm1
pshufd xmm2, xmm1, 0x55
pshufd xmm7, xmm1, 0xaa
pshufd xmm1, xmm1, 0xff
mov edx, esi
movd ecx, xmm2
movzx eax, dl
movd ebx, xmm7
movd edi, xmm1
movd dword [esp + 0x1d0], xmm1
mov edx, dword [eax*4 + 0x4c17f0]
movzx eax, ch
shr edi, 0x18
xor edx, dword [edi*4 + 0x4c23f0]
xor edx, dword [eax*4 + 0x4c1bf0]
movd eax, xmm7
shr eax, 0x10
movzx edi, al
mov eax, esi
xor edx, dword [edi*4 + 0x4c1ff0]
shr eax, 0x18
movzx edi, bh
mov dword [esp + 0x1c0], edx
movzx edx, cl
shr ecx, 0x10
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [eax*4 + 0x4c23f0]
movzx ecx, cl
mov eax, dword [esp + 0x1d0]
xor edx, dword [edi*4 + 0x4c1bf0]
shr eax, 0x10
movzx edi, al
movd eax, xmm2
xor edx, dword [edi*4 + 0x4c1ff0]
shr eax, 0x18
mov dword [esp + 0x1b0], edx
movzx edx, bl
shr ebx, 0x18
mov edx, dword [edx*4 + 0x4c17f0]
xor edx, dword [eax*4 + 0x4c23f0]
mov eax, dword [esp + 0x1d0]
movd xmm7, dword [esp + 0x1b0]
movzx edi, ah
mov eax, esi
shr eax, 0x10
xor edx, dword [edi*4 + 0x4c1bf0]
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
mov edi, dword [esp + 0x13c]
movaps xmmword [edi], xmm0
mov dword [esp + 0x180], edx
movzx edx, byte [esp + 0x1d0]
sub edi, 0xffffff80
movaps xmmword [edi - 0x70], xmm3
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movzx esi, bh
movd xmm1, dword [esp + 0x180]
xor eax, dword [esi*4 + 0x4c1bf0]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], eax
movd xmm2, dword [esp + 0x1d0]
punpckldq xmm1, xmm2
movd xmm2, dword [esp + 0x1c0]
punpckldq xmm2, xmm7
punpcklqdq xmm2, xmm1
movdqa xmm1, xmmword [esp + 0x1a0]
pxor xmm2, xmmword [esp + 0x140]
movaps xmmword [edi - 0x60], xmm1
movaps xmmword [edi - 0x40], xmm6
movaps xmmword [edi - 0x30], xmm5
movaps xmmword [edi - 0x20], xmm4
movaps xmmword [edi - 0x10], xmm2
movdqa xmm7, xmmword [esp + 0x190]
movaps xmmword [edi - 0x50], xmm7
cmp dword [esp + 0x2c], edi
mov dword [esp + 0x13c], edi
jne 0x532366
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret