Function at 0x52e2b6
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 xmm1, xmmword [ebx + 0xa0]
mov dword [esp + 0x90], esi
add esi, 0x100000
movaps xmmword [esp + 0x190], xmm1
mov dword [esp + 0x58], esi
movdqa xmm1, xmmword [esp + 0x250]
movaps xmmword [esp + 0xa0], xmm1
movdqa xmm1, xmmword [esp + 0x260]
movaps xmmword [esp + 0x240], xmm1
movdqa xmm1, xmmword [esp + 0x270]
movaps xmmword [esp + 0x40], xmm1
movdqa xmm1, xmmword [esp + 0x280]
movaps xmmword [esp + 0x80], xmm1
movdqa xmm1, xmmword [esp + 0x290]
movaps xmmword [esp + 0x30], xmm1
movdqa xmm1, xmmword [esp + 0x2a0]
movaps xmmword [esp + 0x20], xmm1
movdqa xmm1, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x230], xmm1
movdqa xmm1, xmmword [esp + 0x2c0]
movaps xmmword [esp + 0x220], xmm1
movdqa xmm1, xmmword [esp + 0x2d0]
movdqa xmm7, xmmword [ebx + 0x80]
movaps xmmword [esp + 0x210], xmm1
movdqa xmm1, xmmword [esp + 0x2e0]
movdqa xmm5, xmmword [ebx + 0x40]
movdqa xmm6, xmmword [ebx + 0x90]
movaps xmmword [esp + 0x200], xmm1
movdqa xmm1, xmm7
movdqa xmm7, xmm5
movdqa xmm5, xmm6
movdqa xmm6, xmm1
movdqa xmm4, xmmword [ebx + 0x50]
movdqa xmm3, xmmword [ebx + 0x60]
movdqa xmm2, xmmword [ebx + 0x70]
movdqa xmm0, xmmword [ebx + 0xb0]
lea esi, [esi]
pshufd xmm1, xmm7, 0x55
movd esi, xmm7
movd dword [esp + 0x170], xmm4
movd dword [esp + 0x140], xmm3
mov eax, esi
movd dword [esp + 0x1f0], xmm1
pshufd xmm1, xmm7, 0xaa
pshufd xmm7, xmm7, 0xff
movd dword [esp + 0x11c], xmm2
movd dword [esp + 0x114], xmm6
movzx eax, al
movd ecx, xmm1
pshufd xmm1, xmm4, 0x55
movd ebx, xmm7
pshufd xmm7, xmm4, 0xaa
pshufd xmm4, xmm4, 0xff
movd dword [esp + 0xf8], xmm5
movd dword [esp + 0x160], xmm1
pshufd xmm1, xmm3, 0x55
movd dword [esp + 0x1e0], xmm7
pshufd xmm7, xmm3, 0xaa
movd dword [esp + 0x150], xmm4
pshufd xmm3, xmm3, 0xff
pshufd xmm4, xmm2, 0x55
movd dword [esp + 0x130], xmm1
pshufd xmm1, xmm2, 0xaa
movd dword [esp + 0x1d0], xmm7
pshufd xmm2, xmm2, 0xff
movd dword [esp + 0x120], xmm3
pshufd xmm7, xmm6, 0x55
movd dword [esp + 0x118], xmm4
pshufd xmm3, xmm6, 0xaa
movd dword [esp + 0x1c0], xmm1
pshufd xmm4, xmm5, 0x55
movd dword [esp + 0x100], xmm2
pshufd xmm1, xmm5, 0xaa
movd dword [esp + 0xe0], xmm0
pshufd xmm6, xmm6, 0xff
movd dword [esp + 0x1b0], xmm3
pshufd xmm5, xmm5, 0xff
movd dword [esp + 0xf4], xmm4
movd dword [esp + 0x1a0], xmm1
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0xfc], xmm6
mov edi, ebx
mov eax, dword [eax*4 + 0x4c17f0]
movd dword [esp + 0xf0], xmm5
pshufd xmm5, xmm0, 0xaa
pshufd xmm0, xmm0, 0xff
shr edi, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
movd dword [esp + 0x110], xmm7
movdqa xmm2, xmmword [esp + 0x190]
pshufd xmm6, xmm2, 0xaa
movd dword [esp + 0xdc], xmm5
pshufd xmm4, xmm2, 0xff
movd dword [esp + 0xec], xmm2
pshufd xmm3, xmm2, 0x55
movd dword [esp + 0x180], xmm1
movd dword [esp + 0x190], xmm6
movd dword [esp + 0xe4], xmm4
movd dword [esp + 0xe8], xmm3
movd dword [esp + 0xd8], xmm0
mov edx, dword [esp + 0x1f0]
movzx edi, dh
movdqa xmm1, xmmword [esp + 0x240]
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, ecx
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
shr edi, 0x18
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x1f0]
movd xmm0, dword [esp + 0xc0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, ch
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, ebx
shr edi, 0x10
mov edx, edi
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, dword [esp + 0x1f0]
shr edi, 0x18
mov dword [esp + 0xb0], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, esi
movzx ebx, bl
shr edi, 0x10
movd xmm3, dword [esp + 0xb0]
mov edx, edi
movzx edi, dl
mov edx, dword [esp + 0x1f0]
xor eax, dword [edi*4 + 0x4c1ff0]
punpckldq xmm0, xmm3
shr edx, 0x10
movzx edi, dl
mov dword [esp + 0xd4], eax
mov eax, dword [ebx*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, esi
movd xmm2, dword [esp + 0xd4]
movzx esi, ch
xor eax, dword [esi*4 + 0x4c1bf0]
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1f0], eax
movd xmm7, dword [esp + 0x1f0]
punpckldq xmm2, xmm7
movdqa xmm7, xmmword [esp + 0xa0]
punpcklqdq xmm0, xmm2
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x170]
mov edi, dword [esp + 0x150]
movaps xmmword [esp + 0xb0], xmm0
mov ebx, esi
mov ecx, edi
movzx eax, bl
shr ecx, 0x18
mov ebx, dword [esp + 0x160]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx edx, bh
xor eax, dword [edx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1e0]
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 + 0x1f0], 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]
movd xmm0, dword [esp + 0x1f0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
mov dword [esp + 0x170], eax
movzx eax, byte [esp + 0x1e0]
movd xmm5, dword [esp + 0x170]
punpckldq xmm0, xmm5
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
shr edx, 0x10
shr ecx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
mov dword [esp + 0x160], eax
movzx eax, bl
mov ebx, dword [esp + 0x1e0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm1, dword [esp + 0x160]
shr ebx, 0x18
xor edi, dword [ebx*4 + 0x4c23f0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1e0], edi
movd xmm4, dword [esp + 0x1e0]
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x240]
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x120]
movaps xmmword [esp + 0xc0], 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 + 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 + 0x1f0], 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]
movd xmm0, dword [esp + 0x1f0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
movdqa xmm1, xmmword [esp + 0x240]
mov dword [esp + 0x1e0], eax
movzx eax, byte [esp + 0x1d0]
movd xmm3, dword [esp + 0x1e0]
punpckldq xmm0, xmm3
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 xmm6, 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 xmm2, dword [esp + 0x1d0]
punpckldq xmm6, xmm2
punpcklqdq xmm0, xmm6
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x100]
movaps xmmword [esp + 0x160], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x118]
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 + 0x1f0], 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]
movd xmm0, dword [esp + 0x1f0]
movzx ecx, dl
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, ebx
shr ebx, 0x18
shr edx, 0x10
shr ecx, 0x10
movdqa xmm1, xmmword [esp + 0x240]
mov dword [esp + 0x1e0], eax
movzx eax, byte [esp + 0x1c0]
movd xmm5, dword [esp + 0x1e0]
punpckldq xmm0, xmm5
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 + 0x1d0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1c0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm6, 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 xmm6, xmm4
punpcklqdq xmm0, xmm6
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0xfc]
movaps xmmword [esp + 0x140], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x110]
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 + 0x1f0], 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
mov dword [esp + 0x1e0], eax
movzx eax, byte [esp + 0x1b0]
movd xmm1, dword [esp + 0x1e0]
movd xmm0, dword [esp + 0x1f0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
punpckldq xmm0, xmm1
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
shr ecx, 0x10
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
movdqa xmm1, xmmword [esp + 0x240]
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1b0]
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
movd xmm3, 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 xmm2, dword [esp + 0x1c0]
punpckldq xmm3, xmm2
punpcklqdq xmm0, xmm3
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
movaps xmmword [esp + 0x150], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0xf4]
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 + 0x1f0], 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 + 0x1e0], eax
movzx eax, byte [esp + 0x1a0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
movd xmm3, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
movzx esi, dh
movd xmm0, dword [esp + 0x1f0]
movdqa xmm1, xmmword [esp + 0x240]
punpckldq xmm0, xmm3
movaps xmmword [esp + 0xa0], xmm7
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov ebx, dword [esp + 0x1a0]
shr ebx, 0x18
mov edi, dword [eax*4 + 0x4c17f0]
movzx eax, cl
xor edi, dword [ebx*4 + 0x4c23f0]
movd xmm5, dword [esp + 0x1d0]
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x1c0], edi
movd xmm4, dword [esp + 0x1c0]
punpckldq xmm5, xmm4
punpcklqdq xmm0, xmm5
pxor xmm0, xmm7
call fcn.0052b6c6
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xe4]
movdqa xmm7, xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
mov ebx, dword [esp + 0xe8]
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 + 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 + 0x1f0], 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 + 0x1e0], 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
movd xmm1, dword [esp + 0x1e0]
mov dword [esp + 0x1d0], eax
movzx eax, bl
mov ebx, dword [esp + 0x190]
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 xmm0, dword [esp + 0x1c0]
punpckldq xmm2, xmm0
movd xmm0, dword [esp + 0x1f0]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x240]
punpcklqdq xmm0, xmm2
pxor xmm0, xmmword [esp + 0xa0]
call fcn.0052b6c6
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xd8]
movaps xmmword [esp + 0x1d0], xmm0
mov ebx, esi
mov edx, edi
movzx ecx, bl
shr edx, 0x18
mov ebx, dword [esp + 0x180]
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 + 0xdc]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
shr edx, 0x18
mov dword [esp + 0x1f0], 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
mov dword [esp + 0x1e0], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, edi
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
shr ecx, 0x18
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edx, dword [esp + 0x180]
movd xmm5, dword [esp + 0x1e0]
movd xmm0, dword [esp + 0x1f0]
shr edx, 0x10
mov dword [esp + 0x1c0], 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 + 0x1c0]
xor ebx, dword [esi*4 + 0x4c1bf0]
punpckldq xmm0, xmm5
xor ebx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1b0], ebx
movd xmm6, dword [esp + 0x1b0]
punpckldq xmm1, xmm6
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x240]
pxor xmm0, xmmword [esp + 0xa0]
call fcn.0052b6c6
movdqa xmm4, xmmword [esp + 0xb0]
pshufd xmm2, xmm4, 0x55
movd dword [esp + 0x1b0], xmm4
movdqa xmm3, xmmword [esp + 0xc0]
pshufd xmm1, xmm4, 0xaa
movd dword [esp + 0x1f0], xmm2
pshufd xmm2, xmm3, 0xff
pshufd xmm5, xmm3, 0x55
movd esi, xmm3
pshufd xmm6, xmm4, 0xff
movd dword [esp + 0x1a0], xmm1
movd edi, xmm2
pshufd xmm4, xmm3, 0xaa
movd ecx, xmm5
mov eax, esi
movd dword [esp + 0x1e0], xmm2
shr edi, 0x18
movzx edx, al
movd dword [esp + 0x190], xmm6
movzx eax, ch
mov edx, dword [edx*4 + 0x4c17f0]
movd ebx, xmm4
xor edx, dword [edi*4 + 0x4c23f0]
xor edx, dword [eax*4 + 0x4c1bf0]
movd eax, xmm4
shr eax, 0x10
movzx edi, al
movd eax, xmm3
xor edx, dword [edi*4 + 0x4c1ff0]
movzx edi, bh
shr eax, 0x18
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 + 0x1e0]
xor edx, dword [edi*4 + 0x4c1bf0]
shr eax, 0x10
movzx edi, al
movd eax, xmm5
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 + 0x1e0]
movd xmm5, dword [esp + 0x1c0]
movdqa xmm2, xmmword [esp + 0x160]
movzx edi, ah
movd eax, xmm3
xor edx, dword [edi*4 + 0x4c1bf0]
shr eax, 0x10
movzx edi, al
xor edx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x170], edx
movzx edx, byte [esp + 0x1e0]
movd xmm6, dword [esp + 0x170]
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm3
movd xmm3, dword [esp + 0x180]
movzx esi, bh
xor eax, dword [esi*4 + 0x4c1bf0]
punpckldq xmm5, xmm3
xor eax, dword [ecx*4 + 0x4c1ff0]
pshufd xmm3, xmm2, 0xff
movd esi, xmm2
movd edi, xmm3
mov edx, esi
mov dword [esp + 0x1e0], eax
movzx eax, dl
movd xmm1, dword [esp + 0x1e0]
shr edi, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movd dword [esp + 0x1e0], xmm3
punpckldq xmm6, xmm1
pshufd xmm1, xmm2, 0xaa
punpcklqdq xmm5, xmm6
pshufd xmm6, xmm2, 0x55
movd ebx, xmm1
movdqa xmm4, xmm5
movd ecx, xmm6
movdqa xmm5, xmmword [esp + 0x40]
movzx edx, ch
pxor xmm4, xmm5
xor eax, dword [edx*4 + 0x4c1bf0]
movd edx, xmm1
shr edx, 0x10
movzx edi, dl
movd edx, xmm2
xor eax, dword [edi*4 + 0x4c1ff0]
movzx edi, bh
shr edx, 0x18
movaps xmmword [esp + 0x1c0], xmm4
mov dword [esp + 0x180], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, cl
mov edx, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
movd edx, xmm6
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x170], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movd xmm6, dword [esp + 0x170]
movzx edi, dh
movd edx, xmm2
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x160], eax
movzx eax, byte [esp + 0x1e0]
movd xmm1, dword [esp + 0x160]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm2
movd xmm2, dword [esp + 0x180]
movzx esi, bh
xor edi, dword [esi*4 + 0x4c1bf0]
punpckldq xmm2, xmm6
xor edi, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1e0], edi
movd xmm4, dword [esp + 0x1e0]
punpckldq xmm1, xmm4
movdqa xmm4, xmm5
punpcklqdq xmm2, xmm1
pxor xmm2, xmm5
movdqa xmm5, xmmword [esp + 0x140]
movaps xmmword [esp + 0x120], xmm2
pshufd xmm2, xmm5, 0xff
movd esi, xmm5
pshufd xmm3, xmm5, 0x55
pshufd xmm1, xmm5, 0xaa
mov edx, esi
movd edi, xmm2
movzx eax, dl
movd dword [esp + 0x1e0], xmm2
movd ecx, xmm3
mov eax, dword [eax*4 + 0x4c17f0]
shr edi, 0x18
movd ebx, xmm1
xor eax, dword [edi*4 + 0x4c23f0]
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
movd edx, xmm1
shr edx, 0x10
movzx edi, dl
movd edx, xmm5
xor eax, dword [edi*4 + 0x4c1ff0]
movzx edi, bh
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
movd edx, xmm3
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x170], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movzx edi, dh
movd edx, xmm5
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
movd xmm3, dword [esp + 0x170]
mov dword [esp + 0x160], eax
movzx eax, byte [esp + 0x1e0]
movd xmm6, dword [esp + 0x160]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm5
shr ecx, 0x10
movzx esi, bh
movzx ecx, cl
xor edi, dword [esi*4 + 0x4c1bf0]
xor edi, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1e0], edi
movd xmm5, dword [esp + 0x1e0]
punpckldq xmm6, xmm5
movd xmm5, dword [esp + 0x180]
punpckldq xmm5, xmm3
movdqa xmm1, xmm5
movdqa xmm5, xmm4
punpcklqdq xmm1, xmm6
pxor xmm1, xmm4
movdqa xmm4, xmmword [esp + 0x150]
pshufd xmm3, xmm4, 0xff
movd esi, xmm4
pshufd xmm2, xmm4, 0x55
pshufd xmm6, xmm4, 0xaa
mov edx, esi
movd edi, xmm3
movzx eax, dl
movd dword [esp + 0x1e0], xmm3
movd ecx, xmm2
mov eax, dword [eax*4 + 0x4c17f0]
shr edi, 0x18
movd ebx, xmm6
xor eax, dword [edi*4 + 0x4c23f0]
movzx edx, ch
xor eax, dword [edx*4 + 0x4c1bf0]
movd edx, xmm6
movaps xmmword [esp + 0x140], xmm1
shr edx, 0x10
pshufd xmm3, xmm7, 0x55
movzx edi, dl
movd edx, xmm4
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
movzx edi, bh
mov dword [esp + 0x180], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, cl
mov edx, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
movd edx, xmm2
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x170], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movzx edi, dh
movd edx, xmm4
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x160], eax
movzx eax, byte [esp + 0x1e0]
movd xmm2, dword [esp + 0x170]
movd xmm1, dword [esp + 0x160]
movd xmm6, dword [esp + 0x180]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm4
punpckldq xmm6, xmm2
movzx esi, bh
xor edi, dword [esi*4 + 0x4c1bf0]
movd esi, xmm7
xor edi, dword [ecx*4 + 0x4c1ff0]
movd ecx, xmm3
mov edx, esi
movzx eax, dl
movzx edx, ch
mov eax, dword [eax*4 + 0x4c17f0]
mov dword [esp + 0x1e0], edi
movd xmm4, dword [esp + 0x1e0]
punpckldq xmm1, xmm4
punpcklqdq xmm6, xmm1
pshufd xmm1, xmm7, 0xaa
pshufd xmm7, xmm7, 0xff
pxor xmm6, xmm5
movd ebx, xmm1
movd edi, xmm7
movd dword [esp + 0x1e0], xmm7
movaps xmmword [esp + 0x150], xmm6
shr edi, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
xor eax, dword [edx*4 + 0x4c1bf0]
movd edx, xmm1
shr edx, 0x10
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
movzx edi, bh
mov dword [esp + 0x180], eax
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
shr ecx, 0x10
movzx edi, dl
movd edx, xmm3
movzx ecx, cl
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x170], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movzx edi, dh
mov edx, esi
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x160], eax
movzx eax, byte [esp + 0x1e0]
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 xmm3, dword [esp + 0x170]
xor edi, dword [ecx*4 + 0x4c1ff0]
movd xmm2, dword [esp + 0x180]
movd xmm6, dword [esp + 0x160]
punpckldq xmm2, xmm3
movdqa xmm7, xmmword [esp + 0x1d0]
mov dword [esp + 0x1e0], edi
movd esi, xmm7
movd xmm4, dword [esp + 0x1e0]
mov edx, esi
punpckldq xmm6, xmm4
movzx eax, dl
pshufd xmm4, xmm7, 0xaa
mov eax, dword [eax*4 + 0x4c17f0]
punpcklqdq xmm2, xmm6
pshufd xmm6, xmm7, 0x55
movd ebx, xmm4
pxor xmm2, xmm5
movd ecx, xmm6
movaps xmmword [esp + 0x130], xmm2
pshufd xmm2, xmm7, 0xff
movzx edx, ch
movd edi, xmm2
movd dword [esp + 0x1e0], xmm2
pshufd xmm2, xmm0, 0xaa
shr edi, 0x18
xor eax, dword [edi*4 + 0x4c23f0]
xor eax, dword [edx*4 + 0x4c1bf0]
movd edx, xmm4
pshufd xmm4, xmm0, 0x55
shr edx, 0x10
movzx edi, dl
movd edx, xmm7
xor eax, dword [edi*4 + 0x4c1ff0]
movzx edi, bh
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, cl
mov edx, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
movd edx, xmm6
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movzx edi, dh
movd edx, xmm7
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x170], eax
movzx eax, byte [esp + 0x1e0]
mov edi, dword [eax*4 + 0x4c17f0]
xor edi, dword [ebx*4 + 0x4c23f0]
movd ebx, xmm7
movzx esi, bh
movd ebx, xmm2
xor edi, dword [esi*4 + 0x4c1bf0]
movd esi, xmm0
xor edi, dword [ecx*4 + 0x4c1ff0]
pshufd xmm0, xmm0, 0xff
movd ecx, xmm4
mov edx, esi
movzx eax, dl
movzx edx, ch
mov dword [esp + 0x1e0], edi
movd edi, xmm0
mov eax, dword [eax*4 + 0x4c17f0]
movd xmm7, dword [esp + 0x1d0]
shr edi, 0x18
movd xmm1, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c23f0]
movd dword [esp + 0x1e0], xmm0
xor eax, dword [edx*4 + 0x4c1bf0]
movd edx, xmm2
movd xmm6, dword [esp + 0x180]
movd xmm3, dword [esp + 0x170]
shr edx, 0x10
punpckldq xmm7, xmm6
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
movzx edi, bh
punpckldq xmm3, xmm1
mov dword [esp + 0x1d0], eax
movzx eax, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx ecx, cl
mov edx, dword [esp + 0x1e0]
xor eax, dword [edi*4 + 0x4c1bf0]
punpcklqdq xmm7, xmm3
shr edx, 0x10
movzx edi, dl
movd edx, xmm4
xor eax, dword [edi*4 + 0x4c1ff0]
pxor xmm7, xmm5
shr edx, 0x18
movaps xmmword [esp + 0x100], xmm7
mov dword [esp + 0x180], eax
movzx eax, bl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movd xmm7, dword [esp + 0x1d0]
movzx edi, dh
mov edx, esi
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x170], eax
movzx eax, byte [esp + 0x1e0]
movd xmm3, dword [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]
xor edi, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1e0], edi
movd xmm1, dword [esp + 0x1e0]
movd xmm6, dword [esp + 0x180]
mov esi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x190]
punpckldq xmm3, xmm1
punpckldq xmm7, xmm6
mov edx, esi
movdqa xmm1, xmmword [esp + 0x80]
mov ebx, edi
movzx eax, dl
shr ebx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, dword [esp + 0x1f0]
punpcklqdq xmm7, xmm3
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x1a0]
pxor xmm7, xmm5
mov edx, ecx
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
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
movd xmm0, dword [esp + 0x1e0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, esi
mov dword [esp + 0x1d0], eax
movzx eax, cl
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]
shr edx, 0x10
shr ecx, 0x18
movzx edi, dl
mov edx, dword [esp + 0x1f0]
xor eax, dword [edi*4 + 0x4c1ff0]
punpckldq xmm0, xmm2
shr edx, 0x10
movzx edi, dl
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
movd xmm3, dword [esp + 0x1b0]
xor ebx, dword [esi*4 + 0x4c1bf0]
xor ebx, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1f0], ebx
movd xmm4, dword [esp + 0x1f0]
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm3
pxor xmm0, xmm5
call fcn.0052b6c6
movdqa xmm5, xmmword [esp + 0x1c0]
movdqa xmm4, xmmword [esp + 0x120]
movd esi, xmm5
pshufd xmm1, xmm5, 0x55
pshufd xmm6, xmm5, 0xaa
movd dword [esp + 0xb0], xmm4
mov eax, esi
pshufd xmm2, xmm4, 0x55
movzx eax, al
pshufd xmm3, xmm5, 0xff
movd dword [esp + 0x1f0], xmm1
pshufd xmm5, xmm4, 0xaa
movd ebx, xmm6
movd dword [esp + 0x1e0], xmm2
pshufd xmm1, xmm4, 0xff
movdqa xmm6, xmmword [esp + 0x140]
movd edx, xmm3
mov eax, dword [eax*4 + 0x4c17f0]
movd dword [esp + 0x1d0], xmm5
pshufd xmm3, xmm6, 0x55
movdqa xmm5, xmmword [esp + 0x150]
mov edi, edx
pshufd xmm4, xmm6, 0xaa
shr edi, 0x18
pshufd xmm2, xmm6, 0xff
movd dword [esp + 0x1b0], xmm6
pshufd xmm6, xmm5, 0xaa
movd dword [esp + 0x1c0], xmm1
movd dword [esp + 0x1a0], xmm3
pshufd xmm1, xmm5, 0x55
pshufd xmm3, xmm5, 0xff
movd dword [esp + 0x190], xmm4
movd dword [esp + 0x150], xmm6
xor eax, dword [edi*4 + 0x4c23f0]
movd dword [esp + 0x180], xmm2
movd dword [esp + 0x170], xmm5
movd dword [esp + 0x160], xmm1
movd dword [esp + 0x140], xmm3
movd dword [esp + 0xf8], xmm7
movd dword [esp + 0xe8], xmm0
movdqa xmm4, xmmword [esp + 0x130]
movdqa xmm6, xmmword [esp + 0x100]
pshufd xmm2, xmm4, 0x55
pshufd xmm5, xmm4, 0xaa
movd dword [esp + 0x130], xmm4
pshufd xmm1, xmm4, 0xff
movd dword [esp + 0x100], xmm6
pshufd xmm3, xmm6, 0x55
movd dword [esp + 0x120], xmm2
pshufd xmm4, xmm6, 0xaa
movd dword [esp + 0x11c], xmm5
pshufd xmm2, xmm6, 0xff
movd dword [esp + 0x118], xmm1
pshufd xmm5, xmm7, 0x55
movd dword [esp + 0x114], xmm3
pshufd xmm1, xmm7, 0xaa
movd dword [esp + 0x110], xmm4
pshufd xmm6, xmm0, 0x55
movd dword [esp + 0xfc], xmm2
pshufd xmm3, xmm0, 0xaa
movd dword [esp + 0xf4], xmm5
pshufd xmm7, xmm7, 0xff
movd dword [esp + 0xf0], xmm1
pshufd xmm0, xmm0, 0xff
movd dword [esp + 0xe4], xmm6
movd dword [esp + 0xe0], xmm3
movd dword [esp + 0xec], xmm7
movd dword [esp + 0xdc], xmm0
mov ecx, dword [esp + 0x1f0]
movzx edi, ch
movdqa xmm6, xmmword [esp + 0x80]
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, ebx
shr edi, 0x10
mov ecx, edi
movzx edi, cl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, esi
shr edi, 0x18
mov dword [esp + 0xd8], eax
movzx eax, byte [esp + 0x1f0]
movd xmm7, dword [esp + 0xd8]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, bh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, edx
shr edi, 0x10
mov ecx, edi
movzx edi, cl
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, dword [esp + 0x1f0]
shr edi, 0x18
mov dword [esp + 0xc0], 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
movzx edx, dl
shr edi, 0x10
movd xmm5, dword [esp + 0xc0]
mov ecx, edi
movzx edi, cl
mov ecx, dword [esp + 0x1f0]
xor eax, dword [edi*4 + 0x4c1ff0]
punpckldq xmm7, xmm5
shr ecx, 0x10
movzx edi, cl
mov dword [esp + 0xd4], eax
mov eax, dword [edx*4 + 0x4c17f0]
xor eax, dword [ebx*4 + 0x4c23f0]
mov ebx, esi
movd xmm4, dword [esp + 0xd4]
movzx esi, bh
xor eax, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0xb0]
xor eax, dword [edi*4 + 0x4c1ff0]
mov edx, esi
mov dword [esp + 0x1f0], eax
movzx eax, dl
mov edx, dword [esp + 0x1c0]
movd xmm2, dword [esp + 0x1f0]
mov eax, dword [eax*4 + 0x4c17f0]
punpckldq xmm4, xmm2
shr edx, 0x18
punpcklqdq xmm7, xmm4
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0x55
movd dword [esp + 0xd8], xmm7
pshufd xmm3, xmm7, 0xaa
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0xc0], xmm1
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1e0]
movd ebx, xmm3
movd ecx, xmm0
movzx edi, dh
mov edx, dword [esp + 0x1d0]
xor eax, dword [edi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x1e0]
movd xmm7, dword [esp + 0x1f0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1d0]
movzx edi, dh
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x1c0]
mov edx, edi
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1e0]
shr edx, 0x18
mov dword [esp + 0xb0], eax
movzx eax, byte [esp + 0x1d0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
movzx edi, dh
mov edx, esi
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, dword [esp + 0x1d0]
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0x1c0]
movd xmm4, dword [esp + 0xd4]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, esi
movzx esi, dh
mov edx, dword [esp + 0x1e0]
xor eax, dword [esi*4 + 0x4c1bf0]
shr edx, 0x10
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
mov dword [esp + 0x1e0], eax
movd xmm2, dword [esp + 0x1e0]
movd xmm5, dword [esp + 0xb0]
movzx eax, byte [esp + 0x1b0]
mov edx, dword [esp + 0x180]
punpckldq xmm4, xmm2
punpckldq xmm7, xmm5
shr edx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1a0]
punpcklqdq xmm7, xmm4
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x190]
pxor xmm7, xmm6
shr edx, 0x10
movzx edx, dl
pshufd xmm1, xmm7, 0x55
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1b0]
movd dword [esp + 0x7c], xmm7
pshufd xmm3, xmm7, 0xaa
movd dword [esp + 0x1f0], xmm1
pshufd xmm0, xmm7, 0xff
shr edx, 0x18
mov dword [esp + 0x1e0], eax
movd edi, xmm3
movzx eax, byte [esp + 0x1a0]
movd esi, xmm0
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x190]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x180]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1a0]
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, byte [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x180]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x1b0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x190]
shr edx, 0x18
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x180]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x1b0]
movd xmm7, dword [esp + 0x1e0]
movd xmm5, dword [esp + 0x1d0]
movd xmm4, dword [esp + 0x1c0]
movzx edx, dh
punpckldq xmm7, xmm5
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x1a0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x140]
shr edx, 0x18
mov dword [esp + 0x1b0], eax
movzx eax, byte [esp + 0x170]
movd xmm2, dword [esp + 0x1b0]
punpckldq xmm4, xmm2
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x160]
punpcklqdq xmm7, xmm4
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x150]
pxor xmm7, xmm6
shr edx, 0x10
movzx edx, dl
pshufd xmm1, xmm7, 0x55
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x170]
movd dword [esp + 0x78], xmm7
pshufd xmm3, xmm7, 0xaa
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0xd0], xmm1
shr edx, 0x18
mov dword [esp + 0x1e0], eax
movd dword [esp + 0xb0], xmm3
movzx eax, byte [esp + 0x160]
movd dword [esp + 0x9c], xmm0
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x150]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x140]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], eax
movzx eax, byte [esp + 0x150]
mov edx, dword [esp + 0x160]
movd xmm7, dword [esp + 0x1e0]
movd xmm5, dword [esp + 0x1d0]
shr edx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x140]
punpckldq xmm7, xmm5
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x170]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x150]
shr edx, 0x18
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x140]
movd xmm4, dword [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x170]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x160]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x118]
shr edx, 0x18
mov dword [esp + 0x1b0], eax
movzx eax, byte [esp + 0x130]
movd xmm2, dword [esp + 0x1b0]
punpckldq xmm4, xmm2
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x120]
punpcklqdq xmm7, xmm4
movzx edx, dh
pxor xmm7, xmm6
xor eax, dword [edx*4 + 0x4c1bf0]
pshufd xmm1, xmm7, 0x55
movd dword [esp + 0x74], xmm7
pshufd xmm3, xmm7, 0xaa
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0x1e0], xmm1
movd dword [esp + 0xd4], xmm3
movd dword [esp + 0x98], xmm0
mov edx, dword [esp + 0x11c]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x130]
shr edx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, byte [esp + 0x120]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x11c]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x118]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x120]
shr edx, 0x18
mov dword [esp + 0x1c0], eax
movzx eax, byte [esp + 0x11c]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x118]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x130]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x11c]
shr edx, 0x18
mov dword [esp + 0x1b0], eax
movzx eax, byte [esp + 0x118]
movd xmm2, dword [esp + 0x1b0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x130]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x120]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov dword [esp + 0x1a0], eax
movd xmm4, dword [esp + 0x1a0]
movd xmm7, dword [esp + 0x1d0]
movzx eax, byte [esp + 0x100]
mov edx, dword [esp + 0xfc]
movd xmm5, dword [esp + 0x1c0]
punpckldq xmm2, xmm4
punpckldq xmm7, xmm5
shr edx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x114]
punpcklqdq xmm7, xmm2
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x110]
pxor xmm7, xmm6
shr edx, 0x10
movzx edx, dl
pshufd xmm1, xmm7, 0x55
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x100]
movd dword [esp + 0x70], xmm7
pshufd xmm3, xmm7, 0xaa
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0x1d0], xmm1
shr edx, 0x18
mov dword [esp + 0x1c0], eax
movd dword [esp + 0x6c], xmm3
movzx eax, byte [esp + 0x114]
movd dword [esp + 0x120], xmm0
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x110]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xfc]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x114]
shr edx, 0x18
mov dword [esp + 0x1b0], eax
movzx eax, byte [esp + 0x110]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xfc]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x100]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0xfc]
mov edx, dword [esp + 0x110]
movd xmm5, dword [esp + 0x1b0]
movd xmm7, dword [esp + 0x1c0]
movd xmm4, dword [esp + 0x1a0]
shr edx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0x100]
punpckldq xmm7, xmm5
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0x114]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xec]
shr edx, 0x18
mov dword [esp + 0x190], eax
movzx eax, byte [esp + 0xf8]
movd xmm2, dword [esp + 0x190]
punpckldq xmm4, xmm2
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xf4]
punpcklqdq xmm7, xmm4
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xf0]
pxor xmm7, xmm6
shr edx, 0x10
movzx edx, dl
pshufd xmm1, xmm7, 0x55
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xf8]
movd dword [esp + 0x68], xmm7
pshufd xmm3, xmm7, 0xaa
pshufd xmm0, xmm7, 0xff
movd dword [esp + 0x1c0], xmm1
shr edx, 0x18
mov dword [esp + 0x1b0], eax
movd dword [esp + 0x64], xmm3
movzx eax, byte [esp + 0xf4]
movd dword [esp + 0x11c], xmm0
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xf0]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xec]
movd xmm7, dword [esp + 0x1b0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xf4]
shr edx, 0x18
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0xf0]
movd xmm5, dword [esp + 0x1a0]
punpckldq xmm7, xmm5
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xec]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xf8]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xf0]
shr edx, 0x18
mov dword [esp + 0x190], eax
movzx eax, byte [esp + 0xec]
movd xmm2, dword [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xf8]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xf4]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xdc]
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0xe8]
movd xmm4, dword [esp + 0x180]
punpckldq xmm2, xmm4
mov eax, dword [eax*4 + 0x4c17f0]
punpcklqdq xmm7, xmm2
pxor xmm7, xmm6
pshufd xmm6, xmm7, 0x55
movd dword [esp + 0x60], xmm7
pshufd xmm1, xmm7, 0xaa
pshufd xmm3, xmm7, 0xff
movd dword [esp + 0x1b0], xmm6
movd dword [esp + 0x5c], xmm1
movd dword [esp + 0x94], xmm3
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe4]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xe0]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xe8]
shr edx, 0x18
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0xe4]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe0]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xdc]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xe4]
shr edx, 0x18
mov dword [esp + 0x190], eax
movzx eax, byte [esp + 0xe0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xdc]
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xe8]
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xe0]
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0xdc]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, eax
mov eax, dword [esp + 0xe8]
movzx eax, ah
xor edx, dword [eax*4 + 0x4c1bf0]
mov eax, dword [esp + 0xe4]
shr eax, 0x10
movzx eax, al
xor edx, dword [eax*4 + 0x4c1ff0]
mov dword [esp + 0x170], edx
movzx eax, byte [esp + 0xd8]
mov edx, ecx
shr edx, 0x18
movd xmm2, dword [esp + 0x180]
movd xmm0, dword [esp + 0x170]
movd xmm7, dword [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xc0]
movd xmm4, dword [esp + 0x1a0]
punpckldq xmm2, xmm0
punpckldq xmm4, xmm7
movzx edx, dh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, ebx
shr edx, 0x10
punpcklqdq xmm4, xmm2
movzx edx, dl
movdqa xmm2, xmmword [esp + 0x30]
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xd8]
pxor xmm4, xmm2
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0xc0]
movd dword [esp + 0x118], xmm4
pshufd xmm5, xmm4, 0x55
pshufd xmm6, xmm4, 0xaa
pshufd xmm1, xmm4, 0xff
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
movzx edx, bh
xor eax, dword [edx*4 + 0x4c1bf0]
mov edx, ecx
movd dword [esp + 0x1a0], xmm5
shr edx, 0x10
movd dword [esp + 0x190], xmm6
movzx edx, dl
movd dword [esp + 0xf0], xmm1
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x170], eax
shr edx, 0x18
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, dword [esp + 0xd8]
shr ebx, 0x18
movzx ecx, cl
shr edx, 0x10
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [ecx*4 + 0x4c17f0]
xor edx, dword [ebx*4 + 0x4c23f0]
mov dword [esp + 0x160], eax
mov ebx, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc0]
movd xmm4, dword [esp + 0x160]
movd xmm7, dword [esp + 0x170]
movzx eax, bh
movd xmm0, dword [esp + 0x180]
shr ecx, 0x10
xor edx, dword [eax*4 + 0x4c1bf0]
movzx ebx, cl
mov ecx, dword [esp + 0x7c]
xor edx, dword [ebx*4 + 0x4c1ff0]
mov ebx, dword [esp + 0x1f0]
punpckldq xmm0, xmm7
movzx eax, cl
mov eax, dword [eax*4 + 0x4c17f0]
mov dword [esp + 0x150], edx
mov edx, esi
shr edx, 0x18
movd xmm3, dword [esp + 0x150]
xor eax, dword [edx*4 + 0x4c23f0]
movzx edx, bh
mov ebx, edi
xor eax, dword [edx*4 + 0x4c1bf0]
shr ebx, 0x10
movzx edx, bl
mov ebx, ecx
shr ecx, 0x18
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, edi
punpckldq xmm4, xmm3
mov dword [esp + 0x160], eax
movzx eax, byte [esp + 0x1f0]
punpcklqdq xmm0, xmm4
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, esi
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
pxor xmm0, xmm2
movzx ecx, dl
mov edx, dword [esp + 0x1f0]
xor eax, dword [ecx*4 + 0x4c1ff0]
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0x100], xmm0
shr edx, 0x18
pshufd xmm6, xmm0, 0xaa
pshufd xmm1, xmm0, 0xff
mov dword [esp + 0x150], eax
mov eax, edi
movd dword [esp + 0x180], xmm5
movzx ecx, al
movd dword [esp + 0x170], xmm6
shr edi, 0x18
mov eax, dword [ecx*4 + 0x4c17f0]
mov ecx, esi
movd dword [esp + 0xec], xmm1
xor eax, dword [edx*4 + 0x4c23f0]
movzx edx, ch
mov ecx, ebx
shr ecx, 0x10
xor eax, dword [edx*4 + 0x4c1bf0]
movzx edx, cl
xor eax, dword [edx*4 + 0x4c1ff0]
mov dword [esp + 0x140], eax
mov eax, esi
movzx esi, al
mov ecx, dword [esi*4 + 0x4c17f0]
mov edx, dword [esp + 0x1f0]
xor ecx, dword [edi*4 + 0x4c23f0]
movzx edi, bh
mov esi, dword [esp + 0x78]
xor ecx, dword [edi*4 + 0x4c1bf0]
movd xmm7, dword [esp + 0x150]
shr edx, 0x10
movd xmm3, dword [esp + 0x140]
movzx eax, dl
mov edx, dword [esp + 0x9c]
movd xmm0, dword [esp + 0x160]
xor ecx, dword [eax*4 + 0x4c1ff0]
punpckldq xmm0, xmm7
shr edx, 0x18
mov dword [esp + 0x1f0], ecx
mov ecx, esi
movzx ebx, cl
movd xmm4, dword [esp + 0x1f0]
mov eax, dword [ebx*4 + 0x4c17f0]
mov ebx, dword [esp + 0xd0]
xor eax, dword [edx*4 + 0x4c23f0]
punpckldq xmm3, xmm4
movzx ecx, bh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0xb0]
punpcklqdq xmm0, xmm3
mov edx, ecx
movzx ecx, ch
shr edx, 0x10
pxor xmm0, xmm2
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, dword [esp + 0x9c]
shr edx, 0x18
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0x114], xmm0
pshufd xmm6, xmm0, 0xaa
pshufd xmm1, xmm0, 0xff
mov dword [esp + 0x150], eax
movzx eax, bl
movd dword [esp + 0x1f0], xmm5
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movd dword [esp + 0x160], xmm6
movzx ecx, dl
mov edx, ebx
movd dword [esp + 0xe8], xmm1
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x140], eax
movzx eax, byte [esp + 0xb0]
mov ecx, dword [eax*4 + 0x4c17f0]
mov eax, edi
xor ecx, dword [edx*4 + 0x4c23f0]
mov edx, esi
movzx edi, ah
movzx eax, al
shr edx, 0x10
xor ecx, dword [edi*4 + 0x4c1bf0]
movd xmm7, dword [esp + 0x140]
movzx edi, dl
mov edx, dword [eax*4 + 0x4c17f0]
mov eax, esi
xor ecx, dword [edi*4 + 0x4c1ff0]
movzx esi, ah
movd xmm0, dword [esp + 0x150]
punpckldq xmm0, xmm7
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0xb0]
movd xmm3, dword [esp + 0x130]
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x4c23f0]
mov ecx, dword [esp + 0xd0]
xor edx, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0x74]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [esp + 0xd4]
mov ebx, dword [edi*4 + 0x4c1ff0]
xor ebx, edx
mov edx, esi
movzx eax, dl
mov edx, dword [esp + 0x98]
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0x1e0]
movd xmm4, dword [esp + 0x110]
mov eax, dword [eax*4 + 0x4c17f0]
shr edx, 0x18
punpckldq xmm3, xmm4
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, ecx
movzx edi, bh
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movzx ecx, ch
movzx edi, dl
punpcklqdq xmm0, xmm3
xor eax, dword [edi*4 + 0x4c1ff0]
mov edi, dword [esp + 0x98]
mov edx, esi
shr edx, 0x18
pxor xmm0, xmm2
mov dword [esp + 0x130], eax
movzx eax, byte [esp + 0x1e0]
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0x110], xmm0
pshufd xmm6, xmm0, 0xaa
pshufd xmm1, xmm0, 0xff
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, edi
shr edx, 0x10
xor eax, dword [ecx*4 + 0x4c1bf0]
movd dword [esp + 0x150], xmm5
movzx ecx, dl
movd dword [esp + 0x140], xmm6
movd dword [esp + 0xe4], xmm1
xor eax, dword [ecx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1e0]
movd xmm0, dword [esp + 0x130]
mov dword [esp + 0xfc], eax
movzx eax, byte [esp + 0xd4]
shr edx, 0x18
movd xmm4, dword [esp + 0xfc]
punpckldq xmm0, xmm4
mov ecx, dword [eax*4 + 0x4c17f0]
mov eax, edi
xor ecx, dword [edx*4 + 0x4c23f0]
mov edx, esi
movzx edi, ah
movzx eax, al
shr edx, 0x10
xor ecx, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, dword [eax*4 + 0x4c17f0]
mov eax, esi
xor ecx, dword [edi*4 + 0x4c1ff0]
movzx esi, ah
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xd4]
movd xmm7, dword [esp + 0xf8]
shr ecx, 0x18
xor edx, dword [ecx*4 + 0x4c23f0]
mov ecx, dword [esp + 0x1e0]
xor edx, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0x70]
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [esp + 0x6c]
mov ebx, dword [edi*4 + 0x4c1ff0]
xor ebx, edx
mov edx, esi
mov dword [esp + 0x1e0], ebx
movzx eax, dl
mov edx, dword [esp + 0x120]
movd xmm3, dword [esp + 0x1e0]
mov ebx, dword [esp + 0x1d0]
mov eax, dword [eax*4 + 0x4c17f0]
punpckldq xmm7, xmm3
shr edx, 0x18
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, ecx
movzx edi, bh
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
punpcklqdq xmm0, xmm7
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
movzx edi, ch
pxor xmm0, xmm2
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0xfc], xmm0
pshufd xmm6, xmm0, 0xaa
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x1e0], xmm5
movd dword [esp + 0x130], xmm6
movd dword [esp + 0xe0], xmm1
mov dword [esp + 0xf8], eax
movzx eax, byte [esp + 0x1d0]
movd xmm0, dword [esp + 0xf8]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x120]
mov edx, edi
mov ebx, edi
shr edx, 0x10
movzx edi, bh
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1d0]
shr edx, 0x18
mov dword [esp + 0x120], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, esi
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movd xmm4, dword [esp + 0x120]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
punpckldq xmm0, xmm4
mov dword [esp + 0xf4], eax
movzx eax, bl
mov edx, dword [eax*4 + 0x4c17f0]
xor edx, dword [ecx*4 + 0x4c23f0]
mov eax, esi
mov ecx, dword [esp + 0x1d0]
movzx esi, ah
movd xmm7, dword [esp + 0xf4]
xor edx, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0x68]
shr ecx, 0x10
movzx edi, cl
mov ebx, dword [edi*4 + 0x4c1ff0]
xor ebx, edx
mov edx, esi
mov dword [esp + 0x1d0], ebx
movzx eax, dl
mov edx, dword [esp + 0x11c]
movd xmm3, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
punpckldq xmm7, xmm3
shr edx, 0x18
xor eax, dword [edx*4 + 0x4c23f0]
movzx edi, bh
punpcklqdq xmm0, xmm7
pxor xmm0, xmm2
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0xf8], xmm0
pshufd xmm6, xmm0, 0xaa
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x1d0], xmm5
movd dword [esp + 0x120], xmm6
movd dword [esp + 0xdc], xmm1
xor eax, dword [edi*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x64]
mov edx, ecx
shr edx, 0x10
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
movzx edi, ch
mov dword [esp + 0xf4], eax
movzx eax, byte [esp + 0x1c0]
movd xmm0, dword [esp + 0xf4]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x11c]
mov edx, edi
mov ebx, edi
shr edx, 0x10
movzx edi, bh
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1c0]
shr edx, 0x18
mov dword [esp + 0x11c], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, esi
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movd xmm3, dword [esp + 0x11c]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
punpckldq xmm0, xmm3
mov dword [esp + 0xd8], eax
movzx eax, bl
mov edx, dword [eax*4 + 0x4c17f0]
xor edx, dword [ecx*4 + 0x4c23f0]
mov eax, esi
mov ecx, dword [esp + 0x1c0]
movzx esi, ah
movd xmm4, dword [esp + 0xd8]
xor edx, dword [esi*4 + 0x4c1bf0]
mov esi, dword [esp + 0x60]
shr ecx, 0x10
movzx edi, cl
mov ebx, dword [edi*4 + 0x4c1ff0]
xor ebx, edx
mov edx, esi
mov dword [esp + 0x1c0], ebx
movzx eax, dl
movd xmm7, dword [esp + 0x1c0]
punpckldq xmm4, xmm7
punpcklqdq xmm0, xmm4
pxor xmm0, xmm2
pshufd xmm5, xmm0, 0x55
movd dword [esp + 0xf4], xmm0
pshufd xmm6, xmm0, 0xaa
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x1c0], xmm5
movd dword [esp + 0x11c], xmm6
movd dword [esp + 0xd8], xmm1
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x1b0]
shr edx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, ecx
movzx edi, bh
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movzx edi, dl
mov edx, esi
xor eax, dword [edi*4 + 0x4c1ff0]
shr edx, 0x18
movzx edi, ch
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x1b0]
movd xmm0, dword [esp + 0xc0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
xor eax, dword [edi*4 + 0x4c1bf0]
mov edi, dword [esp + 0x94]
mov edx, edi
mov ebx, edi
shr edx, 0x10
movzx edi, bh
movzx edx, dl
xor eax, dword [edx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x1b0]
shr edx, 0x18
mov dword [esp + 0xb0], eax
movzx eax, cl
shr ecx, 0x18
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, esi
shr edx, 0x10
xor eax, dword [edi*4 + 0x4c1bf0]
movd xmm3, dword [esp + 0xb0]
movzx edi, dl
xor eax, dword [edi*4 + 0x4c1ff0]
punpckldq xmm0, xmm3
mov dword [esp + 0xd4], eax
movzx eax, bl
mov edx, dword [eax*4 + 0x4c17f0]
mov eax, esi
xor edx, dword [ecx*4 + 0x4c23f0]
movzx esi, ah
mov eax, dword [esp + 0x1b0]
movd xmm7, dword [esp + 0xd4]
xor edx, dword [esi*4 + 0x4c1bf0]
shr eax, 0x10
movzx edi, al
mov ebx, dword [edi*4 + 0x4c1ff0]
xor ebx, edx
mov dword [esp + 0x1b0], ebx
movd xmm4, dword [esp + 0x1b0]
punpckldq xmm7, xmm4
punpcklqdq xmm0, xmm7
pxor xmm0, xmm2
movd dword [esp + 0xb0], xmm0
movzx eax, byte [esp + 0x118]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x1a0]
pshufd xmm5, xmm0, 0xaa
pshufd xmm6, xmm0, 0xff
shr ecx, 0x18
pshufd xmm2, xmm0, 0x55
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x190]
xor eax, dword [ecx*4 + 0x4c1bf0]
movd edi, xmm5
movd ebx, xmm6
movd esi, xmm2
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x118]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x190]
shr edx, 0x18
movzx ecx, ch
mov dword [esp + 0x1b0], eax
movzx eax, byte [esp + 0x1a0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xf0]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x1a0]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x190]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xf0]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x118]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0xf0], eax
movzx eax, dl
mov edx, dword [esp + 0x190]
mov ecx, dword [eax*4 + 0x4c17f0]
mov eax, dword [esp + 0x118]
shr edx, 0x18
xor ecx, dword [edx*4 + 0x4c23f0]
mov edx, ecx
movzx ecx, ah
xor edx, dword [ecx*4 + 0x4c1bf0]
mov eax, dword [esp + 0x1a0]
movd xmm4, dword [esp + 0xc0]
movd xmm0, dword [esp + 0x1b0]
shr eax, 0x10
movd xmm1, dword [esp + 0xf0]
movzx ecx, al
punpckldq xmm0, xmm4
xor edx, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1a0], edx
movd xmm7, dword [esp + 0x1a0]
punpckldq xmm1, xmm7
movdqa xmm7, xmmword [esp + 0x20]
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
pxor xmm0, xmm7
call fcn.0052b6c6
movzx edx, byte [esp + 0x100]
mov ecx, dword [esp + 0xec]
movaps xmmword [esp + 0x1b0], xmm0
shr ecx, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
mov edx, dword [esp + 0x180]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x170]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x100]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x170]
shr edx, 0x18
movzx ecx, ch
mov dword [esp + 0x1a0], eax
movzx eax, byte [esp + 0x180]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xec]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x180]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x190], eax
movzx eax, byte [esp + 0x170]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xec]
movd xmm2, dword [esp + 0x190]
movdqa xmm1, xmmword [esp + 0x230]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x100]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x118], eax
movzx eax, dl
mov edx, dword [esp + 0x170]
mov ecx, dword [eax*4 + 0x4c17f0]
mov eax, dword [esp + 0x100]
movd xmm3, dword [esp + 0x118]
shr edx, 0x18
xor ecx, dword [edx*4 + 0x4c23f0]
mov edx, ecx
movzx ecx, ah
mov eax, dword [esp + 0x180]
xor edx, dword [ecx*4 + 0x4c1bf0]
shr eax, 0x10
movzx ecx, al
xor edx, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x180], edx
movd xmm0, dword [esp + 0x180]
punpckldq xmm3, xmm0
movd xmm0, dword [esp + 0x1a0]
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm3
pxor xmm0, xmm7
call fcn.0052b6c6
movzx edx, byte [esp + 0x114]
mov ecx, dword [esp + 0xe8]
movaps xmmword [esp + 0x1a0], xmm0
shr ecx, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
mov edx, dword [esp + 0x1f0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x160]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x114]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x160]
shr edx, 0x18
movzx ecx, ch
mov dword [esp + 0x190], eax
movzx eax, byte [esp + 0x1f0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
xor eax, dword [ecx*4 + 0x4c1bf0]
mov edx, dword [esp + 0xe8]
movd xmm0, dword [esp + 0x190]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x1f0]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0x160]
movd xmm1, dword [esp + 0x180]
punpckldq xmm0, xmm1
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe8]
movdqa xmm1, xmmword [esp + 0x230]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x114]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x170], eax
movzx eax, dl
mov edx, dword [esp + 0x160]
mov ecx, dword [eax*4 + 0x4c17f0]
mov eax, dword [esp + 0x114]
movd xmm5, dword [esp + 0x170]
shr edx, 0x18
xor ecx, dword [edx*4 + 0x4c23f0]
mov edx, ecx
movzx ecx, ah
mov eax, dword [esp + 0x1f0]
xor edx, dword [ecx*4 + 0x4c1bf0]
shr eax, 0x10
movzx ecx, al
xor edx, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1f0], edx
movd xmm6, dword [esp + 0x1f0]
punpckldq xmm5, xmm6
punpcklqdq xmm0, xmm5
pxor xmm0, xmm7
call fcn.0052b6c6
movzx edx, byte [esp + 0x110]
mov ecx, dword [esp + 0xe4]
movaps xmmword [esp + 0x190], xmm0
shr ecx, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
mov edx, dword [esp + 0x150]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x140]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov edx, dword [esp + 0x110]
mov ecx, dword [esp + 0x140]
shr edx, 0x18
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x150]
movzx ecx, ch
movd xmm0, dword [esp + 0x1f0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe4]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x150]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x180], eax
movzx eax, byte [esp + 0x140]
movd xmm2, dword [esp + 0x180]
punpckldq xmm0, xmm2
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe4]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0x110]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x140]
shr ecx, 0x18
mov dword [esp + 0x170], eax
movzx eax, dl
mov edx, ecx
mov ecx, dword [eax*4 + 0x4c17f0]
xor ecx, dword [edx*4 + 0x4c23f0]
mov eax, dword [esp + 0x110]
movd xmm3, dword [esp + 0x170]
mov edx, ecx
movzx ecx, ah
mov eax, dword [esp + 0x150]
xor edx, dword [ecx*4 + 0x4c1bf0]
shr eax, 0x10
movzx ecx, al
xor edx, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x160], edx
movd xmm4, dword [esp + 0x160]
movdqa xmm1, xmmword [esp + 0x230]
punpckldq xmm3, xmm4
punpcklqdq xmm0, xmm3
pxor xmm0, xmm7
call fcn.0052b6c6
movzx edx, byte [esp + 0xfc]
mov ecx, dword [esp + 0xe0]
movaps xmmword [esp + 0x180], xmm0
shr ecx, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
mov edx, dword [esp + 0x1e0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x130]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0xfc]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x130]
shr edx, 0x18
movzx ecx, ch
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x1e0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe0]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x1e0]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x170], eax
movzx eax, byte [esp + 0x130]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xe0]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0xfc]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x130]
shr ecx, 0x18
mov dword [esp + 0x160], eax
movzx eax, dl
mov edx, ecx
mov ecx, dword [eax*4 + 0x4c17f0]
xor ecx, dword [edx*4 + 0x4c23f0]
mov eax, dword [esp + 0xfc]
movd xmm1, dword [esp + 0x170]
movd xmm0, dword [esp + 0x1f0]
movd xmm6, dword [esp + 0x160]
mov edx, ecx
movzx ecx, ah
mov eax, dword [esp + 0x1e0]
xor edx, dword [ecx*4 + 0x4c1bf0]
punpckldq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
shr eax, 0x10
movzx ecx, al
xor edx, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1e0], edx
movd xmm5, dword [esp + 0x1e0]
punpckldq xmm6, xmm5
punpcklqdq xmm0, xmm6
pxor xmm0, xmm7
call fcn.0052b6c6
movzx edx, byte [esp + 0xf8]
mov ecx, dword [esp + 0xdc]
movaps xmmword [esp + 0x170], xmm0
shr ecx, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
mov edx, dword [esp + 0x1d0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x120]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0xf8]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x120]
shr edx, 0x18
movzx ecx, ch
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x1d0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xdc]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0x1d0]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x1e0], eax
movzx eax, byte [esp + 0x120]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov edx, dword [esp + 0xdc]
movd xmm4, dword [esp + 0x1e0]
movd xmm0, dword [esp + 0x1f0]
movdqa xmm1, xmmword [esp + 0x230]
movzx ecx, dh
punpckldq xmm0, xmm4
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0xf8]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x120]
shr ecx, 0x18
mov dword [esp + 0x160], eax
movzx eax, dl
mov edx, ecx
mov ecx, dword [eax*4 + 0x4c17f0]
xor ecx, dword [edx*4 + 0x4c23f0]
mov eax, dword [esp + 0xf8]
movd xmm2, dword [esp + 0x160]
mov edx, ecx
movzx ecx, ah
mov eax, dword [esp + 0x1d0]
xor edx, dword [ecx*4 + 0x4c1bf0]
shr eax, 0x10
movzx ecx, al
xor edx, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], edx
movd xmm3, dword [esp + 0x1d0]
punpckldq xmm2, xmm3
punpcklqdq xmm0, xmm2
pxor xmm0, xmm7
call fcn.0052b6c6
movzx edx, byte [esp + 0xf4]
mov ecx, dword [esp + 0xd8]
movaps xmmword [esp + 0x160], xmm0
shr ecx, 0x18
mov eax, dword [edx*4 + 0x4c17f0]
mov edx, dword [esp + 0x1c0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
mov edx, dword [esp + 0x11c]
xor eax, dword [ecx*4 + 0x4c1bf0]
shr edx, 0x10
movzx ecx, dl
mov edx, dword [esp + 0xf4]
xor eax, dword [ecx*4 + 0x4c1ff0]
shr edx, 0x18
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x1c0]
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [edx*4 + 0x4c23f0]
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0xd8]
movd xmm0, dword [esp + 0x1f0]
shr edx, 0x10
movzx ecx, ch
xor eax, dword [ecx*4 + 0x4c1bf0]
movzx ecx, dl
mov edx, dword [esp + 0xd8]
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x1c0]
shr ecx, 0x18
mov dword [esp + 0x1e0], eax
movzx eax, byte [esp + 0x11c]
movd xmm5, dword [esp + 0x1e0]
punpckldq xmm0, xmm5
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
movzx ecx, dh
xor eax, dword [ecx*4 + 0x4c1bf0]
mov ecx, dword [esp + 0xf4]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, dword [esp + 0x11c]
shr ecx, 0x18
mov dword [esp + 0x1d0], eax
movzx eax, dl
mov eax, dword [eax*4 + 0x4c17f0]
xor eax, dword [ecx*4 + 0x4c23f0]
mov ecx, dword [esp + 0xf4]
movd xmm1, dword [esp + 0x1d0]
movzx edx, ch
mov ecx, dword [esp + 0x1c0]
xor eax, dword [edx*4 + 0x4c1bf0]
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x4c1ff0]
mov dword [esp + 0x1c0], eax
movd xmm6, dword [esp + 0x1c0]
punpckldq xmm1, xmm6
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
pxor xmm0, xmm7
call fcn.0052b6c6
mov edx, dword [esp + 0xb0]
mov ecx, ebx
shr ecx, 0x18
movaps xmmword [esp + 0x150], 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 + 0x1f0], eax
mov eax, esi
movd xmm0, dword [esp + 0x1f0]
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
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov ecx, esi
shr esi, 0x10
shr ecx, 0x18
mov dword [esp + 0x1e0], eax
mov eax, edi
shr edi, 0x18
movzx eax, al
movd xmm3, dword [esp + 0x1e0]
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
punpckldq xmm0, xmm3
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4c1ff0]
mov dword [esp + 0x1d0], eax
mov eax, dword [ebx*4 + 0x4c17f0]
xor eax, dword [edi*4 + 0x4c23f0]
movzx edi, dh
mov edx, esi
movzx esi, dl
xor eax, dword [edi*4 + 0x4c1bf0]
movd xmm1, dword [esp + 0x1d0]
xor eax, dword [esi*4 + 0x4c1ff0]
mov dword [esp + 0x1c0], eax
movd xmm2, dword [esp + 0x1c0]
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x230]
pxor xmm0, xmm7
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [esp + 0x1b0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x1f0], xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x1e0], xmm0
movdqa xmm0, xmmword [esp + 0x190]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x1d0], xmm0
movdqa xmm0, xmmword [esp + 0x180]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x1c0], xmm0
movdqa xmm0, xmmword [esp + 0x170]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x1b0], xmm0
movdqa xmm0, xmmword [esp + 0x160]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x1a0], xmm0
movdqa xmm0, xmmword [esp + 0x150]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x220]
movaps xmmword [esp + 0x190], xmm0
movdqa xmm0, xmm7
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [esp + 0x1f0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1f0], xmm0
movdqa xmm0, xmmword [esp + 0x1e0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1e0], xmm0
movdqa xmm0, xmmword [esp + 0x1d0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x210]
movaps xmmword [esp + 0x1d0], 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
movaps xmmword [esp + 0x190], xmm0
movdqa xmm0, xmm7
movdqa xmm1, xmmword [esp + 0x210]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x180], xmm0
movdqa xmm0, xmmword [esp + 0x1f0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [esp + 0x1e0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x160], xmm0
movdqa xmm0, xmmword [esp + 0x1d0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x170], xmm0
movdqa xmm0, xmmword [esp + 0x1c0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x1d0], xmm0
movdqa xmm0, xmmword [esp + 0x1b0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x1e0], xmm0
movdqa xmm0, xmmword [esp + 0x1a0]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x1f0], xmm0
movdqa xmm0, xmmword [esp + 0x190]
call fcn.0052b6c6
movdqa xmm1, xmmword [esp + 0x200]
movaps xmmword [esp + 0x190], xmm0
movdqa xmm0, xmmword [esp + 0x180]
call fcn.0052b6c6
mov ecx, dword [esp + 0x90]
movdqa xmm4, xmmword [esp + 0x160]
movdqa xmm3, xmmword [esp + 0x170]
sub ecx, 0xffffff80
movaps xmmword [ecx - 0x80], xmm7
movaps xmmword [ecx - 0x70], xmm4
movaps xmmword [ecx - 0x60], xmm3
movdqa xmm2, xmmword [esp + 0x1d0]
movdqa xmm6, xmmword [esp + 0x1e0]
movdqa xmm5, xmmword [esp + 0x1f0]
movdqa xmm1, xmmword [esp + 0x190]
movaps xmmword [ecx - 0x50], xmm2
movaps xmmword [ecx - 0x40], xmm6
movaps xmmword [ecx - 0x30], xmm5
movaps xmmword [ecx - 0x20], xmm1
movaps xmmword [ecx - 0x10], xmm0
cmp dword [esp + 0x58], ecx
mov dword [esp + 0x90], ecx
jne 0x52e436
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret