Function at 0x1004b000
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], edx
mov ecx, 0x38
add eax, 0xe0
jmp 0x1004935b
mov ebp, dword [esp + 0x28]
mov edx, dword [eax]
mov edi, dword [esp + 0x30]
xor edx, edi
xor ebx, ebx
sub eax, 4
dec ecx
mov bl, byte [edx + 0x10027670]
sub eax, 4
mov edi, ebx
xor ebx, ebx
mov edx, edi
sub eax, 4
mov bl, byte [edi + 0x10027770]
xor edx, ebp
mov ebp, dword [esp + 0x18]
mov edi, ebx
xor edi, ebp
mov ebp, dword [eax + 8]
xor ebp, edi
xor ebx, ebx
sub eax, 4
dec ecx
mov bl, byte [ebp + 0x10027670]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x18], ebx
xor ebx, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x30], ebx
xor ebx, ebx
sub eax, 4
mov bl, byte [ebp + 0x10027770]
mov ebp, dword [esp + 0x24]
xor ebx, ebp
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x18], ebx
xor ebp, ebx
xor ebx, ebx
dec ecx
mov bl, byte [ebp + 0x10027670]
mov dword [esp + 0x28], edx
mov ebp, ebx
xor ebx, edi
mov dword [esp + 0x24], ebx
xor ebx, ebx
mov bl, byte [ebp + 0x10027770]
mov ebp, dword [esp + 0x1c]
mov edi, ebx
xor ebx, ebx
xor edi, edx
xor edi, ebp
mov ebp, dword [eax + 8]
xor ebp, edi
mov dword [esp + 0x2c], edi
dec ecx
mov bl, byte [ebp + 0x10027670]
mov ebp, ebx
mov ebx, dword [esp + 0x18]
mov edi, ebp
xor edi, ebx
xor ebx, ebx
mov bl, byte [ebp + 0x10027770]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x30]
mov ebp, ebx
xor ebp, edi
mov edi, dword [esp + 0x10]
xor ebp, edx
xor ebx, ebx
xor ebp, edi
mov edi, dword [eax + 4]
xor edi, ebp
dec ecx
mov bl, byte [edi + 0x10027670]
mov edi, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
xor edi, ebx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov bl, byte [edi + 0x10027770]
mov edi, ebx
mov ebx, dword [esp + 0x24]
xor edi, ebx
mov ebx, dword [esp + 0x30]
xor edi, ebx
xor ebx, ebx
xor edi, edx
mov edx, dword [esp + 0x14]
xor edi, edx
mov edx, dword [eax]
xor edx, edi
sub eax, 4
sub eax, 4
dec ecx
mov bl, byte [edx + 0x10027670]
sub eax, 4
mov edx, ebx
xor edx, ebp
mov dword [esp + 0x14], edx
xor edx, edx
mov dl, byte [ebx + 0x10027770]
mov ebx, dword [esp + 0x1c]
mov ebp, edx
mov edx, dword [esp + 0x24]
xor ebp, ebx
mov ebx, dword [esp + 0x30]
xor ebp, edx
mov edx, dword [esp + 0x20]
xor ebp, ebx
xor ebx, ebx
xor ebp, edx
mov edx, dword [eax + 8]
xor edx, ebp
dec ecx
mov bl, byte [edx + 0x10027670]
mov edx, ebx
xor edx, edi
mov dword [esp + 0x20], edx
xor edx, edx
mov dl, byte [ebx + 0x10027770]
mov ebx, dword [esp + 0x10]
mov edi, edx
mov edx, dword [esp + 0x1c]
xor edi, ebx
mov ebx, dword [esp + 0x24]
xor edi, edx
mov edx, dword [esp + 0x28]
xor edi, ebx
xor ebx, ebx
xor edi, edx
mov edx, dword [eax + 4]
xor edx, edi
dec ecx
mov dword [esp + 0x28], edi
mov bl, byte [edx + 0x10027670]
mov edx, ebx
xor ebx, ebx
mov dword [esp + 0x2c], edx
xor edx, ebp
mov ebp, dword [esp + 0x2c]
mov bl, byte [ebp + 0x10027770]
mov ebp, dword [esp + 0x14]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebx, ebp
mov ebp, dword [esp + 0x1c]
xor ebx, ebp
mov ebp, dword [esp + 0x30]
xor ebx, ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x20]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebx, ebp
mov ebp, dword [esp + 0x24]
xor ebx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov ebx, edx
xor ebx, ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x2c], ebx
xor ebx, ebp
mov ebp, dword [esp + 0x1c]
xor ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
mov ebx, edx
xor ebp, ebx
mov ebx, dword [esp + 0x20]
test ecx, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edx
jg 0x10049357
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edi
mov edi, dword [esi + 0x60]
lea eax, [edx + ecx*8]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x58]
xor eax, edi
mov dword [esp + 0x70], ebx
xor eax, edx
mov dword [esp + 0x74], ebp
test ecx, ecx
je 0x100495f0
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10049901
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10049982
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10049c93
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10049d21
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004a032
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004a0c0
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004a3d1
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x8c], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004a462
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004a773
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004a7f4
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004ab05
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004ab93
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004aea4
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004af32
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x2c], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004b243
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov edi, ecx
and edx, 3
and edi, 0xc
or edx, edi
and ecx, 3
mov dword [esi + 0x5c], edx
mov edx, dword [esp + 0x1c]
mov edi, edx
and eax, 0xc
and edi, 0xc
and edx, 3
or edi, ecx
or eax, edx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x90], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004b2d4
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004b5e5
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004b666
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004b977
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004ba05
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004bd16
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004bda4
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004c0b5
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x94], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004c146
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004c457
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004c4d8
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004c7e9
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004c877
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004cb88
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004cc16
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004cf27
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x98], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004cfb8
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004d2c9
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004d34a
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004d65b
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004d6e9
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004d9fa
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004da88
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004dd99
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x9c], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004de2a
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004e13b
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004e1bc
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004e4cd
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004e55b
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004e86c
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004e8fa
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004ec0b
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0xa0], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004ec9c
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004efad
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004f02e
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004f33f
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004f3cd
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004f6de
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004f76c
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004fa7d
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0xa4], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004fb0e
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x30], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1004fe1f
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x30]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1004fea0
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100501b1
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1005023f
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10050550
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100505de
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x28], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x1c], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100508ef
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esp + 0xb0]
xor edx, ecx
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x34]
lea ecx, [edx + eax - 8]
xor eax, eax
mov edi, dword [esp + eax + 0x8c]
xor edx, edx
mov dl, byte [ecx + 8]
add eax, 4
xor edi, edx
mov dl, byte [esp + eax + 0x68]
mov dword [esp + eax + 0x48], edi
mov bl, byte [esp + eax + 0x48]
xor dl, bl
mov byte [ecx], dl
inc ecx
cmp eax, 0x20
jl 0x1005096e
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
inc eax
cmp eax, ecx
mov dword [esp + 0x3c], eax
jl 0x1004930b
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x30], eax
mov ecx, 0x38
lea eax, [edx + 0xe0]
jmp 0x100509fb
mov edi, dword [esp + 0x34]
mov edx, dword [eax]
mov ebp, dword [esp + 0x30]
xor edx, ebp
xor ebx, ebx
sub eax, 4
dec ecx
mov bl, byte [edx + 0x10027670]
sub eax, 4
mov ebp, ebx
xor ebx, ebx
mov edx, ebp
sub eax, 4
mov bl, byte [ebp + 0x10027770]
xor edx, edi
mov edi, dword [esp + 0x24]
mov ebp, ebx
xor ebp, edi
mov edi, dword [eax + 8]
xor edi, ebp
xor ebx, ebx
sub eax, 4
dec ecx
mov bl, byte [edi + 0x10027670]
sub eax, 4
mov edi, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x34], edi
xor edi, ebx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
xor ebx, ebx
mov dword [esp + 0x2c], edx
mov bl, byte [edi + 0x10027770]
mov edi, ebx
mov ebx, dword [esp + 0x14]
xor edi, ebx
mov ebx, dword [eax + 0xc]
xor ebx, edi
mov dword [esp + 0x28], edi
mov edi, ebx
xor ebx, ebx
dec ecx
mov bl, byte [edi + 0x10027670]
mov edi, ebx
xor ebx, ebp
mov dword [esp + 0x24], ebx
xor ebx, ebx
mov bl, byte [edi + 0x10027770]
mov edi, dword [esp + 0x1c]
mov ebp, ebx
xor ebx, ebx
xor ebp, edx
xor ebp, edi
mov edi, dword [eax + 8]
xor edi, ebp
dec ecx
mov bl, byte [edi + 0x10027670]
mov edi, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], edi
xor edi, ebx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x34]
xor ebx, ebx
mov bl, byte [edi + 0x10027770]
mov edi, dword [esp + 0x30]
xor ebx, edi
mov edi, dword [esp + 0x3c]
xor ebx, edx
xor ebx, edi
mov dword [esp + 0x28], ebx
mov edi, ebx
mov ebx, dword [eax + 4]
xor edi, ebx
xor ebx, ebx
dec ecx
mov bl, byte [edi + 0x10027670]
mov edi, ebx
mov dword [esp + 0x34], edi
xor edi, ebp
mov ebp, dword [esp + 0x34]
xor ebx, ebx
sub eax, 4
mov bl, byte [ebp + 0x10027770]
sub eax, 4
mov ebp, ebx
mov ebx, dword [esp + 0x24]
xor ebp, ebx
mov ebx, dword [esp + 0x30]
xor ebp, ebx
mov ebx, dword [eax + 8]
xor ebp, edx
mov edx, dword [esp + 0x10]
xor ebp, edx
sub eax, 4
mov edx, ebp
xor edx, ebx
xor ebx, ebx
dec ecx
mov bl, byte [edx + 0x10027670]
mov edx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], edx
xor edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [ebx + 0x10027770]
mov ebx, dword [esp + 0x1c]
xor edx, ebx
mov ebx, dword [esp + 0x24]
xor edx, ebx
mov ebx, dword [esp + 0x30]
xor edx, ebx
mov ebx, dword [esp + 0x20]
xor edx, ebx
mov ebx, dword [eax + 8]
mov dword [esp + 0x34], edx
xor edx, ebx
xor ebx, ebx
dec ecx
mov bl, byte [edx + 0x10027670]
mov edx, ebx
xor edx, ebp
mov dword [esp + 0x40], edx
xor edx, edx
mov dl, byte [ebx + 0x10027770]
mov ebx, dword [esp + 0x24]
mov ebp, edx
mov edx, dword [esp + 0x1c]
xor ebp, edi
xor ebp, edx
mov edx, dword [esp + 0x2c]
xor ebp, ebx
mov ebx, dword [eax + 4]
xor ebp, edx
mov edx, ebp
xor edx, ebx
xor ebx, ebx
dec ecx
mov bl, byte [edx + 0x10027670]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
xor edx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x3c], edx
xor edx, edx
mov dword [esp + 0x34], ebp
mov dl, byte [ebx + 0x10027770]
mov ebx, dword [esp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x1c]
xor edx, edi
xor edx, ebx
mov ebx, dword [esp + 0x30]
xor edx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x40]
xor edx, ebx
mov ebx, dword [esp + 0x24]
xor edx, edi
xor edx, ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x3c]
xor edx, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x1c]
xor ebx, edx
mov edx, dword [esp + 0x28]
xor ebx, edx
xor edi, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1c], edi
mov edi, edx
mov dword [esp + 0x14], ebx
xor edi, dword [esp + 0x10]
mov dword [esp + 0x20], edx
test ecx, ecx
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x10], edi
jg 0x100509f7
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x84], eax
lea edx, [ecx + edx*8 - 8]
xor eax, eax
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x88], ebp
lea ecx, [esp + 0x6c]
add edi, edx
mov dl, byte [ecx]
add ecx, 4
mov byte [eax + edi], dl
inc eax
cmp eax, 8
jl 0x10050c8c
mov eax, dword [esp + 0x38]
and eax, 0x80000007
jns 0x10050caa
dec eax
or eax, 0xfffffff8
inc eax
mov dword [esp + 0x44], eax
je 0x1005807d
mov eax, dword [esi + 0x58]
mov edi, dword [esi + 0x60]
mov edx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10050cd7
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10050fe8
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10051069
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005137a
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10051408
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10051719
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100517a7
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10051ab8
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x8c], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10051b49
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10051e5a
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10051edb
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100521ec
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1005227a
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005258b
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10052619
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005292a
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x90], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100529bb
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10052ccc
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10052d4d
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005305e
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100530ec
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100533fd
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1005348b
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005379c
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x94], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1005382d
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10053b3e
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10053bbf
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10053ed0
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10053f5e
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005426f
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100542fd
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1005460e
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x98], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1005469f
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100549b0
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10054a31
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10054d42
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10054dd0
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100550e1
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x1005516f
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10055480
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x9c], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10055511
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10055822
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100558a3
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10055bb4
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10055c42
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10055f53
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10055fe1
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x100562f2
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0xa0], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10056383
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10056694
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10056715
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10056a26
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10056ab4
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10056dc5
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10056e53
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10057164
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
mov eax, dword [esi + 0x58]
xor edx, ecx
mov ecx, dword [esi + 0x74]
mov dword [esp + 0xa4], edx
mov edx, dword [esi + 0x4c]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x100571f5
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10057506
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
mov edx, dword [esi + 0x4c]
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10057587
mov edx, eax
and eax, 7
sar edx, 3
and edx, 0xf
shl eax, 1
or eax, edx
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x58], ecx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x54], edx
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x50], ecx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], edx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x48], ecx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x44], edx
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x40], ecx
mov edx, dword [esi + 0x38]
mov dword [esi + 0x3c], edx
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10057898
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10057926
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10057c37
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov ecx, dword [esi + 0x68]
mov edi, dword [esi + 0x60]
mov eax, ecx
sar eax, 1
xor eax, ecx
mov ecx, eax
and eax, 1
sar ecx, 1
and ecx, 2
or ecx, eax
lea eax, [edx*4]
mov edx, dword [esi + 0x4c]
xor ecx, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x74]
xor eax, edi
xor eax, edx
test ecx, ecx
je 0x10057cc5
mov ecx, eax
and eax, 7
sar ecx, 3
and ecx, 0xf
shl eax, 1
or eax, ecx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x58], edx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x54], ecx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x50], edx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x4c], ecx
mov edx, dword [esi + 0x44]
mov dword [esi + 0x48], edx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov edx, dword [esi + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x28]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x14], ecx
and ecx, 2
mov ebp, eax
shl ecx, 2
and ebp, 4
mov dword [esp + 0x10], ebx
or ecx, ebp
and ebx, 1
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov ebp, dword [esp + 0x20]
or ecx, ebx
mov ebx, edi
and ebp, 2
and ebx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esi + 8]
or ebx, ebp
shl ecx, 1
sar ebx, 1
or ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, 1
mov ebp, edx
shl ebx, 3
and ebp, 4
mov ecx, dword [ecx*4 + 0x10027330]
or ebx, ebp
mov ebp, edi
and ebp, 2
mov dword [esp + 0x24], edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 2
shl ebx, 1
and ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, 1
or ebx, ebp
mov ebp, dword [ebx*4 + 0x100272b0]
mov ebx, dword [esp + 0x14]
or ecx, ebp
and ebx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x18]
mov ebp, ecx
shl ebx, 2
and ebp, 2
or ebx, ebp
mov ebp, edx
and ebp, 8
or ebx, ebp
mov ebp, ecx
shl ebx, 1
and ebp, 8
and edi, 4
or ebp, edi
and edx, 2
mov edi, eax
sar ebp, 2
shl edx, 1
and edi, 8
or ebx, ebp
mov ebp, dword [esp + 0x14]
or edx, edi
mov edi, dword [esp + 0x18]
and ebp, 8
and edi, 4
mov ebx, dword [ebx*4 + 0x100273b0]
or edi, ebp
shl edx, 1
sar edi, 1
or edx, edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
and ebp, 1
or edx, ebp
mov ebp, dword [edx*4 + 0x10027430]
mov edx, dword [esp + 0x20]
or ebx, ebp
mov ebp, ecx
mov dword [esp + 0x38], ebx
mov ebx, eax
and ebx, 2
and ebp, 1
shl ebx, 1
or ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, 2
and ecx, 4
sar edx, 2
or ebx, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
and edx, 2
and ebp, 4
and eax, 1
or edx, ebp
shl ebx, 2
sar edx, 1
or ebx, edx
mov edx, dword [esp + 0x24]
and edx, 1
or ecx, edx
mov edx, dword [esp + 0x1c]
shl ecx, 2
and edx, 1
or ecx, edx
mov edx, edi
and edx, 2
or ecx, edx
mov edx, dword [esp + 0x18]
and edx, 8
or ecx, edx
mov edx, dword [ebx*4 + 0x10027530]
shl eax, 1
mov ebx, dword [ecx*4 + 0x100274b0]
mov ecx, dword [esp + 0x14]
and ecx, 4
or edx, ebx
or eax, ecx
mov ecx, dword [esp + 0x10]
shl eax, 1
and ecx, 2
mov dword [esp + 0x28], edx
or eax, ecx
mov ecx, edi
sar ecx, 2
and ecx, 2
and edi, 4
or ecx, edi
shl eax, 1
sar ecx, 1
or eax, ecx
mov edx, dword [eax*4 + 0x100275b0]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x5c]
xor eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esi + 0x2c], ecx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x20], edx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x18], edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x10], ebx
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
mov dword [esp + 0x14], ebx
mov ebx, ecx
mov edi, dword [esi + 0x54]
mov dword [esp + 0x24], eax
sar ebx, 1
and ebx, 4
and eax, 4
xor ebx, eax
mov eax, edx
sar ebx, 1
and eax, 2
mov ebp, edx
xor ebx, eax
mov eax, edi
sar ebx, 1
and eax, 1
and ebp, 1
xor ebx, eax
mov eax, ecx
shl ebp, 1
and eax, 2
and ecx, 1
xor ebp, eax
mov eax, dword [esi + 0x50]
shl ebp, 1
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x24]
shl ebp, 1
and eax, 8
xor ebp, eax
mov eax, edi
or ebx, ebp
mov ebp, dword [esp + 0x10]
sar ebp, 1
and ebp, 4
and eax, 4
xor ebp, eax
mov eax, dword [esp + 0x14]
and eax, 1
and edi, 2
sar ebp, 1
shl eax, 1
xor ebp, eax
mov eax, dword [esp + 0x10]
and eax, 2
shl ecx, 1
xor ebp, eax
xor ecx, edi
or ebx, ebp
shl ecx, 1
sar edx, 1
mov eax, dword [esp + 0x14]
and edx, 4
xor ecx, edx
mov edx, dword [esi + 0x6c]
and eax, 4
xor ecx, eax
or ebx, ecx
mov ecx, dword [esi + 0x64]
xor ebx, edx
xor ebx, ecx
mov dword [esi + 0x68], ebx
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x10057fd6
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x64]
mov edi, dword [esi + 0x70]
add edx, ebx
add edi, edx
mov eax, edi
mov dword [esi + 0x70], edi
sar eax, 4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x70]
and eax, 0xf
mov dword [esi + 0x70], eax
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov eax, edx
mov edi, ecx
and eax, 0xc
and edi, 3
or eax, edi
and edx, 3
mov dword [esi + 0x5c], eax
mov eax, dword [esp + 0x28]
mov edi, eax
and eax, 3
and edi, 0xc
and ecx, 0xc
or edi, edx
or eax, ecx
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, 1
and ecx, 2
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov esi, dword [esi + 0x68]
mov eax, esi
sar eax, 1
xor eax, esi
mov edx, eax
and eax, 1
sar edx, 1
and edx, 2
or edx, eax
mov eax, dword [esp + 0x30]
lea ecx, [eax*4]
xor eax, eax
xor edx, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
mov dword [esp + 0xa8], edx
jle 0x1005807d
mov ebp, dword [esp + 0xb0]
lea edi, [esp + 0x8c]
mov edx, eax
add edi, 4
sub edx, ecx
mov bl, byte [edx + ebp + 0xbc]
lea esi, [edx + ebp + 0xbc]
mov dl, byte [edi - 4]
xor bl, dl
inc eax
cmp eax, ecx
mov byte [esi], bl
jl 0x1005805c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret 4