Function at 0x10057b10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd48
mov eax, dword [esp + 0xd64]
mov ecx, dword [esp + 0xd60]
mov edx, dword [esp + 0xd5c]
mov esi, 0xf
xor edi, edi
mov ebx, 0xffffffff
mov ebp, eax
mov dword [esp + 0xd44], eax
add eax, 0x400
mov dword [esp + 0xd40], eax
mov eax, dword [esp + 0xd44]
add eax, 0x800
mov dword [esp + 0xd3c], eax
mov eax, dword [esp + 0xd44]
add eax, 0xc00
mov dword [esp + 0xd38], eax
movzx eax, byte [edx]
mov dword [esp + 0xd34], eax
mov eax, edi
sub eax, 0xffffffe8
mov dword [esp + 0xd30], ecx
mov ecx, eax
mov eax, dword [esp + 0xd34]
shl eax, cl
movzx ecx, byte [edx + 1]
mov dword [esp + 0xd2c], eax
mov eax, ebx
or eax, 0x1478380d
mov dword [esp + 0xd28], eax
mov eax, ebx
and eax, 0x1478380d
mov dword [esp + 0xd24], eax
mov eax, edi
mov dword [esp + 0xd20], ecx
mov ecx, dword [esp + 0xd24]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xd28]
and ecx, eax
mov eax, ebx
or eax, 0x1478381d
mov dword [esp + 0xd1c], eax
mov eax, ebx
and eax, 0x1478381d
mov dword [esp + 0xd18], eax
mov eax, edi
mov dword [esp + 0xd14], ecx
mov ecx, dword [esp + 0xd18]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xd1c]
and ecx, eax
mov eax, dword [esp + 0xd14]
add eax, 0xffffffff
mov dword [esp + 0xd10], eax
mov eax, dword [esp + 0xd14]
and eax, 0xffffffff
mov dword [esp + 0xd0c], eax
mov eax, dword [esp + 0xd10]
mov dword [esp + 0xd08], ecx
mov ecx, dword [esp + 0xd0c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xd08]
add ecx, 0xffffffff
mov dword [esp + 0xd04], eax
mov eax, dword [esp + 0xd08]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xd04]
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
and eax, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
xor ecx, 0xffffffff
mov dword [esp + 0xd00], eax
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xd00]
and eax, ecx
mov ecx, edi
sub ecx, 0x1478380d
sub ecx, 1
mov dword [esp + 0xcfc], eax
mov eax, ebx
xor eax, 0x1478381d
mov dword [esp + 0xcf8], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0xcf4], eax
mov eax, dword [esp + 0xcf8]
mov dword [esp + 0xcf0], ecx
mov ecx, dword [esp + 0xcf4]
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, 0x1478381d
sub ecx, 1
mov dword [esp + 0xcec], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xce8], eax
add eax, 0xffffffff
mov dword [esp + 0xce4], eax
mov eax, dword [esp + 0xce8]
and eax, 0xffffffff
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0xce4]
mov dword [esp + 0xcdc], ecx
mov ecx, dword [esp + 0xce0]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xcd8], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xcd8]
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xcdc]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edi
mov dword [esp + 0xcd4], ecx
mov ecx, dword [esp + 0xcec]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xcd4]
add ecx, 0xffffffff
mov dword [esp + 0xcd0], eax
mov eax, dword [esp + 0xcd4]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xcd0]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0xcf0]
add ecx, 0xffffffff
mov dword [esp + 0xccc], eax
mov eax, dword [esp + 0xcf0]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0xcc8], eax
mov eax, dword [esp + 0xcf0]
mov dword [esp + 0xcc4], ecx
mov ecx, dword [esp + 0xcc8]
and eax, ecx
mov ecx, dword [esp + 0xcc4]
or ecx, eax
mov eax, dword [esp + 0xccc]
and eax, 0xffffffff
mov dword [esp + 0xcc0], eax
mov eax, edi
mov dword [esp + 0xcbc], ecx
mov ecx, dword [esp + 0xcc0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xccc]
xor ecx, 0xffffffff
mov dword [esp + 0xcb8], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0xcb4], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0xcb0], eax
mov eax, dword [esp + 0xcb4]
mov dword [esp + 0xcac], ecx
mov ecx, dword [esp + 0xcb0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xcac]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xcb8]
and ecx, eax
mov eax, edi
mov dword [esp + 0xca8], ecx
mov ecx, dword [esp + 0xcbc]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xca8]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, dword [esp + 0xcfc]
xor ecx, 0xffffffff
mov dword [esp + 0xca4], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
and ecx, 0xffffffff
mov dword [esp + 0xca0], eax
mov eax, dword [esp + 0xcfc]
mov dword [esp + 0xc9c], ecx
mov ecx, dword [esp + 0xca0]
and eax, ecx
mov ecx, dword [esp + 0xc9c]
or ecx, eax
mov eax, dword [esp + 0xca4]
add eax, 0xffffffff
mov dword [esp + 0xc98], eax
mov eax, dword [esp + 0xca4]
and eax, 0xffffffff
mov dword [esp + 0xc94], eax
mov eax, dword [esp + 0xc98]
mov dword [esp + 0xc90], ecx
mov ecx, dword [esp + 0xc94]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xc90]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0xd20]
shl eax, cl
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0xc8c], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xc8c]
add eax, 0xffffffff
mov dword [esp + 0xc88], eax
mov eax, dword [esp + 0xc8c]
and eax, 0xffffffff
mov dword [esp + 0xc84], eax
mov eax, dword [esp + 0xc88]
mov dword [esp + 0xc80], ecx
mov ecx, dword [esp + 0xc84]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xc7c], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xc7c]
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, ecx
sub eax, 1
mov dword [esp + 0xc78], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xc74], eax
mov eax, dword [esp + 0xc78]
and eax, 0xffffffff
mov dword [esp + 0xc70], eax
mov eax, dword [esp + 0xc74]
and ecx, eax
mov eax, dword [esp + 0xc70]
or eax, ecx
mov ecx, edi
mov dword [esp + 0xc6c], eax
mov eax, dword [esp + 0xc80]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xc6c]
add eax, 0xffffffff
mov dword [esp + 0xc68], eax
mov eax, dword [esp + 0xc6c]
and eax, 0xffffffff
mov dword [esp + 0xc64], eax
mov eax, dword [esp + 0xc68]
mov dword [esp + 0xc60], ecx
mov ecx, dword [esp + 0xc64]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xc60]
or ecx, eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xd2c]
add ecx, 0xffffffff
mov dword [esp + 0xc5c], eax
mov eax, dword [esp + 0xd2c]
add eax, 0xffffffff
mov dword [esp + 0xc58], eax
mov eax, dword [esp + 0xd2c]
and eax, 0xffffffff
mov dword [esp + 0xc54], eax
mov eax, dword [esp + 0xc58]
mov dword [esp + 0xc50], ecx
mov ecx, dword [esp + 0xc54]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xc50]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xc5c]
xor ecx, 0xffffffff
mov dword [esp + 0xc4c], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0xc48], eax
mov eax, dword [esp + 0xc5c]
mov dword [esp + 0xc44], ecx
mov ecx, dword [esp + 0xc48]
and eax, ecx
mov ecx, dword [esp + 0xc44]
or ecx, eax
mov eax, dword [esp + 0xc4c]
add eax, 0xffffffff
mov dword [esp + 0xc40], eax
mov eax, dword [esp + 0xc4c]
xor eax, 0xffffffff
mov dword [esp + 0xc3c], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xc38], eax
mov eax, dword [esp + 0xc3c]
mov dword [esp + 0xc34], ecx
mov ecx, dword [esp + 0xc38]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0xc40]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xc34]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0xc30], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0xc2c], eax
mov eax, dword [esp + 0xc30]
mov dword [esp + 0xc28], ecx
mov ecx, dword [esp + 0xc2c]
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
mov dword [esp + 0xc24], eax
mov eax, dword [esp + 0xc28]
sub ecx, eax
sub ecx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0xc20], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0xc1c], eax
mov eax, dword [esp + 0xc20]
mov dword [esp + 0xc18], ecx
mov ecx, dword [esp + 0xc1c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xc18]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, edi
mov dword [esp + 0xc14], ecx
mov ecx, dword [esp + 0xc24]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xc14]
add ecx, 0xffffffff
mov dword [esp + 0xc10], eax
mov eax, dword [esp + 0xc14]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xc10]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
movzx eax, byte [edx + 2]
mov dword [esp + 0xc0c], eax
mov eax, edi
sub eax, 0xecaa6215
sub eax, 1
mov dword [esp + 0xc08], eax
mov eax, edi
sub eax, 0xecaa621d
sub eax, 1
mov dword [esp + 0xc04], eax
mov eax, edi
mov dword [esp + 0xc00], ecx
mov ecx, dword [esp + 0xc08]
sub eax, ecx
sub eax, 1
mov ecx, edi
sub ecx, 0xecaa621d
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, 0xecaa6215
sub eax, 1
mov dword [esp + 0xbfc], eax
mov eax, dword [esp + 0xc04]
add eax, 0xffffffff
mov dword [esp + 0xbf8], eax
mov eax, dword [esp + 0xc04]
xor eax, 0xffffffff
mov dword [esp + 0xbf4], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xbf0], eax
mov eax, dword [esp + 0xbf4]
mov dword [esp + 0xbec], ecx
mov ecx, dword [esp + 0xbf0]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0xbf8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xbfc]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0xbe8], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xbe8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xbec]
or ecx, 0xffffffff
mov dword [esp + 0xbe4], eax
mov eax, dword [esp + 0xbec]
xor eax, 0xffffffff
mov dword [esp + 0xbe0], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xbdc], eax
mov eax, dword [esp + 0xbe0]
mov dword [esp + 0xbd8], ecx
mov ecx, dword [esp + 0xbdc]
or eax, ecx
mov ecx, dword [esp + 0xbd8]
and ecx, eax
mov eax, dword [esp + 0xbe4]
or eax, 0xffffffff
mov dword [esp + 0xbd4], eax
mov eax, dword [esp + 0xbe4]
and eax, 0xffffffff
mov dword [esp + 0xbd0], eax
mov eax, dword [esp + 0xbd4]
mov dword [esp + 0xbcc], ecx
mov ecx, dword [esp + 0xbd0]
sub eax, ecx
mov ecx, dword [esp + 0xbcc]
add ecx, 0xffffffff
mov dword [esp + 0xbc8], eax
mov eax, dword [esp + 0xbcc]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xbc8]
add eax, 0xffffffff
mov dword [esp + 0xbc4], eax
mov eax, dword [esp + 0xbc8]
and eax, 0xffffffff
mov dword [esp + 0xbc0], eax
mov eax, dword [esp + 0xbc4]
mov dword [esp + 0xbbc], ecx
mov ecx, dword [esp + 0xbc0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xbbc]
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0xbb8], eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xbb8]
and ecx, eax
mov eax, dword [esp + 0xc0c]
shl eax, cl
mov ecx, dword [esp + 0xc00]
xor ecx, 0xffffffff
mov dword [esp + 0xbb4], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xc00]
add eax, 0xffffffff
mov dword [esp + 0xbb0], eax
mov eax, dword [esp + 0xc00]
and eax, 0xffffffff
mov dword [esp + 0xbac], eax
mov eax, dword [esp + 0xbb0]
mov dword [esp + 0xba8], ecx
mov ecx, dword [esp + 0xbac]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xba4], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0xba4]
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0xba8]
sub eax, ecx
mov ecx, dword [esp + 0xbb4]
add ecx, 0xffffffff
mov dword [esp + 0xba0], eax
mov eax, dword [esp + 0xbb4]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ebx
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xb9c], eax
add eax, 0xffffffff
mov dword [esp + 0xb98], eax
mov eax, dword [esp + 0xb9c]
and eax, 0xffffffff
mov dword [esp + 0xb94], eax
mov eax, dword [esp + 0xb98]
mov dword [esp + 0xb90], ecx
mov ecx, dword [esp + 0xb94]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xb90]
sub eax, ecx
sub eax, ecx
mov ecx, edi
mov dword [esp + 0xb8c], eax
mov eax, dword [esp + 0xbb4]
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0xb88], eax
mov eax, edi
mov dword [esp + 0xb84], ecx
mov ecx, dword [esp + 0xb88]
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0xb80], eax
mov eax, dword [esp + 0xb84]
sub ecx, eax
sub ecx, 1
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xb80]
and ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0xb8c]
xor eax, 0xffffffff
mov dword [esp + 0xb7c], eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xb7c]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xba0]
or ecx, 0xffffffff
mov dword [esp + 0xb78], eax
mov eax, dword [esp + 0xba0]
and eax, 0xffffffff
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edi
mov dword [esp + 0xb74], ecx
mov ecx, dword [esp + 0xb78]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xb74]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0xb70], eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xb70]
sub eax, ecx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0xb6c], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, edi
mov dword [esp + 0xb68], ecx
mov ecx, dword [esp + 0xb6c]
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xb64], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xb64]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0xb68]
xor ecx, 0xffffffff
mov dword [esp + 0xb60], eax
mov eax, edi
mov dword [esp + 0xb5c], ecx
mov ecx, dword [esp + 0xb60]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xb5c]
or ecx, eax
mov eax, edi
sub eax, ecx
sub eax, 1
movzx ecx, byte [edx + 3]
mov dword [esp + 0xb58], eax
xor eax, 0xffffffff
mov dword [esp + 0xb54], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0xb50], eax
mov eax, dword [esp + 0xb54]
mov dword [esp + 0xb4c], ecx
mov ecx, dword [esp + 0xb50]
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
mov dword [esp + 0xb48], eax
mov eax, dword [esp + 0xb58]
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, edi
mov dword [esp + 0xb44], ecx
mov ecx, dword [esp + 0xb48]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xb44]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xb4c]
xor eax, 0xffffffff
mov dword [esp + 0xb40], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0xb3c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0xb38], eax
mov eax, dword [esp + 0xb3c]
mov dword [esp + 0xb34], ecx
mov ecx, dword [esp + 0xb38]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xb40]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, eax
and ecx, 0xffffffff
mov dword [esp + 0xb30], eax
mov eax, edi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xb30]
xor ecx, 0xffffffff
mov dword [esp + 0xb2c], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xb2c]
and ecx, eax
mov eax, dword [esp + 0xb4c]
add eax, 0xffffffff
mov dword [esp + 0xb28], eax
mov eax, dword [esp + 0xb4c]
and eax, 0xffffffff
mov dword [esp + 0xb24], eax
mov eax, dword [esp + 0xb28]
mov dword [esp + 0xb20], ecx
mov ecx, dword [esp + 0xb24]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, dword [esp + 0xb20]
add ecx, 0xffffffff
mov dword [esp + 0xb1c], eax
mov eax, dword [esp + 0xb20]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xb1c]
add eax, 0xffffffff
mov dword [esp + 0xb18], eax
mov eax, dword [esp + 0xb1c]
and eax, 0xffffffff
mov dword [esp + 0xb14], eax
mov eax, dword [esp + 0xb18]
mov dword [esp + 0xb10], ecx
mov ecx, dword [esp + 0xb14]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xb10]
or ecx, eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xb34]
add ecx, 0xffffffff
mov dword [esp + 0xb0c], eax
mov eax, edi
mov dword [esp + 0xb08], ecx
mov ecx, dword [esp + 0xb34]
sub eax, ecx
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xb08]
sub ecx, eax
sub ecx, eax
mov eax, edi
mov dword [esp + 0xb04], ecx
mov ecx, dword [esp + 0xb0c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xb04]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, edi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0xb00], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xb00]
xor eax, 0xffffffff
mov dword [esp + 0xafc], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0xaf8], eax
mov eax, dword [esp + 0xafc]
mov dword [esp + 0xaf4], ecx
mov ecx, dword [esp + 0xaf8]
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0xaf0], eax
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0xaec], eax
mov eax, dword [esp + 0xaf0]
mov dword [esp + 0xae8], ecx
mov ecx, dword [esp + 0xaec]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xae8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xaf4]
xor ecx, 0xffffffff
mov dword [esp + 0xae4], eax
mov eax, edi
mov dword [esp + 0xae0], ecx
mov ecx, dword [esp + 0xae4]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xae0]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
movzx ecx, byte [edx + 4]
mov dword [esp + 0xadc], eax
mov eax, ebx
or eax, 0xe9d64189
mov dword [esp + 0xad8], eax
mov eax, ebx
and eax, 0xe9d64189
mov dword [esp + 0xad4], eax
mov eax, dword [esp + 0xad8]
mov dword [esp + 0xad0], ecx
mov ecx, dword [esp + 0xad4]
sub eax, ecx
mov ecx, ebx
add ecx, 0xe9d64191
mov dword [esp + 0xacc], eax
mov eax, ebx
and eax, 0xe9d64191
sub ecx, eax
sub ecx, eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
and eax, 0xe9d64191
or ecx, eax
mov eax, edi
mov dword [esp + 0xac8], ecx
mov ecx, dword [esp + 0xacc]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xac8]
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0xac4], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0xac0], eax
mov eax, dword [esp + 0xac4]
mov dword [esp + 0xabc], ecx
mov ecx, dword [esp + 0xac0]
or eax, ecx
mov ecx, dword [esp + 0xabc]
and ecx, eax
mov eax, edi
sub eax, 0xe9d64189
sub eax, 1
mov dword [esp + 0xab8], eax
mov eax, edi
sub eax, 0xe9d64191
sub eax, 1
mov dword [esp + 0xab4], eax
mov eax, dword [esp + 0xab8]
xor eax, 0xffffffff
mov dword [esp + 0xab0], eax
mov eax, dword [esp + 0xab4]
xor eax, 0xffffffff
mov dword [esp + 0xaac], eax
mov eax, dword [esp + 0xab0]
mov dword [esp + 0xaa8], ecx
mov ecx, dword [esp + 0xaac]
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0xaa4], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0xaa0], eax
mov eax, edi
mov dword [esp + 0xa9c], ecx
mov ecx, dword [esp + 0xaa0]
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0xa98], eax
mov eax, dword [esp + 0xa9c]
sub ecx, eax
sub ecx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0xa94], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0xa90], eax
mov eax, dword [esp + 0xa94]
mov dword [esp + 0xa8c], ecx
mov ecx, dword [esp + 0xa90]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xa8c]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xa98]
and ecx, eax
mov eax, ebx
or eax, 0xffffffff
mov dword [esp + 0xa88], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0xa84], eax
mov eax, dword [esp + 0xa88]
mov dword [esp + 0xa80], ecx
mov ecx, dword [esp + 0xa84]
sub eax, ecx
mov ecx, dword [esp + 0xa80]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0xa7c], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, dword [esp + 0xa7c]
and eax, ecx
mov ecx, dword [esp + 0xaa4]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edi
mov dword [esp + 0xa78], ecx
mov ecx, dword [esp + 0xaa8]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xa78]
add ecx, 0xffffffff
mov dword [esp + 0xa74], eax
mov eax, edi
mov dword [esp + 0xa70], ecx
mov ecx, dword [esp + 0xa78]
sub eax, ecx
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0xa70]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xa74]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xad0]
shl eax, cl
movzx ecx, byte [edx + 5]
mov dword [esp + 0xa6c], eax
mov eax, edi
sub eax, 0xfffffff0
sub eax, 1
add eax, 1
mov dword [esp + 0xa68], ecx
mov ecx, eax
mov eax, dword [esp + 0xa68]
shl eax, cl
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0xa64], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xa64]
add eax, 0xffffffff
mov dword [esp + 0xa60], eax
mov eax, dword [esp + 0xa64]
add eax, 0xffffffff
mov dword [esp + 0xa5c], eax
mov eax, dword [esp + 0xa64]
and eax, 0xffffffff
mov dword [esp + 0xa58], eax
mov eax, dword [esp + 0xa5c]
mov dword [esp + 0xa54], ecx
mov ecx, dword [esp + 0xa58]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xa60]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
mov dword [esp + 0xa50], eax
mov eax, dword [esp + 0xa54]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xa50]
add eax, 0xffffffff
mov dword [esp + 0xa4c], eax
mov eax, dword [esp + 0xa50]
and eax, 0xffffffff
mov dword [esp + 0xa48], eax
mov eax, dword [esp + 0xa4c]
mov dword [esp + 0xa44], ecx
mov ecx, dword [esp + 0xa48]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xa44]
or ecx, eax
mov eax, edi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xa6c]
xor ecx, 0xffffffff
mov dword [esp + 0xa40], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0xa6c]
add eax, 0xffffffff
mov dword [esp + 0xa3c], eax
mov eax, dword [esp + 0xa6c]
and eax, 0xffffffff
mov dword [esp + 0xa38], eax
mov eax, dword [esp + 0xa3c]
mov dword [esp + 0xa34], ecx
mov ecx, dword [esp + 0xa38]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, edi
mov dword [esp + 0xa30], ecx
mov ecx, dword [esp + 0xa34]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xa30]
add ecx, 0xffffffff
mov dword [esp + 0xa2c], eax
mov eax, dword [esp + 0xa30]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xa2c]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xa40]
or eax, 0xffffffff
mov dword [esp + 0xa28], eax
mov eax, dword [esp + 0xa40]
and eax, 0xffffffff
mov dword [esp + 0xa24], eax
add eax, 0xffffffff
mov dword [esp + 0xa20], eax
mov eax, dword [esp + 0xa24]
and eax, 0xffffffff
mov dword [esp + 0xa1c], eax
mov eax, dword [esp + 0xa20]
mov dword [esp + 0xa18], ecx
mov ecx, dword [esp + 0xa1c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xa28]
and ecx, eax
mov eax, edi
mov dword [esp + 0xa14], ecx
mov ecx, dword [esp + 0xa18]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xa14]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0xa10], eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xa10]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov dword [esp + 0xa0c], eax
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xa08], eax
add eax, 0xffffffff
mov dword [esp + 0xa04], eax
mov eax, dword [esp + 0xa08]
and eax, 0xffffffff
mov dword [esp + 0xa00], eax
mov eax, dword [esp + 0xa04]
mov dword [esp + 0x9fc], ecx
mov ecx, dword [esp + 0xa00]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x9fc]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0xa0c]
add ecx, 0xffffffff
mov dword [esp + 0x9f8], eax
mov eax, dword [esp + 0xa0c]
add eax, 0xffffffff
mov dword [esp + 0x9f4], eax
mov eax, dword [esp + 0xa0c]
and eax, 0xffffffff
mov dword [esp + 0x9f0], eax
mov eax, dword [esp + 0x9f4]
mov dword [esp + 0x9ec], ecx
mov ecx, dword [esp + 0x9f0]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x9ec]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x9e8], eax
add eax, 0xffffffff
mov dword [esp + 0x9e4], eax
mov eax, dword [esp + 0x9e8]
and eax, 0xffffffff
mov dword [esp + 0x9e0], eax
mov eax, dword [esp + 0x9e4]
mov dword [esp + 0x9dc], ecx
mov ecx, dword [esp + 0x9e0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x9dc]
add ecx, 0xffffffff
mov dword [esp + 0x9d8], eax
mov eax, dword [esp + 0x9dc]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x9d8]
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x9f8]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
movzx eax, byte [edx + 6]
mov dword [esp + 0x9d4], eax
mov eax, edi
sub eax, 0xfffffff8
sub eax, 1
add eax, 1
mov dword [esp + 0x9d0], ecx
mov ecx, eax
mov eax, dword [esp + 0x9d4]
shl eax, cl
mov ecx, dword [esp + 0x9d0]
xor ecx, 0xffffffff
mov dword [esp + 0x9cc], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x9c8], eax
add eax, 0xffffffff
mov dword [esp + 0x9c4], eax
mov eax, dword [esp + 0x9c8]
and eax, 0xffffffff
mov dword [esp + 0x9c0], eax
mov eax, dword [esp + 0x9c4]
mov dword [esp + 0x9bc], ecx
mov ecx, dword [esp + 0x9c0]
sub eax, ecx
sub eax, ecx
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x9bc]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
mov dword [esp + 0x9b8], eax
mov eax, dword [esp + 0x9d0]
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x9b4], eax
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0x9b0], eax
mov eax, dword [esp + 0x9b4]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x9b0]
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0x9ac], eax
mov eax, dword [esp + 0x9b8]
sub ecx, eax
sub ecx, 1
mov eax, edi
mov dword [esp + 0x9a8], ecx
mov ecx, dword [esp + 0x9ac]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x9a8]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x9cc]
xor eax, 0xffffffff
mov dword [esp + 0x9a4], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x9a0], eax
mov eax, dword [esp + 0x9a4]
mov dword [esp + 0x99c], ecx
mov ecx, dword [esp + 0x9a0]
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
mov dword [esp + 0x998], eax
mov eax, dword [esp + 0x9cc]
sub ecx, eax
sub ecx, 1
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x998]
add eax, 0xffffffff
mov dword [esp + 0x994], eax
mov eax, dword [esp + 0x998]
and eax, 0xffffffff
mov dword [esp + 0x990], eax
mov eax, dword [esp + 0x994]
mov dword [esp + 0x98c], ecx
mov ecx, dword [esp + 0x990]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x98c]
add ecx, 0xffffffff
mov dword [esp + 0x988], eax
mov eax, dword [esp + 0x98c]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x988]
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, edi
mov dword [esp + 0x984], ecx
mov ecx, dword [esp + 0x99c]
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0x980], eax
mov eax, dword [esp + 0x984]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x980]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x97c], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x97c]
sub ecx, eax
sub ecx, eax
movzx eax, byte [edx + 7]
mov edx, ecx
xor edx, 0xffffffff
mov dword [esp + 0x978], eax
mov eax, ebx
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, edi
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, edi
sub edx, eax
sub edx, 1
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x978]
add ecx, 0xffffffff
mov edx, dword [esp + 0x978]
add edx, 0xffffffff
mov dword [esp + 0x974], eax
mov eax, dword [esp + 0x978]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x974]
add eax, 0xffffffff
mov edx, dword [esp + 0x974]
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, edi
sub edx, ecx
sub edx, 1
mov dword [esp + 0x970], eax
mov eax, ebx
xor eax, 0xffffffff
and edx, 0xffffffff
and ecx, eax
or edx, ecx
mov eax, dword [esp + 0x970]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, edi
sub edx, ecx
sub edx, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or edx, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
sub eax, ecx
mov ecx, dword [esp + 0xd44]
add ecx, 0x1000
mov edx, dword [esp + 0xd44]
mov edx, dword [edx + 0x1044]
mov dword [esp + 0x96c], eax
mov eax, edx
or eax, 0xffffffff
mov dword [esp + 0x968], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x964], eax
mov eax, dword [esp + 0x968]
mov dword [esp + 0x960], ecx
mov ecx, dword [esp + 0x964]
sub eax, ecx
mov ecx, dword [esp + 0xadc]
or ecx, 0xffffffff
mov dword [esp + 0x95c], eax
mov eax, edi
mov dword [esp + 0x958], ecx
mov ecx, dword [esp + 0xadc]
sub eax, ecx
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x958]
and ecx, eax
mov eax, edi
mov dword [esp + 0x954], ecx
mov ecx, dword [esp + 0x95c]
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0x950], eax
mov eax, dword [esp + 0x954]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x950]
or eax, ecx
mov ecx, edi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
xor edx, 0xffffffff
mov dword [esp + 0x94c], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, edi
sub eax, edx
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xadc]
or eax, 0xffffffff
mov edx, dword [esp + 0xadc]
and edx, 0xffffffff
sub eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, edi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x94c]
sub ecx, eax
mov eax, dword [esp + 0xd44]
mov edx, dword [eax + 0x1040]
mov eax, dword [esp + 0x96c]
or eax, 0xffffffff
mov dword [esp + 0x948], eax
mov eax, edi
mov dword [esp + 0x944], ecx
mov ecx, dword [esp + 0x96c]
sub eax, ecx
sub eax, 1
mov ecx, edi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x948]
and ecx, eax
mov eax, edx
or eax, 0xffffffff
mov dword [esp + 0x940], eax
mov eax, edi
sub eax, edx
sub eax, 1
mov dword [esp + 0x93c], eax
mov eax, edi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x938], eax
mov eax, dword [esp + 0x93c]
mov dword [esp + 0x934], ecx
mov ecx, dword [esp + 0x938]
or eax, ecx
mov ecx, dword [esp + 0x940]
and ecx, eax
mov eax, edi
mov dword [esp + 0x930], ecx
mov ecx, dword [esp + 0x934]
sub eax, ecx
sub eax, 1
mov ecx, edi
mov dword [esp + 0x92c], eax
mov eax, dword [esp + 0x930]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x92c]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edi
mov dword [esp + 0x928], eax
mov eax, dword [esp + 0x96c]
sub ecx, eax
sub ecx, 1
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x96c]
mov dword [esp + 0x920], ecx
mov ecx, dword [esp + 0x924]
and eax, ecx
mov ecx, dword [esp + 0x920]
or ecx, eax
mov eax, edx
add eax, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
mov dword [esp + 0x91c], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x918], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x914], eax
mov eax, dword [esp + 0x918]
mov dword [esp + 0x910], ecx
mov ecx, dword [esp + 0x914]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x91c]
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x910]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
mov ecx, edi
sub ecx, eax
sub ecx, 1
and edx, ecx
mov eax, edi
sub eax, edx
sub eax, 1
mov ecx, edi
mov edx, dword [esp + 0x928]
sub ecx, edx
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x90c], eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, dword [esp + 0x90c]
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
add eax, 1
sub eax, 1
sub edx, eax
sub edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
sub edi, ecx
sub edi, 1
mov eax, dword [esp + 0x944]
mov dword [esp + 0x908], ebp
mov dword [esp + 0x904], eax
mov dword [esp + 0x900], edi
mov dword [esp + 0x8fc], esi
mov eax, dword [esp + 0x8fc]
mov ecx, dword [esp + 0x904]
mov edx, dword [esp + 0x900]
xor esi, esi
mov edi, 0x7517c703
mov ebx, 0xffffffff
mov ebp, 0x1953c4d7
mov dword [esp + 0x8f8], eax
mov eax, 0x17989b93
mov dword [esp + 0x8f4], eax
mov eax, 0xe56574b1
mov dword [esp + 0x8f0], eax
mov eax, 0x62507a59
mov dword [esp + 0x8ec], eax
mov eax, ebx
or eax, 0x7bb7cd07
mov dword [esp + 0x8e8], eax
mov eax, ebx
and eax, 0x7bb7cd07
mov dword [esp + 0x8e4], eax
mov eax, esi
mov dword [esp + 0x8e0], ecx
mov ecx, dword [esp + 0x8e4]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x8e8]
and ecx, eax
mov eax, ebx
add eax, 0x7bb7cd1f
mov dword [esp + 0x8dc], eax
mov eax, ebx
and eax, 0x7bb7cd1f
mov dword [esp + 0x8d8], eax
mov eax, dword [esp + 0x8dc]
mov dword [esp + 0x8d4], ecx
mov ecx, dword [esp + 0x8d8]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x8d0], eax
mov eax, dword [esp + 0x8d4]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x8d0]
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, ebx
add eax, 0x7bb7cd07
mov dword [esp + 0x8cc], eax
mov eax, ebx
add eax, 0x7bb7cd07
mov dword [esp + 0x8c8], eax
mov eax, ebx
and eax, 0x7bb7cd07
mov dword [esp + 0x8c4], eax
mov eax, dword [esp + 0x8c8]
mov dword [esp + 0x8c0], ecx
mov ecx, dword [esp + 0x8c4]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x8cc]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0x7bb7cd1f
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0x8bc], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x8b8], eax
mov eax, dword [esp + 0x8bc]
mov dword [esp + 0x8b4], ecx
mov ecx, dword [esp + 0x8b8]
and eax, ecx
mov ecx, dword [esp + 0x8b4]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x8b0], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x8ac], eax
mov eax, esi
mov dword [esp + 0x8a8], ecx
mov ecx, dword [esp + 0x8ac]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x8a8]
and ecx, eax
mov eax, dword [esp + 0x8b0]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x8a4], eax
mov eax, dword [esp + 0x8c0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x8a4]
and eax, 0xffffffff
mov dword [esp + 0x8a0], eax
mov eax, esi
mov dword [esp + 0x89c], ecx
mov ecx, dword [esp + 0x8a0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x8a4]
add ecx, 0xffffffff
mov dword [esp + 0x898], eax
mov eax, dword [esp + 0x8a4]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x898]
and ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x89c]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0x894], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x890], eax
mov eax, dword [esp + 0x894]
mov dword [esp + 0x88c], ecx
mov ecx, dword [esp + 0x890]
and eax, ecx
mov ecx, dword [esp + 0x88c]
or ecx, eax
mov eax, dword [esp + 0x8e0]
shr eax, cl
mov ecx, dword [esp + 0x908]
mov eax, dword [ecx + eax*4]
mov ecx, ebx
add ecx, 0xa15ce212
mov dword [esp + 0x888], eax
mov eax, ebx
and eax, 0xa15ce212
sub ecx, eax
sub ecx, eax
mov eax, ebx
add eax, 0xa15ce202
mov dword [esp + 0x884], eax
mov eax, ebx
and eax, 0xa15ce202
mov dword [esp + 0x880], eax
mov eax, dword [esp + 0x884]
mov dword [esp + 0x87c], ecx
mov ecx, dword [esp + 0x880]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x87c]
xor ecx, 0xffffffff
mov dword [esp + 0x878], eax
add eax, 0xffffffff
mov dword [esp + 0x874], eax
mov eax, dword [esp + 0x878]
and eax, 0xffffffff
mov dword [esp + 0x870], eax
mov eax, dword [esp + 0x874]
mov dword [esp + 0x86c], ecx
mov ecx, dword [esp + 0x870]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x86c]
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
mov dword [esp + 0x868], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, dword [esp + 0x868]
and ecx, eax
mov eax, ebx
xor eax, 0xa15ce212
mov dword [esp + 0x864], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x860], eax
mov eax, dword [esp + 0x864]
mov dword [esp + 0x85c], ecx
mov ecx, dword [esp + 0x860]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0xa15ce212
sub ecx, 1
mov dword [esp + 0x858], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0x854], ecx
mov ecx, dword [esp + 0x858]
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x850], eax
mov eax, dword [esp + 0x854]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x850]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ebx
add eax, 0xa15ce202
mov dword [esp + 0x84c], eax
mov eax, esi
sub eax, 0xa15ce202
sub eax, 1
mov dword [esp + 0x848], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0x848]
xor eax, 0xffffffff
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x844]
xor eax, 0xffffffff
mov dword [esp + 0x83c], eax
mov eax, dword [esp + 0x840]
mov dword [esp + 0x838], ecx
mov ecx, dword [esp + 0x83c]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x84c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x838]
add ecx, 0xffffffff
mov dword [esp + 0x834], eax
mov eax, dword [esp + 0x838]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x834]
or eax, 0xffffffff
mov dword [esp + 0x830], eax
mov eax, dword [esp + 0x834]
and eax, 0xffffffff
mov dword [esp + 0x82c], eax
mov eax, esi
mov dword [esp + 0x828], ecx
mov ecx, dword [esp + 0x82c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x830]
and ecx, eax
mov eax, dword [esp + 0x828]
add eax, 0xffffffff
mov dword [esp + 0x824], eax
mov eax, dword [esp + 0x828]
and eax, 0xffffffff
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0x824]
mov dword [esp + 0x81c], ecx
mov ecx, dword [esp + 0x820]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x818], eax
mov eax, dword [esp + 0x81c]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x818]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x814], eax
add eax, 0xffffffff
mov dword [esp + 0x810], eax
mov eax, dword [esp + 0x814]
and eax, 0xffffffff
mov dword [esp + 0x80c], eax
mov eax, dword [esp + 0x810]
mov dword [esp + 0x808], ecx
mov ecx, dword [esp + 0x80c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x808]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x804]
and ecx, eax
mov eax, dword [esp + 0x85c]
add eax, 0xffffffff
mov dword [esp + 0x800], eax
mov eax, dword [esp + 0x85c]
xor eax, 0xffffffff
mov dword [esp + 0x7fc], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x7f8], eax
mov eax, dword [esp + 0x7fc]
mov dword [esp + 0x7f4], ecx
mov ecx, dword [esp + 0x7f8]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x800]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x7f0], eax
mov eax, dword [esp + 0x7f4]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x7f0]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x8e0]
shr eax, cl
mov ecx, ebx
or ecx, 0x3f71033e
mov dword [esp + 0x7ec], eax
mov eax, ebx
and eax, 0x3f71033e
sub ecx, eax
mov eax, ebx
xor eax, 0x3f7103c1
mov dword [esp + 0x7e8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x7e4], eax
mov eax, dword [esp + 0x7e8]
and eax, 0xffffffff
mov dword [esp + 0x7e0], eax
mov eax, dword [esp + 0x7e4]
and eax, 0x3f7103c1
mov dword [esp + 0x7dc], eax
mov eax, dword [esp + 0x7e0]
mov dword [esp + 0x7d8], ecx
mov ecx, dword [esp + 0x7dc]
or eax, ecx
mov ecx, esi
mov dword [esp + 0x7d4], eax
mov eax, dword [esp + 0x7d8]
sub ecx, eax
sub ecx, 1
mov eax, esi
mov dword [esp + 0x7d0], ecx
mov ecx, dword [esp + 0x7d4]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7d0]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xffffffff
mov dword [esp + 0x7cc], eax
add eax, 0xffffffff
mov dword [esp + 0x7c8], eax
mov eax, dword [esp + 0x7cc]
and eax, 0xffffffff
mov dword [esp + 0x7c4], eax
mov eax, dword [esp + 0x7c8]
mov dword [esp + 0x7c0], ecx
mov ecx, dword [esp + 0x7c4]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x7bc], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x7bc]
or eax, ecx
mov ecx, dword [esp + 0x7c0]
and ecx, eax
mov eax, ebx
and eax, 0x3f71033e
mov dword [esp + 0x7b8], eax
mov eax, esi
mov dword [esp + 0x7b4], ecx
mov ecx, dword [esp + 0x7b8]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, ebx
xor ecx, 0x3f71033e
mov dword [esp + 0x7b0], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x7ac], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x7a8], eax
mov eax, dword [esp + 0x7ac]
mov dword [esp + 0x7a4], ecx
mov ecx, dword [esp + 0x7a8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7a4]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7b0]
and ecx, eax
mov eax, ebx
add eax, 0x3f7103c1
mov dword [esp + 0x7a0], eax
mov eax, ebx
add eax, 0x3f7103c1
mov dword [esp + 0x79c], eax
mov eax, ebx
and eax, 0x3f7103c1
mov dword [esp + 0x798], eax
mov eax, dword [esp + 0x79c]
mov dword [esp + 0x794], ecx
mov ecx, dword [esp + 0x798]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x790], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x790]
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x7a0]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x794]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x78c], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x788], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x784], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x780], eax
mov eax, dword [esp + 0x784]
mov dword [esp + 0x77c], ecx
mov ecx, dword [esp + 0x780]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x788]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x77c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x78c]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x7b4]
and eax, 0xffffffff
mov dword [esp + 0x778], eax
mov eax, esi
mov dword [esp + 0x774], ecx
mov ecx, dword [esp + 0x778]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7b4]
xor ecx, 0xffffffff
mov dword [esp + 0x770], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x770]
and ecx, eax
mov eax, dword [esp + 0x774]
and eax, 0xffffffff
mov dword [esp + 0x76c], eax
add eax, 0xffffffff
mov dword [esp + 0x768], eax
mov eax, dword [esp + 0x76c]
and eax, 0xffffffff
mov dword [esp + 0x764], eax
mov eax, dword [esp + 0x768]
mov dword [esp + 0x760], ecx
mov ecx, dword [esp + 0x764]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x774]
xor ecx, 0xffffffff
mov dword [esp + 0x75c], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x758], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x754], eax
mov eax, dword [esp + 0x758]
mov dword [esp + 0x750], ecx
mov ecx, dword [esp + 0x754]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x750]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x75c]
and ecx, eax
mov eax, dword [esp + 0x760]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x74c], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x748], eax
mov eax, dword [esp + 0x74c]
mov dword [esp + 0x744], ecx
mov ecx, dword [esp + 0x748]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x744]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
mov dword [esp + 0x740], ecx
mov ecx, dword [esp + 0x7ec]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x740]
add ecx, 0xffffffff
mov dword [esp + 0x73c], eax
mov eax, esi
mov dword [esp + 0x738], ecx
mov ecx, dword [esp + 0x740]
sub eax, ecx
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
mov dword [esp + 0x734], eax
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and ecx, 0xffffffff
and eax, 0xffffffff
or ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x734]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x738]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x73c]
or ecx, 0xffffffff
mov dword [esp + 0x730], eax
mov eax, esi
mov dword [esp + 0x72c], ecx
mov ecx, dword [esp + 0x73c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x72c]
and ecx, eax
mov eax, dword [esp + 0x730]
or eax, 0xffffffff
mov dword [esp + 0x728], eax
mov eax, dword [esp + 0x730]
add eax, 0xffffffff
mov dword [esp + 0x724], eax
mov eax, dword [esp + 0x730]
and eax, 0xffffffff
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x724]
mov dword [esp + 0x71c], ecx
mov ecx, dword [esp + 0x720]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x718], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x718]
or eax, ecx
mov ecx, dword [esp + 0x728]
and ecx, eax
mov eax, dword [esp + 0x71c]
xor eax, 0xffffffff
mov dword [esp + 0x714], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x714]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
mov dword [esp + 0x710], eax
add eax, 0xffffffff
mov dword [esp + 0x70c], eax
mov eax, dword [esp + 0x710]
and eax, 0xffffffff
mov dword [esp + 0x708], eax
mov eax, dword [esp + 0x70c]
mov dword [esp + 0x704], ecx
mov ecx, dword [esp + 0x708]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x704]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x888]
mov dword [esp + 0x700], eax
mov eax, dword [esp + 0xd40]
mov dword [esp + 0x6fc], edx
mov edx, dword [esp + 0x700]
add ecx, dword [eax + edx*4]
mov eax, esi
sub eax, 0xfffffff7
sub eax, 1
mov dword [esp + 0x6f8], ecx
mov ecx, eax
mov eax, dword [esp + 0x8e0]
shr eax, cl
mov ecx, dword [esp + 0x8ec]
add ecx, 0x62507aa6
mov edx, ebx
add edx, 0x62507aa6
mov dword [esp + 0x6f4], eax
mov eax, ebx
and eax, 0x62507aa6
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0x62507a59
sub eax, 1
mov dword [esp + 0x6f0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x6ec], eax
mov eax, dword [esp + 0x6f0]
and eax, 0xffffffff
mov dword [esp + 0x6e8], eax
mov eax, dword [esp + 0x6ec]
and eax, 0x62507a59
mov dword [esp + 0x6e4], eax
mov eax, dword [esp + 0x6e8]
mov dword [esp + 0x6e0], ecx
mov ecx, dword [esp + 0x6e4]
or eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x6e0]
sub ecx, eax
sub ecx, eax
mov eax, esi
mov edx, dword [esp + 0x6f4]
sub eax, edx
sub eax, 1
mov edx, ecx
add edx, 0xffffffff
mov dword [esp + 0x6dc], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov dword [esp + 0x6d8], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x6d4], eax
mov eax, dword [esp + 0x6d8]
mov dword [esp + 0x6d0], ecx
mov ecx, dword [esp + 0x6d4]
or eax, ecx
xor eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, ebx
xor eax, 0xffffffff
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x6cc], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x6cc]
and eax, 0xffffffff
and ecx, 0xffffffff
or eax, ecx
xor edx, 0xffffffff
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x6c8], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x6d0]
sub ecx, edx
sub ecx, 1
mov edx, dword [esp + 0x6c8]
add edx, 0xffffffff
mov dword [esp + 0x6c4], eax
mov eax, dword [esp + 0x6c8]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x6c4]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x6dc]
add eax, 0xffffffff
mov edx, dword [esp + 0x6dc]
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
and eax, edx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
or eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
sub ecx, edx
mov eax, dword [esp + 0xd3c]
mov ecx, dword [eax + ecx*4]
mov edx, esi
mov eax, dword [esp + 0x6f8]
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
xor edx, 0xffffffff
mov dword [esp + 0x6c0], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x6bc], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x6b8], eax
mov eax, dword [esp + 0x6bc]
mov dword [esp + 0x6b4], ecx
mov ecx, dword [esp + 0x6b8]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
mov ecx, dword [esp + 0x6f8]
sub edx, ecx
sub edx, 1
mov ecx, dword [esp + 0x6c0]
add ecx, 0xffffffff
mov dword [esp + 0x6b0], eax
mov eax, dword [esp + 0x6c0]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x6b0]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x6b4]
add eax, 0xffffffff
mov edx, dword [esp + 0x6b4]
add edx, 0xffffffff
mov dword [esp + 0x6ac], eax
mov eax, dword [esp + 0x6b4]
xor eax, 0xffffffff
mov dword [esp + 0x6a8], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x6a4], eax
mov eax, dword [esp + 0x6a8]
mov dword [esp + 0x6a0], ecx
mov ecx, dword [esp + 0x6a4]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x69c], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x69c]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x6ac]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x6a0]
or ecx, 0xffffffff
mov edx, dword [esp + 0x6a0]
and edx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
mov edx, esi
mov dword [esp + 0x698], eax
mov eax, dword [esp + 0x6b4]
sub edx, eax
sub edx, 1
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
xor ecx, 0xffffffff
mov eax, ebx
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x6f8]
or eax, 0xffffffff
mov ecx, dword [esp + 0x6f8]
add ecx, 0xffffffff
mov dword [esp + 0x694], eax
mov eax, dword [esp + 0x6f8]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, dword [esp + 0x694]
and eax, ecx
mov ecx, dword [esp + 0x698]
add ecx, 0xffffffff
mov dword [esp + 0x690], eax
mov eax, esi
mov dword [esp + 0x68c], ecx
mov ecx, dword [esp + 0x698]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x68c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x690]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x688], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x684], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x680], eax
mov eax, dword [esp + 0x684]
mov dword [esp + 0x67c], ecx
mov ecx, dword [esp + 0x680]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x67c]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x688]
sub ecx, eax
sub ecx, eax
mov eax, edx
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x678], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x678]
and eax, edx
mov edx, ecx
and edx, 0xffffffff
xor edx, 0xffffffff
mov dword [esp + 0x674], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
and edx, ecx
mov eax, dword [esp + 0x674]
add eax, 0xffffffff
mov ecx, dword [esp + 0x674]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
xor edx, 0xffffffff
or eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
and eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
and edx, ecx
mov eax, dword [esp + 0x8f0]
add eax, 0xe565744e
mov ecx, esi
sub ecx, 0xe565744e
sub ecx, 1
mov dword [esp + 0x670], eax
mov eax, ebx
or eax, 0xe56574b1
mov dword [esp + 0x66c], eax
mov eax, ebx
and eax, 0xe56574b1
mov dword [esp + 0x668], eax
mov eax, dword [esp + 0x66c]
mov dword [esp + 0x664], ecx
mov ecx, dword [esp + 0x668]
sub eax, ecx
mov ecx, dword [esp + 0x664]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x660], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x660]
mov dword [esp + 0x658], ecx
mov ecx, dword [esp + 0x65c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
mov dword [esp + 0x654], eax
mov eax, dword [esp + 0x658]
and eax, ecx
mov ecx, dword [esp + 0x654]
or ecx, eax
mov eax, dword [esp + 0x670]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x8e0]
sub ecx, eax
sub ecx, 1
mov eax, esi
mov dword [esp + 0x64c], ecx
mov ecx, dword [esp + 0x650]
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x648], eax
mov eax, dword [esp + 0x64c]
sub ecx, eax
sub ecx, 1
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and ecx, 0xffffffff
mov dword [esp + 0x644], eax
mov eax, dword [esp + 0x64c]
mov dword [esp + 0x640], ecx
mov ecx, dword [esp + 0x644]
and eax, ecx
mov ecx, dword [esp + 0x640]
or ecx, eax
mov eax, dword [esp + 0x648]
add eax, 0xffffffff
mov dword [esp + 0x63c], eax
mov eax, dword [esp + 0x648]
and eax, 0xffffffff
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0x63c]
mov dword [esp + 0x634], ecx
mov ecx, dword [esp + 0x638]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x634]
xor ecx, 0xffffffff
mov dword [esp + 0x630], eax
mov eax, esi
mov dword [esp + 0x62c], ecx
mov ecx, dword [esp + 0x630]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x62c]
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x628], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x624], eax
mov eax, dword [esp + 0x628]
mov dword [esp + 0x620], ecx
mov ecx, dword [esp + 0x624]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
mov dword [esp + 0x61c], eax
mov eax, dword [esp + 0x620]
and eax, ecx
mov ecx, dword [esp + 0x61c]
or ecx, eax
mov eax, ecx
or eax, 0xffffffff
mov dword [esp + 0x618], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x614], eax
mov eax, esi
mov dword [esp + 0x610], ecx
mov ecx, dword [esp + 0x614]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x618]
and ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
mov dword [esp + 0x60c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x610]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, esi
mov dword [esp + 0x604], ecx
mov ecx, dword [esp + 0x60c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x604]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x608]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0xd38]
add edx, dword [ecx + eax*4]
mov eax, edx
or eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
mov dword [esp + 0x600], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x5fc], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0x5fc]
mov dword [esp + 0x5f4], ecx
mov ecx, dword [esp + 0x5f8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x5f4]
or ecx, eax
mov eax, dword [esp + 0x600]
and eax, ecx
mov ecx, dword [esp + 0x6fc]
add ecx, 0xffffffff
mov dword [esp + 0x5f0], eax
mov eax, dword [esp + 0x6fc]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5f0]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0x5ec], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x5e8], eax
mov eax, dword [esp + 0x5ec]
and eax, 0xffffffff
mov dword [esp + 0x5e4], eax
mov eax, dword [esp + 0x5e8]
and ecx, eax
mov eax, dword [esp + 0x5e4]
or eax, ecx
mov ecx, edx
add ecx, 0xffffffff
xor edx, 0xffffffff
mov dword [esp + 0x5e0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
add eax, 1
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, esi
mov edx, dword [esp + 0x6fc]
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, ebx
xor ecx, 0xffffffff
or edx, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x5dc], eax
mov eax, esi
mov dword [esp + 0x5d8], ecx
mov ecx, dword [esp + 0x5dc]
sub eax, ecx
sub eax, 1
and edx, eax
mov eax, ebx
or eax, 0xffffffff
mov ecx, ebx
and ecx, 0xffffffff
sub eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x5d8]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5e0]
or eax, 0xffffffff
mov edx, dword [esp + 0x5e0]
and edx, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
and eax, edx
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x5d4], eax
mov eax, esi
sub eax, ecx
sub eax, 1
and edx, eax
mov eax, dword [esp + 0x5d4]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, ebx
xor eax, 0xffffffff
or edx, eax
and ecx, edx
mov eax, ebx
or eax, 0x8ed9eaf6
mov edx, ebx
and edx, 0x8ed9eaf6
sub eax, edx
mov edx, ebx
xor edx, 0x71261509
mov dword [esp + 0x5d0], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x5cc], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x5c8], eax
mov eax, dword [esp + 0x5cc]
mov dword [esp + 0x5c4], ecx
mov ecx, dword [esp + 0x5c8]
sub eax, ecx
sub eax, ecx
and edx, 0xffffffff
and eax, 0x71261509
or edx, eax
mov eax, esi
mov ecx, dword [esp + 0x5d0]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, ebx
add ecx, 0x8ed9eaf6
mov edx, ebx
add edx, 0x8ed9eaf6
mov dword [esp + 0x5c0], eax
mov eax, esi
sub eax, 0x8ed9eaf6
sub eax, 1
mov dword [esp + 0x5bc], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x5bc]
mov dword [esp + 0x5b4], ecx
mov ecx, dword [esp + 0x5b8]
or eax, ecx
xor eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, ebx
add eax, 0xffffffff
mov ecx, ebx
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x5b4]
sub ecx, eax
sub ecx, eax
mov eax, ebx
add eax, 0x71261509
mov edx, ebx
and edx, 0x71261509
sub eax, edx
sub eax, edx
add eax, 1
sub eax, 1
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x5b0], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x5ac], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x5ac]
mov dword [esp + 0x5a4], ecx
mov ecx, dword [esp + 0x5a8]
or eax, ecx
xor eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x5b0]
add eax, 0xffffffff
mov ecx, dword [esp + 0x5b0]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, ebx
xor ecx, 0x71261509
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x5a4]
or ecx, 0xffffffff
mov edx, dword [esp + 0x5a4]
and edx, 0xffffffff
mov dword [esp + 0x5a0], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
and ecx, eax
mov eax, dword [esp + 0x5a0]
or eax, 0xffffffff
mov edx, esi
mov dword [esp + 0x59c], eax
mov eax, dword [esp + 0x5a0]
sub edx, eax
sub edx, 1
mov eax, ebx
xor eax, 0xffffffff
or edx, eax
mov eax, dword [esp + 0x59c]
and eax, edx
xor ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
and ecx, edx
mov eax, esi
mov edx, dword [esp + 0x5c0]
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov eax, dword [esp + 0x8f8]
add eax, ecx
mov ecx, dword [esp + 0x960]
mov edx, dword [esp + 0x8f8]
mov ecx, dword [ecx + edx*4]
mov edx, ecx
mov dword [esp + 0x598], eax
mov eax, dword [esp + 0x8e0]
add edx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x594], eax
mov eax, dword [esp + 0x8e0]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x594]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub edx, ecx
sub edx, ecx
mov eax, dword [esp + 0x8f4]
add eax, 0x17989b8b
mov ecx, esi
sub ecx, 0x17989b8b
sub ecx, 1
mov dword [esp + 0x590], eax
mov eax, esi
sub eax, 0x17989b93
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x590]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5c4]
shr eax, cl
mov ecx, dword [esp + 0x908]
mov eax, dword [ecx + eax*4]
mov ecx, esi
sub ecx, 0xfffffff0
sub ecx, 1
add ecx, 1
mov dword [esp + 0x58c], eax
mov eax, dword [esp + 0x5c4]
shr eax, cl
mov ecx, ebx
or ecx, 0x937fe8c4
mov dword [esp + 0x588], eax
mov eax, ebx
and eax, 0x937fe8c4
sub ecx, eax
mov eax, ebx
and eax, 0x937fe83b
xor eax, 0xffffffff
mov dword [esp + 0x584], eax
mov eax, esi
sub eax, 0x937fe83b
sub eax, 1
mov dword [esp + 0x580], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x57c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x578], eax
mov eax, dword [esp + 0x57c]
mov dword [esp + 0x574], ecx
mov ecx, dword [esp + 0x578]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x580]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x584]
and ecx, eax
mov eax, esi
mov dword [esp + 0x570], ecx
mov ecx, dword [esp + 0x574]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x570]
add ecx, 0xffffffff
mov dword [esp + 0x56c], eax
mov eax, dword [esp + 0x570]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x56c]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
and eax, ecx
mov ecx, ebx
add ecx, 0x937fe8c4
mov dword [esp + 0x568], eax
mov eax, ebx
add eax, 0x937fe8c4
mov dword [esp + 0x564], eax
mov eax, ebx
and eax, 0x937fe8c4
mov dword [esp + 0x560], eax
mov eax, dword [esp + 0x564]
mov dword [esp + 0x55c], ecx
mov ecx, dword [esp + 0x560]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x55c]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0x937fe83b
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x558], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x558]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x568]
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x554], eax
mov eax, dword [esp + 0x588]
sub ecx, eax
sub ecx, 1
mov eax, esi
mov dword [esp + 0x550], ecx
mov ecx, dword [esp + 0x554]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x550]
and ecx, 0xffffffff
mov dword [esp + 0x54c], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x548], eax
mov eax, dword [esp + 0x550]
sub ecx, eax
sub ecx, 1
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x548]
and ecx, eax
mov eax, dword [esp + 0x54c]
or eax, 0xffffffff
mov dword [esp + 0x544], eax
mov eax, dword [esp + 0x54c]
and eax, 0xffffffff
mov dword [esp + 0x540], eax
add eax, 0xffffffff
mov dword [esp + 0x53c], eax
mov eax, dword [esp + 0x540]
and eax, 0xffffffff
mov dword [esp + 0x538], eax
mov eax, dword [esp + 0x53c]
mov dword [esp + 0x534], ecx
mov ecx, dword [esp + 0x538]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x544]
and ecx, eax
mov eax, dword [esp + 0x534]
xor eax, 0xffffffff
mov dword [esp + 0x530], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x530]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov dword [esp + 0x52c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, 0xffffffff
mov dword [esp + 0x528], eax
mov eax, dword [esp + 0x52c]
mov dword [esp + 0x524], ecx
mov ecx, dword [esp + 0x528]
and eax, ecx
mov ecx, dword [esp + 0x524]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x58c]
mov dword [esp + 0x520], eax
mov eax, dword [esp + 0xd40]
mov dword [esp + 0x51c], edx
mov edx, dword [esp + 0x520]
add ecx, dword [eax + edx*4]
mov eax, ebx
xor eax, 0x1b567130
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x518], eax
mov eax, ebx
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x518]
and eax, 0xffffffff
and edx, 0x1b567130
or eax, edx
mov edx, ebx
or edx, 0x1b567138
mov dword [esp + 0x514], eax
mov eax, ebx
and eax, 0x1b567138
mov dword [esp + 0x510], eax
add eax, 0xffffffff
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x510]
and eax, 0xffffffff
mov dword [esp + 0x508], eax
mov eax, dword [esp + 0x50c]
mov dword [esp + 0x504], ecx
mov ecx, dword [esp + 0x508]
sub eax, ecx
sub eax, ecx
and edx, eax
mov eax, esi
mov ecx, dword [esp + 0x514]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
and eax, edx
mov ecx, esi
sub ecx, 0x1b567130
sub ecx, 1
mov edx, ebx
and edx, 0x1b567138
mov dword [esp + 0x500], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, ebx
xor edx, 0x1b567138
mov dword [esp + 0x4fc], eax
mov eax, ebx
xor eax, 0xffffffff
and edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x4fc]
and edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
and edx, ecx
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x500]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x500]
sub edx, eax
sub edx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x4f4], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x4f0], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x4ec], ecx
mov ecx, dword [esp + 0x4f0]
sub eax, ecx
sub eax, ecx
or edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x4ec]
sub eax, edx
sub eax, edx
mov edx, esi
mov ecx, dword [esp + 0x4f8]
sub edx, ecx
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5c4]
shr eax, cl
mov edx, ebx
or edx, 0x68c1d232
mov ecx, ebx
xor ecx, 0x68c1d232
mov dword [esp + 0x4e8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
and edx, ecx
mov eax, esi
sub eax, 0x68c1d2cd
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
and ecx, 0x68c1d2cd
or eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
sub edx, eax
sub edx, 1
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
and ecx, edx
mov eax, esi
sub eax, 0x68c1d232
sub eax, 1
mov edx, esi
sub edx, 0x68c1d2cd
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x4e4], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x4e0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x4dc], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x4d8], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x4d4], eax
mov eax, dword [esp + 0x4d8]
mov dword [esp + 0x4d0], ecx
mov ecx, dword [esp + 0x4d4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x4dc]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x4e0]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x4cc], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x4c8], eax
mov eax, dword [esp + 0x4cc]
mov dword [esp + 0x4c4], ecx
mov ecx, dword [esp + 0x4c8]
sub eax, ecx
sub eax, ecx
or edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x4c4]
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x4e4]
sub edx, eax
sub edx, eax
mov eax, esi
mov ecx, dword [esp + 0x4d0]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x4e8]
add eax, 0xffffffff
mov edx, esi
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x4e8]
sub edx, eax
sub edx, 1
mov eax, ebx
or eax, 0xffffffff
mov dword [esp + 0x4bc], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x4b8], eax
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x4b4], ecx
mov ecx, dword [esp + 0x4b8]
sub eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x4c0]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x4b4]
xor eax, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, dword [esp + 0x4b4]
xor edx, 0xffffffff
mov dword [esp + 0x4b0], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x4ac], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x4a4], ecx
mov ecx, dword [esp + 0x4a8]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, esi
mov ecx, dword [esp + 0x4b0]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x4a4]
and eax, 0xffffffff
xor eax, 0xffffffff
mov edx, esi
mov dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x4a4]
sub edx, eax
sub edx, 1
mov eax, ebx
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x4a0]
and eax, edx
mov edx, ecx
add edx, 0xffffffff
mov dword [esp + 0x49c], eax
mov eax, ecx
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, 0xffffffff
and ecx, eax
or edx, ecx
mov eax, dword [esp + 0x49c]
xor eax, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, ebx
xor ecx, 0xffffffff
or edx, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xd3c]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0x504]
or edx, 0xffffffff
mov ecx, dword [esp + 0x504]
xor ecx, 0xffffffff
mov dword [esp + 0x498], eax
mov eax, ebx
xor eax, 0xffffffff
or ecx, eax
and edx, ecx
mov eax, esi
mov ecx, dword [esp + 0x498]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
mov dword [esp + 0x494], eax
mov eax, dword [esp + 0x498]
and eax, ecx
mov ecx, dword [esp + 0x494]
or ecx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
or eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
and eax, ecx
mov ecx, dword [esp + 0x504]
xor ecx, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x490], eax
mov eax, dword [esp + 0x504]
sub edx, eax
sub edx, 1
mov eax, ebx
or eax, 0xffffffff
mov dword [esp + 0x48c], eax
mov eax, ebx
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x484], ecx
mov ecx, dword [esp + 0x488]
and eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x484]
add eax, 0xffffffff
mov ecx, dword [esp + 0x484]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x498]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x498]
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x480]
add eax, 0xffffffff
mov edx, dword [esp + 0x480]
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
xor edx, 0xffffffff
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
and eax, edx
xor eax, 0xffffffff
and ecx, eax
mov eax, dword [esp + 0x490]
add eax, 0xffffffff
mov edx, dword [esp + 0x490]
xor edx, 0xffffffff
add edx, 1
sub edx, 1
mov dword [esp + 0x47c], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x478], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x470], ecx
mov ecx, dword [esp + 0x474]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x47c]
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x470]
or eax, 0xffffffff
mov ecx, dword [esp + 0x470]
add ecx, 0xffffffff
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x470]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, dword [esp + 0x46c]
and eax, ecx
add eax, 1
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
mov ecx, edx
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
and edx, ecx
or eax, edx
mov ecx, ebx
add ecx, 0xffffff00
mov edx, ebx
add edx, 0xffffff00
mov dword [esp + 0x468], eax
mov eax, ebx
and eax, 0xffffff00
sub edx, eax
sub edx, eax
mov eax, ebx
or eax, 0xffffffff
mov dword [esp + 0x464], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x460], eax
add eax, 0xffffffff
mov dword [esp + 0x45c], eax
mov eax, dword [esp + 0x460]
and eax, 0xffffffff
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x45c]
mov dword [esp + 0x454], ecx
mov ecx, dword [esp + 0x458]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x464]
and ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
and eax, ecx
mov ecx, dword [esp + 0x454]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5c4]
add eax, 0xffffffff
mov edx, dword [esp + 0x5c4]
add edx, 0xffffffff
mov dword [esp + 0x450], eax
mov eax, esi
mov dword [esp + 0x44c], ecx
mov ecx, dword [esp + 0x5c4]
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x448], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x448]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
sub edx, ecx
sub edx, ecx
mov eax, ebx
or eax, 0xffffffff
mov ecx, ebx
and ecx, 0xffffffff
sub eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x450]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x44c]
xor eax, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, dword [esp + 0x44c]
xor edx, 0xffffffff
mov dword [esp + 0x444], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x440], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x43c], eax
mov eax, dword [esp + 0x440]
mov dword [esp + 0x438], ecx
mov ecx, dword [esp + 0x43c]
sub eax, ecx
sub eax, ecx
or edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x444]
sub eax, edx
mov edx, dword [esp + 0x438]
or edx, 0xffffffff
mov ecx, esi
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x438]
sub ecx, eax
sub ecx, 1
mov eax, ebx
xor eax, 0xffffffff
or ecx, eax
and edx, ecx
mov eax, esi
mov ecx, dword [esp + 0x434]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
mov dword [esp + 0x430], eax
mov eax, dword [esp + 0x434]
and eax, ecx
mov ecx, dword [esp + 0x430]
or ecx, eax
mov eax, esi
sub eax, edx
sub eax, 1
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
and eax, edx
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
or edx, 0xffffffff
mov dword [esp + 0x42c], eax
add eax, 0xffffffff
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0x42c]
and eax, 0xffffffff
mov dword [esp + 0x424], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 0x420], ecx
mov ecx, dword [esp + 0x424]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
and edx, eax
mov eax, ebx
add eax, 0xffffffff
mov ecx, ebx
xor ecx, 0xffffffff
mov dword [esp + 0x41c], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x418], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x418]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x414]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x410]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x41c]
sub ecx, eax
sub ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
or ecx, edx
mov edx, esi
sub edx, ecx
sub edx, 1
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x420]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x468]
mov edx, dword [esp + 0xd38]
add eax, dword [edx + ecx*4]
mov ecx, dword [esp + 0x51c]
xor ecx, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0x51c]
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor edx, 0xffffffff
mov dword [esp + 0x408], eax
mov eax, esi
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0x408]
sub eax, ecx
sub eax, 1
or edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x404]
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x40c]
add eax, 0xffffffff
mov edx, dword [esp + 0x40c]
add edx, 0xffffffff
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x40c]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, 0xffffffff
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x40c]
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3fc]
and eax, ecx
or edx, eax
mov eax, ebx
add eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x3f4], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x3f4]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov ecx, dword [esp + 0x400]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
mov edx, dword [esp + 0x3f8]
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x40c]
or edx, 0xffffffff
mov dword [esp + 0x3f0], eax
mov eax, dword [esp + 0x40c]
and eax, 0xffffffff
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x3f0]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, esi
mov dword [esp + 0x3ec], ecx
mov ecx, dword [esp + 0x51c]
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3ec]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x3e8]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x3e4], eax
mov eax, esi
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3e4]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
and eax, edx
mov ecx, dword [esp + 0x3e0]
and ecx, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, esi
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x3e0]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
and edx, eax
mov eax, dword [esp + 0x3dc]
xor eax, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ebx
add eax, 0x9eeb54ee
mov edx, ebx
and edx, 0x9eeb54ee
sub eax, edx
sub eax, edx
mov edx, ebx
or edx, 0x6114ab10
mov dword [esp + 0x3d8], eax
mov eax, ebx
and eax, 0x6114ab10
sub edx, eax
mov eax, dword [esp + 0x3d8]
xor eax, 0xffffffff
mov dword [esp + 0x3d4], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x3d4]
or edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
mov dword [esp + 0x3d0], eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x3d0]
and edx, eax
mov eax, ebx
or eax, 0x9eeb54ee
mov dword [esp + 0x3cc], eax
mov eax, ebx
and eax, 0x9eeb54ee
mov dword [esp + 0x3c8], eax
add eax, 0xffffffff
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3c8]
and eax, 0xffffffff
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3bc], ecx
mov ecx, dword [esp + 0x3c0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3cc]
and ecx, eax
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0x6114ab10
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x3b8], eax
mov eax, esi
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0x3b8]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x3b4]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
sub edx, eax
sub edx, 1
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
mov ecx, ebx
xor ecx, 0xffffffff
or edx, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x8f8]
add ecx, eax
mov eax, dword [esp + 0x960]
mov edx, dword [esp + 0x598]
mov eax, dword [eax + edx*4]
mov edx, eax
xor edx, 0xffffffff
mov dword [esp + 0x3b0], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x3ac], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x3a8], eax
mov eax, dword [esp + 0x3ac]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x3a8]
sub eax, ecx
sub eax, ecx
and edx, 0xffffffff
mov ecx, dword [esp + 0x3b0]
and ecx, eax
or edx, ecx
mov eax, esi
mov ecx, dword [esp + 0x5c4]
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, ebx
xor ecx, 0xffffffff
or edx, ecx
and eax, edx
mov ecx, eax
add ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, ebx
or eax, 0xffffffff
mov dword [esp + 0x3a0], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x39c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x39c]
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 0x398]
or eax, ecx
mov ecx, dword [esp + 0x3a0]
and ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, dword [esp + 0x394]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
mov edx, dword [esp + 0x3b0]
sub eax, edx
sub eax, 1
mov edx, esi
mov dword [esp + 0x390], eax
mov eax, dword [esp + 0x5c4]
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x390]
add eax, 0xffffffff
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x390]
add eax, 0xffffffff
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x390]
and eax, 0xffffffff
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x388]
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x384]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x37c], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x37c]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x38c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x380]
sub ecx, edx
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0x3b10462
mov edx, ebx
and edx, 0x3b10462
sub ecx, edx
sub ecx, edx
mov edx, ebx
or edx, 0x3b1047a
mov dword [esp + 0x378], eax
mov eax, ebx
and eax, 0x3b1047a
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and edx, eax
xor ecx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
or ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0x3b10462
mov edx, ebx
xor edx, 0x3b10462
mov dword [esp + 0x374], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x370], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 0x368], ecx
mov ecx, dword [esp + 0x36c]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x368]
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0x3b1047a
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x374]
sub edx, eax
mov ecx, edx
mov eax, dword [esp + 0x3bc]
shr eax, cl
mov edx, dword [esp + 0x908]
mov eax, dword [edx + eax*4]
mov ecx, esi
sub ecx, 0xfffffff0
mov edx, dword [esp + 0x3bc]
shr edx, cl
mov ecx, ebx
add ecx, 0xffffff00
mov dword [esp + 0x364], eax
mov eax, ebx
add eax, 0xffffff00
mov dword [esp + 0x360], eax
mov eax, esi
sub eax, 0xffffff00
sub eax, 1
mov dword [esp + 0x35c], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x358], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x354], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x354]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x350]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x358]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x35c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x348], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x348]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x360]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x344], eax
or eax, 0xffffffff
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x344]
add eax, 0xffffffff
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x344]
and eax, 0xffffffff
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x33c]
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x338]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x340]
and ecx, eax
mov eax, dword [esp + 0x334]
and eax, 0xffffffff
mov dword [esp + 0x330], eax
add eax, 0xffffffff
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x330]
and eax, 0xffffffff
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x328]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x334]
add ecx, 0xffffffff
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x334]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x31c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0x31c]
mov dword [esp + 0x314], ecx
mov ecx, dword [esp + 0x318]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x314]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x320]
and ecx, eax
mov eax, esi
mov dword [esp + 0x310], ecx
mov ecx, dword [esp + 0x324]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x310]
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
mov dword [esp + 0x30c], eax
add eax, 0xffffffff
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x30c]
and eax, 0xffffffff
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x308]
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x304]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x300]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x2fc], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x2f8], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
and eax, 0xffffffff
or ecx, eax
mov eax, dword [esp + 0x2f8]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2fc]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x34c]
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
add edx, 1
sub edx, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov edx, esi
sub edx, ecx
sub edx, 1
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov ecx, eax
add ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x364]
mov edx, dword [esp + 0xd40]
add eax, dword [edx + ecx*4]
mov ecx, esi
sub ecx, 0xfffffff7
sub ecx, 1
mov edx, dword [esp + 0x3bc]
shr edx, cl
mov ecx, esi
sub ecx, 0xffffff00
sub ecx, 1
mov dword [esp + 0x2f4], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x2f0], eax
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x2ec], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x2e8], eax
mov eax, ebx
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x2e8]
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x2ec]
sub eax, edx
sub eax, edx
mov edx, ebx
or edx, 0xffffffff
mov dword [esp + 0x2e4], eax
mov eax, ebx
and eax, 0xffffffff
xor eax, 0xffffffff
and edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x2e4]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x2f0]
sub eax, edx
sub eax, edx
mov edx, ecx
xor edx, 0xffffffff
mov dword [esp + 0x2e0], eax
mov eax, ebx
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x2dc], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2dc]
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, esi
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x2e0]
or ecx, 0xffffffff
mov edx, dword [esp + 0x2e0]
and edx, 0xffffffff
sub ecx, edx
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
xor edx, 0xffffffff
or eax, edx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov edx, ebx
xor edx, 0xffffffff
and eax, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xd3c]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x2f4]
add edx, 0xffffffff
mov eax, dword [esp + 0x2f4]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x2d8], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x2d8]
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x2d4]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, esi
mov edx, dword [esp + 0x2f4]
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x2d0]
add edx, 0xffffffff
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x2d0]
add eax, 0xffffffff
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x2d0]
and eax, 0xffffffff
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp + 0x2c0], ecx
mov ecx, dword [esp + 0x2c4]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x2cc]
or eax, 0xffffffff
mov ecx, dword [esp + 0x2cc]
and ecx, 0xffffffff
sub eax, ecx
mov ecx, edx
and ecx, 0xffffffff
mov dword [esp + 0x2bc], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
and eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x2bc]
sub ecx, edx
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x2b8], eax
mov eax, ebx
and eax, 0xffffffff
sub edx, eax
sub edx, eax
and ecx, 0xffffffff
mov eax, dword [esp + 0x2b8]
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x2c0]
or eax, 0xffffffff
mov edx, dword [esp + 0x2c0]
and edx, 0xffffffff
mov dword [esp + 0x2b4], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x2b4]
and edx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x2b0], eax
mov eax, ebx
and eax, 0xffffffff
sub edx, eax
sub edx, eax
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x2b0]
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffff00
sub eax, 1
add eax, 1
sub eax, 1
mov edx, esi
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x3bc]
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x3bc]
add eax, 0xffffffff
mov dword [esp + 0x2a8], eax
mov eax, esi
mov dword [esp + 0x2a4], ecx
mov ecx, dword [esp + 0x3bc]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2a8]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
or ecx, 0xffffffff
mov dword [esp + 0x2a0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x29c], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x29c]
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x298]
or eax, ecx
mov ecx, dword [esp + 0x294]
and ecx, eax
mov eax, dword [esp + 0x2a0]
add eax, 0xffffffff
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x2a0]
and eax, 0xffffffff
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x288], ecx
mov ecx, dword [esp + 0x28c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x288]
add ecx, 0xffffffff
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x288]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x284]
or eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
or eax, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x2ac]
sub ecx, edx
sub ecx, 1
mov edx, eax
or edx, 0xffffffff
mov dword [esp + 0x280], eax
mov eax, esi
mov dword [esp + 0x27c], ecx
mov ecx, dword [esp + 0x280]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x278], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x278]
or eax, ecx
and edx, eax
mov eax, dword [esp + 0x27c]
and eax, 0xffffffff
xor eax, 0xffffffff
mov ecx, dword [esp + 0x27c]
xor ecx, 0xffffffff
mov dword [esp + 0x274], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x270], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x26c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x268]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x274]
and ecx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, ecx
sub edx, 1
or eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
and eax, 0xffffffff
xor eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x264], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
and edx, ecx
xor edx, 0xffffffff
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x264]
and eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2a4]
mov edx, dword [esp + 0xd38]
add eax, dword [edx + ecx*4]
mov ecx, dword [esp + 0x378]
or ecx, 0xffffffff
mov edx, dword [esp + 0x378]
and edx, 0xffffffff
sub ecx, edx
mov edx, eax
or edx, 0xffffffff
mov dword [esp + 0x260], eax
and eax, 0xffffffff
mov dword [esp + 0x25c], eax
mov eax, esi
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x25c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
and edx, eax
mov eax, esi
mov ecx, dword [esp + 0x258]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x378]
sub ecx, edx
sub ecx, 1
mov edx, dword [esp + 0x260]
add edx, 0xffffffff
mov dword [esp + 0x254], eax
mov eax, esi
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x260]
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x24c], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x248], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x240], ecx
mov ecx, dword [esp + 0x244]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x240]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x24c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x23c], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0x23c]
and eax, 0xffffffff
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x238]
and ecx, eax
mov eax, dword [esp + 0x234]
or eax, ecx
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x250]
or eax, 0xffffffff
mov ecx, dword [esp + 0x250]
and ecx, 0xffffffff
sub eax, ecx
mov ecx, edx
and ecx, 0xffffffff
mov dword [esp + 0x230], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
mov edx, esi
sub edx, ecx
sub edx, 1
and eax, edx
mov ecx, dword [esp + 0x230]
xor ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x254]
add eax, 0xffffffff
mov edx, dword [esp + 0x254]
add edx, 0xffffffff
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x254]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x22c]
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
and eax, 0xffffffff
xor eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, esi
sub ecx, 3
mov edx, dword [esp + 0x8f8]
add edx, ecx
mov ecx, dword [esp + 0x960]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x3a4]
mov eax, dword [ecx + eax*4]
mov ecx, eax
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x3bc]
add ecx, eax
mov eax, esi
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x224]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x3bc]
add ecx, 0xffffffff
mov dword [esp + 0x21c], eax
mov eax, esi
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x3bc]
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x214], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x214]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x218]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x21c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x210], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x20c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x208]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x204]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x210]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x220]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffe8
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x228]
shr eax, cl
mov ecx, dword [esp + 0x908]
mov eax, dword [ecx + eax*4]
mov ecx, ebx
add ecx, 0xffffffef
mov dword [esp + 0x1fc], eax
mov eax, ebx
add eax, 0xffffffef
mov dword [esp + 0x1f8], eax
mov eax, esi
sub eax, 0xffffffef
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x1f4], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x1f4]
xor eax, 0xffffffff
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x1f0]
xor eax, 0xffffffff
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 0x1e8]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x1f8]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x1e0], eax
or eax, 0xffffffff
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x1e0]
and eax, 0xffffffff
mov dword [esp + 0x1d8], eax
add eax, 0xffffffff
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x1d8]
and eax, 0xffffffff
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x1d0]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x1dc]
and ecx, eax
mov eax, dword [esp + 0x1cc]
or eax, 0xffffffff
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x1cc]
and eax, 0xffffffff
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x1c8]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x1c4]
sub eax, ecx
mov ecx, dword [esp + 0x1c0]
xor ecx, 0xffffffff
mov dword [esp + 0x1bc], eax
mov eax, esi
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x1bc]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x1b8]
or ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x1b4], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1b4]
and eax, 0xffffffff
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1b0]
and ecx, eax
mov eax, dword [esp + 0x1ac]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x1a8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x1a4]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x1a0]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1e4]
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x228]
shr eax, cl
mov ecx, ebx
add ecx, 0x62653d86
mov dword [esp + 0x19c], eax
mov eax, esi
sub eax, 0x62653d86
sub eax, 1
mov dword [esp + 0x198], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x194]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x190]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0x62653d79
sub ecx, 1
mov dword [esp + 0x18c], eax
mov eax, ebx
xor eax, 0xffffffff
and ecx, 0xffffffff
and eax, 0x62653d79
or ecx, eax
mov eax, dword [esp + 0x18c]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x188], eax
add eax, 0xffffffff
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x188]
and eax, 0xffffffff
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x180]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x17c]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0x62653d86
mov dword [esp + 0x178], eax
mov eax, esi
sub eax, 0x62653d86
sub eax, 1
mov dword [esp + 0x174], eax
mov eax, ebx
or eax, 0xffffffff
mov dword [esp + 0x170], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x16c], eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x168], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x164]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x16c]
or ecx, eax
mov eax, dword [esp + 0x170]
and eax, ecx
mov ecx, dword [esp + 0x174]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, dword [esp + 0x160]
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0x62653d79
sub eax, 1
mov dword [esp + 0x15c], eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x158], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x158]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x15c]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x154]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x178]
sub ecx, eax
sub ecx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x14c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x148]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x144]
and ecx, 0xffffffff
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x140]
and eax, ecx
mov ecx, dword [esp + 0x13c]
or ecx, eax
mov eax, dword [esp + 0x150]
add eax, 0xffffffff
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x150]
add eax, 0xffffffff
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x150]
and eax, 0xffffffff
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x130]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x128], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x128]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x138]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x12c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x124], eax
mov eax, esi
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0x124]
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x120]
sub ecx, eax
sub ecx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x118], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x114]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x110]
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x11c]
and ecx, eax
mov eax, esi
mov dword [esp + 0x10c], ecx
mov ecx, dword [esp + 0x19c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x10c]
add ecx, 0xffffffff
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x10c]
add eax, 0xffffffff
mov dword [esp + 0x104], eax
mov eax, esi
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x10c]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x104]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xfc], eax
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0xf8], eax
mov eax, ebx
xor eax, 0xffffffff
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0xf4]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xf0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xfc]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0xec], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xe8]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xe0], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xe0]
and eax, 0xffffffff
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe4]
and eax, ecx
mov ecx, dword [esp + 0xdc]
or ecx, eax
mov eax, dword [esp + 0x100]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x108]
or ecx, 0xffffffff
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x108]
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0xd8]
and eax, 0xffffffff
mov dword [esp + 0xd4], eax
mov eax, esi
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xd4]
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xd8]
sub ecx, eax
sub ecx, 1
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0xc8], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xc4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xc0]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xcc]
and ecx, eax
mov eax, esi
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xd0]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xbc]
add ecx, 0xffffffff
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xbc]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xb8]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
or eax, 0xffffffff
mov dword [esp + 0xb4], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0xb0], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xb0]
or eax, ecx
mov ecx, dword [esp + 0xb4]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xd40]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0xac]
add ecx, dword [eax + edx*4]
add ebp, 0x1953c4df
mov eax, esi
sub eax, 0x1953c4df
sub eax, 1
mov edx, ebx
add edx, 0x1953c4d7
mov dword [esp + 0xa4], eax
mov eax, ebx
add eax, 0x1953c4d7
mov dword [esp + 0xa0], eax
mov eax, ebx
and eax, 0x1953c4d7
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x9c]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
mov dword [esp + 0x94], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x94]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov eax, dword [esp + 0xa4]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov ecx, ebp
mov eax, dword [esp + 0x228]
shr eax, cl
mov edx, ebx
or edx, 0xfd346cbc
mov ebp, ebx
and ebp, 0xfd346cbc
mov ecx, esi
sub ecx, ebp
sub ecx, 1
and edx, ecx
mov ecx, ebx
or ecx, 0xfd346c43
mov ebp, ebx
add ebp, 0xfd346c43
mov dword [esp + 0x90], eax
mov eax, ebx
and eax, 0xfd346c43
sub ebp, eax
sub ebp, eax
mov eax, ebx
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x88]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, dword [esp + 0x84]
and eax, ebp
xor edx, 0xffffffff
mov ebp, esi
sub ebp, eax
sub ebp, 1
or edx, ebp
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
add eax, 1
sub eax, 1
mov edx, eax
xor edx, 0xffffffff
mov ebp, ebx
xor ebp, 0xffffffff
and edx, 0xffffffff
and eax, ebp
or edx, eax
mov eax, ebx
or eax, 0xfd346cbc
mov ebp, ebx
xor ebp, 0xfd346cbc
mov ecx, ebx
xor ecx, 0xffffffff
or ebp, ecx
and eax, ebp
mov ecx, esi
sub ecx, 0xfd346c43
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
sub edx, ecx
mov eax, dword [esp + 0x90]
xor eax, 0xffffffff
mov ecx, ebx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x90]
xor ecx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
mov dword [esp + 0x80], eax
mov eax, ebx
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or ecx, ebp
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x80]
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edx
xor eax, 0xffffffff
mov ebp, ebx
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ebp, esi
sub ebp, edx
sub ebp, 1
mov edx, ebx
add edx, 0xffffffff
mov dword [esp + 0x7c], eax
mov eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x78], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x74]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub edx, ecx
sub edx, ecx
xor ebp, 0xffffffff
xor edx, 0xffffffff
and ebp, edx
xor ebp, 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x7c]
sub eax, ecx
sub eax, 1
xor ebp, 0xffffffff
or eax, ebp
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x70]
or eax, 0xffffffff
mov edx, dword [esp + 0x70]
and edx, 0xffffffff
mov ebp, esi
sub ebp, edx
sub ebp, 1
and eax, ebp
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
xor eax, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xd3c]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0x98]
add edx, eax
mov ebp, dword [esp + 0x98]
add ebp, 0xffffffff
mov ecx, esi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x98]
sub ecx, eax
sub ecx, 1
mov eax, ebx
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x6c]
add eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x6c]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x68]
sub ecx, eax
sub ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffff01
mov ecx, esi
mov ebp, dword [esp + 0x228]
sub ecx, ebp
sub ecx, 1
mov ebp, eax
add ebp, 0xffffffff
mov dword [esp + 0x64], eax
add eax, 0xffffffff
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x64]
and eax, 0xffffffff
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x5c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 0x58]
or eax, 0xffffffff
mov ecx, dword [esp + 0x58]
and ecx, 0xffffffff
sub eax, ecx
mov ecx, ebp
or ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
xor eax, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
or eax, ebp
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
xor ecx, 0xffffffff
mov ebp, ebx
xor ebp, 0xffffffff
or ecx, ebp
and eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xd38]
add edx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x200]
add ecx, 0xffffffff
mov ebp, dword [esp + 0x200]
add ebp, 0xffffffff
mov eax, esi
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x200]
sub eax, ecx
sub eax, 1
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
add ebp, 1
sub ebp, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ecx, dword [esp + 0x54]
sub ecx, eax
sub ecx, eax
mov eax, edx
add eax, 0xffffffff
mov ebp, edx
add ebp, 0xffffffff
mov dword [esp + 0x50], eax
mov eax, edx
xor eax, 0xffffffff
mov dword [esp + 0x4c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x48]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, ebx
or eax, 0xffffffff
mov ecx, ebx
and ecx, 0xffffffff
mov dword [esp + 0x40], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x40]
and ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x50]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x44]
add eax, 0xffffffff
mov ebp, dword [esp + 0x44]
add ebp, 0xffffffff
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x44]
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
xor ebp, 0xffffffff
mov eax, dword [esp + 0x3c]
sub eax, ebp
sub eax, ebp
mov ebp, esi
sub ebp, edx
sub ebp, 1
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x200]
add eax, 0xffffffff
mov ebp, dword [esp + 0x200]
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, ecx
add ebp, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x38], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
mov eax, dword [esp + 0x38]
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
or eax, ebp
mov ebp, esi
sub ebp, eax
sub ebp, 1
sub ecx, ebp
sub ecx, ebp
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
mov ebp, esi
sub ebp, edx
sub ebp, 1
and eax, ebp
mov edx, ecx
xor edx, 0xffffffff
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
and edx, 0xffffffff
and ecx, ebp
or edx, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, ebx
add eax, 3
mov edx, esi
sub edx, 3
sub edx, 1
mov ebp, ebx
xor ebp, 0xffffffff
or edx, ebp
xor edx, 0xffffffff
mov ebp, esi
sub ebp, edx
sub ebp, 1
add ebp, 1
sub ebp, 1
mov edx, ebx
add edx, 3
mov dword [esp + 0x34], eax
mov eax, ebx
add eax, 3
mov dword [esp + 0x30], eax
mov eax, ebx
and eax, 3
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x2c]
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, ebx
add eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x24], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x24]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
add edx, 1
sub edx, 1
or eax, edx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
mov edx, esi
sub edx, eax
sub edx, 1
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, ebx
xor ecx, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
or edx, ebp
xor edx, 0xffffffff
sub ecx, edx
add ecx, 1
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ebx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
mov ecx, ebx
add ecx, 0xffffffff
mov ebp, ebx
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x34]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x8f8]
add eax, ecx
mov ecx, dword [esp + 0x960]
mov edx, dword [esp + 0xa8]
mov ebp, dword [ecx + edx*4]
mov ecx, ebp
and ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, esi
sub edx, ebp
sub edx, 1
mov dword [esp + 0x20], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
and ecx, eax
mov eax, dword [esp + 0x228]
or eax, 0xffffffff
mov edx, dword [esp + 0x228]
and edx, 0xffffffff
sub eax, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
or edx, ecx
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
add ecx, 1
sub ecx, 1
and eax, ecx
mov ecx, ebp
add ecx, 0xffffffff
mov edx, ebp
add edx, 0xffffffff
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
mov ebp, ebx
or ebp, 0xffffffff
mov dword [esp + 0x1c], eax
mov eax, ebx
and eax, 0xffffffff
mov dword [esp + 0x18], eax
add eax, 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
and eax, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
sub eax, ecx
sub eax, ecx
and ebp, eax
xor edx, 0xffffffff
xor ebp, 0xffffffff
and edx, ebp
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0xc]
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x228]
add eax, 0xffffffff
mov ebp, esi
mov ecx, dword [esp + 0x228]
sub ebp, ecx
sub ebp, 1
mov ecx, ebx
or ecx, 0xffffffff
mov dword [esp + 8], eax
mov eax, ebx
and eax, 0xffffffff
sub ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, dword [esp + 8]
sub ecx, eax
sub ecx, eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, ebx
add edx, 0xffffffff
mov ebp, ebx
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
add edx, 1
sub edx, 1
and ecx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, esi
mov edx, dword [esp + 0x1c]
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and eax, 0xffffffff
and edx, ebp
or eax, edx
add eax, 1
sub eax, 1
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
mov ebx, esi
sub ebx, ecx
sub ebx, 1
and edx, ebx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
add edi, 0x7517c707
mov eax, esi
sub eax, 0x7517c707
sub eax, 1
mov edx, esi
sub edx, 0x7517c703
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
and edx, 0xffffffff
xor edx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
and ebx, esi
xor ebx, 0xffffffff
and edx, ebx
sub edi, edx
sub edi, edx
mov eax, dword [esp + 0x8f8]
cmp eax, edi
mov edx, ecx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov dword [esp + 0x900], edx
mov dword [esp + 0x904], esi
mov dword [esp + 0x8fc], edi
jg 0x10059925
xor eax, eax
mov ecx, 0xffffffff
mov edx, ecx
or edx, 0xffffffe7
mov esi, ecx
and esi, 0xffffffe7
sub edx, esi
mov esi, ecx
or esi, 0xffffffff
mov edi, ecx
and edi, 0xffffffff
sub esi, edi
mov edi, eax
sub edi, edx
sub edi, 1
xor esi, 0xffffffff
or edi, esi
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
add edx, 1
sub edx, 1
mov esi, edx
or esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
mov edx, ecx
add edx, 0xffffffe7
mov edi, ecx
and edi, 0xffffffe7
sub edx, edi
sub edx, edi
add edx, 1
sub edx, 1
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
xor edx, 0xffffffff
xor edi, 0xffffffff
and edx, edi
xor edx, 0xffffffff
mov edi, edx
or edi, 0xffffffff
mov ebx, eax
sub ebx, edx
sub ebx, 1
mov edx, ecx
xor edx, 0xffffffff
or ebx, edx
and edi, ebx
mov edx, edi
xor edx, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edx, ebx
xor edx, 0xffffffff
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, eax
sub edi, 0xffffffff
sub edi, 1
or ebx, edi
mov edi, eax
sub edi, ebx
sub edi, 1
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, eax
sub edi, edx
sub edi, 1
xor ebx, 0xffffffff
or edi, ebx
xor edi, 0xffffffff
mov edx, eax
sub edx, esi
sub edx, 1
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov esi, edi
or esi, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, edx
add esi, 0xffffffff
mov edi, eax
sub edi, edx
sub edi, 1
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
or edi, edx
xor edi, 0xffffffff
sub esi, edi
sub esi, edi
mov dword [esp], ecx
mov ecx, esi
mov edx, dword [esp + 4]
shr edx, cl
mov cl, dl
mov edx, dword [esp + 0xd30]
mov byte [edx], cl
mov esi, eax
sub esi, 0xffffffef
sub esi, 1
mov ecx, esi
mov esi, dword [esp + 4]
shr esi, cl
mov ebx, esi
mov cl, bl
mov byte [edx + 1], cl
mov esi, dword [esp]
or esi, 0xafece555
mov edi, dword [esp]
and edi, 0xafece555
sub esi, edi
mov edi, dword [esp]
or edi, 0xafece55d
mov ebx, dword [esp]
and ebx, 0xafece55d
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and edi, ebp
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
mov esi, eax
sub esi, edi
sub esi, 1
or ebx, esi
mov esi, ebx
add esi, 0xffffffff
and ebx, 0xffffffff
sub esi, ebx
sub esi, ebx
mov edi, esi
or edi, 0xffffffff
and esi, 0xffffffff
xor esi, 0xffffffff
and edi, esi
mov esi, dword [esp]
xor esi, 0xafece555
mov ebx, dword [esp]
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ebx, dword [esp]
add ebx, 0xafece555
mov ebp, dword [esp]
and ebp, 0xafece555
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp]
xor ebp, 0xffffffff
or ebx, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, eax
sub ebx, ebp
sub ebx, 1
xor esi, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
add ebp, 1
sub ebp, 1
or esi, ebp
xor esi, 0xffffffff
mov ebx, eax
sub ebx, 0xafece55d
sub ebx, 1
mov ebp, esi
or ebp, 0xffffffff
and esi, 0xffffffff
xor esi, 0xffffffff
and ebp, esi
mov esi, ebx
or esi, 0xffffffff
and ebx, 0xffffffff
mov ecx, eax
sub ecx, ebx
sub ecx, 1
and esi, ecx
xor ebp, 0xffffffff
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
or ebp, ecx
xor ebp, 0xffffffff
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
mov esi, eax
sub esi, edi
sub esi, 1
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
add edi, 1
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov ecx, esi
or ecx, 0xffffffff
xor esi, 0xffffffff
mov edi, dword [esp]
xor edi, 0xffffffff
or esi, edi
and ecx, esi
mov esi, dword [esp + 4]
shr esi, cl
mov ebx, esi
mov cl, bl
mov byte [edx + 2], cl
mov esi, dword [esp + 4]
mov ebx, esi
mov cl, bl
mov byte [edx + 3], cl
mov edi, dword [esp]
or edi, 0x2271615
mov ebx, dword [esp]
and ebx, 0x2271615
sub edi, ebx
mov ebx, dword [esp]
or ebx, 0x227160d
mov ebp, dword [esp]
and ebp, 0x227160d
mov ecx, eax
sub ecx, ebp
sub ecx, 1
and ebx, ecx
xor edi, 0xffffffff
mov ecx, eax
sub ecx, ebx
sub ecx, 1
or edi, ecx
xor edi, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov ebx, edi
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
mov ebx, dword [esp]
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
and ecx, 0xffffffff
and edi, ebx
or ecx, edi
mov edi, dword [esp]
add edi, 0x2271615
mov ebx, dword [esp]
xor ebx, 0x2271615
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
sub edi, ebp
sub edi, ebp
mov ebx, eax
sub ebx, 0x227160d
sub ebx, 1
add ebx, 1
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, edi
and ebx, 0xffffffff
xor ebx, 0xffffffff
xor edi, 0xffffffff
mov ebp, dword [esp]
xor ebp, 0xffffffff
and edi, ebp
xor edi, 0xffffffff
and ebx, edi
mov edi, eax
sub edi, ebx
sub edi, 1
mov ebx, ecx
add ebx, 0xffffffff
mov ebp, eax
sub ebp, ecx
sub ebp, 1
add ebp, 1
sub ebp, 1
mov ecx, dword [esp]
add ecx, 0xffffffff
mov edx, dword [esp]
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
or ebp, ecx
mov ecx, eax
sub ecx, ebp
sub ecx, 1
sub ebx, ecx
sub ebx, ecx
mov ecx, edi
or ecx, 0xffffffff
and edi, 0xffffffff
xor edi, 0xffffffff
and ecx, edi
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov ecx, eax
sub ecx, ebx
sub ecx, 1
mov edx, dword [esp + 0x28]
shr edx, cl
mov cl, dl
mov edx, dword [esp + 0xd30]
mov byte [edx + 4], cl
mov edi, eax
sub edi, 0xdd8b0f6c
sub edi, 1
mov ebx, dword [esp]
or ebx, 0xdd8b0f7c
mov ebp, dword [esp]
and ebp, 0xdd8b0f7c
sub ebx, ebp
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, eax
sub ebx, edi
sub ebx, 1
mov edi, ebx
add edi, 0xffffffff
mov ebp, ebx
xor ebp, 0xffffffff
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
mov ecx, eax
sub ecx, ebp
sub ecx, 1
sub edi, ecx
sub edi, ecx
mov ecx, dword [esp]
and ecx, 0xffffffff
xor ecx, 0xffffffff
mov ebp, eax
sub ebp, 0xffffffff
sub ebp, 1
mov edx, dword [esp]
xor edx, 0xffffffff
and ebp, edx
xor ebp, 0xffffffff
and ecx, ebp
mov edx, eax
sub edx, edi
sub edx, 1
mov edi, dword [esp]
add edi, 0xffffffff
mov ebp, dword [esp]
and ebp, 0xffffffff
sub edi, ebp
sub edi, ebp
or edx, edi
mov edi, eax
sub edi, edx
sub edi, 1
xor ebx, 0xffffffff
mov edx, eax
sub edx, ecx
sub edx, 1
or ebx, edx
mov ecx, eax
sub ecx, ebx
sub ecx, 1
xor edi, 0xffffffff
xor ecx, 0xffffffff
and edi, ecx
xor edi, 0xffffffff
mov ecx, dword [esp]
add ecx, 0xdd8b0f6c
mov edx, eax
sub edx, 0xdd8b0f6c
sub edx, 1
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
xor edx, 0xffffffff
xor ebx, 0xffffffff
and edx, ebx
xor edx, 0xffffffff
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
sub ecx, ebx
sub ecx, ebx
mov edx, eax
sub edx, 0xdd8b0f7c
sub edx, 1
mov ebx, ecx
or ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
mov ecx, edx
add ecx, 0xffffffff
xor edx, 0xffffffff
mov ebp, dword [esp]
add ebp, 0xffffffff
mov esi, dword [esp]
and esi, 0xffffffff
sub ebp, esi
sub ebp, esi
or edx, ebp
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov ecx, ebx
or ecx, 0xffffffff
xor ebx, 0xffffffff
mov edx, eax
sub edx, 0xffffffff
sub edx, 1
or ebx, edx
and ecx, ebx
add ecx, 1
sub ecx, 1
mov edx, ecx
xor edx, 0xffffffff
mov esi, dword [esp]
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov esi, ecx
add esi, 0xffffffff
and ecx, 0xffffffff
sub esi, ecx
sub esi, ecx
mov ecx, eax
sub ecx, 0xffffffff
sub ecx, 1
or esi, ecx
mov ecx, esi
add ecx, 0xffffffff
and esi, 0xffffffff
sub ecx, esi
sub ecx, esi
add ecx, 1
sub ecx, 1
mov esi, ecx
add esi, 0xffffffff
xor ecx, 0xffffffff
mov ebx, dword [esp]
add ebx, 0xffffffff
mov ebp, dword [esp]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
or ecx, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
sub esi, ebx
sub esi, ebx
add esi, 1
sub esi, 1
mov ecx, eax
sub ecx, edx
sub ecx, 1
xor esi, 0xffffffff
or ecx, esi
xor ecx, 0xffffffff
mov edx, eax
sub edx, edi
sub edx, 1
mov esi, ecx
add esi, 0xffffffff
mov edi, ecx
add edi, 0xffffffff
and ecx, 0xffffffff
sub edi, ecx
sub edi, ecx
mov ecx, dword [esp]
xor ecx, 0xffffffff
or edi, ecx
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
add ecx, 1
sub ecx, 1
sub esi, ecx
sub esi, ecx
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov ecx, eax
sub ecx, edx
sub ecx, 1
mov edx, dword [esp + 0x28]
shr edx, cl
mov cl, dl
mov edx, dword [esp + 0xd30]
mov byte [edx + 5], cl
mov esi, dword [esp]
or esi, 0x94954801
mov edi, eax
sub edi, 0x94954801
sub edi, 1
mov ebx, eax
sub ebx, 0xffffffff
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
or edi, ebx
and esi, edi
mov edi, dword [esp]
or edi, 0x94954809
mov ebx, dword [esp]
and ebx, 0x94954809
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and edi, ebp
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
xor edi, 0xffffffff
or ebx, edi
mov esi, eax
sub esi, ebx
sub esi, 1
mov edi, eax
sub edi, esi
sub edi, 1
mov ebx, dword [esp]
add ebx, 0xffffffff
mov ebp, dword [esp]
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
and edi, 0xffffffff
and esi, ebx
or edi, esi
mov esi, dword [esp]
add esi, 0x94954801
mov ebx, dword [esp]
add ebx, 0x94954801
mov ebp, dword [esp]
and ebp, 0x94954801
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp]
xor ebp, 0xffffffff
or ebx, ebp
mov ebp, eax
sub ebp, ebx
sub ebp, 1
sub esi, ebp
sub esi, ebp
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
add esi, 1
sub esi, 1
mov ebx, dword [esp]
or ebx, 0x94954809
mov ebp, dword [esp]
and ebp, 0x94954809
sub ebx, ebp
xor esi, 0xffffffff
xor ebx, 0xffffffff
and esi, ebx
xor esi, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
mov ebp, esi
and ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
mov ebp, dword [esp]
xor ebp, 0xffffffff
and ebx, 0xffffffff
and esi, ebp
or ebx, esi
sub edi, ebx
mov ecx, edi
mov esi, dword [esp + 0x28]
shr esi, cl
mov ebx, esi
mov cl, bl
mov byte [edx + 6], cl
mov esi, dword [esp + 0x28]
mov ebx, esi
mov cl, bl
mov byte [edx + 7], cl
add esp, 0xd48
pop esi
pop edi
pop ebx
pop ebp
ret