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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa18
mov eax, dword [esp + 0xa34]
mov ecx, dword [esp + 0xa30]
mov edx, dword [esp + 0xa2c]
xor esi, esi
mov edi, 0xffffffff
mov ebx, 0x418c7ebb
mov ebp, eax
mov dword [esp + 0xa14], eax
add eax, 0x400
mov dword [esp + 0xa10], eax
mov eax, dword [esp + 0xa14]
add eax, 0x800
mov dword [esp + 0xa0c], eax
mov eax, dword [esp + 0xa14]
add eax, 0xc00
mov dword [esp + 0xa08], eax
movzx eax, byte [edx]
mov dword [esp + 0xa04], eax
mov eax, edi
add eax, 0xffffffe7
mov dword [esp + 0xa00], eax
mov eax, edi
xor eax, 0xffffffe7
mov dword [esp + 0x9fc], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x9f8], eax
mov eax, dword [esp + 0x9fc]
mov dword [esp + 0x9f4], ecx
mov ecx, dword [esp + 0x9f8]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffe7
sub ecx, 1
mov dword [esp + 0x9f0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x9ec], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x9e8], eax
mov eax, dword [esp + 0x9ec]
mov dword [esp + 0x9e4], ecx
mov ecx, dword [esp + 0x9e8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x9e4]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x9f0]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x9e0], eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x9dc], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x9dc]
and ecx, eax
mov eax, dword [esp + 0x9e0]
or eax, 0xffffffff
mov dword [esp + 0x9d8], eax
mov eax, dword [esp + 0x9e0]
and eax, 0xffffffff
mov dword [esp + 0x9d4], eax
add eax, 0xffffffff
mov dword [esp + 0x9d0], eax
mov eax, dword [esp + 0x9d4]
and eax, 0xffffffff
mov dword [esp + 0x9cc], eax
mov eax, dword [esp + 0x9d0]
mov dword [esp + 0x9c8], ecx
mov ecx, dword [esp + 0x9cc]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x9d8]
and ecx, eax
mov eax, esi
mov dword [esp + 0x9c4], ecx
mov ecx, dword [esp + 0x9c8]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x9c4]
add ecx, 0xffffffff
mov dword [esp + 0x9c0], eax
mov eax, dword [esp + 0x9c4]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x9c0]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x9bc], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x9bc]
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xa00]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xa04]
shl eax, cl
movzx ecx, byte [edx + 1]
mov dword [esp + 0x9b8], eax
mov eax, esi
sub eax, 0xffffffef
sub eax, 1
mov dword [esp + 0x9b4], ecx
mov ecx, eax
mov eax, dword [esp + 0x9b4]
shl eax, cl
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0x9b0], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x9b0]
xor eax, 0xffffffff
mov dword [esp + 0x9ac], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x9a8], eax
mov eax, dword [esp + 0x9ac]
mov dword [esp + 0x9a4], ecx
mov ecx, dword [esp + 0x9a8]
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, esi
mov dword [esp + 0x9a0], ecx
mov ecx, dword [esp + 0x9a4]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x9a0]
add ecx, 0xffffffff
mov dword [esp + 0x99c], eax
mov eax, dword [esp + 0x9a0]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x99c]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x9b8]
add eax, 0xffffffff
mov dword [esp + 0x998], eax
mov eax, esi
mov dword [esp + 0x994], ecx
mov ecx, dword [esp + 0x9b8]
sub eax, ecx
sub eax, 1
mov ecx, edi
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 + 0x998]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x990], eax
mov eax, dword [esp + 0x994]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x990]
add eax, 0xffffffff
mov dword [esp + 0x98c], eax
mov eax, esi
mov dword [esp + 0x988], ecx
mov ecx, dword [esp + 0x990]
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 + 0x98c]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x988]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x984], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x984]
and ecx, eax
add ecx, 1
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x980], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x97c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x978], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x974], eax
mov eax, dword [esp + 0x978]
mov dword [esp + 0x970], ecx
mov ecx, dword [esp + 0x974]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x97c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x980]
add ecx, 0xffffffff
mov dword [esp + 0x96c], eax
mov eax, dword [esp + 0x980]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x968], eax
mov eax, dword [esp + 0x970]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x96c]
add eax, 0xffffffff
mov dword [esp + 0x964], eax
mov eax, dword [esp + 0x96c]
and eax, 0xffffffff
mov dword [esp + 0x960], eax
mov eax, dword [esp + 0x964]
mov dword [esp + 0x95c], ecx
mov ecx, dword [esp + 0x960]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x95c]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x968]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
movzx eax, byte [edx + 2]
add ebx, 0x418c7eb3
mov dword [esp + 0x958], eax
mov eax, edi
and eax, 0x418c7eb3
mov dword [esp + 0x954], eax
mov eax, esi
mov dword [esp + 0x950], ecx
mov ecx, dword [esp + 0x954]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0x418c7eb3
mov dword [esp + 0x94c], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x94c]
and ecx, eax
mov eax, esi
sub eax, 0x418c7ebb
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
sub ebx, eax
sub ebx, eax
mov ecx, ebx
mov eax, dword [esp + 0x958]
shl eax, cl
mov ebx, dword [esp + 0x950]
add ebx, 0xffffffff
mov ecx, dword [esp + 0x950]
xor ecx, 0xffffffff
mov dword [esp + 0x948], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x948]
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x944], eax
mov eax, dword [esp + 0x948]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x944]
add eax, 0xffffffff
mov dword [esp + 0x940], eax
mov eax, dword [esp + 0x944]
and eax, 0xffffffff
mov dword [esp + 0x93c], eax
mov eax, dword [esp + 0x940]
mov dword [esp + 0x938], ecx
mov ecx, dword [esp + 0x93c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x938]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ebx
or eax, 0xffffffff
xor ebx, 0xffffffff
mov dword [esp + 0x934], eax
mov eax, edi
xor eax, 0xffffffff
or ebx, eax
mov eax, dword [esp + 0x934]
and eax, ebx
mov ebx, ecx
add ebx, 0xffffffff
mov dword [esp + 0x930], eax
mov eax, ecx
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ebx, 0xffffffff
and ecx, eax
or ebx, ecx
add ebx, 1
sub ebx, 1
mov eax, dword [esp + 0x930]
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
sub ecx, eax
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
add ebx, 1
sub ebx, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or ebx, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebx, ecx
add ebx, 0xffffffff
mov dword [esp + 0x92c], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
sub ebx, eax
sub ebx, eax
mov eax, esi
mov ecx, dword [esp + 0x92c]
sub eax, ecx
sub eax, 1
xor ebx, 0xffffffff
or eax, ebx
mov ecx, esi
sub ecx, eax
sub ecx, 1
movzx eax, byte [edx + 3]
mov ebx, ecx
add ebx, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x928], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x924], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x920], eax
mov eax, dword [esp + 0x924]
mov dword [esp + 0x91c], ecx
mov ecx, dword [esp + 0x920]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x91c]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x928]
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x918], eax
mov eax, dword [esp + 0x928]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x918]
add ecx, 0xffffffff
mov dword [esp + 0x914], eax
mov eax, dword [esp + 0x918]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x914]
xor eax, 0xffffffff
add eax, 1
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, ecx
sub ebx, 1
add ebx, 1
sub ebx, 1
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
or eax, ebx
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
add ebx, 1
sub ebx, 1
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, ecx
sub ebx, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x910], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, 0xffffffff
and eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, ecx
sub ebx, 1
add ebx, 1
sub ebx, 1
or eax, ebx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x910]
xor ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
or ecx, ebx
xor ecx, 0xffffffff
movzx eax, byte [edx + 4]
mov ebx, esi
sub ebx, 0xffffffe7
sub ebx, 1
mov dword [esp + 0x90c], ecx
mov ecx, ebx
shl eax, cl
movzx ebx, byte [edx + 5]
mov ecx, edi
add ecx, 0x86fc95f6
mov dword [esp + 0x908], eax
mov eax, edi
and eax, 0x86fc95f6
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0x86fc95e6
mov dword [esp + 0x904], eax
mov eax, edi
and eax, 0x86fc95e6
mov dword [esp + 0x900], eax
mov eax, dword [esp + 0x904]
mov dword [esp + 0x8fc], ecx
mov ecx, dword [esp + 0x900]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x8f8], eax
mov eax, dword [esp + 0x8fc]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x8f8]
add eax, 0xffffffff
mov dword [esp + 0x8f4], eax
mov eax, dword [esp + 0x8f8]
and eax, 0xffffffff
mov dword [esp + 0x8f0], eax
mov eax, dword [esp + 0x8f4]
mov dword [esp + 0x8ec], ecx
mov ecx, dword [esp + 0x8f0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x8ec]
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 + 0x8e8], eax
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x8e4], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x8e0], eax
mov eax, dword [esp + 0x8e4]
mov dword [esp + 0x8dc], ecx
mov ecx, dword [esp + 0x8e0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x8dc]
and ecx, 0xffffffff
mov dword [esp + 0x8d8], eax
mov eax, dword [esp + 0x8e8]
mov dword [esp + 0x8d4], ecx
mov ecx, dword [esp + 0x8d8]
and eax, ecx
mov ecx, dword [esp + 0x8d4]
or ecx, eax
mov eax, edi
add eax, 0x86fc95f6
mov dword [esp + 0x8d0], eax
mov eax, edi
xor eax, 0x86fc95f6
mov dword [esp + 0x8cc], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x8c8], eax
mov eax, edi
and eax, 0xffffffff
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, dword [esp + 0x8cc]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x8d0]
sub ecx, eax
sub ecx, eax
mov eax, edi
or eax, 0x86fc95e6
mov dword [esp + 0x8bc], eax
mov eax, edi
and eax, 0x86fc95e6
mov dword [esp + 0x8b8], eax
add eax, 0xffffffff
mov dword [esp + 0x8b4], eax
mov eax, dword [esp + 0x8b8]
and eax, 0xffffffff
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0x8b4]
mov dword [esp + 0x8ac], ecx
mov ecx, dword [esp + 0x8b0]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x8bc]
and ecx, eax
mov eax, dword [esp + 0x8ac]
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 + 0x8a8], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x8a4], eax
mov eax, esi
mov dword [esp + 0x8a0], ecx
mov ecx, dword [esp + 0x8a4]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x8a0]
xor ecx, 0xffffffff
mov dword [esp + 0x89c], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x89c]
and eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x898], eax
mov eax, edi
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x894], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x890], eax
mov eax, dword [esp + 0x894]
mov dword [esp + 0x88c], ecx
mov ecx, dword [esp + 0x890]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x88c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x898]
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 + 0x8a8]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x8c0]
add eax, 0xffffffff
mov dword [esp + 0x888], eax
mov eax, dword [esp + 0x8c0]
xor eax, 0xffffffff
mov dword [esp + 0x884], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x880], eax
mov eax, dword [esp + 0x884]
mov dword [esp + 0x87c], ecx
mov ecx, dword [esp + 0x880]
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 + 0x888]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x87c]
add ecx, 0xffffffff
mov dword [esp + 0x878], eax
mov eax, esi
mov dword [esp + 0x874], ecx
mov ecx, dword [esp + 0x87c]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x870], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x870]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x874]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x878]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
shl ebx, cl
mov eax, ebx
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, ebx
or ecx, 0xffffffff
and ebx, 0xffffffff
mov dword [esp + 0x86c], eax
mov eax, esi
sub eax, ebx
sub eax, 1
and ecx, eax
mov eax, edi
add eax, 0xffffffff
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
mov dword [esp + 0x868], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x868]
sub eax, ebx
sub eax, ebx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x86c]
xor eax, 0xffffffff
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
or eax, ebx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x908]
xor ecx, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov ebx, esi
mov dword [esp + 0x864], eax
mov eax, dword [esp + 0x908]
sub ebx, eax
sub ebx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x860], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x85c], eax
mov eax, dword [esp + 0x860]
mov dword [esp + 0x858], ecx
mov ecx, dword [esp + 0x85c]
sub eax, ecx
sub eax, ecx
or ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x858]
sub eax, ebx
mov ebx, dword [esp + 0x864]
add ebx, 0xffffffff
mov ecx, dword [esp + 0x864]
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
add ebx, 1
sub ebx, 1
add ebx, 1
sub ebx, 1
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x854], eax
mov eax, esi
mov dword [esp + 0x850], ecx
mov ecx, dword [esp + 0x854]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x84c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x84c]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x850]
sub eax, ecx
sub eax, ecx
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
mov ecx, esi
sub ecx, ebx
sub ecx, 1
mov ebx, edi
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
or ecx, ebx
mov ebx, esi
sub ebx, ecx
sub ebx, 1
sub eax, ebx
sub eax, ebx
mov ecx, eax
xor ecx, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
xor ecx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
or ecx, ebx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
movzx ecx, byte [edx + 6]
mov ebx, edi
or ebx, 0xb008782e
mov dword [esp + 0x848], eax
mov eax, edi
and eax, 0xb008782e
xor eax, 0xffffffff
and ebx, eax
mov eax, edi
add eax, 0xb0087826
mov dword [esp + 0x844], eax
mov eax, edi
and eax, 0xb0087826
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x844]
mov dword [esp + 0x83c], ecx
mov ecx, dword [esp + 0x840]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebx, esi
sub ebx, eax
sub ebx, 1
or ecx, ebx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
xor eax, 0xffffffff
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
or eax, ebx
and ecx, eax
mov eax, edi
add eax, 0xb008782e
mov ebx, esi
sub ebx, 0xb008782e
sub ebx, 1
mov dword [esp + 0x838], eax
mov eax, edi
xor eax, 0xffffffff
or ebx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, dword [esp + 0x838]
sub ebx, eax
sub ebx, eax
mov eax, edi
or eax, 0xb0087826
mov dword [esp + 0x834], eax
mov eax, edi
and eax, 0xb0087826
mov dword [esp + 0x830], eax
add eax, 0xffffffff
mov dword [esp + 0x82c], eax
mov eax, dword [esp + 0x830]
and eax, 0xffffffff
mov dword [esp + 0x828], eax
mov eax, dword [esp + 0x82c]
mov dword [esp + 0x824], ecx
mov ecx, dword [esp + 0x828]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x834]
and ecx, eax
xor ebx, 0xffffffff
xor ecx, 0xffffffff
and ebx, ecx
xor ebx, 0xffffffff
mov eax, esi
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x824]
sub ecx, eax
mov eax, dword [esp + 0x83c]
shl eax, cl
mov ebx, dword [esp + 0x848]
add ebx, 0xffffffff
mov ecx, dword [esp + 0x848]
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
mov ecx, edi
xor ecx, 0xffffffff
or ebx, ecx
mov ecx, esi
sub ecx, ebx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebx, ecx
or ebx, 0xffffffff
mov dword [esp + 0x820], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or eax, ecx
and ebx, eax
add ebx, 1
sub ebx, 1
mov eax, dword [esp + 0x848]
add eax, 0xffffffff
mov ecx, dword [esp + 0x848]
xor ecx, 0xffffffff
mov dword [esp + 0x81c], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x818], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x814], eax
mov eax, dword [esp + 0x818]
mov dword [esp + 0x810], ecx
mov ecx, dword [esp + 0x814]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x810]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x81c]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x80c], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x808], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0x808]
mov dword [esp + 0x800], ecx
mov ecx, dword [esp + 0x804]
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 + 0x800]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x80c]
add eax, 0xffffffff
mov dword [esp + 0x7fc], eax
mov eax, dword [esp + 0x80c]
and eax, 0xffffffff
mov dword [esp + 0x7f8], eax
mov eax, dword [esp + 0x7fc]
mov dword [esp + 0x7f4], ecx
mov ecx, dword [esp + 0x7f8]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
mov dword [esp + 0x7f0], eax
mov eax, dword [esp + 0x7f4]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x7f0]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x7ec], eax
mov eax, esi
mov dword [esp + 0x7e8], ecx
mov ecx, dword [esp + 0x7ec]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x7e8]
xor ecx, 0xffffffff
mov dword [esp + 0x7e4], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7e4]
and ecx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
mov ebx, esi
sub ebx, ecx
sub ebx, 1
or eax, ebx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x820]
xor eax, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ebx, esi
mov dword [esp + 0x7e0], eax
mov eax, dword [esp + 0x820]
sub ebx, eax
sub ebx, 1
add ebx, 1
sub ebx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x7dc], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x7d8], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x7d4], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x7d0], eax
mov eax, dword [esp + 0x7d4]
mov dword [esp + 0x7cc], ecx
mov ecx, dword [esp + 0x7d0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7d8]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x7dc]
sub eax, ecx
sub eax, ecx
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x7e0]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
mov ebx, dword [esp + 0x7cc]
sub eax, ebx
sub eax, 1
mov ebx, ecx
add ebx, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov dword [esp + 0x7c8], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x7c4], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x7c0], eax
mov eax, dword [esp + 0x7c4]
mov dword [esp + 0x7bc], ecx
mov ecx, dword [esp + 0x7c0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7bc]
or ecx, eax
xor ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
mov eax, dword [esp + 0x7c8]
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov ebx, edi
xor ebx, 0xffffffff
or eax, ebx
mov ebx, esi
sub ebx, eax
sub ebx, 1
sub ecx, ebx
sub ecx, ebx
mov eax, ecx
add eax, 0xffffffff
mov ebx, esi
sub ebx, ecx
sub ebx, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or ebx, ecx
mov ecx, ebx
add ecx, 0xffffffff
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
sub eax, ecx
sub eax, ecx
movzx ecx, byte [edx + 7]
mov edx, eax
add edx, 0xffffffff
mov ebx, eax
and ebx, 0xffffffff
sub edx, ebx
sub edx, ebx
mov ebx, esi
sub ebx, 0xffffffff
sub ebx, 1
or edx, ebx
mov ebx, edx
add ebx, 0xffffffff
and edx, 0xffffffff
sub ebx, edx
sub ebx, edx
mov edx, esi
sub edx, ebx
sub edx, 1
mov ebx, eax
add ebx, 0xffffffff
mov dword [esp + 0x7b8], eax
add eax, 0xffffffff
mov dword [esp + 0x7b4], eax
mov eax, dword [esp + 0x7b8]
and eax, 0xffffffff
mov dword [esp + 0x7b0], eax
mov eax, dword [esp + 0x7b4]
mov dword [esp + 0x7ac], ecx
mov ecx, dword [esp + 0x7b0]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
sub ebx, eax
sub ebx, eax
add ebx, 1
sub ebx, 1
mov eax, edi
add eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x7a8], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x7a4], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x7a0], eax
mov eax, dword [esp + 0x7a4]
mov dword [esp + 0x79c], ecx
mov ecx, dword [esp + 0x7a0]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x79c]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x7a8]
sub ecx, eax
sub ecx, eax
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
or eax, ebx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
xor edx, 0xffffffff
mov eax, dword [esp + 0x7ac]
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
mov ebx, dword [esp + 0x7ac]
sub ecx, ebx
sub ecx, 1
mov ebx, edi
add ebx, 0xffffffff
mov dword [esp + 0x798], eax
mov eax, edi
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
xor ecx, 0xffffffff
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov eax, esi
mov ebx, dword [esp + 0x798]
sub eax, ebx
sub eax, 1
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
or eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
mov ebx, esi
sub ebx, eax
sub ebx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
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, eax
xor ecx, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
and ecx, edx
xor 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
mov edx, eax
add edx, 0xffffffff
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
or ebx, eax
mov eax, esi
sub eax, ebx
sub eax, 1
sub edx, eax
sub edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xa14]
add ecx, 0x1000
mov edx, dword [esp + 0x90c]
mov dword [esp + 0x794], ebp
mov dword [esp + 0x790], edx
mov dword [esp + 0x78c], eax
mov dword [esp + 0x788], ecx
mov dword [esp + 0x784], esi
mov eax, dword [esp + 0x784]
mov ecx, dword [esp + 0x78c]
mov edx, dword [esp + 0x790]
xor esi, esi
mov edi, 0xffffffff
mov ebx, 0xc8822bed
mov ebp, 0x6cda7abe
mov dword [esp + 0x780], eax
mov eax, 0x8142a45a
mov dword [esp + 0x77c], eax
mov eax, 0x9baca675
mov dword [esp + 0x778], eax
mov eax, edi
xor eax, 0xd5deecbf
mov dword [esp + 0x774], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x770], eax
mov eax, dword [esp + 0x774]
mov dword [esp + 0x76c], ecx
mov ecx, dword [esp + 0x770]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0xd5deecbf
sub ecx, 1
mov dword [esp + 0x768], 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, dword [esp + 0x768]
sub ecx, eax
mov eax, esi
sub eax, 0xd5deecbe
sub eax, 1
mov dword [esp + 0x764], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xd5deecbe
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0xffffffff
mov dword [esp + 0x760], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
mov dword [esp + 0x75c], eax
mov eax, dword [esp + 0x760]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, edi
xor eax, 0xffffffff
add eax, 1
sub eax, 1
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x75c]
and ecx, eax
mov eax, edi
add eax, 0xd5deecbf
mov dword [esp + 0x758], eax
mov eax, edi
and eax, 0xd5deecbf
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 + 0x764]
or ecx, 0xffffffff
mov dword [esp + 0x74c], eax
mov eax, dword [esp + 0x764]
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x74c]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
mov dword [esp + 0x748], ecx
mov ecx, dword [esp + 0x750]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x744], eax
mov eax, dword [esp + 0x750]
and eax, ecx
mov ecx, dword [esp + 0x744]
or ecx, eax
mov eax, dword [esp + 0x748]
xor eax, 0xffffffff
mov dword [esp + 0x740], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x73c], eax
mov eax, dword [esp + 0x740]
and eax, 0xffffffff
mov dword [esp + 0x738], eax
mov eax, dword [esp + 0x748]
mov dword [esp + 0x734], ecx
mov ecx, dword [esp + 0x73c]
and eax, ecx
mov ecx, dword [esp + 0x738]
or ecx, eax
mov eax, esi
mov dword [esp + 0x730], ecx
mov ecx, dword [esp + 0x734]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x730]
add ecx, 0xffffffff
mov dword [esp + 0x72c], eax
mov eax, dword [esp + 0x730]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x72c]
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 + 0x780]
xor ecx, 0xffffffff
mov dword [esp + 0x728], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0x724], ecx
mov ecx, dword [esp + 0x780]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x720], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x720]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x724]
sub eax, ecx
mov ecx, dword [esp + 0x728]
xor ecx, 0xffffffff
mov dword [esp + 0x71c], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0x718], ecx
mov ecx, dword [esp + 0x728]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x714], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x710], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x70c], eax
mov eax, dword [esp + 0x710]
mov dword [esp + 0x708], ecx
mov ecx, dword [esp + 0x70c]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x708]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x714]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x718]
xor ecx, 0xffffffff
mov dword [esp + 0x704], eax
mov eax, esi
mov dword [esp + 0x700], ecx
mov ecx, dword [esp + 0x704]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x700]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x6fc], eax
mov eax, dword [esp + 0x71c]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x6fc]
add eax, 0xffffffff
mov dword [esp + 0x6f8], eax
mov eax, dword [esp + 0x6fc]
and eax, 0xffffffff
mov dword [esp + 0x6f4], eax
mov eax, dword [esp + 0x6f8]
mov dword [esp + 0x6f0], ecx
mov ecx, dword [esp + 0x6f4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x6f0]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
xor ecx, 0xffffffff
mov dword [esp + 0x6ec], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
mov dword [esp + 0x6e8], ecx
mov ecx, dword [esp + 0x6ec]
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x6e8]
add eax, 0xffffffff
mov dword [esp + 0x6e4], eax
mov eax, dword [esp + 0x6e8]
and eax, 0xffffffff
mov dword [esp + 0x6e0], eax
mov eax, dword [esp + 0x6e4]
mov dword [esp + 0x6dc], ecx
mov ecx, dword [esp + 0x6e0]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x6d8], eax
mov eax, dword [esp + 0x6dc]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x6d8]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x788]
mov dword [esp + 0x6d4], ecx
mov ecx, dword [esp + 0x780]
mov eax, dword [eax + ecx*4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x6d0], eax
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edx
or eax, 0xffffffff
mov dword [esp + 0x6cc], eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x6c8], eax
mov eax, dword [esp + 0x6cc]
mov dword [esp + 0x6c4], ecx
mov ecx, dword [esp + 0x6c8]
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x6c0], eax
mov eax, dword [esp + 0x6c4]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x6c0]
add eax, 0xffffffff
mov dword [esp + 0x6bc], eax
mov eax, dword [esp + 0x6c0]
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
mov ecx, dword [esp + 0x6b4]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
mov dword [esp + 0x6b0], ecx
mov ecx, dword [esp + 0x6d0]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x6ac], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
add eax, 1
sub eax, 1
mov edx, edi
xor edx, 0xffffffff
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
sub ecx, edx
sub ecx, edx
mov eax, dword [esp + 0x6ac]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
sub ecx, edx
sub ecx, edx
mov eax, dword [esp + 0x6b0]
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffe7
mov edx, esi
sub edx, 0xffffffe7
sub edx, 1
mov dword [esp + 0x6a8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x6a4], eax
mov eax, edx
or eax, 0xffffffff
xor edx, 0xffffffff
mov dword [esp + 0x6a0], eax
mov eax, edi
xor eax, 0xffffffff
or edx, eax
mov eax, dword [esp + 0x6a0]
and eax, edx
mov edx, esi
mov dword [esp + 0x69c], eax
mov eax, dword [esp + 0x6a4]
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, 0xffffffff
mov dword [esp + 0x698], eax
mov eax, dword [esp + 0x6a4]
mov dword [esp + 0x694], ecx
mov ecx, dword [esp + 0x698]
and eax, ecx
or edx, eax
mov eax, dword [esp + 0x69c]
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
and eax, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, edi
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, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x694]
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x6a8]
shr eax, cl
mov edx, dword [esp + 0x794]
mov eax, dword [edx + eax*4]
mov ecx, edi
or ecx, 0xffffffef
mov edx, edi
xor edx, 0xffffffef
mov dword [esp + 0x690], eax
mov eax, edi
xor eax, 0xffffffff
or edx, eax
and ecx, edx
mov eax, edi
or eax, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
mov dword [esp + 0x68c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, dword [esp + 0x68c]
and eax, edx
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov edx, edi
xor edx, 0xffffffff
add edx, 1
sub edx, 1
and ecx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, esi
sub eax, 0xffffffef
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
mov dword [esp + 0x688], eax
or eax, 0xffffffff
mov dword [esp + 0x684], eax
mov eax, dword [esp + 0x688]
and eax, 0xffffffff
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x680], eax
mov eax, dword [esp + 0x684]
mov dword [esp + 0x67c], ecx
mov ecx, dword [esp + 0x680]
and 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
mov eax, esi
sub eax, ecx
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
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, dword [esp + 0x67c]
or eax, 0xffffffff
mov edx, dword [esp + 0x67c]
and edx, 0xffffffff
mov dword [esp + 0x678], 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 + 0x678]
and edx, eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x674], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x670], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x670]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x674]
sub eax, ecx
sub eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x66c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x66c]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x6a8]
shr eax, cl
mov edx, edi
add edx, 0xc56089a5
mov ecx, edi
and ecx, 0xc56089a5
sub edx, ecx
sub edx, ecx
mov ecx, edi
or ecx, 0xc560895a
mov dword [esp + 0x668], eax
mov eax, edi
and eax, 0xc560895a
xor eax, 0xffffffff
and ecx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
or edx, eax
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, esi
sub ecx, 0xc56089a5
sub ecx, 1
mov edx, esi
sub edx, 0xc560895a
sub edx, 1
mov dword [esp + 0x664], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
mov edx, esi
sub edx, eax
sub edx, 1
xor ecx, 0xffffffff
or edx, ecx
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
and eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x664]
sub ecx, edx
sub ecx, 1
mov edx, eax
add edx, 0xffffffff
mov dword [esp + 0x660], eax
mov eax, esi
mov dword [esp + 0x65c], ecx
mov ecx, dword [esp + 0x660]
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
sub edx, ecx
sub edx, ecx
mov eax, dword [esp + 0x65c]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov eax, esi
mov edx, dword [esp + 0x668]
sub eax, edx
sub eax, 1
mov edx, ecx
add edx, 0xffffffff
mov dword [esp + 0x658], eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x654], eax
mov eax, ecx
and eax, 0xffffffff
mov dword [esp + 0x650], eax
mov eax, dword [esp + 0x654]
mov dword [esp + 0x64c], ecx
mov ecx, dword [esp + 0x650]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x648], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x648]
and eax, 0xffffffff
mov dword [esp + 0x644], eax
mov eax, dword [esp + 0x64c]
and eax, ecx
mov ecx, dword [esp + 0x644]
or ecx, eax
mov eax, edi
or eax, 0xffffffff
mov dword [esp + 0x640], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x63c], eax
mov eax, dword [esp + 0x640]
mov dword [esp + 0x638], ecx
mov ecx, dword [esp + 0x63c]
sub eax, ecx
mov ecx, dword [esp + 0x638]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x658]
add eax, 0xffffffff
mov ecx, dword [esp + 0x658]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x634], eax
mov eax, dword [esp + 0x658]
and eax, ecx
mov ecx, dword [esp + 0x634]
or ecx, eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, esi
sub eax, edx
sub eax, 1
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, dword [esp + 0x690]
mov edx, dword [esp + 0xa10]
add ecx, dword [edx + eax*4]
mov eax, esi
sub eax, 0xfffffff7
sub eax, 1
mov dword [esp + 0x630], ecx
mov ecx, eax
mov eax, dword [esp + 0x6a8]
shr eax, cl
mov ecx, esi
sub ecx, 0xffffff01
mov edx, eax
add edx, 0xffffffff
mov dword [esp + 0x62c], eax
add eax, 0xffffffff
mov dword [esp + 0x628], eax
mov eax, esi
mov dword [esp + 0x624], ecx
mov ecx, dword [esp + 0x62c]
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 + 0x628]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
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 + 0x624]
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x620], eax
mov eax, dword [esp + 0x624]
sub ecx, eax
sub ecx, 1
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x61c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x618], eax
mov eax, dword [esp + 0x61c]
and eax, 0xffffffff
mov dword [esp + 0x614], eax
mov eax, dword [esp + 0x618]
and eax, 0xffffffff
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x614]
mov dword [esp + 0x60c], ecx
mov ecx, dword [esp + 0x610]
or eax, ecx
mov ecx, dword [esp + 0x60c]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x620]
add eax, 0xffffffff
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x620]
and eax, 0xffffffff
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x608]
mov dword [esp + 0x600], ecx
mov ecx, dword [esp + 0x604]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x600]
xor ecx, 0xffffffff
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, esi
sub eax, edx
sub eax, 1
mov dword [esp + 0x5fc], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x5f8], eax
mov eax, dword [esp + 0x5fc]
and eax, 0xffffffff
mov dword [esp + 0x5f4], eax
mov eax, dword [esp + 0x5f8]
and edx, eax
mov eax, dword [esp + 0x5f4]
or eax, edx
mov edx, ecx
and edx, 0xffffffff
mov dword [esp + 0x5f0], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, edi
xor ecx, 0xffffffff
and edx, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
and eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x5f0]
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, esi
sub edx, eax
sub edx, 1
or ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edx, ecx
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xa0c]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x630]
add edx, 0xffffffff
mov eax, esi
mov dword [esp + 0x5ec], ecx
mov ecx, dword [esp + 0x630]
sub eax, ecx
sub eax, 1
mov ecx, edi
or ecx, 0xffffffff
mov dword [esp + 0x5e8], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x5e8]
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
sub edx, ecx
sub edx, ecx
mov eax, dword [esp + 0x5ec]
add eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x5e4], eax
mov eax, dword [esp + 0x5ec]
sub ecx, eax
sub ecx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x5e0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x5dc], eax
mov eax, dword [esp + 0x5e0]
mov dword [esp + 0x5d8], ecx
mov ecx, dword [esp + 0x5dc]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x5d8]
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, dword [esp + 0x5e4]
sub ecx, eax
sub ecx, eax
mov eax, edx
xor eax, 0xffffffff
mov dword [esp + 0x5d4], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x5d0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x5cc], eax
mov eax, dword [esp + 0x5d0]
mov dword [esp + 0x5c8], ecx
mov ecx, dword [esp + 0x5cc]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x5d4]
and ecx, 0xffffffff
and edx, eax
or ecx, edx
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x5ec]
or eax, 0xffffffff
mov edx, dword [esp + 0x5ec]
and edx, 0xffffffff
sub eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x630]
sub ecx, edx
sub ecx, 1
mov edx, esi
mov dword [esp + 0x5c4], eax
mov eax, dword [esp + 0x5c8]
sub edx, eax
sub edx, 1
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x5c4]
add ecx, 0xffffffff
mov edx, dword [esp + 0x5c4]
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and ecx, 0xffffffff
mov dword [esp + 0x5c0], eax
mov eax, dword [esp + 0x5c4]
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x5c0]
add eax, 0xffffffff
mov edx, dword [esp + 0x5c0]
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, 0xffffffff
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x5c0]
and eax, edx
mov edx, dword [esp + 0x5bc]
or edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
add edx, 1
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, esi
sub eax, 0xffffff01
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
mov edx, esi
mov dword [esp + 0x5b8], eax
mov eax, dword [esp + 0x6a8]
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x5b8]
add eax, 0xffffffff
mov dword [esp + 0x5b4], eax
mov eax, dword [esp + 0x5b8]
or eax, 0xffffffff
mov dword [esp + 0x5b0], eax
mov eax, dword [esp + 0x5b8]
add eax, 0xffffffff
mov dword [esp + 0x5ac], eax
mov eax, dword [esp + 0x5b8]
and eax, 0xffffffff
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x5ac]
mov dword [esp + 0x5a4], ecx
mov ecx, dword [esp + 0x5a8]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x5a0], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x5a0]
or eax, ecx
mov ecx, dword [esp + 0x5b0]
and ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x59c], eax
mov eax, esi
mov dword [esp + 0x598], ecx
mov ecx, dword [esp + 0x59c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
mov dword [esp + 0x594], eax
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x594]
and eax, ecx
mov ecx, dword [esp + 0x598]
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
mov ecx, dword [esp + 0x5b4]
sub ecx, eax
sub ecx, eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x590], eax
mov eax, esi
mov dword [esp + 0x58c], ecx
mov ecx, dword [esp + 0x590]
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and edx, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
and eax, ecx
mov ecx, dword [esp + 0x58c]
and ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x588], eax
mov eax, dword [esp + 0x58c]
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
and ecx, eax
mov eax, dword [esp + 0x588]
xor eax, 0xffffffff
add eax, 1
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
add eax, 0xffffffff
mov edx, ecx
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
and eax, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x5a4]
mov edx, dword [esp + 0xa08]
add eax, dword [edx + ecx*4]
mov ecx, eax
mov edx, dword [esp + 0x76c]
add ecx, edx
mov edx, esi
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x76c]
or eax, 0xffffffff
mov dword [esp + 0x584], eax
mov eax, dword [esp + 0x76c]
and eax, 0xffffffff
mov dword [esp + 0x580], eax
mov eax, dword [esp + 0x584]
mov dword [esp + 0x57c], ecx
mov ecx, dword [esp + 0x580]
sub eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x57c]
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xfffffffd
sub eax, 1
mov edx, dword [esp + 0x780]
xor edx, 0xffffffff
mov dword [esp + 0x578], eax
mov eax, edi
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x780]
add eax, 0xffffffff
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0x780]
and eax, 0xffffffff
mov dword [esp + 0x570], eax
mov eax, dword [esp + 0x574]
mov dword [esp + 0x56c], ecx
mov ecx, dword [esp + 0x570]
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub edx, eax
mov eax, dword [esp + 0x578]
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x578]
sub ecx, eax
sub ecx, 1
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x564], eax
mov eax, ecx
and eax, 0xffffffff
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
and eax, 0xffffffff
mov dword [esp + 0x558], eax
mov eax, dword [esp + 0x55c]
and eax, ecx
mov ecx, dword [esp + 0x558]
or ecx, eax
mov eax, dword [esp + 0x568]
add eax, 0xffffffff
mov dword [esp + 0x554], eax
mov eax, dword [esp + 0x568]
and eax, 0xffffffff
mov dword [esp + 0x550], eax
mov eax, dword [esp + 0x554]
mov dword [esp + 0x54c], ecx
mov ecx, dword [esp + 0x550]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x54c]
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
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, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
xor eax, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, edx
add eax, 0xffffffff
mov dword [esp + 0x548], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x548]
sub eax, edx
sub eax, edx
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x544], eax
mov eax, esi
sub eax, ecx
sub eax, 1
and edx, eax
mov eax, edi
add eax, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x540], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, 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, dword [esp + 0x540]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
add edx, 1
sub edx, 1
or eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x544]
xor ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
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 + 0x788]
mov edx, dword [esp + 0x6d4]
mov ecx, dword [ecx + edx*4]
mov edx, esi
mov dword [esp + 0x53c], eax
mov eax, dword [esp + 0x56c]
sub edx, eax
sub edx, 1
mov eax, ecx
or eax, 0xffffffff
mov dword [esp + 0x538], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov dword [esp + 0x534], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x534]
mov dword [esp + 0x52c], ecx
mov ecx, dword [esp + 0x530]
or eax, ecx
mov ecx, dword [esp + 0x538]
and 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
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
and eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
mov edx, dword [esp + 0x56c]
sub eax, edx
sub eax, 1
mov edx, esi
mov dword [esp + 0x528], eax
mov eax, dword [esp + 0x52c]
sub edx, eax
sub edx, 1
mov eax, esi
mov dword [esp + 0x524], ecx
mov ecx, dword [esp + 0x528]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x520], 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
or eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
sub ecx, edx
sub ecx, edx
mov eax, dword [esp + 0x520]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
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
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov eax, ecx
xor eax, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, edi
or ecx, 0xffffffff
mov dword [esp + 0x51c], eax
mov eax, edi
and eax, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, dword [esp + 0x51c]
add eax, 0xffffffff
mov ecx, dword [esp + 0x51c]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x524]
add eax, 0xffffffff
mov edx, dword [esp + 0x524]
add edx, 0xffffffff
mov dword [esp + 0x518], eax
mov eax, dword [esp + 0x524]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
xor eax, 0xffffffff
add eax, 1
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x518]
sub edx, eax
sub edx, eax
mov eax, ecx
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x514], 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
mov eax, dword [esp + 0x514]
and eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov ecx, esi
sub ecx, 0xace91d67
sub ecx, 1
mov edx, esi
sub edx, 0xace91d7f
sub edx, 1
mov dword [esp + 0x510], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
xor ecx, 0xace91d7f
mov dword [esp + 0x50c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
and ecx, 0xffffffff
and eax, 0xace91d7f
or ecx, eax
mov eax, dword [esp + 0x50c]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x508], eax
add eax, 0xffffffff
mov dword [esp + 0x504], eax
mov eax, dword [esp + 0x508]
and eax, 0xffffffff
mov dword [esp + 0x500], eax
mov eax, dword [esp + 0x504]
mov dword [esp + 0x4fc], ecx
mov ecx, dword [esp + 0x500]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x4fc]
sub eax, ecx
sub eax, ecx
mov ecx, edi
or ecx, 0xace91d67
mov dword [esp + 0x4f8], eax
mov eax, esi
sub eax, 0xace91d67
sub eax, 1
mov dword [esp + 0x4f4], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4f0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x4ec], eax
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x4e8], ecx
mov ecx, dword [esp + 0x4ec]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x4f4]
or ecx, eax
mov eax, dword [esp + 0x4e8]
and eax, ecx
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
xor edx, 0xffffffff
mov dword [esp + 0x4e4], eax
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 + 0x4e4]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4e0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0x4e0]
mov dword [esp + 0x4d8], ecx
mov ecx, dword [esp + 0x4dc]
sub eax, ecx
sub eax, ecx
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
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x4d8]
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x4f8]
or eax, 0xffffffff
mov ecx, dword [esp + 0x4f8]
and ecx, 0xffffffff
mov dword [esp + 0x4d4], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x4d4]
and ecx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub 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, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4d0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x4cc], eax
mov eax, dword [esp + 0x4d0]
mov dword [esp + 0x4c8], ecx
mov ecx, dword [esp + 0x4cc]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, dword [esp + 0x4c8]
and eax, edx
mov ecx, eax
mov eax, dword [esp + 0x510]
shr eax, cl
mov edx, dword [esp + 0x794]
mov eax, dword [edx + eax*4]
mov ecx, dword [esp + 0x778]
add ecx, 0x9baca665
mov edx, edi
or edx, 0x9baca665
mov dword [esp + 0x4c4], eax
mov eax, edi
xor eax, 0x9baca665
mov dword [esp + 0x4c0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4bc], eax
mov eax, edi
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
sub eax, ecx
mov ecx, dword [esp + 0x4c0]
or ecx, eax
and edx, ecx
mov eax, edi
or eax, 0x9baca675
mov ecx, esi
sub ecx, 0x9baca675
sub ecx, 1
mov dword [esp + 0x4b0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x4ac], eax
mov eax, edi
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
mov ecx, dword [esp + 0x4a4]
or ecx, eax
mov eax, dword [esp + 0x4b0]
and eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov ecx, dword [esp + 0x4b4]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x510]
shr eax, cl
mov edx, edi
add edx, 0x57b5fe1c
mov ecx, edi
add ecx, 0x57b5fe1c
mov dword [esp + 0x4a0], eax
mov eax, edi
and eax, 0x57b5fe1c
sub ecx, eax
sub ecx, eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
add ecx, 1
sub ecx, 1
mov edx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, edi
xor ecx, 0x57b5fe1c
mov dword [esp + 0x49c], eax
mov eax, esi
mov dword [esp + 0x498], ecx
mov ecx, dword [esp + 0x49c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x498]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edi
or eax, 0x57b5fee3
mov ecx, edi
and ecx, 0x57b5fee3
mov dword [esp + 0x494], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x494]
and ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x490], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x48c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x48c]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0x57b5fee3
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x490]
xor eax, 0xffffffff
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x488]
mov dword [esp + 0x480], ecx
mov ecx, dword [esp + 0x484]
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x480]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov dword [esp + 0x47c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x478], eax
mov eax, dword [esp + 0x47c]
and eax, 0xffffffff
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x478]
and edx, eax
mov eax, dword [esp + 0x474]
or eax, edx
mov edx, esi
sub edx, 0x57b5fee3
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x470], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x46c], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x468], ecx
mov ecx, dword [esp + 0x46c]
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, esi
sub eax, 0x57b5fe1c
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
and ecx, 0x57b5fe1c
or eax, ecx
mov ecx, esi
mov dword [esp + 0x464], eax
mov eax, dword [esp + 0x468]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x464]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, edx
or eax, 0xffffffff
mov dword [esp + 0x460], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, edi
xor edx, 0xffffffff
or eax, edx
mov edx, dword [esp + 0x460]
and edx, eax
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov dword [esp + 0x45c], eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x45c]
and ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
or edx, ecx
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
and ecx, edx
mov eax, esi
mov edx, dword [esp + 0x4a0]
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x458], eax
mov eax, esi
mov dword [esp + 0x454], ecx
mov ecx, dword [esp + 0x458]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x454]
and ecx, eax
mov eax, edx
and eax, 0xffffffff
mov dword [esp + 0x450], eax
add eax, 0xffffffff
mov dword [esp + 0x44c], eax
mov eax, dword [esp + 0x450]
and eax, 0xffffffff
mov dword [esp + 0x448], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x444], ecx
mov ecx, dword [esp + 0x448]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x440], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
and ecx, edx
xor ecx, 0xffffffff
mov eax, dword [esp + 0x440]
and eax, ecx
mov ecx, dword [esp + 0x444]
xor ecx, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
and ecx, edx
mov eax, ecx
xor eax, 0xffffffff
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x43c], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x43c]
or eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edx
or eax, 0xffffffff
xor edx, 0xffffffff
mov dword [esp + 0x438], eax
mov eax, edi
xor eax, 0xffffffff
or edx, eax
mov eax, dword [esp + 0x438]
and eax, edx
mov edx, ecx
add edx, 0xffffffff
mov dword [esp + 0x434], eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, esi
sub edx, eax
sub edx, 1
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or 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
or edx, eax
and ecx, edx
mov eax, esi
mov edx, dword [esp + 0x434]
sub eax, edx
sub eax, 1
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x4c4]
mov edx, dword [esp + 0xa10]
add eax, dword [edx + ecx*4]
mov ecx, edi
add ecx, 0xfffffff8
mov edx, esi
sub edx, 0xfffffff8
sub edx, 1
mov dword [esp + 0x430], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x42c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0x42c]
mov dword [esp + 0x424], ecx
mov ecx, dword [esp + 0x428]
and eax, ecx
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x420], eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x420]
sub ecx, eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, ecx
or edx, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
and edx, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, edx
sub eax, 1
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
add eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, esi
sub edx, ecx
sub edx, 1
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x424]
sub ecx, eax
sub ecx, eax
add ecx, 1
mov eax, dword [esp + 0x510]
shr eax, cl
mov edx, edi
or edx, 0x3855bd00
mov ecx, esi
sub ecx, 0x3855bd00
sub ecx, 1
mov dword [esp + 0x41c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
and edx, ecx
mov eax, edi
or eax, 0x3855bdff
mov ecx, esi
sub ecx, 0x3855bdff
sub ecx, 1
mov dword [esp + 0x418], eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
mov eax, dword [esp + 0x418]
and 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
or ecx, edx
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
mov eax, edi
or eax, 0x3855bd00
mov edx, edi
xor edx, 0x3855bd00
mov dword [esp + 0x414], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, dword [esp + 0x414]
and eax, edx
mov edx, edi
or edx, 0x3855bdff
mov dword [esp + 0x410], eax
mov eax, edi
and eax, 0x3855bdff
mov dword [esp + 0x40c], eax
mov eax, esi
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x40c]
sub eax, ecx
sub eax, 1
and edx, eax
add edx, 1
sub edx, 1
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x410]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, edi
xor eax, 0xffffffff
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 + 0x408]
sub eax, ecx
mov ecx, dword [esp + 0x41c]
xor ecx, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or ecx, edx
xor ecx, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, dword [esp + 0x41c]
add ecx, 0xffffffff
mov dword [esp + 0x404], eax
mov eax, esi
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x41c]
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 + 0x400]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x3fc], eax
mov eax, esi
mov dword [esp + 0x3f8], ecx
mov ecx, dword [esp + 0x3fc]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x3f8]
add ecx, 0xffffffff
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3f8]
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x3f4]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov dword [esp + 0x3f0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x3ec], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x3e8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3e4]
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x3f0]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x404]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x404]
sub edx, eax
sub edx, 1
mov eax, edi
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x3dc], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x3d8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x3d8]
mov dword [esp + 0x3d0], ecx
mov ecx, dword [esp + 0x3d4]
and eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x3dc]
and eax, ecx
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, esi
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x3d0]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x3e0]
add eax, 0xffffffff
mov edx, dword [esp + 0x3e0]
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, ecx
add edx, 0xffffffff
mov dword [esp + 0x3cc], eax
mov eax, ecx
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x3c8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x3c4], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x3c4]
sub eax, ecx
sub eax, ecx
and edx, 0xffffffff
mov ecx, dword [esp + 0x3c0]
and ecx, eax
or edx, ecx
mov eax, dword [esp + 0x3cc]
add eax, 0xffffffff
mov ecx, dword [esp + 0x3cc]
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
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xa0c]
mov ecx, dword [eax + ecx*4]
mov edx, esi
mov eax, dword [esp + 0x430]
sub edx, eax
sub edx, 1
mov eax, edi
xor eax, 0xffffffff
and edx, 0xffffffff
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x430]
mov dword [esp + 0x3b8], ecx
mov ecx, dword [esp + 0x3bc]
and eax, ecx
or edx, eax
mov eax, dword [esp + 0x3b8]
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x3b8]
and eax, ecx
mov ecx, dword [esp + 0x3b4]
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
mov eax, esi
sub eax, ecx
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, dword [esp + 0x430]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x430]
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 + 0x3b8]
add eax, 0xffffffff
mov edx, dword [esp + 0x3b8]
add edx, 0xffffffff
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x3b8]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
xor eax, 0xffffffff
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x3ac]
sub edx, eax
sub edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
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
add 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
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 + 0x3b0]
add eax, 0xffffffff
mov edx, dword [esp + 0x3b0]
and edx, 0xffffffff
sub eax, edx
sub eax, edx
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
mov eax, edi
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov eax, edi
xor eax, 0xffffff01
mov edx, edi
xor edx, 0xffffffff
and eax, 0xffffffff
and edx, 0xffffff01
or eax, edx
mov edx, edi
and edx, 0xffffffff
mov dword [esp + 0x3a8], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x3a4], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x3a4]
and edx, eax
mov eax, dword [esp + 0x3a8]
add eax, 0xffffffff
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a8]
and eax, 0xffffffff
mov dword [esp + 0x39c], eax
mov eax, dword [esp + 0x3a0]
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x39c]
sub eax, ecx
sub eax, ecx
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
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
and edx, ecx
mov eax, edi
add eax, 0xffffff01
mov ecx, esi
sub ecx, 0xffffff01
sub ecx, 1
add ecx, 1
sub ecx, 1
mov dword [esp + 0x394], eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x394]
sub eax, ecx
sub eax, ecx
mov ecx, edi
or ecx, 0xffffffff
mov dword [esp + 0x390], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x38c], eax
add eax, 0xffffffff
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x38c]
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
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x380]
and ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x390]
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
add edx, 1
mov eax, esi
mov ecx, dword [esp + 0x510]
sub eax, ecx
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x37c], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
mov dword [esp + 0x378], eax
mov eax, esi
mov dword [esp + 0x374], ecx
mov ecx, dword [esp + 0x378]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x370], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x370]
or eax, ecx
xor eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x374]
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x37c]
add ecx, 0xffffffff
mov edx, dword [esp + 0x37c]
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
and edx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, edx
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, eax
xor ecx, 0xffffffff
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x36c], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
and ecx, 0xffffffff
mov eax, dword [esp + 0x36c]
and eax, edx
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x398]
mov edx, dword [esp + 0xa08]
add ecx, dword [edx + eax*4]
mov eax, ecx
or eax, 0xffffffff
mov edx, ecx
and edx, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, dword [esp + 0x6a8]
or edx, 0xffffffff
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x6a8]
add eax, 0xffffffff
mov dword [esp + 0x364], eax
mov eax, dword [esp + 0x6a8]
and eax, 0xffffffff
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x364]
mov dword [esp + 0x35c], ecx
mov ecx, dword [esp + 0x360]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or eax, ecx
and edx, eax
mov eax, esi
mov ecx, dword [esp + 0x368]
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
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x358], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, dword [esp + 0x358]
and eax, edx
mov ecx, dword [esp + 0x35c]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x35c]
sub edx, eax
sub edx, 1
mov eax, edi
xor eax, 0xffffffff
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, dword [esp + 0x6a8]
xor eax, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, dword [esp + 0x6a8]
add edx, 0xffffffff
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x6a8]
add eax, 0xffffffff
mov dword [esp + 0x34c], eax
mov eax, dword [esp + 0x6a8]
and eax, 0xffffffff
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x34c]
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x348]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x340], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x340]
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, dword [esp + 0x350]
xor eax, 0xffffffff
xor edx, 0xffffffff
add edx, 1
sub edx, 1
or eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x344]
or eax, 0xffffffff
mov edx, esi
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x344]
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, dword [esp + 0x33c]
and eax, edx
mov edx, ecx
or edx, 0xffffffff
mov dword [esp + 0x338], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x334], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x334]
or eax, ecx
and edx, eax
mov eax, dword [esp + 0x338]
add eax, 0xffffffff
mov ecx, dword [esp + 0x338]
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
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x354]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x354]
sub edx, eax
sub edx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x32c], eax
mov eax, edi
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
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0x324]
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x330]
or eax, 0xffffffff
mov ecx, dword [esp + 0x330]
and ecx, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
and eax, ecx
add eax, 1
sub eax, 1
mov ecx, esi
sub ecx, 0xfffffffc
sub ecx, 1
mov edx, esi
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0x780]
sub edx, eax
sub edx, 1
mov eax, edi
xor eax, 0xffffffff
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, dword [esp + 0x780]
add eax, 0xffffffff
mov dword [esp + 0x31c], eax
mov eax, esi
mov dword [esp + 0x318], ecx
mov ecx, dword [esp + 0x780]
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 + 0x31c]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x314], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x310], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0x310]
mov dword [esp + 0x308], ecx
mov ecx, dword [esp + 0x30c]
sub eax, ecx
sub eax, ecx
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 + 0x308]
sub eax, ecx
sub eax, ecx
mov ecx, esi
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0x314]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x304]
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x300], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x2fc], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2fc]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x300]
sub eax, ecx
sub eax, ecx
xor edx, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov ecx, dword [esp + 0x318]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x318]
sub edx, eax
sub edx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x2f4], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0x2f0]
sub eax, ecx
sub eax, ecx
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, dword [esp + 0x2ec]
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x2f8]
add eax, 0xffffffff
mov ecx, esi
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x2f8]
sub ecx, eax
sub ecx, 1
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x2e8]
sub ecx, eax
sub ecx, eax
mov eax, edx
or eax, 0xffffffff
mov dword [esp + 0x2e4], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, dword [esp + 0x2e4]
and edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, edi
xor ecx, 0xffffffff
or edx, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 0x2e0], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x2e0]
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x2dc], eax
add eax, 0xffffffff
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x2dc]
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, edi
add ecx, 0xffffffff
mov dword [esp + 0x2cc], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2cc]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x2d0]
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
add ecx, 1
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x788]
mov edx, dword [esp + 0x53c]
mov ecx, dword [ecx + edx*4]
mov edx, dword [esp + 0x320]
add edx, 0xffffffff
mov dword [esp + 0x2c8], eax
mov eax, esi
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x320]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x2c0], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x2c0]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov eax, esi
mov ecx, dword [esp + 0x2c4]
sub eax, ecx
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0x2bc], eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
sub ecx, edx
sub ecx, edx
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x2c4]
or eax, 0xffffffff
mov edx, dword [esp + 0x2c4]
and edx, 0xffffffff
sub eax, edx
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 + 0x320]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x320]
sub edx, eax
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 + 0x2bc]
or eax, 0xffffffff
mov edx, dword [esp + 0x2bc]
and edx, 0xffffffff
sub eax, edx
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 + 0x2b8]
and ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x2b8]
sub edx, eax
sub edx, 1
mov eax, edi
xor eax, 0xffffffff
add eax, 1
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
mov edx, dword [esp + 0x2b4]
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
and eax, 0xffffffff
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x2b4]
and eax, edx
mov edx, dword [esp + 0x2b0]
or edx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
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, dword [esp + 0x77c]
add ecx, 0x8142a442
mov edx, edi
or edx, 0x8142a442
mov dword [esp + 0x2ac], eax
mov eax, edi
and eax, 0x8142a442
mov dword [esp + 0x2a8], eax
add eax, 0xffffffff
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x2a8]
and eax, 0xffffffff
mov dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x2a0]
sub eax, ecx
sub eax, ecx
and edx, eax
add edx, 1
sub edx, 1
mov eax, edi
add eax, 0x8142a45a
mov ecx, edi
add ecx, 0x8142a45a
mov dword [esp + 0x298], eax
mov eax, edi
and eax, 0x8142a45a
sub ecx, eax
sub ecx, 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 + 0x298]
sub ecx, eax
sub ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, edx
and eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x294], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, dword [esp + 0x294]
and eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
and ecx, edx
mov eax, dword [esp + 0x29c]
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x2ac]
shr eax, cl
mov edx, dword [esp + 0x794]
mov eax, dword [edx + eax*4]
mov ecx, edi
add ecx, 0xffffffef
mov edx, edi
add edx, 0xffffffef
mov dword [esp + 0x290], eax
mov eax, edi
add eax, 0xffffffef
mov dword [esp + 0x28c], eax
mov eax, edi
and eax, 0xffffffef
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x288]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
and ecx, 0xffffffef
or eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x280], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x27c], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x278]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x270], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x270]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x274]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x280]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x26c], eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, dword [esp + 0x26c]
sub eax, ecx
sub eax, ecx
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x268], eax
mov eax, esi
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x268]
sub eax, ecx
sub eax, 1
and edx, eax
mov eax, esi
mov ecx, dword [esp + 0x264]
sub eax, ecx
sub eax, 1
xor edx, 0xffffffff
or eax, edx
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, eax
add ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
xor eax, 0xffffffff
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x284]
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x2ac]
shr eax, cl
mov edx, esi
sub edx, 0xffffff01
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x260], eax
mov eax, esi
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x260]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x258], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x254], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x254]
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x250]
or eax, ecx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x24c]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x258]
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0x248], eax
mov eax, esi
mov dword [esp + 0x244], ecx
mov ecx, dword [esp + 0x248]
sub eax, ecx
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x244]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x25c]
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, ecx
add edx, 0xffffffff
mov dword [esp + 0x240], 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 + 0x240]
add eax, 0xffffffff
mov ecx, dword [esp + 0x240]
and ecx, 0xffffffff
sub eax, ecx
sub 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, esi
sub eax, ecx
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x290]
mov edx, dword [esp + 0xa10]
add ecx, dword [edx + eax*4]
mov eax, esi
sub eax, 0x214ca8cf
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
add edx, 1
sub edx, 1
and eax, 0xffffffff
and edx, 0x214ca8cf
or eax, edx
mov edx, edi
and edx, 0x214ca8c7
mov dword [esp + 0x23c], eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, edi
add edx, 0x214ca8c7
mov dword [esp + 0x238], eax
mov eax, edi
and eax, 0x214ca8c7
sub edx, eax
sub edx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x238]
and edx, eax
mov eax, dword [esp + 0x23c]
xor eax, 0xffffffff
mov dword [esp + 0x234], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x234]
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, eax
add edx, 0xffffffff
mov dword [esp + 0x230], eax
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, edi
xor eax, 0xffffffff
and edx, 0xffffffff
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x22c]
and eax, ecx
or edx, eax
mov eax, esi
sub eax, 0x214ca8cf
sub eax, 1
mov ecx, esi
sub ecx, 0x214ca8c7
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, edx
add ecx, 0xffffffff
mov dword [esp + 0x224], eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
sub ecx, edx
sub ecx, edx
mov eax, dword [esp + 0x224]
add eax, 0xffffffff
mov edx, esi
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x224]
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x220]
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, eax
mov eax, dword [esp + 0x2ac]
shr eax, cl
mov edx, edi
add edx, 0xffffff00
mov ecx, esi
sub ecx, 0xffffff00
sub ecx, 1
mov dword [esp + 0x21c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov eax, edi
add eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x218], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x214], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x210]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x20c]
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x218]
sub ecx, eax
sub ecx, eax
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x208], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x204], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x204]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x200]
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x1f8], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1f8]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x208]
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
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x1fc]
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffff00
sub eax, 1
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x1f4], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x1f0], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x1ec], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x1e8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x1e4]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x1ec]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x1f0]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x1f4]
and eax, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1f4]
add eax, 0xffffffff
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x1f4]
and eax, 0xffffffff
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x1d8]
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
and 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 + 0x1d4]
and eax, ecx
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
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, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x1e0]
add ecx, 0xffffffff
mov edx, dword [esp + 0x1e0]
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x1d0], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
and ecx, 0xffffffff
mov eax, dword [esp + 0x1e0]
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x1d0]
or eax, 0xffffffff
mov edx, dword [esp + 0x1d0]
xor edx, 0xffffffff
mov dword [esp + 0x1cc], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x1c8], eax
mov eax, edi
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
sub eax, ecx
or edx, eax
mov eax, dword [esp + 0x1cc]
and eax, edx
mov edx, dword [esp + 0x1c0]
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x21c]
add edx, 0xffffffff
mov ecx, dword [esp + 0x21c]
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
mov dword [esp + 0x1bc], 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
add edx, 1
sub edx, 1
or eax, edx
xor eax, 0xffffffff
mov edx, esi
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x21c]
sub edx, eax
sub edx, 1
add edx, 1
sub edx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
or edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x1b8]
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x1bc]
sub ecx, edx
sub ecx, 1
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
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0xa0c]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x228]
xor edx, 0xffffffff
mov eax, edi
xor eax, 0xffffffff
and edx, 0xffffffff
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1b4]
and eax, ecx
or edx, eax
mov eax, dword [esp + 0x1b0]
xor eax, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, 0xffffffff
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x1b0]
and eax, ecx
mov ecx, dword [esp + 0x1ac]
or ecx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
or 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, edi
add ecx, 0xffffffff
mov dword [esp + 0x1a8], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1a8]
and eax, 0xffffffff
and edx, ecx
or eax, edx
mov ecx, dword [esp + 0x228]
add ecx, 0xffffffff
mov edx, esi
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x228]
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, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x1b0]
xor eax, 0xffffffff
mov edx, edi
add edx, 0xffffffff
mov dword [esp + 0x1a0], eax
mov eax, edi
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0x1a0]
and eax, 0xffffffff
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1b0]
and eax, edx
mov edx, dword [esp + 0x19c]
or edx, eax
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
add edx, 1
sub edx, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x198], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
or edx, ecx
xor edx, 0xffffffff
mov eax, dword [esp + 0x198]
sub eax, edx
sub eax, edx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x1a4]
sub ecx, eax
mov eax, edi
or eax, 0x1d40a388
mov edx, edi
and edx, 0x1d40a388
mov dword [esp + 0x194], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, dword [esp + 0x194]
and edx, eax
mov eax, edi
add eax, 0x1d40a377
mov dword [esp + 0x190], eax
mov eax, edi
and eax, 0x1d40a377
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x18c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, edi
add ecx, 0x1d40a388
mov edx, edi
add edx, 0x1d40a388
mov dword [esp + 0x184], eax
mov eax, edi
and eax, 0x1d40a388
sub edx, eax
sub edx, eax
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, esi
sub eax, 0x1d40a377
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, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x184]
add eax, 0xffffffff
mov edx, dword [esp + 0x184]
xor edx, 0xffffffff
mov dword [esp + 0x180], eax
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
mov edx, dword [esp + 0x180]
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, esi
sub eax, edx
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x2ac]
sub ecx, edx
sub ecx, 1
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
xor eax, 0xffffffff
add eax, 1
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
add eax, 0xffffffff
mov edx, ecx
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, edi
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 + 0x188]
mov edx, dword [esp + 0xa08]
add eax, dword [edx + ecx*4]
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov edx, esi
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x510]
sub edx, eax
sub edx, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x178], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x174], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x170]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, edi
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, dword [esp + 0x178]
sub ecx, eax
sub ecx, 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
or eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, dword [esp + 0x510]
add eax, 0xffffffff
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x510]
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, esi
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x160]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x15c]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
xor edx, 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x16c]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x510]
add ecx, 0xffffffff
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x510]
add eax, 0xffffffff
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x510]
and eax, 0xffffffff
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x150]
sub eax, ecx
sub eax, ecx
add eax, 1
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 + 0x14c]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x158]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x17c]
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, edx
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
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, dword [esp + 0x148]
or ecx, 0xffffffff
mov edx, dword [esp + 0x148]
and edx, 0xffffffff
mov dword [esp + 0x144], eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
and ecx, eax
mov eax, dword [esp + 0x144]
xor eax, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, 0xffffffff
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x144]
and eax, edx
mov edx, dword [esp + 0x140]
or edx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, eax
and ecx, 0xffffffff
xor 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
and edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
and ecx, eax
add ebp, 0x6cda7aba
mov eax, edi
add eax, 0x6cda7aba
mov edx, edi
xor edx, 0x6cda7aba
mov dword [esp + 0x13c], eax
mov eax, edi
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
mov eax, dword [esp + 0x13c]
sub eax, edx
sub eax, edx
mov edx, esi
sub edx, 0x6cda7abe
sub edx, 1
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x138], eax
mov eax, esi
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x138]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
and edx, eax
add edx, 1
sub edx, 1
sub ebp, edx
sub ebp, edx
mov eax, dword [esp + 0x780]
add eax, ebp
mov ecx, dword [esp + 0x788]
mov edx, dword [esp + 0x2c8]
mov ebp, dword [ecx + edx*4]
mov ecx, dword [esp + 0x134]
or ecx, 0xffffffff
mov edx, dword [esp + 0x134]
xor edx, 0xffffffff
mov dword [esp + 0x130], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or edx, eax
and ecx, edx
mov eax, esi
sub eax, ebp
sub eax, 1
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0xffffffff
mov edx, esi
sub edx, eax
sub edx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
and edx, ecx
add edx, 1
sub edx, 1
mov eax, esi
sub eax, edx
sub eax, 1
mov ecx, esi
mov edx, dword [esp + 0x134]
sub ecx, edx
sub ecx, 1
mov edx, ebp
add edx, 0xffffffff
mov dword [esp + 0x12c], eax
mov eax, esi
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x128], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x124], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x120]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
sub ebp, ecx
sub ebp, ecx
mov eax, dword [esp + 0x128]
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov eax, esi
mov ecx, dword [esp + 0x11c]
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
xor edx, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
or edx, ebp
xor edx, 0xffffffff
sub ecx, edx
sub ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
add 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
or edx, eax
xor edx, 0xffffffff
add edx, 1
sub edx, 1
sub ecx, edx
sub ecx, edx
mov eax, ecx
add eax, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
mov ebp, esi
sub ebp, ecx
sub ebp, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
mov ecx, esi
sub ecx, ebp
sub ecx, 1
sub edx, ecx
sub edx, ecx
mov ecx, edi
xor ecx, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x118], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ecx, 0xffffffff
and ebp, 0xffffffff
or ecx, ebp
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 + 0x118]
sub ecx, eax
sub ecx, eax
mov eax, esi
mov edx, dword [esp + 0x12c]
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, esi
sub ecx, eax
sub ecx, 1
mov eax, edi
add eax, 0xffffffe7
mov edx, esi
sub edx, 0xffffffe7
sub edx, 1
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x114], eax
mov eax, edi
or eax, 0xffffffff
mov dword [esp + 0x110], eax
mov eax, edi
and eax, 0xffffffff
xor eax, 0xffffffff
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x10c]
and eax, ecx
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x104], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x100], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xfc]
sub eax, ecx
sub eax, ecx
add eax, 1
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 + 0xf8]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x104]
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, esi
sub eax, ecx
sub eax, 1
sub ebp, eax
sub ebp, eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov ecx, ebp
or ecx, 0xffffffff
and ebp, 0xffffffff
mov edx, esi
sub edx, ebp
sub edx, 1
and ecx, edx
xor eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
add edx, 1
sub edx, 1
or eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or edx, ecx
and eax, edx
mov ecx, esi
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 0x114]
sub eax, ecx
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x108]
shr eax, cl
mov edx, dword [esp + 0x794]
mov eax, dword [edx + eax*4]
mov ebp, esi
sub ebp, 0x5862c233
sub ebp, 1
mov ecx, edi
add ecx, 0x5862c223
mov edx, edi
xor edx, 0x5862c223
mov dword [esp + 0xf4], eax
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
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, ebp
or eax, 0xffffffff
and ebp, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0x5862c233
sub eax, 1
mov edx, edi
xor edx, 0x5862c223
mov ebp, edi
xor ebp, 0xffffffff
and edx, ebp
xor edx, 0xffffffff
mov ebp, esi
sub ebp, 0x5862c223
sub ebp, 1
mov dword [esp + 0xf0], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
xor edx, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
or edx, eax
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, dword [esp + 0xf0]
add edx, 0xffffffff
mov ebp, esi
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xf0]
sub ebp, eax
sub ebp, 1
add ebp, 1
sub ebp, 1
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0xe8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0xe4]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
mov eax, esi
mov ebp, dword [esp + 0xec]
sub eax, ebp
sub eax, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
and edx, eax
xor edx, 0xffffffff
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, eax
add edx, 0xffffffff
mov ebp, eax
or ebp, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ecx, eax
and ebp, ecx
mov eax, edi
add eax, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0xdc], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0xd8], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0xd4]
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xd0]
or ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xdc]
sub ecx, eax
sub ecx, eax
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
add ecx, 1
sub ecx, 1
and eax, 0xffffffff
and ebp, ecx
or eax, ebp
sub edx, eax
sub edx, eax
mov eax, dword [esp + 0xe0]
add eax, 0xffffffff
mov ecx, esi
mov ebp, dword [esp + 0xe0]
sub ecx, ebp
sub ecx, 1
mov ebp, edi
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
or ecx, ebp
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
sub eax, ebp
sub eax, ebp
add eax, 1
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, eax
xor ecx, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and ecx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, dword [esp + 0x108]
shr eax, cl
mov edx, esi
sub edx, 0xffffff01
mov ebp, eax
add ebp, 0xffffffff
xor eax, 0xffffffff
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0xcc], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xcc]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, edx
xor eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
and eax, ecx
xor 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
mov ecx, edx
add ecx, 0xffffffff
mov dword [esp + 0xc8], eax
mov eax, esi
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or eax, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
sub ecx, edx
sub ecx, edx
mov eax, esi
mov edx, dword [esp + 0xc8]
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
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, ebp
or eax, 0xffffffff
mov edx, ebp
add edx, 0xffffffff
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0xc4], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or edx, ebp
mov eax, dword [esp + 0xc4]
and eax, edx
mov edx, ecx
add edx, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
add edx, 1
sub edx, 1
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
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
xor eax, 0xffffffff
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xa10]
add ecx, dword [edx + eax*4]
mov eax, esi
sub eax, 0xfffffff8
sub eax, 1
add eax, 1
mov dword [esp + 0xc0], ecx
mov ecx, eax
mov eax, dword [esp + 0x108]
shr eax, cl
mov ebp, edi
or ebp, 0x6b930131
mov ecx, edi
and ecx, 0x6b930131
sub ebp, ecx
mov ecx, edi
or ecx, 0x6b9301ce
mov edx, edi
and edx, 0x6b9301ce
xor edx, 0xffffffff
and ecx, edx
mov edx, esi
sub edx, ebp
sub edx, 1
xor ecx, 0xffffffff
or edx, ecx
xor edx, 0xffffffff
mov ecx, edx
or ecx, 0xffffffff
and edx, 0xffffffff
mov ebp, esi
sub ebp, edx
sub ebp, 1
and ecx, ebp
mov edx, esi
sub edx, 0x6b930131
sub edx, 1
mov ebp, esi
sub ebp, 0x6b9301ce
sub ebp, 1
mov dword [esp + 0xbc], eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov edx, esi
sub edx, ebp
sub edx, 1
mov dword [esp + 0xb8], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and edx, 0xffffffff
and ebp, eax
or edx, ebp
mov eax, esi
mov ebp, dword [esp + 0xb8]
sub eax, ebp
sub eax, 1
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
and edx, ebp
mov eax, esi
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, eax
add ecx, 0xffffffff
mov edx, eax
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
mov edx, edi
xor edx, 0xffffffff
and ecx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, esi
mov edx, dword [esp + 0xbc]
sub eax, edx
sub eax, 1
mov edx, esi
sub edx, ecx
sub edx, 1
mov ecx, eax
and ecx, 0xffffffff
mov ebp, esi
sub ebp, ecx
sub ebp, 1
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, ecx
add eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
and ebp, eax
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
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
xor ecx, 0xffffffff
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
sub eax, ecx
mov ecx, eax
add ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
and edx, 0xffffffff
and eax, ebp
or edx, eax
mov eax, edi
add eax, 0xffffffff
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
mov dword [esp + 0xb4], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0xb0], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xac]
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, dword [esp + 0xb4]
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
xor edx, 0xffffffff
xor ebp, 0xffffffff
and edx, ebp
xor edx, 0xffffffff
mov eax, edx
add eax, 0xffffffff
mov ebp, edx
add ebp, 0xffffffff
and edx, 0xffffffff
sub ebp, edx
sub ebp, edx
mov edx, edi
add edx, 0xffffffff
mov ecx, edi
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
or ebp, edx
mov ecx, esi
sub ecx, ebp
sub ecx, 1
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0xa8]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xa0c]
mov ecx, dword [eax + ecx*4]
mov edx, esi
mov ebp, dword [esp + 0xc0]
sub edx, ebp
sub edx, 1
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
mov dword [esp + 0xa4], eax
add eax, 0xffffffff
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa4]
and eax, 0xffffffff
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
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 + 0x98]
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov dword [esp + 0x94], eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, dword [esp + 0x94]
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, edx
and eax, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
and eax, edx
mov edx, esi
sub edx, eax
sub edx, 1
and ebp, edx
mov eax, esi
mov edx, dword [esp + 0x98]
sub eax, edx
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, dword [esp + 0xc0]
or ebp, 0xffffffff
mov edx, dword [esp + 0xc0]
add edx, 0xffffffff
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xc0]
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x8c], eax
mov eax, edi
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 edx, eax
and ebp, edx
mov eax, dword [esp + 0x84]
add eax, 0xffffffff
mov edx, dword [esp + 0x84]
xor edx, 0xffffffff
mov ecx, edi
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
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
mov ecx, esi
sub ecx, ebp
sub ecx, 1
mov edx, edi
add edx, 0xffffffff
mov ebp, edi
and ebp, 0xffffffff
sub edx, ebp
sub edx, ebp
or ecx, edx
xor ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 0x90]
or ecx, 0xffffffff
mov edx, esi
mov ebp, dword [esp + 0x90]
sub edx, ebp
sub edx, 1
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
or edx, ebp
and ecx, edx
mov edx, eax
or edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, edx
add ecx, 0xffffffff
and edx, 0xffffffff
sub ecx, edx
sub ecx, edx
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, ecx
and eax, 0xffffffff
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
xor ecx, 0xffffffff
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
add eax, 1
sub eax, 1
and edx, eax
mov eax, edi
add eax, 0x21c62d54
mov ecx, edi
add ecx, 0x21c62d54
mov ebp, edi
and ebp, 0x21c62d54
sub ecx, ebp
sub ecx, ebp
mov ebp, edi
xor ebp, 0xffffffff
or ecx, ebp
mov ebp, esi
sub ebp, ecx
sub ebp, 1
sub eax, ebp
sub eax, ebp
mov ecx, esi
sub ecx, 0x21c62dab
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
mov eax, ecx
xor eax, 0xffffffff
mov ebp, edi
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ebp, ecx
add ebp, 0xffffffff
mov dword [esp + 0x80], eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x7c], eax
mov eax, edi
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x7c]
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
sub ebp, ecx
sub ebp, ecx
mov eax, edi
add eax, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
mov dword [esp + 0x78], eax
mov eax, edi
xor eax, 0xffffffff
or ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x78]
sub ecx, eax
sub ecx, eax
xor ebp, 0xffffffff
xor ecx, 0xffffffff
and ebp, ecx
xor ebp, 0xffffffff
mov eax, dword [esp + 0x80]
xor eax, 0xffffffff
mov ecx, esi
sub ecx, ebp
sub ecx, 1
or eax, ecx
xor eax, 0xffffffff
mov ecx, edi
add ecx, 0x21c62d54
mov ebp, edi
and ebp, 0x21c62d54
mov dword [esp + 0x74], eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, edi
add ebp, 0x21c62d54
mov dword [esp + 0x70], eax
mov eax, edi
and eax, 0x21c62d54
sub ebp, eax
sub ebp, eax
mov eax, edi
xor eax, 0xffffffff
and ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, dword [esp + 0x70]
and ebp, eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x6c], eax
mov eax, edi
xor eax, 0xffffffff
mov dword [esp + 0x68], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x64]
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x6c]
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
xor ebp, 0xffffffff
mov ecx, edi
xor ecx, 0xffffffff
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x60]
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0x21c62dab
mov ebp, esi
sub ebp, 0x21c62dab
sub ebp, 1
mov dword [esp + 0x5c], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
or eax, 0xffffffff
mov dword [esp + 0x58], eax
mov eax, esi
sub eax, ebp
sub eax, 1
mov ebp, esi
sub ebp, 0xffffffff
sub ebp, 1
or eax, ebp
mov ebp, dword [esp + 0x58]
and ebp, eax
mov eax, dword [esp + 0x5c]
sub eax, ebp
sub eax, ebp
add eax, 1
sub eax, 1
mov ebp, ecx
and ebp, 0xffffffff
xor ebp, 0xffffffff
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
add ecx, 1
sub ecx, 1
mov dword [esp + 0x54], eax
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
and ecx, eax
mov eax, esi
sub eax, ecx
sub eax, 1
and ebp, eax
mov eax, dword [esp + 0x54]
and eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x54]
add eax, 0xffffffff
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
and eax, 0xffffffff
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x4c]
sub eax, ecx
sub eax, ecx
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x48]
and eax, ecx
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, ebp
add eax, 0xffffffff
xor ebp, 0xffffffff
mov ecx, esi
sub ecx, 0xffffffff
sub ecx, 1
or ebp, ecx
mov ecx, ebp
add ecx, 0xffffffff
and ebp, 0xffffffff
sub ecx, ebp
sub ecx, ebp
sub eax, ecx
sub eax, ecx
add eax, 1
sub eax, 1
mov ecx, eax
add ecx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
mov dword [esp + 0x44], eax
add eax, 0xffffffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
and eax, 0xffffffff
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x3c]
sub eax, ecx
sub eax, ecx
mov ecx, edi
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
or eax, ecx
mov ecx, esi
sub ecx, eax
sub ecx, 1
sub ebp, ecx
sub ebp, ecx
mov eax, esi
sub eax, 0xffffffff
sub eax, 1
xor ebp, 0xffffffff
xor eax, 0xffffffff
and ebp, eax
xor ebp, 0xffffffff
mov eax, esi
sub eax, ebp
sub eax, 1
mov ecx, dword [esp + 0x38]
sub ecx, eax
sub ecx, eax
mov eax, esi
mov ebp, dword [esp + 0x74]
sub eax, ebp
sub eax, 1
mov ebp, esi
sub ebp, ecx
sub ebp, 1
xor eax, 0xffffffff
xor ebp, 0xffffffff
and eax, ebp
xor eax, 0xffffffff
mov ecx, esi
sub ecx, eax
sub ecx, 1
mov eax, esi
mov ebp, dword [esp + 0x108]
sub eax, ebp
sub eax, 1
mov ebp, esi
sub ebp, ecx
sub ebp, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov dword [esp + 0x34], eax
mov eax, esi
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x30]
and ecx, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
mov ebp, ecx
add ebp, 0xffffffff
and ecx, 0xffffffff
sub ebp, ecx
sub ebp, ecx
xor eax, 0xffffffff
or ebp, eax
mov eax, esi
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ecx, eax
or ecx, 0xffffffff
and eax, 0xffffffff
mov ebp, esi
sub ebp, eax
sub ebp, 1
and ecx, ebp
mov eax, ecx
add eax, 0xffffffff
mov ebp, esi
sub ebp, ecx
sub ebp, 1
mov ecx, edi
add ecx, 0xffffffff
mov dword [esp + 0x2c], eax
mov eax, edi
add eax, 0xffffffff
mov dword [esp + 0x28], eax
mov eax, edi
and eax, 0xffffffff
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
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 + 0x20]
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
add eax, 1
sub eax, 1
mov ecx, dword [esp + 0x2c]
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0xa08]
add edx, dword [eax + ecx*4]
mov ecx, edx
xor ecx, 0xffffffff
add ecx, 1
sub ecx, 1
mov ebp, edi
add ebp, 0xffffffff
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ecx, 0xffffffff
mov eax, edx
and eax, ebp
or ecx, eax
mov eax, dword [esp + 0x2ac]
or eax, 0xffffffff
mov ebp, dword [esp + 0x2ac]
and ebp, 0xffffffff
mov dword [esp + 0x1c], eax
mov eax, esi
sub eax, ebp
sub eax, 1
add eax, 1
sub eax, 1
mov ebp, dword [esp + 0x1c]
and ebp, eax
mov eax, esi
sub eax, ecx
sub eax, 1
mov ecx, esi
sub ecx, ebp
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
xor ecx, 0xffffffff
and eax, ecx
mov ecx, esi
sub ecx, edx
sub ecx, 1
mov edx, esi
mov ebp, dword [esp + 0x2ac]
sub edx, ebp
sub edx, 1
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, ecx
add edx, 0xffffffff
and ecx, 0xffffffff
sub edx, ecx
sub edx, ecx
sub eax, edx
add ebx, 0xc8822bfd
mov ecx, edi
add ecx, 0xc8822bfd
mov edx, edi
xor edx, 0xc8822bfd
mov ebp, edi
add ebp, 0xffffffff
mov dword [esp + 0x18], eax
mov eax, edi
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
or edx, ebp
mov eax, esi
sub eax, edx
sub eax, 1
add eax, 1
sub eax, 1
add eax, 1
sub eax, 1
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xc8822bed
mov edx, edi
add edx, 0xc8822bed
and edi, 0xc8822bed
sub edx, edi
sub edx, edi
mov edi, esi
sub edi, 0xffffffff
sub edi, 1
or edx, edi
xor edx, 0xffffffff
sub eax, edx
sub eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
add eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, esi
sub edx, 0xffffffff
sub edx, 1
or ecx, edx
sub esi, ecx
sub esi, 1
sub eax, esi
sub eax, esi
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x130]
cmp eax, ebx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov dword [esp + 0x784], eax
mov dword [esp + 0x790], ecx
mov dword [esp + 0x78c], edx
jl 0x10060750
xor eax, eax
mov ecx, 0xffffffff
mov edx, 0x191702cb
mov esi, dword [esp + 0xa14]
mov edi, dword [esi + 0x1044]
mov ebx, edi
or ebx, 0xffffffff
mov ebp, edi
and ebp, 0xffffffff
mov esi, eax
sub esi, ebp
sub esi, 1
and ebx, esi
mov esi, dword [esp + 0x108]
or esi, 0xffffffff
mov ebp, dword [esp + 0x108]
and ebp, 0xffffffff
mov dword [esp + 0x14], eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
and esi, eax
mov eax, dword [esp + 0x14]
sub eax, ebx
sub eax, 1
add eax, 1
sub eax, 1
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
or eax, ebx
mov esi, dword [esp + 0x14]
sub esi, eax
sub esi, 1
mov eax, esi
or eax, 0xffffffff
mov ebx, dword [esp + 0x14]
sub ebx, esi
sub ebx, 1
mov esi, ecx
add esi, 0xffffffff
mov ebp, ecx
and ebp, 0xffffffff
sub esi, ebp
sub esi, ebp
or ebx, esi
and eax, ebx
mov esi, dword [esp + 0x14]
sub esi, edi
sub esi, 1
mov edi, dword [esp + 0x108]
xor edi, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x108]
sub ebx, ebp
sub ebx, 1
mov ebp, dword [esp + 0x14]
sub ebp, 0xffffffff
sub ebp, 1
or ebx, ebp
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
mov ebx, dword [esp + 0x14]
sub ebx, ebp
sub ebx, 1
xor edi, 0xffffffff
mov ebp, dword [esp + 0x14]
sub ebp, ebx
sub ebp, 1
or edi, ebp
mov ebx, dword [esp + 0x14]
sub ebx, edi
sub ebx, 1
mov edi, esi
or edi, 0xffffffff
mov ebp, dword [esp + 0x14]
sub ebp, esi
sub ebp, 1
mov esi, ecx
xor esi, 0xffffffff
add esi, 1
sub esi, 1
or ebp, esi
and edi, ebp
mov esi, ebx
or esi, 0xffffffff
and ebx, 0xffffffff
mov ebp, ebx
add ebp, 0xffffffff
and ebx, 0xffffffff
sub ebp, ebx
sub ebp, ebx
and esi, ebp
mov ebx, dword [esp + 0x14]
sub ebx, edi
sub ebx, 1
add ebx, 1
sub ebx, 1
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
or ebx, edi
xor ebx, 0xffffffff
mov esi, ebx
or esi, 0xffffffff
and ebx, 0xffffffff
sub esi, ebx
mov edi, eax
or edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
mov eax, dword [esp + 0x14]
sub eax, esi
sub eax, 1
xor edi, 0xffffffff
xor eax, 0xffffffff
and edi, eax
xor edi, 0xffffffff
mov eax, dword [esp + 0x14]
sub eax, edi
sub eax, 1
mov esi, dword [esp + 0xa14]
mov edi, dword [esi + 0x1040]
mov ebx, dword [esp + 0x14]
sub ebx, edi
sub ebx, 1
mov ebp, dword [esp + 0x18]
add ebp, 0xffffffff
mov esi, dword [esp + 0x18]
xor esi, 0xffffffff
mov dword [esp + 0x10], eax
mov eax, ecx
xor eax, 0xffffffff
or esi, eax
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov esi, eax
add esi, 0xffffffff
mov ebx, dword [esp + 0x14]
sub ebx, eax
sub ebx, 1
mov eax, ecx
and eax, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, ecx
xor eax, 0xffffffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
sub eax, 0xffffffff
sub eax, 1
add eax, 1
sub eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 8]
and eax, ecx
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
and ebp, ecx
xor ebx, 0xffffffff
xor ebp, 0xffffffff
and ebx, ebp
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
mov ecx, dword [esp + 0x14]
sub ecx, ebx
sub ecx, 1
mov ebx, dword [esp + 0x14]
sub ebx, 0xffffffff
sub ebx, 1
or ecx, ebx
mov ebx, ecx
add ebx, 0xffffffff
and ecx, 0xffffffff
sub ebx, ecx
sub ebx, ecx
sub eax, ebx
sub eax, ebx
sub esi, eax
sub esi, eax
mov eax, edi
add eax, 0xffffffff
mov ecx, edi
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
mov ecx, dword [esp + 4]
add ecx, 0xffffffff
mov ebx, dword [esp + 4]
and ebx, 0xffffffff
sub ecx, ebx
sub ecx, ebx
or eax, ecx
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x14]
sub eax, ecx
sub eax, 1
mov ecx, edi
add ecx, 0xffffffff
and edi, 0xffffffff
sub ecx, edi
sub ecx, edi
mov edi, dword [esp + 0x14]
sub edi, 0xffffffff
sub edi, 1
mov ebx, dword [esp + 0x14]
sub ebx, ecx
sub ebx, 1
mov ecx, dword [esp + 0x14]
sub ecx, edi
sub ecx, 1
or ebx, ecx
mov ecx, dword [esp + 0x14]
sub ecx, ebx
sub ecx, 1
mov edi, dword [esp + 0x14]
sub edi, ecx
sub edi, 1
mov ecx, eax
add ecx, 0xffffffff
and eax, 0xffffffff
sub ecx, eax
sub ecx, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
or ecx, eax
mov eax, dword [esp + 0x14]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
sub ecx, edi
sub ecx, 1
add ecx, 1
sub ecx, 1
mov ebx, eax
add ebx, 0xffffffff
mov ebp, eax
add ebp, 0xffffffff
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
add ebp, 1
sub ebp, 1
mov eax, dword [esp + 4]
xor eax, 0xffffffff
or ebp, eax
mov eax, dword [esp + 0x14]
sub eax, ebp
sub eax, 1
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 0x14]
sub eax, ecx
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, ebx
add eax, 0xffffffff
xor ebx, 0xffffffff
add ebx, 1
sub ebx, 1
mov ecx, dword [esp + 0x14]
sub ecx, 0xffffffff
sub ecx, 1
or ebx, ecx
xor ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov ecx, eax
xor ecx, 0xffffffff
mov ebx, dword [esp + 4]
xor ebx, 0xffffffff
and ecx, ebx
xor ecx, 0xffffffff
mov ebx, eax
add ebx, 0xffffffff
mov ebp, dword [esp + 0x14]
sub ebp, eax
sub ebp, 1
mov eax, dword [esp + 0x14]
sub eax, 0xffffffff
sub eax, 1
or ebp, eax
xor ebp, 0xffffffff
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
add ebp, 1
sub ebp, 1
sub ebx, ebp
sub ebx, ebp
add ebx, 1
sub ebx, 1
mov eax, dword [esp + 0x14]
sub eax, 0xffffffff
sub eax, 1
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
xor ebx, 0xffffffff
mov eax, dword [esp + 0x14]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x14]
sub ecx, ebx
sub ecx, 1
or eax, ecx
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub ecx, 1
mov eax, dword [esp + 0x14]
sub eax, esi
sub eax, 1
mov ebx, dword [esp + 4]
xor ebx, 0xffffffff
and eax, 0xffffffff
and esi, ebx
or eax, esi
mov esi, ecx
and esi, 0xffffffff
xor esi, 0xffffffff
xor ecx, 0xffffffff
mov ebx, dword [esp + 0x14]
sub ebx, 0xffffffff
sub ebx, 1
and ecx, ebx
mov ebx, dword [esp + 0x14]
sub ebx, ecx
sub ebx, 1
and esi, ebx
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub ecx, 1
add ecx, 1
sub ecx, 1
mov eax, dword [esp + 4]
add eax, 0xb3d7975e
mov esi, dword [esp + 4]
and esi, 0xb3d7975e
sub eax, esi
sub eax, esi
mov esi, dword [esp + 4]
and esi, 0xb3d79746
xor esi, 0xffffffff
mov ebx, dword [esp + 0x14]
sub ebx, 0xb3d79746
sub ebx, 1
mov ebp, dword [esp + 4]
xor ebp, 0xffffffff
and ebx, ebp
mov ebp, dword [esp + 0x14]
sub ebp, ebx
sub ebp, 1
and esi, ebp
xor eax, 0xffffffff
mov ebx, esi
add ebx, 0xffffffff
and esi, 0xffffffff
sub ebx, esi
sub ebx, esi
or eax, ebx
xor eax, 0xffffffff
mov esi, eax
or esi, 0xffffffff
mov ebx, eax
add ebx, 0xffffffff
and eax, 0xffffffff
sub ebx, eax
sub ebx, eax
mov eax, dword [esp + 4]
add eax, 0xffffffff
mov ebp, dword [esp + 4]
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
or ebx, eax
and esi, ebx
mov eax, dword [esp + 0x14]
sub eax, 0xb3d7975e
sub eax, 1
mov ebx, dword [esp + 4]
add ebx, 0xb3d79746
mov ebp, dword [esp + 4]
xor ebp, 0xb3d79746
mov edi, dword [esp + 4]
xor edi, 0xffffffff
or ebp, edi
xor ebp, 0xffffffff
sub ebx, ebp
sub ebx, ebp
add ebx, 1
sub ebx, 1
xor eax, 0xffffffff
xor ebx, 0xffffffff
and eax, ebx
xor eax, 0xffffffff
mov edi, dword [esp + 0x14]
sub edi, eax
sub edi, 1
sub esi, edi
mov dword [esp], ecx
mov ecx, esi
mov eax, dword [esp + 0x10]
shr eax, cl
mov cl, al
mov eax, dword [esp + 0x9f4]
mov byte [eax], cl
add edx, 0x191702db
mov esi, dword [esp + 4]
add esi, 0x191702db
mov edi, dword [esp + 4]
add edi, 0x191702db
mov ebx, dword [esp + 4]
and ebx, 0x191702db
sub edi, ebx
sub edi, ebx
mov ebx, dword [esp + 0x14]
sub ebx, 0xffffffff
sub ebx, 1
or edi, ebx
mov ebx, dword [esp + 0x14]
sub ebx, edi
sub ebx, 1
sub esi, ebx
sub esi, ebx
mov edi, dword [esp + 0x14]
sub edi, 0x191702cb
sub edi, 1
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
mov edi, dword [esp + 0x14]
sub edi, esi
sub edi, 1
sub edx, edi
sub edx, edi
mov ecx, edx
mov edx, dword [esp + 0x10]
shr edx, cl
mov cl, dl
mov byte [eax + 1], cl
mov edx, dword [esp + 4]
xor edx, 0x5a0f379
mov esi, dword [esp + 0x14]
sub esi, 0xffffffff
sub esi, 1
and edx, 0xffffffff
and esi, 0x5a0f379
or edx, esi
mov esi, dword [esp + 4]
or esi, 0x5a0f371
mov edi, dword [esp + 4]
and edi, 0x5a0f371
mov ebx, dword [esp + 0x14]
sub ebx, edi
sub ebx, 1
and esi, ebx
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
xor esi, 0xffffffff
or edi, esi
mov edx, dword [esp + 0x14]
sub edx, edi
sub edx, 1
mov esi, edx
add esi, 0xffffffff
mov edi, edx
and edi, 0xffffffff
sub esi, edi
sub esi, edi
mov edi, dword [esp + 4]
add edi, 0xffffffff
mov ebx, dword [esp + 4]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
and esi, 0xffffffff
and edx, edi
or esi, edx
mov edx, dword [esp + 4]
xor edx, 0x5a0f379
mov edi, dword [esp + 4]
xor edi, 0xffffffff
and edx, edi
xor edx, 0xffffffff
mov edi, dword [esp + 4]
or edi, 0x5a0f379
mov ebx, dword [esp + 4]
and ebx, 0x5a0f379
sub edi, ebx
mov ebx, dword [esp + 0x14]
sub ebx, 0xffffffff
sub ebx, 1
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
xor edx, 0xffffffff
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
or edx, ebx
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
mov edx, dword [esp + 0x14]
sub edx, 0x5a0f371
sub edx, 1
mov ebx, dword [esp + 0x14]
sub ebx, edi
sub ebx, 1
mov ebp, dword [esp + 4]
add ebp, 0xffffffff
mov eax, dword [esp + 4]
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
and ebx, 0xffffffff
and edi, ebp
or ebx, edi
mov eax, edx
or eax, 0xffffffff
mov edi, dword [esp + 0x14]
sub edi, edx
sub edi, 1
mov edx, dword [esp + 4]
xor edx, 0xffffffff
or edi, edx
and eax, edi
xor ebx, 0xffffffff
mov edx, dword [esp + 0x14]
sub edx, eax
sub edx, 1
or ebx, edx
mov eax, ebx
add eax, 0xffffffff
and ebx, 0xffffffff
sub eax, ebx
sub eax, ebx
mov edx, eax
or edx, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
mov eax, dword [esp + 0x14]
sub eax, 0xffffffff
sub eax, 1
or edi, eax
and edx, edi
mov eax, dword [esp + 0x14]
sub eax, esi
sub eax, 1
mov esi, dword [esp + 0x14]
sub esi, edx
sub esi, 1
xor eax, 0xffffffff
xor esi, 0xffffffff
and eax, esi
xor eax, 0xffffffff
mov edx, eax
or edx, 0xffffffff
mov esi, dword [esp + 0x14]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 4]
xor eax, 0xffffffff
or esi, eax
and edx, esi
mov ecx, edx
mov eax, dword [esp + 0x10]
shr eax, cl
mov cl, al
mov eax, dword [esp + 0x9f4]
mov byte [eax + 2], cl
mov edx, dword [esp + 0x10]
mov cl, dl
mov byte [eax + 3], cl
mov edx, dword [esp + 0x14]
sub edx, 0xffffffe8
mov ecx, edx
mov edx, dword [esp]
shr edx, cl
mov cl, dl
mov byte [eax + 4], cl
mov edx, dword [esp + 4]
or edx, 0xbb57b9af
mov esi, dword [esp + 0x14]
sub esi, 0xbb57b9af
sub esi, 1
mov edi, dword [esp + 4]
add edi, 0xffffffff
mov ebx, dword [esp + 4]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
or esi, edi
and edx, esi
mov esi, dword [esp + 4]
or esi, 0xbb57b9bf
mov edi, dword [esp + 4]
and edi, 0xbb57b9bf
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
and esi, ebx
mov edi, dword [esp + 0x14]
sub edi, edx
sub edi, 1
mov edx, dword [esp + 0x14]
sub edx, esi
sub edx, 1
or edi, edx
mov edx, edi
add edx, 0xffffffff
and edi, 0xffffffff
sub edx, edi
sub edx, edi
add edx, 1
sub edx, 1
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, dword [esp + 0x14]
sub edx, 0xbb57b9af
sub edx, 1
mov edi, dword [esp + 0x14]
sub edi, 0xbb57b9bf
sub edi, 1
mov ebx, dword [esp + 0x14]
sub ebx, 0xffffffff
sub ebx, 1
or edi, ebx
xor edi, 0xffffffff
mov ebx, edi
or ebx, 0xffffffff
and edi, 0xffffffff
mov ebp, edi
add ebp, 0xffffffff
and edi, 0xffffffff
sub ebp, edi
sub ebp, edi
and ebx, ebp
add ebx, 1
sub ebx, 1
mov edi, dword [esp + 4]
add edi, 0xbb57b9bf
mov ebp, dword [esp + 4]
and ebp, 0xbb57b9bf
sub edi, ebp
sub edi, ebp
mov ebp, dword [esp + 0x14]
sub ebp, 0xffffffff
sub ebp, 1
add ebp, 1
sub ebp, 1
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
xor ebp, 0xffffffff
or eax, ebp
xor eax, 0xffffffff
mov edi, eax
add edi, 0xffffffff
xor eax, 0xffffffff
mov ebp, dword [esp + 4]
xor ebp, 0xffffffff
or eax, ebp
mov ebp, dword [esp + 0x14]
sub ebp, eax
sub ebp, 1
sub edi, ebp
sub edi, ebp
add edi, 1
sub edi, 1
mov eax, dword [esp + 0x14]
sub eax, ebx
sub eax, 1
mov ebx, edi
add ebx, 0xffffffff
and edi, 0xffffffff
sub ebx, edi
sub ebx, edi
or eax, ebx
xor eax, 0xffffffff
add eax, 1
sub eax, 1
mov edi, edx
or edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
mov edx, eax
add edx, 0xffffffff
and eax, 0xffffffff
sub edx, eax
sub edx, eax
mov eax, edi
add eax, 0xffffffff
and edi, 0xffffffff
sub eax, edi
sub eax, edi
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
or eax, edi
mov edx, dword [esp + 0x14]
sub edx, eax
sub edx, 1
mov eax, edx
add eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
sub eax, edx
mov edx, esi
add edx, 0xffffffff
xor esi, 0xffffffff
mov edi, dword [esp + 4]
add edi, 0xffffffff
mov ebx, dword [esp + 4]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
or esi, edi
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
sub edx, edi
sub edx, edi
mov esi, eax
or esi, 0xffffffff
and eax, 0xffffffff
sub esi, eax
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
mov eax, edx
or eax, 0xffffffff
and edx, 0xffffffff
sub eax, edx
mov ecx, eax
mov eax, dword [esp]
shr eax, cl
mov cl, al
mov eax, dword [esp + 0x9f4]
mov byte [eax + 5], cl
mov edx, dword [esp + 4]
and edx, 0xc3374f8e
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
add esi, 1
sub esi, 1
mov edx, dword [esp + 0x14]
sub edx, 0xc3374f8e
sub edx, 1
mov edi, dword [esp + 4]
add edi, 0xffffffff
mov ebx, dword [esp + 4]
and ebx, 0xffffffff
sub edi, ebx
sub edi, ebx
and edx, edi
mov edi, edx
add edi, 0xffffffff
and edx, 0xffffffff
sub edi, edx
sub edi, edx
and esi, edi
mov edx, dword [esp + 4]
and edx, 0xc3374f86
mov edi, dword [esp + 0x14]
sub edi, edx
sub edi, 1
mov edx, dword [esp + 0x14]
sub edx, 0xc3374f86
sub edx, 1
mov ebx, dword [esp + 4]
xor ebx, 0xffffffff
and edx, ebx
xor edx, 0xffffffff
and edi, edx
mov edx, dword [esp + 0x14]
sub edx, esi
sub edx, 1
xor edi, 0xffffffff
or edx, edi
mov esi, edx
add esi, 0xffffffff
and edx, 0xffffffff
sub esi, edx
sub esi, edx
mov edx, esi
xor edx, 0xffffffff
mov edi, dword [esp + 0x14]
sub edi, 0xffffffff
sub edi, 1
and edx, 0xffffffff
and esi, edi
or edx, esi
mov esi, dword [esp + 4]
add esi, 0xc3374f8e
mov edi, dword [esp + 0x14]
sub edi, 0xc3374f8e
sub edi, 1
mov ebx, dword [esp + 4]
add ebx, 0xffffffff
mov ebp, dword [esp + 4]
add ebp, 0xffffffff
mov eax, dword [esp + 4]
and eax, 0xffffffff
sub ebp, eax
sub ebp, eax
mov eax, dword [esp + 4]
add eax, 0xffffffff
mov ecx, dword [esp + 4]
and ecx, 0xffffffff
sub eax, ecx
sub eax, ecx
or ebp, eax
mov eax, ebp
add eax, 0xffffffff
and ebp, 0xffffffff
sub eax, ebp
sub eax, ebp
sub ebx, eax
sub ebx, eax
xor edi, 0xffffffff
xor ebx, 0xffffffff
and edi, ebx
xor edi, 0xffffffff
mov eax, edi
add eax, 0xffffffff
xor edi, 0xffffffff
mov ecx, dword [esp + 0x14]
sub ecx, 0xffffffff
sub ecx, 1
or edi, ecx
mov ecx, dword [esp + 0x14]
sub ecx, edi
sub ecx, 1
sub eax, ecx
sub eax, ecx
sub esi, eax
sub esi, eax
mov eax, dword [esp + 4]
add eax, 0xc3374f86
mov ecx, dword [esp + 0x14]
sub ecx, 0xc3374f86
sub ecx, 1
mov edi, dword [esp + 0x14]
sub edi, 0xffffffff
sub edi, 1
xor ecx, 0xffffffff
xor edi, 0xffffffff
and ecx, edi
xor ecx, 0xffffffff
mov edi, dword [esp + 0x14]
sub edi, ecx
sub edi, 1
sub eax, edi
sub eax, edi
mov ecx, esi
or ecx, 0xffffffff
mov edi, esi
add edi, 0xffffffff
and esi, 0xffffffff
sub edi, esi
sub edi, esi
mov esi, dword [esp + 0x14]
sub esi, 0xffffffff
sub esi, 1
add esi, 1
sub esi, 1
or edi, esi
and ecx, edi
mov esi, eax
or esi, 0xffffffff
and eax, 0xffffffff
mov edi, eax
add edi, 0xffffffff
and eax, 0xffffffff
sub edi, eax
sub edi, eax
and esi, edi
mov eax, dword [esp + 0x14]
sub eax, ecx
sub eax, 1
xor esi, 0xffffffff
or eax, esi
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub ecx, 1
mov eax, ecx
or eax, 0xffffffff
and ecx, 0xffffffff
mov esi, dword [esp + 0x14]
sub esi, ecx
sub esi, 1
and eax, esi
mov ecx, edx
add ecx, 0xffffffff
mov esi, dword [esp + 0x14]
sub esi, edx
sub esi, 1
mov edx, dword [esp + 4]
add edx, 0xffffffff
mov edi, dword [esp + 4]
and edi, 0xffffffff
sub edx, edi
sub edx, edi
or esi, edx
xor esi, 0xffffffff
sub ecx, esi
sub ecx, esi
mov edx, eax
add edx, 0xffffffff
mov esi, dword [esp + 0x14]
sub esi, eax
sub esi, 1
mov eax, dword [esp + 4]
xor eax, 0xffffffff
or esi, eax
mov eax, esi
add eax, 0xffffffff
and esi, 0xffffffff
sub eax, esi
sub eax, esi
sub edx, eax
sub edx, eax
add edx, 1
sub edx, 1
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, dword [esp + 0x14]
sub eax, ecx
sub eax, 1
mov ecx, dword [esp + 0x14]
sub ecx, 0xffffffff
sub ecx, 1
and eax, ecx
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub ecx, 1
and edx, ecx
mov ecx, edx
mov eax, dword [esp]
shr eax, cl
mov cl, al
mov eax, dword [esp + 0x9f4]
mov byte [eax + 6], cl
mov edx, dword [esp]
mov cl, dl
mov byte [eax + 7], cl
mov eax, dword [esp + 0x14]
add esp, 0xa18
pop esi
pop edi
pop ebx
pop ebp
ret