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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x94c
mov eax, dword [eax + 0x17dc]
mov dword [esp + 0xc8], edx
mov edx, dword [ebp + 0x1804]
mov ebx, dword [ebp + 0x618]
mov dword [esp + 0xc4], ecx
movzx ecx, byte [esp + 0x960]
mov dword [esp + 0xe0], eax
mov eax, dword [ebp + 0x179c]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x824], 0x10000
add eax, 8
mov dword [ebp + 0x17ac], eax
shl edx, 3
mov eax, edx
add eax, dword [ebp + 0x179c]
add edx, dword [ebp + 0x175c]
sar dword [esp + 0x824], cl
mov dword [ebp + 0x17bc], eax
add eax, 8
mov dword [ebp + 0x17cc], eax
mov eax, dword [ebp + 0x175c]
mov dword [ebp + 0x177c], edx
add edx, 8
mov dword [ebp + 0x178c], edx
mov edx, ebx
mov dword [esp + 0xcc], 0
add eax, 8
mov dword [ebp + 0x176c], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 1
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0xcc]
mov ecx, dword [ebp + 0x1748]
mov edi, dword [ebp + 0x9c]
mov esi, dword [ebp + eax*4 + 0x1828]
mov ebx, ecx
mov dword [esp + 0xb8], ecx
movzx ecx, byte [esp + 0x960]
lea eax, [edx + esi*4 - 4]
movsx edx, word [eax]
movsx eax, word [eax + 2]
shl ebx, cl
mov dword [esp + 0x8f0], ebx
cmp ebx, edx
mov dword [esp + 0x81c], eax
jle 0x8c602d
mov dword [esp + 0x8f0], edx
mov eax, dword [ebp + 0x20dc]
test eax, eax
je 0x8c6045
cmp dword [esp + 0xcc], 1
jle 0x8c6180
mov eax, esi
mov ecx, dword [esp + 0x24]
sub eax, edi
mov edi, dword [esp + 0xcc]
lea edx, [ecx + eax*4]
add eax, dword [edi*4 + 0xbaf510]
movsx esi, word [edx]
movsx edx, word [edx + 2]
lea eax, [ecx + eax*4]
mov ecx, dword [ebp + 0x1750]
mov dword [esp + 0x818], esi
movsx esi, word [eax]
movsx eax, word [eax + 2]
mov edi, ecx
mov dword [esp + 0xb4], ecx
movzx ecx, byte [esp + 0x960]
shl edi, cl
cmp edi, edx
mov dword [esp + 0x814], edi
jg 0x8c6b63
mov edx, dword [ebp + 0x1744]
mov dword [esp + 0xbc], edx
shl edx, cl
cmp edx, esi
jl 0x8c6b50
cmp edx, ebx
mov dword [esp + 0x810], edx
jg 0x8c6b36
cmp edi, eax
mov dword [esp + 0x80c], edi
jg 0x8c6b16
mov ebx, dword [esp + 0x8f0]
cmp dword [esp + 0x818], ebx
jge 0x8c6a94
mov esi, dword [esp + 0x810]
cmp dword [esp + 0x818], esi
jge 0x8c9833
cmp esi, ebx
mov dword [esp + 0x808], esi
jg 0x8c9c9a
lea esi, [esi]
mov ecx, dword [esp + 0x814]
cmp dword [esp + 0x81c], ecx
jle 0x8c6ae0
mov ebx, dword [esp + 0x80c]
cmp ecx, ebx
jge 0x8c9820
mov esi, dword [esp + 0x81c]
mov dword [esp + 0x804], ebx
cmp ebx, esi
jg 0x8c9ca6
lea esi, [esi]
mov ecx, dword [esp + 0x808]
mov ebx, dword [esp + 0x804]
mov dword [ebp + 0x1754], ecx
mov dword [ebp + 0x1758], ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ebx
jmp 0x8c61c2
mov ebx, dword [esp + 0x8f0]
mov esi, dword [esp + 0x81c]
mov edi, dword [ebp + 0x1750]
mov eax, dword [ebp + 0x1744]
mov dword [ebp + 0x1754], ebx
mov dword [ebp + 0x1758], esi
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0x93c], 0
mov esi, dword [ebp + 0x14d4]
mov dword [esp + 0x940], 0
mov eax, dword [ebp + 0x98]
mov edx, dword [ebp + 0x1814]
mov edi, dword [ebp + 0x1724]
mov dword [esp + 0xf4], esi
mov esi, dword [ebp + 0x1754]
mov dword [esp + 0x750], eax
mov ecx, dword [ebp + 0x1718]
imul eax, dword [ebp + 0x1818]
mov ebx, dword [ebp + 0x174c]
mov dword [esp + 0x740], esi
mov esi, dword [ebp + 0x171c]
mov dword [esp + 0xf8], edi
mov edi, dword [ebp + 0x1758]
add eax, edx
mov edx, dword [ebp + 0x1714]
mov dword [esp + 0x74c], eax
mov eax, dword [ebp + 0x1730]
mov dword [esp + 0x748], ecx
mov ecx, dword [ebp + 0x9c0]
add esi, 0x400000
mov dword [esp + 0x744], ebx
mov ebx, dword [ebp + 0x9c4]
mov dword [esp + 0x73c], edi
mov dword [esp + 0x158], eax
and eax, 1
mov dword [esp + 0x734], eax
add eax, 1
test esi, esi
mov dword [esp + 0x738], edx
mov dword [esp + 0x730], eax
mov dword [esp + 0x3a0], ecx
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0xc0], esi
mov dword [ebp + 0x171c], esi
je 0x8c6a60
mov ecx, dword [ebp + 0x20dc]
test ecx, ecx
je 0x8c6680
mov ebx, dword [esp + 0x8f0]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x7fc], ebx
jg 0x8d2a78
cmp dword [esp + 0xb8], ebx
jl 0x8d2b20
mov ebx, dword [esp + 0x81c]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x800], ebx
jg 0x8d2acc
cmp dword [esp + 0xb4], ebx
jl 0x8d2b3c
mov edx, dword [esp + 0x7fc]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7f8], eax
add eax, dword [esp + 0x738]
mov dword [esp + 0x7f4], eax
mov eax, ebx
mov ecx, dword [esp + 0x7f4]
shl eax, 0xb
add eax, dword [esp + 0xc0]
add eax, edx
cmp dword [ecx], eax
mov dword [esp + 0x7f0], eax
je 0x8c6b77
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
shl edx, cl
shl edi, cl
shl eax, 4
test byte [esp + 0x158], 4
mov dword [esp + 0x6d8], edx
lea ecx, [ebp + eax + 0x1750]
lea edx, [ebp + eax + 0x1790]
mov dword [esp + 0x6f4], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x6f8], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x6dc], edi
mov dword [esp + 0x6fc], ebx
mov dword [esp + 0x700], esi
je 0x8c9846
mov edi, dword [esp + 0x7fc]
cmp edi, dword [ebp + 0x1744]
jl 0x8d211b
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x6d8], eax
jg 0x8d211b
mov ebx, dword [esp + 0x800]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d211b
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x6dc], eax
jg 0x8d211b
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x704], ebx
mov dword [esp + 0x708], eax
je 0x8cd400
mov eax, dword [esp + 0x6d8]
mov ebx, dword [esp + 0x6d8]
mov esi, dword [esp + 0x6dc]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8c9a94
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x71c], edi
mov edi, dword [esp + 0x6dc]
test edi, edi
je 0x8c9ac6
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x720], edx
mov edx, dword [esp + 0x708]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0x708]
mov edi, dword [esp + 0x71c]
and edx, esi
shl edx, cl
and eax, ebx
add eax, edx
mov dword [esp + 0x724], eax
mov eax, dword [esp + 0x720]
and eax, dword [esp + 0x708]
and dword [esp + 0x708], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x708]
test ecx, ecx
mov dword [esp + 0x728], eax
jne 0x8cf61c
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x6e8], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d30b4
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3098
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x6ec], esi
jg 0x8d307c
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3060
mov edi, dword [esp + 0x71c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3044
mov ebx, dword [esp + 0x720]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3028
cmp dword [esp + 0x6ec], ecx
jl 0x8d315c
cmp esi, edx
jl 0x8d3140
mov ecx, dword [esp + 0x6f4]
mov esi, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x6e8], esi
add eax, dword [esp + 0x6e8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x724]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x6f4]
mov esi, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x728]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x6f4]
mov edx, dword [esp + 0x700]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x754], eax
jmp 0x8c98a0
mov ebx, dword [esp + 0xc8]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x8fc], ebx
jg 0x8d2a94
cmp dword [esp + 0xb8], ebx
jl 0x8d2ae8
mov ebx, dword [esp + 0xc4]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x900], ebx
jg 0x8d2ab0
cmp dword [esp + 0xb4], ebx
jl 0x8d2b04
mov edx, dword [esp + 0x8fc]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7cc], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x7c8], eax
mov ecx, dword [esp + 0x7c8]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7c4], edx
cmp dword [ecx], edx
je 0x8c8180
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x5e4], ebx
mov ebx, dword [esp + 0x8fc]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x5e8], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x5c8], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x5cc], edi
mov dword [esp + 0x5ec], ebx
mov dword [esp + 0x5f0], esi
je 0x8c9945
mov edi, dword [esp + 0x8fc]
cmp edi, dword [ebp + 0x1744]
jl 0x8d2137
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x5c8], eax
jg 0x8d2137
mov ebx, dword [esp + 0x900]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d2137
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x5cc], eax
jg 0x8d2137
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x5f4], ebx
mov dword [esp + 0x5f8], eax
je 0x8cd70c
mov eax, dword [esp + 0x5c8]
mov ebx, dword [esp + 0x5c8]
mov esi, dword [esp + 0x5cc]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8c9aee
mov edx, ecx
mov edi, dword [esp + 0x5cc]
sub edx, dword [esp + 0x5f4]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5f4]
test edi, edi
mov dword [esp + 0x60c], eax
je 0x8c9b0c
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x610], edx
mov eax, dword [esp + 0x5f8]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x5f8]
mov edi, dword [esp + 0x60c]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x614], eax
mov eax, dword [esp + 0x610]
and eax, dword [esp + 0x5f8]
and dword [esp + 0x5f8], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x5f8]
test ecx, ecx
mov dword [esp + 0x618], eax
jne 0x8cf883
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x5d8], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d300c
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d2ff0
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x5dc], esi
jg 0x8d2fd4
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d2fb8
mov edi, dword [esp + 0x60c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d2f9c
mov ebx, dword [esp + 0x610]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d2f80
cmp dword [esp + 0x5dc], ecx
jl 0x8d3124
cmp esi, edx
jl 0x8d3108
mov ecx, dword [esp + 0x5e4]
mov esi, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x5d8], esi
add eax, dword [esp + 0x5d8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x614]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x5e4]
mov esi, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x618]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x5e4]
mov edx, dword [esp + 0x5f0]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x91c], eax
jmp 0x8c9998
mov dword [ebp + 0x171c], 0x400000
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.msvcrt.dll_memset
mov edi, dword [ebp + 0x171c]
mov dword [esp + 0xc0], edi
jmp 0x8c62b2
mov edi, dword [esp + 0x810]
cmp dword [esp + 0x818], edi
jle 0x8c9833
mov eax, dword [esp + 0x8f0]
mov dword [esp + 0x808], edi
cmp edi, eax
jge 0x8c6110
mov ecx, dword [esp + 0x814]
cmp dword [esp + 0x81c], ecx
mov dword [esp + 0x808], eax
jg 0x8c6124
lea esi, [esi]
mov edi, dword [esp + 0x80c]
cmp dword [esp + 0x814], edi
jle 0x8c9820
mov eax, dword [esp + 0x81c]
mov dword [esp + 0x804], edi
cmp edi, eax
jge 0x8c6150
mov dword [esp + 0x804], eax
jmp 0x8c6150
mov ebx, dword [esp + 0x8f0]
cmp dword [esp + 0x818], ebx
mov dword [esp + 0x80c], eax
jge 0x8c6a94
jmp 0x8c60e7
cmp edi, eax
mov dword [esp + 0x810], ebx
mov dword [esp + 0x80c], edi
jle 0x8c60d3
jmp 0x8c6b16
mov edx, esi
cmp edx, ebx
mov dword [esp + 0x810], edx
jle 0x8c60c4
jmp 0x8c6b36
movzx ecx, byte [esp + 0x960]
mov dword [esp + 0x814], edx
jmp 0x8c609e
mov dword [esp + 0xf0], 0xf4240
mov eax, dword [esp + 0x74c]
mov ecx, dword [esp + 0xb8]
shl eax, 2
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0xf4]
add eax, dword [esp + 0x820]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x6d0], eax
jle 0x8c6bd1
mov dword [esp + 0x6d0], ecx
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x6d0], ebx
jge 0x8c6be8
mov dword [esp + 0x6d0], ebx
mov esi, dword [esp + 0x6d0]
cmp dword [esp + 0xbc], esi
jg 0x8d2b74
cmp dword [esp + 0xb8], esi
jl 0x8d2bac
movsx eax, dx
mov edx, dword [esp + 0xb4]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x6d4], eax
jle 0x8c6c35
mov dword [esp + 0x6d4], edx
mov ecx, dword [esp + 0x744]
cmp dword [esp + 0x6d4], ecx
jge 0x8c6c4c
mov dword [esp + 0x6d4], ecx
mov ebx, dword [esp + 0x6d4]
cmp dword [esp + 0x744], ebx
jg 0x8d2bc8
cmp dword [esp + 0xb4], ebx
jl 0x8d2c38
mov edx, dword [esp + 0x6d0]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7ec], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x7e8], eax
mov ecx, dword [esp + 0x7e8]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7e4], edx
cmp dword [ecx], edx
je 0x8c707d
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x694], ebx
mov ebx, dword [esp + 0x6d0]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x698], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x678], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x67c], edi
mov dword [esp + 0x69c], ebx
mov dword [esp + 0x6a0], esi
je 0x8cc000
mov edi, dword [esp + 0x6d0]
cmp edi, dword [ebp + 0x1744]
jl 0x8d216f
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x678], eax
jg 0x8d216f
mov ebx, dword [esp + 0x6d4]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d216f
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x67c], eax
jg 0x8d216f
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x6a4], ebx
mov dword [esp + 0x6a8], eax
je 0x8cdc8d
mov eax, dword [esp + 0x678]
mov ebx, dword [esp + 0x678]
mov esi, dword [esp + 0x67c]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8c9bc8
mov edx, ecx
mov edi, dword [esp + 0x67c]
sub edx, dword [esp + 0x6a4]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6a4]
test edi, edi
mov dword [esp + 0x6bc], eax
je 0x8c9be6
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x6c0], edx
mov eax, dword [esp + 0x6a8]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x6a8]
mov edi, dword [esp + 0x6bc]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x6c4], eax
mov eax, dword [esp + 0x6c0]
and eax, dword [esp + 0x6a8]
and dword [esp + 0x6a8], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x6a8]
test ecx, ecx
mov dword [esp + 0x6c8], eax
jne 0x8cfd61
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x688], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d3194
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3178
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x68c], esi
jg 0x8d3274
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3258
mov edi, dword [esp + 0x6bc]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d323c
mov ebx, dword [esp + 0x6c0]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3220
cmp dword [esp + 0x68c], ecx
jl 0x8d32e4
cmp esi, edx
jl 0x8d32c8
mov ecx, dword [esp + 0x694]
mov esi, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x688], esi
add eax, dword [esp + 0x688]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6c4]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x694]
mov esi, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x6c8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x694]
mov edx, dword [esp + 0x6a0]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x914], eax
mov eax, dword [esp + 0x7e4]
mov edi, dword [esp + 0x7e8]
mov ebx, dword [esp + 0x914]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x7ec]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x67c], esi
mov dword [edi], eax
mov edi, dword [esp + 0x67c]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x678], ecx
mov ebx, dword [esp + 0x678]
mov ecx, dword [esp + 0x914]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c707d
mov esi, dword [esp + 0x6d0]
mov edi, dword [esp + 0x6d4]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov ebx, dword [esp + 0xc8]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x7dc], ebx
jg 0x8d2ce0
cmp dword [esp + 0xb8], ebx
jl 0x8d2ca8
mov ebx, dword [esp + 0xc4]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x7e0], ebx
jg 0x8d2cc4
cmp dword [esp + 0xb4], ebx
jl 0x8d2d18
mov edx, dword [esp + 0x7dc]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7d8], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x7d4], eax
mov ecx, dword [esp + 0x7d4]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7d0], edx
cmp dword [ecx], edx
je 0x8c74f1
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x63c], ebx
mov ebx, dword [esp + 0x7dc]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x640], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x620], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x624], edi
mov dword [esp + 0x644], ebx
mov dword [esp + 0x648], esi
je 0x8cc8b7
mov edi, dword [esp + 0x7dc]
cmp edi, dword [ebp + 0x1744]
jl 0x8d242a
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x620], eax
jg 0x8d242a
mov ebx, dword [esp + 0x7e0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d242a
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x624], eax
jg 0x8d242a
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x64c], ebx
mov dword [esp + 0x650], eax
je 0x8ce953
mov eax, dword [esp + 0x620]
mov ebx, dword [esp + 0x620]
mov esi, dword [esp + 0x624]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8c9c54
mov edx, ecx
mov edi, dword [esp + 0x624]
sub edx, dword [esp + 0x64c]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x64c]
test edi, edi
mov dword [esp + 0x664], eax
je 0x8c9c72
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x668], edx
mov eax, dword [esp + 0x650]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x650]
mov edi, dword [esp + 0x664]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x66c], eax
mov eax, dword [esp + 0x668]
and eax, dword [esp + 0x650]
and dword [esp + 0x650], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x650]
test ecx, ecx
mov dword [esp + 0x670], eax
jne 0x8d049a
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x630], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d33a8
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d338c
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x634], esi
jg 0x8d377c
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3760
mov edi, dword [esp + 0x664]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3744
mov ebx, dword [esp + 0x668]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3728
cmp dword [esp + 0x634], ecx
jl 0x8d370c
cmp esi, edx
jl 0x8d36f0
mov ecx, dword [esp + 0x63c]
mov esi, dword [esp + 0x644]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x630], esi
add eax, dword [esp + 0x630]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x66c]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x63c]
mov esi, dword [esp + 0x644]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x670]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x63c]
mov edx, dword [esp + 0x648]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x918], eax
mov eax, dword [esp + 0x7d0]
mov edi, dword [esp + 0x7d4]
mov ebx, dword [esp + 0x918]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x7d8]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x624], esi
mov dword [edi], eax
mov edi, dword [esp + 0x624]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x620], ecx
mov ebx, dword [esp + 0x620]
mov ecx, dword [esp + 0x918]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c74f1
mov esi, dword [esp + 0x7dc]
mov edi, dword [esp + 0x7e0]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
cmp dword [esp + 0xf0], 0x100
jle 0x8c7ef0
mov edx, dword [esp + 0x820]
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xb8]
lea eax, [edx + ecx + 4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, ebx
mov dword [esp + 0x400], eax
jle 0x8c7544
mov dword [esp + 0x400], ebx
mov esi, dword [esp + 0xbc]
cmp dword [esp + 0x400], esi
jge 0x8c755b
mov dword [esp + 0x400], esi
mov edi, dword [esp + 0x400]
cmp dword [esp + 0xbc], edi
jg 0x8d2e14
cmp dword [esp + 0xb8], edi
jl 0x8d2e30
movsx eax, dx
mov edx, dword [esp + 0xb4]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x404], eax
jle 0x8c75a8
mov dword [esp + 0x404], edx
mov ecx, dword [esp + 0x744]
cmp dword [esp + 0x404], ecx
jge 0x8c75bf
mov dword [esp + 0x404], ecx
mov ebx, dword [esp + 0x404]
cmp dword [esp + 0x744], ebx
jg 0x8d2e4c
cmp dword [esp + 0xb4], ebx
jl 0x8d2e84
mov edx, dword [esp + 0x400]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x76c], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x768], eax
mov ecx, dword [esp + 0x768]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x764], edx
cmp dword [ecx], edx
je 0x8c79dc
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x3c4], ebx
mov ebx, dword [esp + 0x400]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x3c8], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x3a8], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x3ac], edi
mov dword [esp + 0x3cc], ebx
mov dword [esp + 0x3d0], esi
je 0x8cd1da
mov edi, dword [esp + 0x400]
cmp edi, dword [ebp + 0x1744]
jl 0x8d27d9
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x3a8], eax
jg 0x8d27d9
mov ebx, dword [esp + 0x404]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d27d9
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x3ac], eax
jg 0x8d27d9
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x3d4], ebx
mov dword [esp + 0x3d8], eax
je 0x8ca05a
mov eax, dword [esp + 0x3a8]
mov ebx, dword [esp + 0x3a8]
mov esi, dword [esp + 0x3ac]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8cf294
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x3ec], edi
mov edi, dword [esp + 0x3ac]
test edi, edi
je 0x8cf26c
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x3f0], edx
mov eax, dword [esp + 0x3d8]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x3d8]
mov edi, dword [esp + 0x3ec]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x3f0]
and eax, dword [esp + 0x3d8]
and dword [esp + 0x3d8], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x3d8]
test ecx, ecx
mov dword [esp + 0x3f8], eax
jne 0x8d1308
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x3b8], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d3b6c
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3b50
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x3bc], esi
jg 0x8d3b34
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3b18
mov edi, dword [esp + 0x3ec]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3afc
mov ebx, dword [esp + 0x3f0]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3ae0
cmp dword [esp + 0x3bc], ecx
jl 0x8d3ac4
cmp esi, edx
jl 0x8d3958
mov ecx, dword [esp + 0x3c4]
mov esi, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x3b8], esi
add eax, dword [esp + 0x3b8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x3f4]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x3c4]
mov esi, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x3f8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x3c4]
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x934], eax
mov eax, dword [esp + 0x764]
mov edi, dword [esp + 0x768]
mov ebx, dword [esp + 0x934]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x76c]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x3ac], esi
mov dword [edi], eax
mov edi, dword [esp + 0x3ac]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x3a8], ecx
mov ebx, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x934]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c79dc
mov esi, dword [esp + 0x400]
mov edi, dword [esp + 0x404]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov edi, dword [ebp + 0x1818]
lea eax, [edi + 1]
cmp eax, dword [ebp + 0xc8]
jge 0x8c7ef0
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x74c]
add eax, dword [esp + 0x750]
mov ecx, dword [esp + 0xb8]
lea eax, [edx + eax*4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x398], eax
jg 0x8c9b34
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x398], ebx
jl 0x8c9b4f
lea esi, [esi]
mov esi, dword [esp + 0x398]
cmp dword [esp + 0xbc], esi
jg 0x8d2f10
cmp dword [esp + 0xb8], esi
jl 0x8d2f48
movsx eax, dx
mov edx, dword [esp + 0xb4]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x39c], eax
jg 0x8c9b5b
mov ecx, dword [esp + 0x744]
cmp dword [esp + 0x39c], ecx
jl 0x8c9b76
nop
mov ebx, dword [esp + 0x39c]
cmp dword [esp + 0x744], ebx
jg 0x8d2f2c
cmp dword [esp + 0xb4], ebx
jl 0x8d2f64
mov ecx, dword [esp + 0x398]
lea eax, [ecx + ebx*8]
mov edx, ecx
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x760], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x75c], eax
mov eax, dword [esp + 0x39c]
mov ebx, dword [esp + 0x75c]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x758], edx
je 0x8c7ef0
mov ebx, ecx
movzx ecx, byte [esp + 0x730]
mov eax, dword [ebp + 0x17e0]
mov esi, dword [ebp + 0x17dc]
shl ebx, cl
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x33c], ebx
mov ebx, dword [esp + 0x39c]
mov dword [esp + 0x35c], esi
shl eax, 4
shl ebx, cl
test byte [esp + 0x158], 4
lea edx, [ebp + eax + 0x1790]
lea ecx, [ebp + eax + 0x1750]
lea esi, [edx + 0xc]
lea eax, [ecx + 0xc]
mov dword [esp + 0x340], ebx
mov dword [esp + 0x364], esi
mov dword [esp + 0x368], eax
je 0x8d156f
mov ecx, dword [esp + 0x398]
cmp ecx, dword [ebp + 0x1744]
jl 0x8d2b58
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x33c], eax
jg 0x8d2b58
mov ebx, dword [esp + 0x39c]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d2b58
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x340], eax
jg 0x8d2b58
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x36c], ebx
mov dword [esp + 0x370], eax
je 0x8d1dfe
mov eax, dword [esp + 0x33c]
mov ebx, dword [esp + 0x33c]
mov esi, dword [esp + 0x340]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8d1965
mov edx, ecx
sub edx, dword [esp + 0x36c]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x36c]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x340]
test eax, eax
je 0x8d1c50
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x388], edx
mov eax, dword [esp + 0x370]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x370]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov edx, dword [esp + 0x384]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x388]
and eax, dword [esp + 0x370]
and dword [esp + 0x370], edx
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x370]
test ecx, ecx
mov dword [esp + 0x390], eax
jne 0x8d218b
mov edx, dword [ebp + 0x1814]
sar ebx, 1
mov dword [esp + 0x34c], ebx
shl edx, 4
add ebx, edx
cmp ebx, 0xfffffff0
jl 0x8d3c14
mov eax, edi
sar esi, 1
shl eax, 4
lea ecx, [esi + eax]
cmp ecx, 0xfffffff0
jl 0x8d3bf8
mov edi, dword [ebp + 4]
cmp ebx, edi
mov dword [esp + 0x350], edi
jg 0x8d3c84
mov ebx, dword [ebp + 8]
cmp ecx, ebx
mov dword [esp + 0x354], ebx
jg 0x8d3c68
mov edi, dword [esp + 0x384]
sar edi, 1
lea edx, [edi + edx]
cmp edx, 0xfffffff0
jl 0x8d3c4c
mov ebx, dword [esp + 0x388]
sar ebx, 1
lea eax, [ebx + eax]
cmp eax, 0xfffffff0
jl 0x8d3c30
cmp dword [esp + 0x350], edx
jl 0x8d3bdc
cmp dword [esp + 0x354], eax
jl 0x8d3bc0
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x364]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
imul esi, eax
mov ecx, dword [ecx]
add dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x34c]
add eax, esi
mov esi, dword [esp + 0x38c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4]
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x364]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, eax
mov dword [esp + 8], eax
add edi, dword [ecx + 0x20]
lea eax, [edi + ebx]
mov ebx, dword [esp + 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + ebx*4]
mov esi, dword [esp + 0x35c]
mov edi, dword [esp + 0x368]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], esi
mov eax, dword [edi]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x938], eax
mov eax, dword [esp + 0x758]
mov edi, dword [esp + 0x75c]
mov ebx, dword [esp + 0x938]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x760]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x340], esi
mov dword [edi], eax
mov edi, dword [esp + 0x340]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x33c], ecx
mov ebx, dword [esp + 0x33c]
mov ecx, dword [esp + 0x938]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c7ef0
mov esi, dword [esp + 0x398]
mov edi, dword [esp + 0x39c]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
nop
mov eax, dword [ebp + 0x1740]
cmp eax, 0xffffffff
je 0x8cc186
jl 0x8ce8fc
cmp eax, 1
jle 0x8ca79a
cmp eax, 0x300
jg 0x8ca6e0
cmp eax, 0x200
nop
jg 0x8cce6e
cmp eax, 0x100
nop
lea esi, [esi]
jg 0x8c9a3d
mov edi, dword [esp + 0xcc]
lea edx, [esp + 0x93c]
mov eax, ebp
mov ebx, dword [esp + 0x158]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.00883f30
mov dword [esp + 0xf0], eax
mov edx, eax
mov eax, dword [esp + 0x93c]
lea ecx, [esp + 0x944]
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], 8
mov dword [esp + 0x18], 1
mov dword [esp + 0x948], eax
mov eax, dword [esp + 0x940]
mov dword [esp + 8], ecx
mov dword [esp], ebp
mov dword [esp + 0x944], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x948]
mov dword [esp + 4], eax
call dword [ebp + 0x1808]
mov edx, eax
mov eax, dword [ebp + 0x9d0]
cmp eax, dword [ebp + 0x9e4]
je 0x8ca780
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xcc]
mov edi, dword [ebp + 0x1ffc]
sar eax, 1
imul eax, dword [esp + 0xe0]
and edx, 1
add eax, edx
lea esi, [eax*8]
add esi, dword [ebp + 0x16fc]
test edi, edi
je 0x8ca420
mov ebx, dword [esp + 0x948]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x944]
mov edx, ebx
and ebx, 3
shl eax, 4
sar edx, 2
add edx, dword [eax + ebp + 0x179c]
mov eax, ecx
sar eax, 2
and ecx, 3
imul eax, dword [esp + 0xe0]
add edx, eax
lea eax, [ecx*4]
or eax, ebx
mov ebx, dword [ebp + 0x180c]
test ebx, ebx
je 0x8ca760
mov ebx, dword [esp + 0xe0]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], ebx
call dword [ebp + eax*4 + 0xcc4]
nop
lea esi, [esi]
mov esi, dword [esp + 0x944]
mov ebx, dword [esp + 0x948]
mov edi, dword [esp + 0xe4]
mov eax, esi
mov edx, ebx
sub eax, dword [esp + 0xec]
sub edx, dword [esp + 0xe8]
movzx eax, byte [eax + edi]
movzx edx, byte [edx + edi]
add eax, edx
imul eax, dword [ebp + 0x172c]
add dword [esp + 0xd0], eax
mov eax, dword [ebp + 0x1ffc]
test eax, eax
je 0x8ca400
mov eax, ebx
shr eax, 0x1f
add eax, ebx
sar eax, 1
add dword [esp + 0xd4], eax
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
add dword [esp + 0xd8], eax
mov edx, dword [esp + 0xcc]
mov ecx, dword [ebp + 0x618]
mov eax, dword [ebp + edx*4 + 0x1828]
mov dword [esp + 0x24], ecx
mov word [ecx + eax*4], bx
mov ebx, dword [esp + 0xc8]
cmp dword [esp + 0x948], ebx
mov word [ecx + eax*4 + 2], si
je 0x8ca490
mov dword [esp + 0xdc], 0
add dword [esp + 0xcc], 1
cmp dword [esp + 0xcc], 4
je 0x8ca4b0
mov esi, dword [ebp + 0x1804]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb0], esi
jmp 0x8c5fdc
mov dword [esp + 0xf0], 0xf4240
mov ebx, dword [esp + 0x808]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x7bc], ebx
jg 0x8d2b90
cmp dword [esp + 0xb8], ebx
jl 0x8d2c00
mov ebx, dword [esp + 0x804]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x7c0], ebx
jg 0x8d2be4
cmp dword [esp + 0xb4], ebx
jl 0x8d2c1c
mov edx, dword [esp + 0x7bc]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7b8], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x7b4], eax
mov ecx, dword [esp + 0x7b4]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x7b0], edx
cmp dword [ecx], edx
je 0x8c85ff
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x58c], ebx
mov ebx, dword [esp + 0x7bc]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x590], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x570], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x574], edi
mov dword [esp + 0x594], ebx
mov dword [esp + 0x598], esi
je 0x8cbe7a
mov edi, dword [esp + 0x7bc]
cmp edi, dword [ebp + 0x1744]
jl 0x8d2153
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x570], eax
jg 0x8d2153
mov ebx, dword [esp + 0x7c0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d2153
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x574], eax
jg 0x8d2153
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x59c], ebx
mov dword [esp + 0x5a0], eax
je 0x8cdf8d
mov eax, dword [esp + 0x570]
mov ebx, dword [esp + 0x570]
mov esi, dword [esp + 0x574]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8c9b82
mov edx, ecx
mov edi, dword [esp + 0x574]
sub edx, dword [esp + 0x59c]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x59c]
test edi, edi
mov dword [esp + 0x5b4], eax
je 0x8c9ba0
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x5b8], edx
mov eax, dword [esp + 0x5a0]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x5a0]
mov edi, dword [esp + 0x5b4]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x5b8]
and eax, dword [esp + 0x5a0]
and dword [esp + 0x5a0], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x5a0]
test ecx, ecx
mov dword [esp + 0x5c0], eax
jne 0x8cfafa
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x580], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d30ec
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d30d0
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x584], esi
jg 0x8d3204
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d31e8
mov edi, dword [esp + 0x5b4]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d31cc
mov ebx, dword [esp + 0x5b8]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d31b0
cmp dword [esp + 0x584], ecx
jl 0x8d3370
cmp esi, edx
jl 0x8d3354
mov ecx, dword [esp + 0x58c]
mov esi, dword [esp + 0x594]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x580], esi
add eax, dword [esp + 0x580]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5bc]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x58c]
mov esi, dword [esp + 0x594]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x5c0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x58c]
mov edx, dword [esp + 0x598]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x920], eax
mov eax, dword [esp + 0x7b0]
mov edi, dword [esp + 0x7b4]
mov ebx, dword [esp + 0x920]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x7b8]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x574], esi
mov dword [edi], eax
mov edi, dword [esp + 0x574]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x570], ecx
mov ebx, dword [esp + 0x570]
mov ecx, dword [esp + 0x920]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c85ff
mov esi, dword [esp + 0x7bc]
mov edi, dword [esp + 0x7c0]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov ebx, dword [esp + 0x8f0]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x8f4], ebx
jg 0x8d2c54
cmp dword [esp + 0xb8], ebx
jl 0x8d2c70
mov ebx, dword [esp + 0x81c]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x8f8], ebx
jg 0x8d2c8c
cmp dword [esp + 0xb4], ebx
jl 0x8d2cfc
mov edx, dword [esp + 0x8f4]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x7ac], eax
add eax, dword [esp + 0x738]
mov dword [esp + 0x7a8], eax
mov eax, ebx
mov ecx, dword [esp + 0x7a8]
shl eax, 0xb
add eax, dword [esp + 0xc0]
add eax, edx
cmp dword [ecx], eax
mov dword [esp + 0x7a4], eax
je 0x8c8a6c
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov ebx, dword [ebp + 0x17dc]
mov esi, dword [ebp + 0x17e0]
shl edx, cl
shl edi, cl
shl eax, 4
test byte [esp + 0x158], 4
mov dword [esp + 0x518], edx
lea ecx, [ebp + eax + 0x1750]
lea edx, [ebp + eax + 0x1790]
mov dword [esp + 0x534], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x538], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x51c], edi
mov dword [esp + 0x53c], ebx
mov dword [esp + 0x540], esi
je 0x8cc731
mov edi, dword [esp + 0x8f4]
cmp edi, dword [ebp + 0x1744]
jl 0x8d2446
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x518], eax
jg 0x8d2446
mov ebx, dword [esp + 0x8f8]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d2446
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x51c], eax
jg 0x8d2446
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x544], ebx
mov dword [esp + 0x548], eax
je 0x8cec5c
mov eax, dword [esp + 0x518]
mov ebx, dword [esp + 0x518]
mov esi, dword [esp + 0x51c]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8c9c0e
mov edx, ecx
mov edi, dword [esp + 0x51c]
sub edx, dword [esp + 0x544]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x544]
test edi, edi
mov dword [esp + 0x55c], eax
je 0x8c9c2c
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x560], edx
mov edx, dword [esp + 0x548]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0x548]
mov edi, dword [esp + 0x55c]
and edx, esi
shl edx, cl
and eax, ebx
add eax, edx
mov dword [esp + 0x564], eax
mov eax, dword [esp + 0x560]
and eax, dword [esp + 0x548]
and dword [esp + 0x548], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x548]
test ecx, ecx
mov dword [esp + 0x568], eax
jne 0x8d0701
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x528], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d32ac
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3290
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x52c], esi
jg 0x8d3450
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3434
mov edi, dword [esp + 0x55c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3418
mov ebx, dword [esp + 0x560]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d33fc
cmp dword [esp + 0x52c], ecx
jl 0x8d33e0
cmp esi, edx
jl 0x8d33c4
mov ecx, dword [esp + 0x534]
mov esi, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x528], esi
add eax, dword [esp + 0x528]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x564]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x534]
mov esi, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x568]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x534]
mov edx, dword [esp + 0x540]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x7a4]
mov edi, dword [esp + 0x7a8]
mov ebx, dword [esp + 0x924]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x7ac]
mov esi, dword [esp + 0x740]
sub dword [esp + 0x518], esi
mov dword [edi], eax
mov edi, dword [esp + 0x518]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x73c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x51c], ecx
mov ebx, dword [esp + 0x51c]
mov ecx, dword [esp + 0x924]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c8a6c
mov esi, dword [esp + 0x8f4]
mov edi, dword [esp + 0x8f8]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov ebx, dword [esp + 0x818]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x79c], ebx
jg 0x8d2d34
cmp dword [esp + 0xb8], ebx
jl 0x8d2d6c
mov ebx, dword [esp + 0x814]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x7a0], ebx
jg 0x8d2d88
cmp dword [esp + 0xb4], ebx
jl 0x8d2d50
mov edx, dword [esp + 0x79c]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x798], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x794], eax
mov ecx, dword [esp + 0x794]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x790], edx
cmp dword [ecx], edx
je 0x8c8ecc
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x4dc], ebx
mov ebx, dword [esp + 0x79c]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x4e0], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x4c0], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x4c4], edi
mov dword [esp + 0x4e4], ebx
mov dword [esp + 0x4e8], esi
je 0x8ccece
mov edi, dword [esp + 0x79c]
cmp edi, dword [ebp + 0x1744]
jl 0x8d27a1
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x4c0], eax
jg 0x8d27a1
mov ebx, dword [esp + 0x7a0]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d27a1
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x4c4], eax
jg 0x8d27a1
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x4ec], ebx
mov dword [esp + 0x4f0], eax
je 0x8c9cb2
mov eax, dword [esp + 0x4c0]
mov ebx, dword [esp + 0x4c0]
mov esi, dword [esp + 0x4c4]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8cdc65
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x504], edi
mov edi, dword [esp + 0x4c4]
test edi, edi
je 0x8cdc3d
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x508], edx
mov eax, dword [esp + 0x4f0]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x4f0]
mov edi, dword [esp + 0x504]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x50c], eax
mov eax, dword [esp + 0x508]
and eax, dword [esp + 0x4f0]
and dword [esp + 0x4f0], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x4f0]
test ecx, ecx
mov dword [esp + 0x510], eax
jne 0x8d0e3a
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x4d0], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d37d0
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d385c
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x4d4], esi
jg 0x8d3840
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d393c
mov edi, dword [esp + 0x504]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3920
mov ebx, dword [esp + 0x508]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3904
cmp dword [esp + 0x4d4], ecx
jl 0x8d38e8
cmp esi, edx
jl 0x8d38cc
mov ecx, dword [esp + 0x4dc]
mov esi, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x4d0], esi
add eax, dword [esp + 0x4d0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x50c]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x4dc]
mov esi, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x510]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x4dc]
mov edx, dword [esp + 0x4e8]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x928], eax
mov eax, dword [esp + 0x790]
mov edi, dword [esp + 0x794]
mov ebx, dword [esp + 0x928]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x798]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x4c4], esi
mov dword [edi], eax
mov edi, dword [esp + 0x4c4]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x4c0], ecx
mov ebx, dword [esp + 0x4c0]
mov ecx, dword [esp + 0x928]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c8ecc
mov esi, dword [esp + 0x79c]
mov edi, dword [esp + 0x7a0]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov ebx, dword [esp + 0x810]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0x788], ebx
jg 0x8d2dc0
cmp dword [esp + 0xb8], ebx
jl 0x8d2ddc
mov ebx, dword [esp + 0x80c]
movzx ecx, byte [esp + 0x730]
sar ebx, cl
cmp dword [esp + 0x744], ebx
mov dword [esp + 0x78c], ebx
jg 0x8d2da4
cmp dword [esp + 0xb4], ebx
jl 0x8d2e68
mov edx, dword [esp + 0x788]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x784], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x780], eax
mov ecx, dword [esp + 0x780]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x77c], edx
cmp dword [ecx], edx
je 0x8c932c
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x484], ebx
mov ebx, dword [esp + 0x788]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x488], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x468], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x46c], edi
mov dword [esp + 0x48c], ebx
mov dword [esp + 0x490], esi
je 0x8cd054
mov edi, dword [esp + 0x788]
cmp edi, dword [ebp + 0x1744]
jl 0x8d27bd
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x468], eax
jg 0x8d27bd
mov ebx, dword [esp + 0x78c]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d27bd
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x46c], eax
jg 0x8d27bd
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x494], ebx
mov dword [esp + 0x498], eax
je 0x8c9e88
mov eax, dword [esp + 0x468]
mov ebx, dword [esp + 0x468]
mov esi, dword [esp + 0x46c]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8ce5c4
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x4ac], edi
mov edi, dword [esp + 0x46c]
test edi, edi
je 0x8ce59c
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x4b0], edx
mov eax, dword [esp + 0x498]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x498]
mov edi, dword [esp + 0x4ac]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x4b4], eax
mov eax, dword [esp + 0x4b0]
and eax, dword [esp + 0x498]
and dword [esp + 0x498], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x498]
test ecx, ecx
mov dword [esp + 0x4b8], eax
jne 0x8d10a1
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x478], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d38b0
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3894
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x47c], esi
jg 0x8d3974
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3a54
mov edi, dword [esp + 0x4ac]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3a38
mov ebx, dword [esp + 0x4b0]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3a1c
cmp dword [esp + 0x47c], ecx
jl 0x8d3a00
cmp esi, edx
jl 0x8d3b88
mov ecx, dword [esp + 0x484]
mov esi, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x478], esi
add eax, dword [esp + 0x478]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4b4]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x484]
mov esi, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x4b8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x484]
mov edx, dword [esp + 0x490]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x92c], eax
mov eax, dword [esp + 0x77c]
mov edi, dword [esp + 0x780]
mov ebx, dword [esp + 0x92c]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x784]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x46c], esi
mov dword [edi], eax
mov edi, dword [esp + 0x46c]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x468], ecx
mov ebx, dword [esp + 0x468]
mov ecx, dword [esp + 0x92c]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c932c
mov esi, dword [esp + 0x788]
mov edi, dword [esp + 0x78c]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov eax, dword [esp + 0x74c]
mov ecx, dword [esp + 0xb8]
shl eax, 2
mov dword [esp + 0x820], eax
mov eax, dword [esp + 0xf4]
add eax, dword [esp + 0x820]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x460], eax
jle 0x8c937b
mov dword [esp + 0x460], ecx
mov ebx, dword [esp + 0xbc]
cmp dword [esp + 0x460], ebx
jge 0x8c9392
mov dword [esp + 0x460], ebx
mov esi, dword [esp + 0x460]
cmp dword [esp + 0xbc], esi
jg 0x8d2ebc
cmp dword [esp + 0xb8], esi
jl 0x8d2ed8
movsx eax, dx
mov edx, dword [esp + 0xb4]
imul eax, dword [esp + 0x824]
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x464], eax
jle 0x8c93df
mov dword [esp + 0x464], edx
mov ecx, dword [esp + 0x744]
cmp dword [esp + 0x464], ecx
jge 0x8c93f6
mov dword [esp + 0x464], ecx
mov ebx, dword [esp + 0x464]
cmp dword [esp + 0x744], ebx
jg 0x8d2ea0
cmp dword [esp + 0xb4], ebx
jl 0x8d2ef4
mov edx, dword [esp + 0x460]
mov edi, ebx
lea eax, [edx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x778], eax
add eax, dword [esp + 0x738]
add edx, dword [esp + 0xc0]
mov dword [esp + 0x774], eax
mov ecx, dword [esp + 0x774]
mov eax, ebx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x770], edx
cmp dword [ecx], edx
je 0x8c74f1
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x424], ebx
mov ebx, dword [esp + 0x460]
shl edi, cl
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x428], esi
lea esi, [ecx + 0xc]
mov dword [esp + 0x408], ebx
lea ebx, [edx + 0xc]
mov dword [esp + 0x40c], edi
mov dword [esp + 0x42c], ebx
mov dword [esp + 0x430], esi
je 0x8cda5d
mov edi, dword [esp + 0x460]
cmp edi, dword [ebp + 0x1744]
jl 0x8d27f5
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x408], eax
jg 0x8d27f5
mov ebx, dword [esp + 0x464]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d27f5
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x40c], eax
jg 0x8d27f5
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x434], ebx
mov dword [esp + 0x438], eax
je 0x8ca22c
mov eax, dword [esp + 0x408]
mov ebx, dword [esp + 0x408]
mov esi, dword [esp + 0x40c]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
je 0x8cf5f4
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x44c], edi
mov edi, dword [esp + 0x40c]
test edi, edi
je 0x8cf5cc
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x450], edx
mov eax, dword [esp + 0x438]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x438]
mov edi, dword [esp + 0x44c]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x450]
and eax, dword [esp + 0x438]
and dword [esp + 0x438], edi
shl eax, cl
mov ecx, dword [esp + 0x734]
add eax, dword [esp + 0x438]
test ecx, ecx
mov dword [esp + 0x458], eax
jne 0x8d19e9
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x418], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d3aa8
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3a8c
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x41c], esi
jg 0x8d39e4
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d39c8
mov edi, dword [esp + 0x44c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d39ac
mov ebx, dword [esp + 0x450]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3990
cmp dword [esp + 0x41c], ecx
jl 0x8d3a70
cmp esi, edx
jl 0x8d3ba4
mov ecx, dword [esp + 0x424]
mov esi, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x418], esi
add eax, dword [esp + 0x418]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x454]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x424]
mov esi, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x458]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x424]
mov edx, dword [esp + 0x430]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
mov dword [esp + 0x930], eax
mov eax, dword [esp + 0x770]
mov edi, dword [esp + 0x774]
mov ebx, dword [esp + 0x930]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x778]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x40c], esi
mov dword [edi], eax
mov edi, dword [esp + 0x40c]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x408], ecx
mov ebx, dword [esp + 0x408]
mov ecx, dword [esp + 0x930]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8c74f1
mov esi, dword [esp + 0x460]
mov edi, dword [esp + 0x464]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
jmp 0x8c74f1
mov edx, dword [esp + 0x814]
mov dword [esp + 0x804], edx
jmp 0x8c6150
mov edx, dword [esp + 0x818]
mov dword [esp + 0x808], edx
jmp 0x8c6110
mov ebx, dword [esp + 0x6f4]
mov eax, dword [esp + 0x7fc]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x800]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x754], eax
jne 0x8d1832
lea esi, [esi]
mov eax, dword [esp + 0x7f0]
mov edi, dword [esp + 0x7f4]
mov ebx, dword [esp + 0x754]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x7f8]
mov esi, dword [esp + 0x740]
sub dword [esp + 0x6d8], esi
mov dword [edi], eax
mov edi, dword [esp + 0x6d8]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x73c]
movzx eax, byte [edi + edx]
sub dword [esp + 0x6dc], ecx
mov ebx, dword [esp + 0x6dc]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add eax, dword [esp + 0x754]
cmp eax, 0xf423f
mov dword [esp + 0xf0], eax
jg 0x8c6b77
mov esi, dword [esp + 0x7fc]
mov edi, dword [esp + 0x800]
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
jmp 0x8c6b82
mov ebx, dword [esp + 0x5e4]
mov eax, dword [esp + 0x8fc]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x900]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x91c], eax
jne 0x8d16ff
mov eax, dword [esp + 0x7c4]
mov edi, dword [esp + 0x7c8]
mov ebx, dword [esp + 0x91c]
mov edx, dword [esp + 0x748]
mov ecx, dword [esp + 0x7cc]
mov esi, dword [esp + 0x73c]
sub dword [esp + 0x5cc], esi
mov dword [edi], eax
mov edi, dword [esp + 0x5cc]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0x740]
movzx eax, byte [edi + edx]
sub dword [esp + 0x5c8], ecx
mov ebx, dword [esp + 0x5c8]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add eax, dword [esp + 0x91c]
cmp eax, 0xf423f
mov dword [esp + 0xf0], eax
jg 0x8c8180
mov esi, dword [esp + 0x8fc]
mov edi, dword [esp + 0x900]
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
jmp 0x8c818b
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], 8
mov dword [esp + 4], ecx
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
mov eax, ebp
mov dword [esp + 8], edx
lea edx, [esp + 0x93c]
mov dword [esp + 0xc], 1
call fcn.008876f0
mov edx, eax
mov dword [esp + 0xf0], eax
jmp 0x8c7f88
mov edx, ecx
mov edi, dword [esp + 0x6dc]
sub edx, dword [esp + 0x704]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x704]
test edi, edi
mov dword [esp + 0x71c], eax
jne 0x8c64b1
sub ecx, dword [esp + 0x704]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x704]
mov dword [esp + 0x720], eax
jmp 0x8c64c0
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x60c], edi
mov edi, dword [esp + 0x5cc]
test edi, edi
jne 0x8c688c
sub ecx, dword [esp + 0x5f4]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x5f4]
mov dword [esp + 0x610], eax
jmp 0x8c689b
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x398], ecx
cmp dword [esp + 0x398], ebx
jge 0x8c7a50
mov dword [esp + 0x398], ebx
jmp 0x8c7a50
mov ecx, dword [esp + 0x744]
mov dword [esp + 0x39c], edx
cmp dword [esp + 0x39c], ecx
jge 0x8c7ab0
mov dword [esp + 0x39c], ecx
jmp 0x8c7ab0
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x5b4], edi
mov edi, dword [esp + 0x574]
test edi, edi
jne 0x8c8397
sub ecx, dword [esp + 0x59c]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x59c]
mov dword [esp + 0x5b8], eax
jmp 0x8c83a6
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x6bc], edi
mov edi, dword [esp + 0x67c]
test edi, edi
jne 0x8c6e15
sub ecx, dword [esp + 0x6a4]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x6a4]
mov dword [esp + 0x6c0], eax
jmp 0x8c6e24
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x55c], edi
mov edi, dword [esp + 0x51c]
test edi, edi
jne 0x8c8804
sub ecx, dword [esp + 0x544]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x544]
mov dword [esp + 0x560], eax
jmp 0x8c8813
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x664], edi
mov edi, dword [esp + 0x624]
test edi, edi
jne 0x8c7289
sub ecx, dword [esp + 0x64c]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x64c]
mov dword [esp + 0x668], eax
jmp 0x8c7298
mov dword [esp + 0x808], ebx
jmp 0x8c6110
mov dword [esp + 0x804], esi
jmp 0x8c6150
mov esi, dword [esp + 0x4dc]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x87c], edx
mov dword [esp + 0x4f4], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x878], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ecx
lea esi, [esi]
mov eax, dword [esp + 0x4f4]
mov edx, dword [esp + 0x4c0]
mov esi, dword [esp + 0x4c0]
mov edi, dword [esp + 0x4c4]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cbe19
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8b8], eax
mov dword [esp + 0x4f8], edx
mov eax, dword [esp + 0x4c4]
test eax, eax
je 0x8cbdd4
mov edx, dword [esp + 0x4f4]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x4fc], ecx
mov eax, dword [esp + 0x4f0]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x4f0]
imul ebx, dword [esp + 0x878]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x4f8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4fc]
and eax, dword [esp + 0x4f0]
and edx, dword [esp + 0x4f0]
shl eax, cl
add eax, edx
mov dword [esp + 0x500], eax
mov eax, dword [esp + 0x8b8]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cbd38
mov ecx, dword [esp + 0x4dc]
sar edi, 2
mov eax, dword [esp + 0x4e4]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x4dc]
sar dword [esp + 0x4fc], 2
mov eax, dword [esp + 0x4fc]
mov edi, dword [esp + 0x87c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x4f8], 2
imul eax, esi
mov ecx, dword [esp + 0x500]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x4f8], edi
mov dword [esp + 0x4fc], eax
mov eax, dword [esp + 0x4f8]
add eax, dword [esp + 0x4fc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x4f4], 1
cmp dword [esp + 0x4f4], 4
jne 0x8c9cf0
jmp 0x8c8df1
mov esi, dword [esp + 0x484]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x874], edx
mov dword [esp + 0x49c], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x870], esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x49c]
mov edx, dword [esp + 0x468]
mov esi, dword [esp + 0x468]
mov edi, dword [esp + 0x46c]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cc2be
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8bc], eax
mov dword [esp + 0x4a0], edx
mov eax, dword [esp + 0x46c]
test eax, eax
je 0x8cc279
mov edx, dword [esp + 0x49c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x4a4], ecx
mov eax, dword [esp + 0x498]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x498]
imul ebx, dword [esp + 0x870]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x4a0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4a4]
and eax, dword [esp + 0x498]
and edx, dword [esp + 0x498]
shl eax, cl
add eax, edx
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x8bc]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cc1dd
mov ecx, dword [esp + 0x484]
sar edi, 2
mov eax, dword [esp + 0x48c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x484]
sar dword [esp + 0x4a4], 2
mov eax, dword [esp + 0x4a4]
mov edi, dword [esp + 0x874]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x4a0], 2
imul eax, esi
mov ecx, dword [esp + 0x4a8]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x4a0], edi
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 0x4a0]
add eax, dword [esp + 0x4a4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x49c], 1
cmp dword [esp + 0x49c], 4
jne 0x8c9ec2
jmp 0x8c9251
mov esi, dword [esp + 0x3c4]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x864], edx
mov dword [esp + 0x3dc], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x860], esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x3dc]
mov edx, dword [esp + 0x3a8]
mov esi, dword [esp + 0x3a8]
mov edi, dword [esp + 0x3ac]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cc6ef
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8c4], eax
mov dword [esp + 0x3e0], edx
mov eax, dword [esp + 0x3ac]
test eax, eax
je 0x8cc6aa
mov edx, dword [esp + 0x3dc]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x3e4], ecx
mov eax, dword [esp + 0x3d8]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x3d8]
imul ebx, dword [esp + 0x860]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3e4]
and eax, dword [esp + 0x3d8]
and edx, dword [esp + 0x3d8]
shl eax, cl
add eax, edx
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x8c4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cc60e
mov ecx, dword [esp + 0x3c4]
sar edi, 2
mov eax, dword [esp + 0x3cc]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x3c4]
sar dword [esp + 0x3e4], 2
mov eax, dword [esp + 0x3e4]
mov edi, dword [esp + 0x864]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x3e0], 2
imul eax, esi
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x3e0], edi
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3e0]
add eax, dword [esp + 0x3e4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x3dc], 1
cmp dword [esp + 0x3dc], 4
jne 0x8ca094
jmp 0x8c7901
mov esi, dword [esp + 0x424]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x86c], edx
mov dword [esp + 0x43c], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x868], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x43c]
mov edx, dword [esp + 0x408]
mov esi, dword [esp + 0x408]
mov edi, dword [esp + 0x40c]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cce2c
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8c0], eax
mov dword [esp + 0x440], edx
mov eax, dword [esp + 0x40c]
test eax, eax
je 0x8ccde7
mov edx, dword [esp + 0x43c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x444], ecx
mov eax, dword [esp + 0x438]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x438]
imul ebx, dword [esp + 0x868]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x440]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x444]
and eax, dword [esp + 0x438]
and edx, dword [esp + 0x438]
shl eax, cl
add eax, edx
mov dword [esp + 0x448], eax
mov eax, dword [esp + 0x8c0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8ccd4b
mov ecx, dword [esp + 0x424]
sar edi, 2
mov eax, dword [esp + 0x42c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x424]
sar dword [esp + 0x444], 2
mov eax, dword [esp + 0x444]
mov edi, dword [esp + 0x86c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x440], 2
imul eax, esi
mov ecx, dword [esp + 0x448]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x440], edi
mov dword [esp + 0x444], eax
mov eax, dword [esp + 0x440]
add eax, dword [esp + 0x444]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x43c], 1
cmp dword [esp + 0x43c], 4
jne 0x8ca266
jmp 0x8c9738
mov eax, dword [esp + 0x944]
add dword [esp + 0xd4], ebx
add dword [esp + 0xd8], eax
jmp 0x8c810d
mov ebx, dword [esp + 0x948]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x944]
mov edx, ebx
and ebx, 1
shl eax, 4
sar edx, 1
add edx, dword [eax + ebp + 0x179c]
mov eax, ecx
sar eax, 1
and ecx, 1
imul eax, dword [esp + 0xe0]
add edx, eax
lea eax, [ecx + ecx]
mov ecx, dword [ebp + 0x180c]
or eax, ebx
test ecx, ecx
je 0x8ca737
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xc], 8
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], ecx
call dword [ebp + eax*4 + 0xab4]
jmp 0x8c80a0
mov esi, dword [esp + 0xc4]
cmp dword [esp + 0x944], esi
jne 0x8c8142
jmp 0x8c814d
mov eax, dword [esp + 0xdc]
test eax, eax
jne 0x8cfaea
mov edx, dword [ebp + 0x9e4]
cmp dword [ebp + 0x9d0], edx
je 0x8ca51b
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edi
mov eax, dword [ebp + 0x16fc]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x1814]
imul edi, dword [ebp + 0x1818]
mov ecx, dword [ebp + 0x420]
mov dword [esp], ebp
add edi, eax
shl edi, 4
mov dword [esp + 0xe0], edi
add edi, ecx
mov dword [esp + 4], edi
call edx
add dword [esp + 0xd0], eax
mov eax, dword [ebp + 0x16b4]
test byte [eax + 0x1d9], 1
je 0x8ca697
mov eax, dword [esp + 0xd4]
sar dword [esp + 0xd4], 3
mov esi, dword [ebp + 0xb4]
mov edx, dword [ebp + 0x1814]
and eax, 0xf
movzx ebx, byte [eax + 0xbaf520]
mov eax, dword [esp + 0xd8]
sar dword [esp + 0xd8], 3
add ebx, dword [esp + 0xd4]
and eax, 0xf
movzx ecx, byte [eax + 0xbaf520]
add ecx, dword [esp + 0xd8]
mov eax, ecx
and eax, 1
lea edi, [eax + eax]
mov eax, ebx
and eax, 1
or edi, eax
mov eax, dword [ebp + 0x1818]
sar ecx, 1
sar ebx, 1
lea edx, [ebx + edx*8]
lea eax, [ecx + eax*8]
imul eax, esi
lea ebx, [edx + eax]
mov eax, dword [ebp + 0x180c]
test eax, eax
jne 0x8d1979
mov dword [esp + 0xc], 8
mov eax, ebx
mov dword [esp + 8], esi
add eax, dword [ebp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x16fc]
mov dword [esp], eax
call dword [ebp + edi*4 + 0xa34]
mov dword [esp + 0xc], 8
mov eax, dword [ebp + 0xb4]
mov dword [esp + 8], eax
add ebx, dword [ebp + 0xf8]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x16fc]
add eax, 8
mov dword [esp], eax
call dword [ebp + edi*4 + 0xa34]
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x16fc]
mov dword [esp + 8], edx
imul eax, dword [ebp + 0x1818]
add eax, dword [ebp + 0x1814]
shl eax, 3
add eax, dword [ebp + 0x424]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [ebp + 0x9e8]
mov ebx, eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x16fc]
add edx, 8
mov dword [esp + 8], edx
imul eax, dword [ebp + 0x1818]
add eax, dword [ebp + 0x1814]
shl eax, 3
add eax, dword [ebp + 0x428]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [ebp + 0x9e8]
lea eax, [ebx + eax]
add dword [esp + 0xd0], eax
mov eax, dword [ebp + 0x16b4]
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0xc4]
mov dword [ebp + 0x1754], ebx
mov dword [ebp + 0x1758], esi
cmp byte [eax + 0x1d8], 6
je 0x8ca6cd
mov eax, dword [ebp + 0x172c]
lea edx, [eax + eax*4]
lea edx, [eax + edx*2]
add dword [esp + 0xd0], edx
mov eax, dword [esp + 0xd0]
add esp, 0x94c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], 8
mov dword [esp + 4], ecx
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
mov eax, ebp
mov dword [esp + 8], edx
lea edx, [esp + 0x93c]
mov dword [esp + 0xc], 1
call fcn.008905c0
mov edx, eax
mov dword [esp + 0xf0], eax
jmp 0x8c7f88
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0xc], 8
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], ebx
call dword [ebp + eax*4 + 0xa34]
jmp 0x8c80a0
mov edi, dword [esp + 0xe0]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 8], edi
call dword [ebp + eax*4 + 0xbc4]
jmp 0x8c80a0
add dword [esp + 0xd0], edx
mov ebx, dword [esp + 0x948]
mov esi, dword [esp + 0x944]
jmp 0x8c80df
mov eax, dword [ebp + 0x1718]
mov edx, dword [ebp + 0x1744]
mov ecx, dword [ebp + 0x174c]
mov ebx, dword [ebp + 0x1748]
mov dword [esp + 0x2ec], eax
mov eax, dword [ebp + 0x1754]
mov dword [esp + 0x2e8], edx
mov edx, dword [ebp + 0x1758]
mov dword [esp + 0x2e4], ecx
mov ecx, dword [ebp + 0x1714]
mov esi, dword [ebp + 0x1750]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x940]
mov dword [esp + 0x2d0], edx
mov edx, dword [esp + 0x93c]
mov edi, dword [ebp + 0x1804]
mov dword [esp + 0x2e0], ebx
mov ebx, dword [ebp + 0x171c]
mov dword [esp + 0x8e8], eax
lea eax, [edx + eax*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x338], eax
add eax, ecx
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x8e8]
mov dword [esp + 0x2cc], ecx
mov ecx, dword [esp + 0x334]
mov dword [esp + 0x2dc], esi
mov esi, dword [ebp + 0x9c0]
mov dword [esp + 0x2d8], edi
mov edi, dword [ebp + 0x9c4]
shl eax, 0xb
mov dword [esp + 0x828], edx
add edx, ebx
add edx, eax
cmp dword [ecx], edx
mov dword [esp + 0x2c8], ebx
mov dword [esp + 0x150], esi
mov dword [esp + 0x154], edi
mov dword [esp + 0x330], edx
je 0x8cac03
mov ebx, dword [ebp + 0x17dc]
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0xcc]
mov esi, dword [ebp + 0x17e0]
mov dword [esp + 0x280], ebx
mov ebx, dword [esp + 0x828]
shl eax, 4
lea edx, [ebp + eax + 0x1790]
shl ebx, cl
mov dword [esp + 0x264], ebx
mov ebx, dword [esp + 0x8e8]
mov dword [esp + 0x284], esi
lea esi, [edx + 0xc]
mov dword [esp + 0x288], esi
shl ebx, cl
test byte [esp + 0x158], 4
lea ecx, [ebp + eax + 0x1750]
lea edi, [ecx + 0xc]
mov dword [esp + 0x268], ebx
mov dword [esp + 0x28c], edi
je 0x8d1c78
mov eax, dword [esp + 0x828]
cmp dword [esp + 0x2e8], eax
jg 0x8d2df8
mov eax, dword [esp + 0x2e0]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x264], eax
jg 0x8d2df8
mov ebx, dword [esp + 0x8e8]
cmp dword [esp + 0x2e4], ebx
jg 0x8d2df8
mov eax, dword [esp + 0x2dc]
shl eax, cl
cmp dword [esp + 0x268], eax
jg 0x8d2df8
mov eax, dword [esp + 0x734]
movzx ebx, word [ebp + 0x1fa0]
movzx ecx, word [ebp + 0x1fa2]
add eax, eax
add eax, 1
cmp dword [ebp + 0x153c], 1
mov dword [esp + 0x294], ebx
mov dword [esp + 0x298], eax
je 0x8d2462
mov eax, dword [esp + 0x264]
mov ebx, dword [esp + 0x264]
mov esi, dword [esp + 0x268]
add ebx, dword [ebp + 0x16dc]
add esi, dword [ebp + 0x16e0]
test eax, eax
jne 0x8d19d5
mov edx, ecx
sub edx, dword [esp + 0x294]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x294]
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x268]
test eax, eax
je 0x8d20f3
mov edx, esi
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x2b0], edx
mov eax, dword [esp + 0x298]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x298]
mov edi, dword [esp + 0x2ac]
and eax, esi
shl eax, cl
and edx, ebx
add eax, edx
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x2b0]
and eax, dword [esp + 0x298]
and dword [esp + 0x298], edi
mov edi, dword [esp + 0x734]
shl eax, cl
add eax, dword [esp + 0x298]
test edi, edi
mov dword [esp + 0x2b8], eax
jne 0x8d2811
mov ecx, dword [ebp + 0x1814]
sar ebx, 1
mov edi, ebx
mov dword [esp + 0x274], ebx
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8d3cbc
mov edx, dword [ebp + 0x1818]
mov eax, esi
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3ca0
mov esi, dword [ebp + 4]
cmp edi, esi
mov dword [esp + 0x278], esi
jg 0x8d3d64
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3d48
mov edi, dword [esp + 0x2ac]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3d2c
mov ebx, dword [esp + 0x2b0]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3d10
cmp dword [esp + 0x278], ecx
jl 0x8d3cf4
cmp esi, edx
jl 0x8d3cd8
mov ecx, dword [esp + 0x280]
mov esi, dword [esp + 0x288]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x274], esi
add eax, dword [esp + 0x274]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2b4]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x280]
mov esi, dword [esp + 0x288]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x2b8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x280]
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov dword [esp + 0x290], eax
mov edi, dword [esp + 0x2ec]
mov edx, dword [esp + 0x290]
mov eax, dword [esp + 0x338]
mov ebx, dword [esp + 0x330]
mov ecx, dword [esp + 0x334]
mov dword [edi + eax], edx
mov dword [ecx], ebx
mov esi, dword [esp + 0x93c]
mov edi, dword [esp + 0x940]
mov dword [esp + 0x828], esi
mov dword [esp + 0x8e8], edi
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x2c0], 0xffffffff
and eax, 4
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x734]
shl ecx, 4
and edx, 2
mov dword [esp + 0x8c], ecx
add ecx, 0x1790
mov dword [esp + 0x22c], edx
add eax, eax
add eax, 1
mov dword [esp + 0x23c], eax
mov dword [esp + 0x88], ecx
jmp 0x8cbd0a
mov edx, dword [esp + 0x828]
mov ecx, dword [esp + 0x8e8]
sub edx, 1
lea eax, [edx + ecx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x328], eax
add eax, dword [esp + 0x2cc]
mov dword [esp + 0x32c], edx
mov dword [esp + 0x324], eax
mov ebx, dword [esp + 0x324]
mov eax, ecx
shl eax, 0xb
add eax, edx
add eax, dword [esp + 0x2c8]
cmp dword [ebx], eax
mov dword [esp + 0x320], eax
je 0x8cbd28
mov ebx, ecx
mov eax, dword [esp + 0x8c]
movzx ecx, byte [esp + 0x730]
mov esi, dword [ebp + 0x17dc]
mov edi, dword [ebp + 0x17e0]
shl edx, cl
shl ebx, cl
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x224], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x208], ebx
lea ebx, [ecx + 0xc]
mov dword [esp + 0x234], ebx
mov ebx, dword [esp + 0x20c]
mov dword [esp + 0x204], edx
lea edx, [ebp + esi]
mov dword [esp + 0x228], edi
lea edi, [edx + 0xc]
test ebx, ebx
mov dword [esp + 0x230], edi
je 0x8cc300
mov esi, dword [esp + 0x32c]
cmp esi, dword [ebp + 0x1744]
jl 0x8d23f2
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x204], eax
jg 0x8d23f2
mov ebx, dword [esp + 0x8e8]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d23f2
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x208], eax
jg 0x8d23f2
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x238], ebx
je 0x8ce28d
mov eax, dword [esp + 0x204]
mov edi, dword [esp + 0x204]
mov ebx, dword [esp + 0x208]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8cd388
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x208]
test eax, eax
je 0x8cd360
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x254], edx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x250]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x254]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x734]
test eax, eax
jne 0x8cffc8
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x218], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8d3338
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d331c
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x21c], edi
jg 0x8d3530
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3514
mov edi, dword [esp + 0x250]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d34f8
mov ebx, dword [esp + 0x254]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d34dc
cmp dword [esp + 0x21c], ecx
jl 0x8d34c0
cmp esi, edx
jl 0x8d34a4
mov ecx, dword [esp + 0x224]
mov esi, dword [esp + 0x230]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x218], esi
add eax, dword [esp + 0x218]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x224]
mov esi, dword [esp + 0x230]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x25c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x224]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0x320]
mov edi, dword [esp + 0x324]
mov ebx, dword [esp + 0x2c4]
mov edx, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x328]
mov esi, dword [esp + 0x2d4]
sub dword [esp + 0x204], esi
mov dword [edi], eax
mov edi, dword [esp + 0x204]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d0]
movzx eax, byte [edi + edx]
sub dword [esp + 0x208], ecx
mov ebx, dword [esp + 0x208]
mov ecx, dword [esp + 0x2c4]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8cbd28
mov esi, dword [esp + 0x32c]
mov edi, dword [esp + 0x8e8]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x910], 0
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
cmp dword [esp + 0x2c0], 3
je 0x8cb490
mov eax, dword [esp + 0x2e4]
cmp dword [esp + 0x8e8], eax
jle 0x8cb490
mov edx, dword [esp + 0x8e8]
mov ecx, dword [esp + 0x828]
sub edx, 1
lea eax, [ecx + edx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x318], eax
add eax, dword [esp + 0x2cc]
mov dword [esp + 0x31c], edx
mov edx, ecx
add edx, dword [esp + 0x2c8]
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x31c]
mov ebx, dword [esp + 0x314]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x310], edx
je 0x8cb490
mov ebx, ecx
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0x8c]
mov esi, dword [ebp + 0x17dc]
mov edi, dword [ebp + 0x17e0]
shl ebx, cl
mov dword [esp + 0x1b0], ebx
mov ebx, dword [esp + 0x31c]
mov dword [esp + 0x1cc], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x1d0], edi
shl ebx, cl
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x1b4], ebx
lea ebx, [ecx + 0xc]
mov dword [esp + 0x1d8], ebx
mov ebx, dword [esp + 0x20c]
lea edx, [ebp + esi]
lea edi, [edx + 0xc]
mov dword [esp + 0x1d4], edi
test ebx, ebx
je 0x8cc487
mov esi, dword [esp + 0x828]
cmp esi, dword [ebp + 0x1744]
jl 0x8d240e
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x1b0], eax
jg 0x8d240e
mov ebx, dword [esp + 0x31c]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d240e
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x1b4], eax
jg 0x8d240e
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x1dc], ebx
je 0x8ce5ec
mov eax, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b0]
mov ebx, dword [esp + 0x1b4]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8cd3d8
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x8cd3b0
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x1f4], edx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0x1f8], eax
mov eax, dword [esp + 0x1f4]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x734]
test eax, eax
jne 0x8d0231
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x1c0], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8d354c
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3610
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x1c4], edi
jg 0x8d35f4
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d35d8
mov edi, dword [esp + 0x1f0]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d35bc
mov ebx, dword [esp + 0x1f4]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d35a0
cmp dword [esp + 0x1c4], ecx
jl 0x8d3584
cmp esi, edx
jl 0x8d3568
mov ecx, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1d4]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x1c0], esi
add eax, dword [esp + 0x1c0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x1f8]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1d4]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x1fc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1d8]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov dword [esp + 0x904], eax
mov eax, dword [esp + 0x310]
mov edi, dword [esp + 0x314]
mov ebx, dword [esp + 0x904]
mov edx, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x318]
mov esi, dword [esp + 0x2d0]
sub dword [esp + 0x1b4], esi
mov dword [edi], eax
mov edi, dword [esp + 0x1b4]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
movzx eax, byte [edi + edx]
sub dword [esp + 0x1b0], ecx
mov ebx, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x904]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8cb490
mov esi, dword [esp + 0x828]
mov edi, dword [esp + 0x31c]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x910], 1
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
mov esi, dword [esp + 0x2c0]
test esi, esi
je 0x8cb8b0
mov eax, dword [esp + 0x2e0]
cmp dword [esp + 0x828], eax
jge 0x8cb8b0
mov edx, dword [esp + 0x828]
mov ecx, dword [esp + 0x8e8]
add edx, 1
lea eax, [edx + ecx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x308], eax
add eax, dword [esp + 0x2cc]
mov dword [esp + 0x30c], edx
mov dword [esp + 0x304], eax
mov ebx, dword [esp + 0x304]
mov eax, ecx
shl eax, 0xb
add eax, edx
add eax, dword [esp + 0x2c8]
cmp dword [ebx], eax
mov dword [esp + 0x300], eax
je 0x8cb8b0
mov ebx, ecx
mov eax, dword [esp + 0x8c]
movzx ecx, byte [esp + 0x730]
mov esi, dword [ebp + 0x17dc]
mov edi, dword [ebp + 0x17e0]
shl edx, cl
shl ebx, cl
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x178], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x160], ebx
lea ebx, [ecx + 0xc]
mov dword [esp + 0x184], ebx
mov ebx, dword [esp + 0x20c]
mov dword [esp + 0x15c], edx
lea edx, [ebp + esi]
mov dword [esp + 0x17c], edi
lea edi, [edx + 0xc]
test ebx, ebx
mov dword [esp + 0x180], edi
je 0x8cca3d
mov esi, dword [esp + 0x30c]
cmp esi, dword [ebp + 0x1744]
jl 0x8d2769
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0x15c], eax
jg 0x8d2769
mov ebx, dword [esp + 0x8e8]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d2769
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x160], eax
jg 0x8d2769
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x188], ebx
je 0x8cef5d
mov eax, dword [esp + 0x15c]
mov edi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x160]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8cda35
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x160]
test eax, eax
je 0x8cda0d
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x1a0], edx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x19c]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1a0]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x734]
test eax, eax
jne 0x8d0968
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x16c], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8d36b8
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d369c
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x170], edi
jg 0x8d3680
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d3664
mov edi, dword [esp + 0x19c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d3648
mov ebx, dword [esp + 0x1a0]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d362c
cmp dword [esp + 0x170], ecx
jl 0x8d37b4
cmp esi, edx
jl 0x8d3798
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x180]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x16c], esi
add eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x1a4]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x180]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x1a8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x184]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov dword [esp + 0x908], eax
mov eax, dword [esp + 0x300]
mov edi, dword [esp + 0x304]
mov ebx, dword [esp + 0x908]
mov edx, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x308]
mov esi, dword [esp + 0x2d4]
sub dword [esp + 0x15c], esi
mov dword [edi], eax
mov edi, dword [esp + 0x15c]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d0]
movzx eax, byte [edi + edx]
sub dword [esp + 0x160], ecx
mov ebx, dword [esp + 0x160]
mov ecx, dword [esp + 0x908]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8cb8b0
mov esi, dword [esp + 0x30c]
mov edi, dword [esp + 0x8e8]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x910], 2
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
nop
cmp dword [esp + 0x2c0], 1
je 0x8cbe60
mov eax, dword [esp + 0x2dc]
cmp dword [esp + 0x8e8], eax
jge 0x8cbe60
mov edx, dword [esp + 0x8e8]
mov ecx, dword [esp + 0x828]
add edx, 1
lea eax, [ecx + edx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x2f8], eax
add eax, dword [esp + 0x2cc]
mov dword [esp + 0x2fc], edx
mov edx, ecx
add edx, dword [esp + 0x2c8]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x2fc]
mov ebx, dword [esp + 0x2f4]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x2f0], edx
je 0x8cbe60
mov ebx, ecx
movzx ecx, byte [esp + 0x730]
mov eax, dword [esp + 0x8c]
mov esi, dword [ebp + 0x17dc]
mov edi, dword [ebp + 0x17e0]
shl ebx, cl
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x2fc]
mov dword [esp + 0x118], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x11c], edi
shl ebx, cl
lea ecx, [ebp + eax + 0x1750]
mov dword [esp + 0x100], ebx
lea ebx, [ecx + 0xc]
mov dword [esp + 0x124], ebx
mov ebx, dword [esp + 0x20c]
lea edx, [ebp + esi]
lea edi, [edx + 0xc]
mov dword [esp + 0x120], edi
test ebx, ebx
je 0x8ccbc4
mov esi, dword [esp + 0x828]
cmp esi, dword [ebp + 0x1744]
jl 0x8d2785
mov eax, dword [ebp + 0x1748]
movzx ecx, byte [esp + 0x730]
shl eax, cl
cmp dword [esp + 0xfc], eax
jg 0x8d2785
mov ebx, dword [esp + 0x2fc]
cmp ebx, dword [ebp + 0x174c]
jl 0x8d2785
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp dword [esp + 0x100], eax
jg 0x8d2785
movzx ebx, word [ebp + 0x1fa0]
cmp dword [ebp + 0x153c], 1
movzx esi, word [ebp + 0x1fa2]
mov dword [esp + 0x128], ebx
je 0x8cf2bc
mov eax, dword [esp + 0xfc]
mov edi, dword [esp + 0xfc]
mov ebx, dword [esp + 0x100]
add edi, dword [ebp + 0x16dc]
add ebx, dword [ebp + 0x16e0]
test eax, eax
je 0x8cdbe3
mov eax, edi
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x100]
test eax, eax
je 0x8cdc15
mov edx, ebx
sub edx, dword [ebp + 0x16c0]
mov dword [esp + 0x140], edx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
and eax, ebx
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x140]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x734]
test eax, eax
jne 0x8d0bd1
mov ecx, dword [ebp + 0x1814]
sar edi, 1
mov esi, edi
mov dword [esp + 0x10c], edi
shl ecx, 4
add esi, ecx
cmp esi, 0xfffffff0
jl 0x8d3300
mov edx, dword [ebp + 0x1818]
mov eax, ebx
sar eax, 1
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8d3488
mov edi, dword [ebp + 4]
cmp esi, edi
mov dword [esp + 0x110], edi
jg 0x8d346c
mov esi, dword [ebp + 8]
cmp ebx, esi
jg 0x8d36d4
mov edi, dword [esp + 0x13c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8d37ec
mov ebx, dword [esp + 0x140]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8d3824
cmp dword [esp + 0x110], ecx
jl 0x8d3808
cmp esi, edx
jl 0x8d3878
mov ecx, dword [esp + 0x118]
mov esi, dword [esp + 0x120]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
imul eax, ecx
mov esi, dword [esi]
add dword [esp + 0x10c], esi
add eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x144]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x118]
mov esi, dword [esp + 0x120]
mov edx, dword [ebp + 0x17f4]
mov dword [esp + 0xc], 0x10
imul ebx, ecx
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov dword [esp + 0x90c], eax
mov eax, dword [esp + 0x2f0]
mov edi, dword [esp + 0x2f4]
mov ebx, dword [esp + 0x90c]
mov edx, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2f8]
mov esi, dword [esp + 0x2d0]
sub dword [esp + 0x100], esi
mov dword [edi], eax
mov edi, dword [esp + 0x100]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
movzx eax, byte [edi + edx]
sub dword [esp + 0xfc], ecx
mov ebx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x90c]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0xf8]
add ecx, eax
cmp dword [esp + 0xf0], ecx
jle 0x8cbe60
mov esi, dword [esp + 0x828]
mov edi, dword [esp + 0x2fc]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x910], 3
mov dword [esp + 0x93c], esi
mov dword [esp + 0x940], edi
nop
mov ebx, dword [esp + 0x93c]
mov esi, dword [esp + 0x940]
mov edi, dword [esp + 0x910]
mov dword [esp + 0x828], ebx
mov dword [esp + 0x8e8], esi
mov dword [esp + 0x2c0], edi
cmp dword [esp + 0x2c0], 2
je 0x8cbd28
mov eax, dword [esp + 0x2e8]
cmp dword [esp + 0x828], eax
jg 0x8cac66
mov dword [esp + 0x910], 0xffffffff
jmp 0x8cb065
mov eax, dword [esp + 0x4dc]
sar edi, 1
mov ecx, dword [esp + 0x4e4]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x4dc]
mov eax, dword [esp + 0x87c]
sar dword [esp + 0x4fc], 1
mov ecx, dword [esp + 0x4fc]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x4f8], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x4f8], eax
mov eax, dword [esp + 0x4f8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x500]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8c9e6d
mov ebx, dword [esp + 0x4f4]
movzx ecx, byte [esp + 0x44]
mov edx, dword [esp + 0x40]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4ec]
add eax, dword [esp + 0x24]
mov dword [esp + 0x4fc], eax
jmp 0x8c9d66
mov ecx, eax
mov eax, dword [esp + 0x4f4]
mov edx, dword [esp + 0x40]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8b8], ecx
movzx ecx, byte [esp + 0x44]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4ec]
add ebx, eax
mov dword [esp + 0x4f8], ebx
jmp 0x8c9d3c
cmp dword [esp + 0x910], 0xffffffff
jne 0x8cbce0
mov edx, dword [esp + 0xf0]
jmp 0x8c7f88
mov ebx, dword [esp + 0x58c]
mov eax, dword [esp + 0x7bc]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x7c0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x920], eax
je 0x8c855f
mov edx, dword [esp + 0x7c0]
mov edi, ebx
mov eax, dword [esp + 0x7bc]
shl edi, 4
mov esi, dword [esp + 0x7bc]
mov ebx, dword [esp + 0x7c0]
and edx, 1
mov ecx, dword [esp + 0x594]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x590]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x590]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x5c4], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c4]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x590]
mov dword [esp + 0x588], edx
mov edx, dword [esp + 0x594]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x588]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c4]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x590]
mov edx, dword [esp + 0x598]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x598]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x588]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x920], eax
jmp 0x8c855f
mov ebx, dword [esp + 0x694]
mov eax, dword [esp + 0x6d0]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x6d4]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x914], eax
je 0x8c6fdd
mov edx, dword [esp + 0x6d4]
mov edi, ebx
mov eax, dword [esp + 0x6d0]
shl edi, 4
mov esi, dword [esp + 0x6d0]
mov ebx, dword [esp + 0x6d4]
and edx, 1
mov ecx, dword [esp + 0x69c]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x698]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x698]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x6cc], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6cc]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x698]
mov dword [esp + 0x690], edx
mov edx, dword [esp + 0x69c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x690]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6cc]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x698]
mov edx, dword [esp + 0x6a0]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x6a0]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x690]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x914], eax
jmp 0x8c6fdd
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x10], 8
mov dword [esp + 4], ecx
mov dword [esp], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
mov eax, ebp
mov dword [esp + 8], edx
lea edx, [esp + 0x93c]
mov dword [esp + 0xc], 1
call fcn.00893e20
mov edx, eax
mov dword [esp + 0xf0], eax
jmp 0x8c7f88
mov eax, dword [esp + 0x484]
sar edi, 1
mov ecx, dword [esp + 0x48c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x484]
mov eax, dword [esp + 0x874]
sar dword [esp + 0x4a4], 1
mov ecx, dword [esp + 0x4a4]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x4a0], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x4a0], eax
mov eax, dword [esp + 0x4a0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x4a8]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ca03f
mov ebx, dword [esp + 0x49c]
movzx ecx, byte [esp + 0x4c]
mov edx, dword [esp + 0x48]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x49c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x494]
add eax, dword [esp + 0x24]
mov dword [esp + 0x4a4], eax
jmp 0x8c9f38
mov ecx, eax
mov eax, dword [esp + 0x49c]
mov edx, dword [esp + 0x48]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8bc], ecx
movzx ecx, byte [esp + 0x4c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x494]
add ebx, eax
mov dword [esp + 0x4a0], ebx
jmp 0x8c9f0e
mov ebx, dword [esp + 0x224]
mov eax, dword [esp + 0x32c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x8e8]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov esi, dword [esp + 0x22c]
test esi, esi
mov dword [esp + 0x2c4], eax
je 0x8cafb6
mov edx, dword [esp + 0x8e8]
mov edi, ebx
mov eax, dword [esp + 0x32c]
shl edi, 4
mov esi, dword [esp + 0x32c]
mov ebx, dword [esp + 0x8e8]
and edx, 1
mov ecx, dword [esp + 0x230]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x228]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x228]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x260], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x260]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x228]
mov dword [esp + 0x220], edx
mov edx, dword [esp + 0x230]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x220]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x260]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x228]
mov edx, dword [esp + 0x234]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x234]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x220]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
lea eax, [ebx + eax]
add dword [esp + 0x2c4], eax
jmp 0x8cafb6
mov ebx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x828]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x31c]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov edi, dword [esp + 0x22c]
test edi, edi
mov dword [esp + 0x904], eax
je 0x8cb3e5
mov edx, dword [esp + 0x31c]
mov edi, ebx
mov eax, dword [esp + 0x828]
shl edi, 4
mov esi, dword [esp + 0x828]
mov ebx, dword [esp + 0x31c]
and edx, 1
mov ecx, dword [esp + 0x1d4]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x1d0]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x1d0]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x200], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x200]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x1c8], edx
mov edx, dword [esp + 0x1d4]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1c8]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d8]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c8]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
lea eax, [ebx + eax]
add dword [esp + 0x904], eax
jmp 0x8cb3e5
mov eax, dword [esp + 0x3c4]
sar edi, 1
mov ecx, dword [esp + 0x3cc]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x3c4]
mov eax, dword [esp + 0x864]
sar dword [esp + 0x3e4], 1
mov ecx, dword [esp + 0x3e4]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x3e0], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x3e0], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x3e8]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ca211
mov ebx, dword [esp + 0x3dc]
movzx ecx, byte [esp + 0x74]
mov edx, dword [esp + 0x70]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3d4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x3e4], eax
jmp 0x8ca10a
mov ecx, eax
mov eax, dword [esp + 0x3dc]
mov edx, dword [esp + 0x70]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8c4], ecx
movzx ecx, byte [esp + 0x74]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3d4]
add ebx, eax
mov dword [esp + 0x3e0], ebx
jmp 0x8ca0e0
mov ebx, dword [esp + 0x534]
mov eax, dword [esp + 0x8f4]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x8f8]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x924], eax
je 0x8c89cc
mov eax, dword [esp + 0x8f4]
mov edi, ebx
mov edx, dword [esp + 0x8f8]
shl edi, 4
mov esi, dword [esp + 0x8f4]
mov ebx, dword [esp + 0x8f8]
and eax, 1
mov ecx, dword [esp + 0x53c]
and edx, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x538]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x538]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x56c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x56c]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x538]
mov dword [esp + 0x530], edx
mov edx, dword [esp + 0x53c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x530]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x56c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x538]
mov edx, dword [esp + 0x540]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x540]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x530]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x924], eax
jmp 0x8c89cc
mov ebx, dword [esp + 0x63c]
mov eax, dword [esp + 0x7dc]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x7e0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x918], eax
je 0x8c7451
mov edx, dword [esp + 0x7e0]
mov edi, ebx
mov eax, dword [esp + 0x7dc]
shl edi, 4
mov esi, dword [esp + 0x7dc]
mov ebx, dword [esp + 0x7e0]
and edx, 1
mov ecx, dword [esp + 0x644]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x640]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x640]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x674], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x674]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x640]
mov dword [esp + 0x638], edx
mov edx, dword [esp + 0x644]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x638]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x674]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x640]
mov edx, dword [esp + 0x648]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x648]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x638]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x918], eax
jmp 0x8c7451
mov ebx, dword [esp + 0x178]
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x8e8]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov esi, dword [esp + 0x22c]
test esi, esi
mov dword [esp + 0x908], eax
je 0x8cb803
mov edx, dword [esp + 0x8e8]
mov edi, ebx
mov eax, dword [esp + 0x30c]
shl edi, 4
mov esi, dword [esp + 0x30c]
mov ebx, dword [esp + 0x8e8]
and edx, 1
mov ecx, dword [esp + 0x180]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x17c]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x17c]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x1ac], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1ac]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x180]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x174]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x184]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x184]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x174]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
lea eax, [ebx + eax]
add dword [esp + 0x908], eax
jmp 0x8cb803
mov ebx, dword [esp + 0x118]
mov eax, dword [esp + 0x828]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x2fc]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
mov dword [esp + 0x90c], eax
mov eax, dword [esp + 0x22c]
test eax, eax
je 0x8cbc30
mov edx, dword [esp + 0x2fc]
mov edi, ebx
mov eax, dword [esp + 0x828]
shl edi, 4
mov esi, dword [esp + 0x828]
mov ebx, dword [esp + 0x2fc]
and edx, 1
mov ecx, dword [esp + 0x120]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x11c]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x11c]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x14c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14c]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x120]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x114]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x11c]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x124]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x114]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
lea eax, [ebx + eax]
add dword [esp + 0x90c], eax
jmp 0x8cbc30
mov eax, dword [esp + 0x424]
sar edi, 1
mov ecx, dword [esp + 0x42c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x424]
mov eax, dword [esp + 0x86c]
sar dword [esp + 0x444], 1
mov ecx, dword [esp + 0x444]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x440], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x440], eax
mov eax, dword [esp + 0x440]
mov dword [esp], ebx
mov ebx, dword [esp + 0x448]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ca3e3
mov ebx, dword [esp + 0x43c]
movzx ecx, byte [esp + 0x54]
mov edx, dword [esp + 0x50]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x43c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x434]
add eax, dword [esp + 0x24]
mov dword [esp + 0x444], eax
jmp 0x8ca2dc
mov ecx, eax
mov eax, dword [esp + 0x43c]
mov edx, dword [esp + 0x50]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8c0], ecx
movzx ecx, byte [esp + 0x54]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x434]
add ebx, eax
mov dword [esp + 0x440], ebx
jmp 0x8ca2b2
mov edi, dword [esp + 0xcc]
and eax, 0xff
mov ebx, dword [esp + 0x158]
lea edx, [esp + 0x93c]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x18], eax
mov eax, ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.0088b8f0
mov edx, eax
mov dword [esp + 0xf0], eax
jmp 0x8c7f88
mov ebx, dword [esp + 0x4dc]
mov eax, dword [esp + 0x79c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x7a0]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x928], eax
je 0x8c8e2c
mov edx, dword [esp + 0x7a0]
mov edi, ebx
mov eax, dword [esp + 0x79c]
shl edi, 4
mov esi, dword [esp + 0x79c]
mov ebx, dword [esp + 0x7a0]
and edx, 1
mov ecx, dword [esp + 0x4e4]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x4e0]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x4e0]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x514], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x514]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x4e0]
mov dword [esp + 0x4d8], edx
mov edx, dword [esp + 0x4e4]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4d8]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x514]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x4e0]
mov edx, dword [esp + 0x4e8]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x4e8]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x4d8]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x928], eax
jmp 0x8c8e2c
mov ebx, dword [esp + 0x484]
mov eax, dword [esp + 0x788]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x78c]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x92c], eax
je 0x8c928c
mov edx, dword [esp + 0x78c]
mov edi, ebx
mov eax, dword [esp + 0x788]
shl edi, 4
mov esi, dword [esp + 0x788]
mov ebx, dword [esp + 0x78c]
and edx, 1
mov ecx, dword [esp + 0x48c]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x488]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x488]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x4bc], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4bc]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x488]
mov dword [esp + 0x480], edx
mov edx, dword [esp + 0x48c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x480]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x4bc]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x488]
mov edx, dword [esp + 0x490]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x490]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x480]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x92c], eax
jmp 0x8c928c
mov ebx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x400]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x404]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x934], eax
je 0x8c793c
mov edx, dword [esp + 0x404]
mov edi, ebx
mov eax, dword [esp + 0x400]
shl edi, 4
mov esi, dword [esp + 0x400]
mov ebx, dword [esp + 0x404]
and edx, 1
mov ecx, dword [esp + 0x3cc]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x3c8]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x3c8]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x3fc], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3fc]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x3c8]
mov dword [esp + 0x3c0], edx
mov edx, dword [esp + 0x3cc]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3c0]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x3fc]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x3c8]
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x3c0]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x934], eax
jmp 0x8c793c
sub esi, dword [esp + 0x238]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x238]
mov dword [esp + 0x254], eax
jmp 0x8cae02
mov edx, esi
sub edx, dword [esp + 0x238]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x238]
mov dword [esp + 0x250], eax
jmp 0x8cade4
sub esi, dword [esp + 0x1dc]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x1dc]
mov dword [esp + 0x1f4], eax
jmp 0x8cb231
mov edx, esi
sub edx, dword [esp + 0x1dc]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x1dc]
mov dword [esp + 0x1f0], eax
jmp 0x8cb213
mov esi, dword [esp + 0x6f4]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x8ac], edx
mov dword [esp + 0x70c], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x8a8], esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ecx
lea esi, [esi]
mov eax, dword [esp + 0x70c]
mov edx, dword [esp + 0x6d8]
mov esi, dword [esp + 0x6d8]
mov edi, dword [esp + 0x6dc]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cd5d8
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8c8], eax
mov eax, dword [esp + 0x6dc]
mov dword [esp + 0x710], edx
test eax, eax
je 0x8cd624
mov edx, dword [esp + 0x70c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x714], ecx
mov eax, dword [esp + 0x708]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x708]
imul ebx, dword [esp + 0x8a8]
and eax, edi
shl eax, cl
and edx, esi
add edx, eax
mov eax, dword [esp + 0x714]
and eax, dword [esp + 0x708]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x710]
and edx, dword [esp + 0x708]
shl eax, cl
add eax, edx
mov dword [esp + 0x718], eax
mov eax, dword [esp + 0x8c8]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cd670
mov ecx, dword [esp + 0x6f4]
sar edi, 2
mov eax, dword [esp + 0x6fc]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x6f4]
sar dword [esp + 0x714], 2
mov eax, dword [esp + 0x714]
mov edi, dword [esp + 0x8ac]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x710], 2
imul eax, esi
mov ecx, dword [esp + 0x718]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x710], edi
mov dword [esp + 0x714], eax
mov eax, dword [esp + 0x710]
add eax, dword [esp + 0x714]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x70c], 1
cmp dword [esp + 0x70c], 4
jne 0x8cd440
jmp 0x8c663e
mov ecx, eax
mov eax, dword [esp + 0x70c]
mov edx, dword [esp + 0x58]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8c8], ecx
movzx ecx, byte [esp + 0x5c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x704]
add ebx, eax
mov eax, dword [esp + 0x6dc]
mov dword [esp + 0x710], ebx
test eax, eax
jne 0x8cd49b
mov ebx, dword [esp + 0x70c]
movzx ecx, byte [esp + 0x5c]
mov edx, dword [esp + 0x58]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x70c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x704]
add eax, dword [esp + 0x24]
mov dword [esp + 0x714], eax
jmp 0x8cd4b6
mov eax, dword [esp + 0x6f4]
sar edi, 1
mov ecx, dword [esp + 0x6fc]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x6f4]
mov eax, dword [esp + 0x8ac]
sar dword [esp + 0x714], 1
mov ecx, dword [esp + 0x714]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x710], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x710], eax
mov eax, dword [esp + 0x710]
mov dword [esp], ebx
mov ebx, dword [esp + 0x718]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8cd5bd
mov esi, dword [esp + 0x5e4]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x894], edx
mov dword [esp + 0x5fc], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x890], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x5fc]
mov edx, dword [esp + 0x5c8]
mov esi, dword [esp + 0x5c8]
mov edi, dword [esp + 0x5cc]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cd8e0
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x5cc]
mov dword [esp + 0x600], edx
test eax, eax
je 0x8cd92c
mov edx, dword [esp + 0x5fc]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x604], ecx
mov eax, dword [esp + 0x5f8]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x5f8]
imul ebx, dword [esp + 0x890]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x600]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x604]
and eax, dword [esp + 0x5f8]
and edx, dword [esp + 0x5f8]
shl eax, cl
add eax, edx
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x840]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cd971
mov ecx, dword [esp + 0x5e4]
sar edi, 2
mov eax, dword [esp + 0x5ec]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x5e4]
sar dword [esp + 0x604], 2
mov eax, dword [esp + 0x604]
mov edi, dword [esp + 0x894]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x600], 2
imul eax, esi
mov ecx, dword [esp + 0x608]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x600], edi
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x600]
add eax, dword [esp + 0x604]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x5fc], 1
cmp dword [esp + 0x5fc], 4
jne 0x8cd746
jmp 0x8c6a19
mov ecx, eax
mov eax, dword [esp + 0x5fc]
mov edx, dword [esp + 0x28]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x840], ecx
movzx ecx, byte [esp + 0x2c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5f4]
add ebx, eax
mov eax, dword [esp + 0x5cc]
mov dword [esp + 0x600], ebx
test eax, eax
jne 0x8cd7a1
mov ebx, dword [esp + 0x5fc]
movzx ecx, byte [esp + 0x2c]
mov edx, dword [esp + 0x28]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x5fc]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5f4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x604], eax
jmp 0x8cd7bc
mov eax, dword [esp + 0x5e4]
sar edi, 1
mov ecx, dword [esp + 0x5ec]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x5e4]
mov eax, dword [esp + 0x894]
sar dword [esp + 0x604], 1
mov ecx, dword [esp + 0x604]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x600], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x600], eax
mov eax, dword [esp + 0x600]
mov dword [esp], ebx
mov ebx, dword [esp + 0x608]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8cd8c3
sub esi, dword [esp + 0x188]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x188]
mov dword [esp + 0x1a0], eax
jmp 0x8cb64f
mov edx, esi
sub edx, dword [esp + 0x188]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x188]
mov dword [esp + 0x19c], eax
jmp 0x8cb631
mov ebx, dword [esp + 0x424]
mov eax, dword [esp + 0x460]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x464]
imul edx, ebx
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x930], eax
je 0x8c9773
mov edx, dword [esp + 0x464]
mov edi, ebx
mov eax, dword [esp + 0x460]
shl edi, 4
mov esi, dword [esp + 0x460]
mov ebx, dword [esp + 0x464]
and edx, 1
mov ecx, dword [esp + 0x42c]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x428]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x428]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x45c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x45c]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x428]
mov dword [esp + 0x420], edx
mov edx, dword [esp + 0x42c]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x420]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x45c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x428]
mov edx, dword [esp + 0x430]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x430]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x420]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x930], eax
jmp 0x8c9773
mov edx, esi
sub edx, dword [esp + 0x128]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x128]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x100]
test eax, eax
jne 0x8cba6d
sub esi, dword [esp + 0x128]
imul esi, dword [ebp + 0x16c0]
mov edx, esi
mov eax, esi
sar edx, 0x1f
idiv dword [esp + 0x128]
mov dword [esp + 0x140], eax
jmp 0x8cba7c
sub ecx, dword [esp + 0x4ec]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x4ec]
mov dword [esp + 0x508], eax
jmp 0x8c8c73
mov edx, ecx
sub edx, dword [esp + 0x4ec]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4ec]
mov dword [esp + 0x504], eax
jmp 0x8c8c55
mov esi, dword [esp + 0x694]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x8a4], edx
mov dword [esp + 0x6ac], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x8a0], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x6ac]
mov edx, dword [esp + 0x678]
mov esi, dword [esp + 0x678]
mov edi, dword [esp + 0x67c]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cde60
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8cc], eax
mov eax, dword [esp + 0x67c]
mov dword [esp + 0x6b0], edx
test eax, eax
je 0x8cdeac
mov edx, dword [esp + 0x6ac]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x6b4], ecx
mov eax, dword [esp + 0x6a8]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x6a8]
imul ebx, dword [esp + 0x8a0]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x6b0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6b4]
and eax, dword [esp + 0x6a8]
and edx, dword [esp + 0x6a8]
shl eax, cl
add eax, edx
mov dword [esp + 0x6b8], eax
mov eax, dword [esp + 0x8cc]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cdef1
mov ecx, dword [esp + 0x694]
sar edi, 2
mov eax, dword [esp + 0x69c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x694]
sar dword [esp + 0x6b4], 2
mov eax, dword [esp + 0x6b4]
mov edi, dword [esp + 0x8a4]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x6b0], 2
imul eax, esi
mov ecx, dword [esp + 0x6b8]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x6b0], edi
mov dword [esp + 0x6b4], eax
mov eax, dword [esp + 0x6b0]
add eax, dword [esp + 0x6b4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x6ac], 1
cmp dword [esp + 0x6ac], 4
jne 0x8cdcc7
jmp 0x8c6fa2
mov ecx, eax
mov eax, dword [esp + 0x6ac]
mov edx, dword [esp + 0x60]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8cc], ecx
movzx ecx, byte [esp + 0x64]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6a4]
add ebx, eax
mov eax, dword [esp + 0x67c]
mov dword [esp + 0x6b0], ebx
test eax, eax
jne 0x8cdd22
mov ebx, dword [esp + 0x6ac]
movzx ecx, byte [esp + 0x64]
mov edx, dword [esp + 0x60]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x6ac]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6a4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x6b4], eax
jmp 0x8cdd3d
mov eax, dword [esp + 0x694]
sar edi, 1
mov ecx, dword [esp + 0x69c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x694]
mov eax, dword [esp + 0x8a4]
sar dword [esp + 0x6b4], 1
mov ecx, dword [esp + 0x6b4]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x6b0], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x6b0], eax
mov eax, dword [esp + 0x6b0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x6b8]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8cde44
mov esi, dword [esp + 0x58c]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x88c], edx
mov dword [esp + 0x5a4], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x888], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x5a4]
mov edx, dword [esp + 0x570]
mov esi, dword [esp + 0x570]
mov edi, dword [esp + 0x574]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8ce160
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0x574]
mov dword [esp + 0x5a8], edx
test eax, eax
je 0x8ce1ac
mov edx, dword [esp + 0x5a4]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x5ac], ecx
mov eax, dword [esp + 0x5a0]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x5a0]
imul ebx, dword [esp + 0x888]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x5a8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5ac]
and eax, dword [esp + 0x5a0]
and edx, dword [esp + 0x5a0]
shl eax, cl
add eax, edx
mov dword [esp + 0x5b0], eax
mov eax, dword [esp + 0x8b0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8ce1f1
mov ecx, dword [esp + 0x58c]
sar edi, 2
mov eax, dword [esp + 0x594]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x58c]
sar dword [esp + 0x5ac], 2
mov eax, dword [esp + 0x5ac]
mov edi, dword [esp + 0x88c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x5a8], 2
imul eax, esi
mov ecx, dword [esp + 0x5b0]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x5a8], edi
mov dword [esp + 0x5ac], eax
mov eax, dword [esp + 0x5a8]
add eax, dword [esp + 0x5ac]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x5a4], 1
cmp dword [esp + 0x5a4], 4
jne 0x8cdfc7
jmp 0x8c8524
mov ecx, eax
mov eax, dword [esp + 0x5a4]
mov edx, dword [esp + 0x30]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8b0], ecx
movzx ecx, byte [esp + 0x34]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x59c]
add ebx, eax
mov eax, dword [esp + 0x574]
mov dword [esp + 0x5a8], ebx
test eax, eax
jne 0x8ce022
mov ebx, dword [esp + 0x5a4]
movzx ecx, byte [esp + 0x34]
mov edx, dword [esp + 0x30]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x5a4]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x59c]
add eax, dword [esp + 0x24]
mov dword [esp + 0x5ac], eax
jmp 0x8ce03d
mov eax, dword [esp + 0x58c]
sar edi, 1
mov ecx, dword [esp + 0x594]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x58c]
mov eax, dword [esp + 0x88c]
sar dword [esp + 0x5ac], 1
mov ecx, dword [esp + 0x5ac]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x5a8], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x5a8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x5b0]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ce144
mov edi, dword [esp + 0x224]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x734]
mov dword [esp + 0x84c], edx
mov dword [esp + 0x240], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x848], edi
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], esi
lea esi, [esi]
mov edx, dword [esp + 0x240]
mov eax, dword [esp + 0x204]
mov esi, dword [esp + 0x204]
mov edi, dword [esp + 0x208]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8ce468
mov eax, dword [esp + 0x208]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x8e4], edx
test eax, eax
mov dword [esp + 0x244], ecx
je 0x8ce4b3
mov edx, dword [esp + 0x240]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x248], ecx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
imul ebx, dword [esp + 0x848]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x244]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x248]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x8e4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8ce500
mov ecx, dword [esp + 0x224]
sar edi, 2
mov eax, dword [esp + 0x230]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x224]
sar dword [esp + 0x248], 2
mov eax, dword [esp + 0x248]
mov edi, dword [esp + 0x84c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x244], 2
imul eax, esi
mov ecx, dword [esp + 0x24c]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x244], edi
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x244]
add eax, dword [esp + 0x248]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x240], 1
cmp dword [esp + 0x240], 4
jne 0x8ce2d0
jmp 0x8caf7b
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0x90]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0x94]
mov dword [esp + 0x8e4], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x238]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x244], ebx
test eax, eax
jne 0x8ce32b
mov ebx, dword [esp + 0x240]
movzx ecx, byte [esp + 0x94]
mov edx, dword [esp + 0x90]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x240]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x238]
add eax, dword [esp + 0x24]
mov dword [esp + 0x248], eax
jmp 0x8ce346
mov eax, dword [esp + 0x224]
sar edi, 1
mov ecx, dword [esp + 0x230]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x224]
mov eax, dword [esp + 0x84c]
sar dword [esp + 0x248], 1
mov ecx, dword [esp + 0x248]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x244], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x244], eax
mov eax, dword [esp + 0x244]
mov dword [esp], ebx
mov ebx, dword [esp + 0x24c]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ce44d
sub ecx, dword [esp + 0x494]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x494]
mov dword [esp + 0x4b0], eax
jmp 0x8c90d3
mov edx, ecx
sub edx, dword [esp + 0x494]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x494]
mov dword [esp + 0x4ac], eax
jmp 0x8c90b5
mov edi, dword [esp + 0x1cc]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x734]
mov dword [esp + 0x844], edx
mov dword [esp + 0x1e0], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x83c], edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], esi
lea esi, [esi]
mov edx, dword [esp + 0x1e0]
mov eax, dword [esp + 0x1b0]
mov esi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x1b4]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8ce7c8
mov eax, dword [esp + 0x1b4]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x8dc], edx
test eax, eax
mov dword [esp + 0x1e4], ecx
je 0x8ce813
mov edx, dword [esp + 0x1e0]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
imul ebx, dword [esp + 0x83c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1e8]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x8dc]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8ce860
mov ecx, dword [esp + 0x1cc]
sar edi, 2
mov eax, dword [esp + 0x1d4]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x1cc]
sar dword [esp + 0x1e8], 2
mov eax, dword [esp + 0x1e8]
mov edi, dword [esp + 0x844]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x1e4], 2
imul eax, esi
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x1e4], edi
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x1e4]
add eax, dword [esp + 0x1e8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x1e0], 1
cmp dword [esp + 0x1e0], 4
jne 0x8ce630
jmp 0x8cb3aa
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0x98]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0x9c]
mov dword [esp + 0x8dc], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x1dc]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x1e4], ebx
test eax, eax
jne 0x8ce68b
mov ebx, dword [esp + 0x1e0]
movzx ecx, byte [esp + 0x9c]
mov edx, dword [esp + 0x98]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x1dc]
add eax, dword [esp + 0x24]
mov dword [esp + 0x1e8], eax
jmp 0x8ce6a6
mov eax, dword [esp + 0x1cc]
sar edi, 1
mov ecx, dword [esp + 0x1d4]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x1cc]
mov eax, dword [esp + 0x844]
sar dword [esp + 0x1e8], 1
mov ecx, dword [esp + 0x1e8]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x1e4], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x1ec]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ce7ad
mov edi, dword [esp + 0xcc]
lea edx, [esp + 0x93c]
mov eax, ebp
mov ebx, dword [esp + 0x158]
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], edi
call fcn.008aba80
mov edx, eax
mov dword [esp + 0xf0], eax
jmp 0x8c7f88
mov esi, dword [esp + 0x63c]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x89c], edx
mov dword [esp + 0x654], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x898], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ecx
lea esi, [esi]
mov eax, dword [esp + 0x654]
mov edx, dword [esp + 0x620]
mov esi, dword [esp + 0x620]
mov edi, dword [esp + 0x624]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8ceb28
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8d4], eax
mov eax, dword [esp + 0x624]
mov dword [esp + 0x658], edx
test eax, eax
je 0x8ceb74
mov edx, dword [esp + 0x654]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x65c], ecx
mov eax, dword [esp + 0x650]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x650]
imul ebx, dword [esp + 0x898]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x658]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x65c]
and eax, dword [esp + 0x650]
and edx, dword [esp + 0x650]
shl eax, cl
add eax, edx
mov dword [esp + 0x660], eax
mov eax, dword [esp + 0x8d4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cebc0
mov ecx, dword [esp + 0x63c]
sar edi, 2
mov eax, dword [esp + 0x644]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x63c]
sar dword [esp + 0x65c], 2
mov eax, dword [esp + 0x65c]
mov edi, dword [esp + 0x89c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x658], 2
imul eax, esi
mov ecx, dword [esp + 0x660]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x658], edi
mov dword [esp + 0x65c], eax
mov eax, dword [esp + 0x658]
add eax, dword [esp + 0x65c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x654], 1
cmp dword [esp + 0x654], 4
jne 0x8ce990
jmp 0x8c7416
mov ecx, eax
mov eax, dword [esp + 0x654]
mov edx, dword [esp + 0x68]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8d4], ecx
movzx ecx, byte [esp + 0x6c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x64c]
add ebx, eax
mov eax, dword [esp + 0x624]
mov dword [esp + 0x658], ebx
test eax, eax
jne 0x8ce9eb
mov ebx, dword [esp + 0x654]
movzx ecx, byte [esp + 0x6c]
mov edx, dword [esp + 0x68]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x654]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x64c]
add eax, dword [esp + 0x24]
mov dword [esp + 0x65c], eax
jmp 0x8cea06
mov eax, dword [esp + 0x63c]
sar edi, 1
mov ecx, dword [esp + 0x644]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x63c]
mov eax, dword [esp + 0x89c]
sar dword [esp + 0x65c], 1
mov ecx, dword [esp + 0x65c]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x658], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x658], eax
mov eax, dword [esp + 0x658]
mov dword [esp], ebx
mov ebx, dword [esp + 0x660]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8ceb0d
mov esi, dword [esp + 0x534]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x884], edx
mov dword [esp + 0x54c], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x880], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x54c]
mov edx, dword [esp + 0x518]
mov esi, dword [esp + 0x518]
mov edi, dword [esp + 0x51c]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8cee30
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8b4], eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0x550], edx
test eax, eax
je 0x8cee7c
mov edx, dword [esp + 0x54c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x554], ecx
mov eax, dword [esp + 0x548]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x548]
imul ebx, dword [esp + 0x880]
and eax, edi
shl eax, cl
and edx, esi
add edx, eax
mov eax, dword [esp + 0x554]
and eax, dword [esp + 0x548]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x550]
and edx, dword [esp + 0x548]
shl eax, cl
add eax, edx
mov dword [esp + 0x558], eax
mov eax, dword [esp + 0x8b4]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8ceec1
mov ecx, dword [esp + 0x534]
sar edi, 2
mov eax, dword [esp + 0x53c]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x534]
sar dword [esp + 0x554], 2
mov eax, dword [esp + 0x554]
mov edi, dword [esp + 0x884]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x550], 2
imul eax, esi
mov ecx, dword [esp + 0x558]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x550], edi
mov dword [esp + 0x554], eax
mov eax, dword [esp + 0x550]
add eax, dword [esp + 0x554]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x54c], 1
cmp dword [esp + 0x54c], 4
jne 0x8cec96
jmp 0x8c8991
mov ecx, eax
mov eax, dword [esp + 0x54c]
mov edx, dword [esp + 0x38]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8b4], ecx
movzx ecx, byte [esp + 0x3c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x544]
add ebx, eax
mov eax, dword [esp + 0x51c]
mov dword [esp + 0x550], ebx
test eax, eax
jne 0x8cecf1
mov ebx, dword [esp + 0x54c]
movzx ecx, byte [esp + 0x3c]
mov edx, dword [esp + 0x38]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x54c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x544]
add eax, dword [esp + 0x24]
mov dword [esp + 0x554], eax
jmp 0x8ced0c
mov eax, dword [esp + 0x534]
sar edi, 1
mov ecx, dword [esp + 0x53c]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x534]
mov eax, dword [esp + 0x884]
sar dword [esp + 0x554], 1
mov ecx, dword [esp + 0x554]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x550], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x550], eax
mov eax, dword [esp + 0x550]
mov dword [esp], ebx
mov ebx, dword [esp + 0x558]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8cee13
mov edi, dword [esp + 0x178]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x734]
mov dword [esp + 0x838], edx
mov dword [esp + 0x18c], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x834], edi
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], esi
lea esi, [esi]
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x15c]
mov esi, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test eax, eax
je 0x8cf138
mov eax, dword [esp + 0x160]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x8e0], edx
test eax, eax
mov dword [esp + 0x190], ecx
je 0x8cf183
mov edx, dword [esp + 0x18c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
imul ebx, dword [esp + 0x834]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x190]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x194]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x8e0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cf1d0
mov ecx, dword [esp + 0x178]
sar edi, 2
mov eax, dword [esp + 0x180]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x178]
sar dword [esp + 0x194], 2
mov eax, dword [esp + 0x194]
mov edi, dword [esp + 0x838]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x190], 2
imul eax, esi
mov ecx, dword [esp + 0x198]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x190], edi
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x190]
add eax, dword [esp + 0x194]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x18c], 1
cmp dword [esp + 0x18c], 4
jne 0x8cefa0
jmp 0x8cb7c8
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0xa0]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0xa4]
mov dword [esp + 0x8e0], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x188]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x190], ebx
test eax, eax
jne 0x8ceffb
mov ebx, dword [esp + 0x18c]
movzx ecx, byte [esp + 0xa4]
mov edx, dword [esp + 0xa0]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x18c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x188]
add eax, dword [esp + 0x24]
mov dword [esp + 0x194], eax
jmp 0x8cf016
mov eax, dword [esp + 0x178]
sar edi, 1
mov ecx, dword [esp + 0x180]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x178]
mov eax, dword [esp + 0x838]
sar dword [esp + 0x194], 1
mov ecx, dword [esp + 0x194]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x190], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x190], eax
mov eax, dword [esp + 0x190]
mov dword [esp], ebx
mov ebx, dword [esp + 0x198]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8cf11d
sub ecx, dword [esp + 0x3d4]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x3d4]
mov dword [esp + 0x3f0], eax
jmp 0x8c7783
mov edx, ecx
sub edx, dword [esp + 0x3d4]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3d4]
mov dword [esp + 0x3ec], eax
jmp 0x8c7765
mov edi, dword [esp + 0x118]
add edx, 0x2c
sub esi, ebx
mov eax, dword [esp + 0x734]
mov dword [esp + 0x830], edx
mov dword [esp + 0x12c], 0
shl edi, 3
add eax, 4
mov dword [esp + 0x82c], edi
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], esi
lea esi, [esi]
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0xfc]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x100]
add esi, dword [ebp + edx*8 + 0x16dc]
add edi, dword [ebp + edx*8 + 0x16e0]
test ecx, ecx
je 0x8cf498
mov eax, dword [esp + 0x100]
mov ecx, esi
sub ecx, dword [ebp + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0x8ec], edx
test eax, eax
mov dword [esp + 0x130], ecx
je 0x8cf4e3
mov edx, dword [esp + 0x12c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x23c]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x23c]
imul ebx, dword [esp + 0x82c]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x130]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x134]
and eax, dword [esp + 0x23c]
and edx, dword [esp + 0x23c]
shl eax, cl
add eax, edx
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x8ec]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8cf530
mov ecx, dword [esp + 0x118]
sar edi, 2
mov eax, dword [esp + 0x120]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x118]
sar dword [esp + 0x134], 2
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x830]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x130], 2
imul eax, esi
mov ecx, dword [esp + 0x138]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x130], edi
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x130]
add eax, dword [esp + 0x134]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x12c], 1
cmp dword [esp + 0x12c], 4
jne 0x8cf300
jmp 0x8cbbf5
mov eax, edx
mov ebx, edx
mov edx, dword [esp + 0xa8]
imul edx, dword [ebp + eax*8 + 0x16bc]
and ebx, 1
movzx ecx, byte [esp + 0xac]
mov dword [esp + 0x8ec], ebx
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x128]
shl ebx, cl
add ebx, eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x130], ebx
test eax, eax
jne 0x8cf35b
mov ebx, dword [esp + 0x12c]
movzx ecx, byte [esp + 0xac]
mov edx, dword [esp + 0xa8]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x128]
add eax, dword [esp + 0x24]
mov dword [esp + 0x134], eax
jmp 0x8cf376
mov eax, dword [esp + 0x118]
sar edi, 1
mov ecx, dword [esp + 0x120]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x118]
mov eax, dword [esp + 0x830]
sar dword [esp + 0x134], 1
mov ecx, dword [esp + 0x134]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x130], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x130], eax
mov eax, dword [esp + 0x130]
mov dword [esp], ebx
mov ebx, dword [esp + 0x138]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8cf47d
sub ecx, dword [esp + 0x434]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x434]
mov dword [esp + 0x450], eax
jmp 0x8c95ba
mov edx, ecx
sub edx, dword [esp + 0x434]
imul edx, dword [ebp + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x434]
mov dword [esp + 0x44c], eax
jmp 0x8c959c
sar ebx, 2
mov eax, dword [esp + 0x6f4]
mov dword [esp + 0x6e0], ebx
mov ebx, dword [esp + 0x6f4]
sar esi, 2
mov ecx, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6e0]
imul ebx, esi
mov edi, dword [esp + 0x724]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x6f4]
mov ecx, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6e0]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x6f4]
mov ecx, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x6f4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x6f4]
mov eax, dword [esp + 0x6e0]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x724]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x6f4]
mov ecx, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x6e0], ecx
mov esi, dword [esp + 0x6e0]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x724]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x71c]
mov ecx, dword [esp + 0x6f4]
mov esi, dword [esp + 0x720]
mov ebx, dword [esp + 0x6f4]
sar edx, 2
mov dword [esp + 0x6e4], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6fc]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x6e4]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x728]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x6f4]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x6e4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6fc]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x728]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x6f4]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x6f4]
mov eax, dword [esp + 0x6e4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6fc]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x728]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x6f4]
mov ecx, dword [esp + 0x6fc]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x6e4], ecx
mov esi, dword [esp + 0x6e4]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x728]
call dword [edx + edi*4 + 0x40]
jmp 0x8c663e
sar ebx, 2
mov eax, dword [esp + 0x5e4]
mov dword [esp + 0x5d0], ebx
mov ebx, dword [esp + 0x5e4]
sar esi, 2
mov ecx, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5d0]
imul ebx, esi
mov edi, dword [esp + 0x614]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x5e4]
mov ecx, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5d0]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x5e4]
mov ecx, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x5e4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x5e4]
mov eax, dword [esp + 0x5d0]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x614]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x5e4]
mov ecx, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x5d0], ecx
mov esi, dword [esp + 0x5d0]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x614]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x60c]
mov ecx, dword [esp + 0x5e4]
mov esi, dword [esp + 0x610]
mov ebx, dword [esp + 0x5e4]
sar edx, 2
mov dword [esp + 0x5d4], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5ec]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x5d4]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x618]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x5e4]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x5d4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5ec]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x618]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x5e4]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x5e4]
mov eax, dword [esp + 0x5d4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5ec]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x618]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x5e4]
mov ecx, dword [esp + 0x5ec]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x5d4], ecx
mov esi, dword [esp + 0x5d4]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x618]
call dword [edx + edi*4 + 0x40]
jmp 0x8c6a19
mov dword [esp + 0xd0], 0x7fffffff
jmp 0x8ca6cd
sar ebx, 2
mov eax, dword [esp + 0x58c]
mov dword [esp + 0x578], ebx
mov ebx, dword [esp + 0x58c]
sar esi, 2
mov ecx, dword [esp + 0x594]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x578]
imul ebx, esi
mov edi, dword [esp + 0x5bc]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x594]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x578]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x594]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x58c]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x58c]
mov eax, dword [esp + 0x578]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x5bc]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x594]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x578], ecx
mov esi, dword [esp + 0x578]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x5bc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x5b4]
mov ecx, dword [esp + 0x58c]
mov esi, dword [esp + 0x5b8]
mov ebx, dword [esp + 0x58c]
sar edx, 2
mov dword [esp + 0x57c], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x594]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x57c]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5c0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x58c]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x57c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x594]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x5c0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x58c]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x58c]
mov eax, dword [esp + 0x57c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x594]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x5c0]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x58c]
mov ecx, dword [esp + 0x594]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x57c], ecx
mov esi, dword [esp + 0x57c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x5c0]
call dword [edx + edi*4 + 0x40]
jmp 0x8c8524
sar ebx, 2
mov eax, dword [esp + 0x694]
mov dword [esp + 0x680], ebx
mov ebx, dword [esp + 0x694]
sar esi, 2
mov ecx, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x680]
imul ebx, esi
mov edi, dword [esp + 0x6c4]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x694]
mov ecx, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x680]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x694]
mov ecx, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x694]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x694]
mov eax, dword [esp + 0x680]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x6c4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x694]
mov ecx, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x680], ecx
mov esi, dword [esp + 0x680]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x6c4]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x6bc]
mov ecx, dword [esp + 0x694]
mov esi, dword [esp + 0x6c0]
mov ebx, dword [esp + 0x694]
sar edx, 2
mov dword [esp + 0x684], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x69c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x684]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6c8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x694]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x684]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x69c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x6c8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x694]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x694]
mov eax, dword [esp + 0x684]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x69c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x6c8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x694]
mov ecx, dword [esp + 0x69c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x684], ecx
mov esi, dword [esp + 0x684]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x6c8]
call dword [edx + edi*4 + 0x40]
jmp 0x8c6fa2
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x224]
mov dword [esp + 0x210], edi
mov ecx, dword [esp + 0x230]
sar esi, 2
mov edi, dword [esp + 0x224]
mov eax, dword [esp + 0x210]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x258]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x230]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x210]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x230]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x224]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x224]
mov eax, dword [esp + 0x210]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x258]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x230]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x210], ecx
mov esi, dword [esp + 0x210]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x258]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x250]
mov ecx, dword [esp + 0x224]
mov esi, dword [esp + 0x254]
mov ebx, dword [esp + 0x224]
sar edx, 2
mov dword [esp + 0x214], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x230]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x214]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x25c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x224]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x214]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x230]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x25c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x224]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x224]
mov eax, dword [esp + 0x214]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x230]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x25c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x230]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x214], ecx
mov esi, dword [esp + 0x214]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x25c]
call dword [edx + edi*4 + 0x40]
jmp 0x8caf7b
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x1cc]
mov dword [esp + 0x1b8], edi
mov ecx, dword [esp + 0x1d4]
sar esi, 2
mov edi, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1b8]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x1f8]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1b8]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x1cc]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1b8]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x1f8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x1b8], ecx
mov esi, dword [esp + 0x1b8]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x1f8]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x1cc]
sar edx, 2
mov dword [esp + 0x1bc], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1d4]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x1bc]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x1fc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x1cc]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x1bc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1d4]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x1fc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x1cc]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1bc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1d4]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x1fc]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x1bc], ecx
mov esi, dword [esp + 0x1bc]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x1fc]
call dword [edx + edi*4 + 0x40]
jmp 0x8cb3aa
sar ebx, 2
mov eax, dword [esp + 0x63c]
mov dword [esp + 0x628], ebx
mov ebx, dword [esp + 0x63c]
sar esi, 2
mov ecx, dword [esp + 0x644]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x628]
imul ebx, esi
mov edi, dword [esp + 0x66c]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x63c]
mov ecx, dword [esp + 0x644]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x628]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x63c]
mov ecx, dword [esp + 0x644]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x63c]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x63c]
mov eax, dword [esp + 0x628]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x66c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x63c]
mov ecx, dword [esp + 0x644]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x628], ecx
mov esi, dword [esp + 0x628]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x66c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x664]
mov ecx, dword [esp + 0x63c]
mov esi, dword [esp + 0x668]
mov ebx, dword [esp + 0x63c]
sar edx, 2
mov dword [esp + 0x62c], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x644]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x62c]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x670]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x63c]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x62c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x644]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x670]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x63c]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x63c]
mov eax, dword [esp + 0x62c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x644]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x670]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x63c]
mov ecx, dword [esp + 0x644]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x62c], ecx
mov esi, dword [esp + 0x62c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x670]
call dword [edx + edi*4 + 0x40]
jmp 0x8c7416
sar ebx, 2
mov eax, dword [esp + 0x534]
mov dword [esp + 0x520], ebx
mov ebx, dword [esp + 0x534]
sar esi, 2
mov ecx, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x520]
imul ebx, esi
mov edi, dword [esp + 0x564]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x534]
mov ecx, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x520]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x534]
mov ecx, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x534]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x534]
mov eax, dword [esp + 0x520]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x564]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x534]
mov ecx, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x520], ecx
mov esi, dword [esp + 0x520]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x564]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x55c]
mov ecx, dword [esp + 0x534]
mov esi, dword [esp + 0x560]
mov ebx, dword [esp + 0x534]
sar edx, 2
mov dword [esp + 0x524], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x53c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x524]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x568]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x534]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x524]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x53c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x568]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x534]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x534]
mov eax, dword [esp + 0x524]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x53c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x568]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x534]
mov ecx, dword [esp + 0x53c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x524], ecx
mov esi, dword [esp + 0x524]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x568]
call dword [edx + edi*4 + 0x40]
jmp 0x8c8991
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x164], edi
mov ecx, dword [esp + 0x180]
sar esi, 2
mov edi, dword [esp + 0x178]
mov eax, dword [esp + 0x164]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x1a4]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x180]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x164]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x180]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x178]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x178]
mov eax, dword [esp + 0x164]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x1a4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x180]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x164], ecx
mov esi, dword [esp + 0x164]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x1a4]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x19c]
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x178]
sar edx, 2
mov dword [esp + 0x168], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x180]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x168]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x1a8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x178]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x168]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x180]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x1a8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x178]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x178]
mov eax, dword [esp + 0x168]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x180]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x1a8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x180]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x168], ecx
mov esi, dword [esp + 0x168]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x1a8]
call dword [edx + edi*4 + 0x40]
jmp 0x8cb7c8
sar edi, 2
mov esi, ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x104], edi
mov ecx, dword [esp + 0x120]
sar esi, 2
mov edi, dword [esp + 0x118]
mov eax, dword [esp + 0x104]
imul ebx, esi
mov edx, dword [ebp + 0x17f8]
add esi, 8
mov dword [esp + 8], edi
mov edi, dword [esp + 0x144]
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x104]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x118]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x118]
mov eax, dword [esp + 0x104]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x144]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x104], ecx
mov esi, dword [esp + 0x104]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x144]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x13c]
mov ecx, dword [esp + 0x118]
mov esi, dword [esp + 0x140]
mov ebx, dword [esp + 0x118]
sar edx, 2
mov dword [esp + 0x108], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x120]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x108]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x148]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x118]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x108]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x120]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x148]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x118]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x118]
mov eax, dword [esp + 0x108]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x120]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x148]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x108], ecx
mov esi, dword [esp + 0x108]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x148]
call dword [edx + edi*4 + 0x40]
jmp 0x8cbbf5
sar ebx, 2
mov eax, dword [esp + 0x4dc]
mov dword [esp + 0x4c8], ebx
mov ebx, dword [esp + 0x4dc]
sar esi, 2
mov ecx, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c8]
imul ebx, esi
mov edi, dword [esp + 0x50c]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c8]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x4dc]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x4dc]
mov eax, dword [esp + 0x4c8]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x50c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x4c8], ecx
mov esi, dword [esp + 0x4c8]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x50c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x504]
mov ecx, dword [esp + 0x4dc]
mov esi, dword [esp + 0x508]
mov ebx, dword [esp + 0x4dc]
sar edx, 2
mov dword [esp + 0x4cc], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4e4]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x4cc]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x510]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x4dc]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x4cc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4e4]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x510]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x4dc]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x4dc]
mov eax, dword [esp + 0x4cc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x4e4]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x510]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x4e4]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x4cc], ecx
mov esi, dword [esp + 0x4cc]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x510]
call dword [edx + edi*4 + 0x40]
jmp 0x8c8df1
sar ebx, 2
mov eax, dword [esp + 0x484]
mov dword [esp + 0x470], ebx
mov ebx, dword [esp + 0x484]
sar esi, 2
mov ecx, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x470]
imul ebx, esi
mov edi, dword [esp + 0x4b4]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x470]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x484]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x484]
mov eax, dword [esp + 0x470]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x4b4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x470], ecx
mov esi, dword [esp + 0x470]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x4b4]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x484]
mov esi, dword [esp + 0x4b0]
mov ebx, dword [esp + 0x484]
sar edx, 2
mov dword [esp + 0x474], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x474]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4b8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x484]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x474]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x4b8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x484]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x484]
mov eax, dword [esp + 0x474]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x4b8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x48c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x474], ecx
mov esi, dword [esp + 0x474]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x4b8]
call dword [edx + edi*4 + 0x40]
jmp 0x8c9251
sar ebx, 2
mov eax, dword [esp + 0x3c4]
mov dword [esp + 0x3b0], ebx
mov ebx, dword [esp + 0x3c4]
sar esi, 2
mov ecx, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3b0]
imul ebx, esi
mov edi, dword [esp + 0x3f4]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3b0]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x3c4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3b0]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x3f4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x3b0], ecx
mov esi, dword [esp + 0x3b0]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x3f4]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3c4]
mov esi, dword [esp + 0x3f0]
mov ebx, dword [esp + 0x3c4]
sar edx, 2
mov dword [esp + 0x3b4], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3cc]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x3b4]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x3f8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x3c4]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3cc]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x3f8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x3c4]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3b4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x3cc]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x3f8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3cc]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x3b4], ecx
mov esi, dword [esp + 0x3b4]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x3f8]
call dword [edx + edi*4 + 0x40]
jmp 0x8c7901
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x398]
add eax, dword [edx + 0xc]
mov edx, dword [esp + 0x39c]
imul edx, dword [esp + 0x35c]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x3a0]
test byte [esp + 0x158], 2
mov dword [esp + 0x938], eax
je 0x8c7e4e
mov edx, dword [esp + 0x39c]
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x360]
mov edi, dword [esp + 0x35c]
and edx, 1
mov esi, dword [esp + 0x398]
and eax, 1
mov ebx, dword [esp + 0x39c]
lea edx, [eax + edx*2]
mov dword [esp + 0x394], edx
shl edi, 4
mov edx, dword [ebp + 0x17f0]
add edi, dword [ebp + 0x170c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x364]
sar esi, 1
sar ebx, 1
mov eax, esi
imul ebx, dword [esp + 0x360]
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x394]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x360]
mov dword [esp + 0x358], edx
mov edx, dword [esp + 0x364]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x358]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x394]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x360]
mov edx, dword [esp + 0x368]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x368]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x358]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x938], eax
jmp 0x8c7e4e
mov edx, dword [esp + 0x900]
mov edi, ebx
mov eax, dword [esp + 0x8fc]
shl edi, 4
mov esi, dword [esp + 0x8fc]
mov ebx, dword [esp + 0x900]
and edx, 1
mov ecx, dword [esp + 0x5ec]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x5e8]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x5e8]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x61c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x61c]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x5e8]
mov dword [esp + 0x5e0], edx
mov edx, dword [esp + 0x5ec]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5e0]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x61c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x5e8]
mov edx, dword [esp + 0x5f0]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x5f0]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x5e0]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x91c], eax
jmp 0x8c9998
mov eax, dword [esp + 0x7fc]
mov edi, ebx
mov edx, dword [esp + 0x800]
shl edi, 4
mov esi, dword [esp + 0x7fc]
mov ebx, dword [esp + 0x800]
and eax, 1
mov ecx, dword [esp + 0x6fc]
and edx, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x6f8]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x6f8]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x72c], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x72c]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x6f8]
mov dword [esp + 0x6f0], edx
mov edx, dword [esp + 0x6fc]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6f0]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x72c]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x6f8]
mov edx, dword [esp + 0x700]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
mov ecx, dword [esp + 0x700]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x6f0]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3a4]
lea eax, [ebx + eax]
add dword [esp + 0x754], eax
jmp 0x8c98a0
mov eax, ebx
sub eax, dword [ebp + 0x16bc]
mov dword [esp + 0x384], eax
jmp 0x8c7c71
mov dword [esp + 0xc], 8
mov eax, ebx
mov dword [esp + 8], esi
add eax, dword [ebp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x16fc]
mov dword [esp], eax
call dword [ebp + edi*4 + 0xab4]
mov dword [esp + 0xc], 8
mov eax, dword [ebp + 0xb4]
mov dword [esp + 8], eax
add ebx, dword [ebp + 0xf8]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x16fc]
add eax, 8
mov dword [esp], eax
call dword [ebp + edi*4 + 0xab4]
jmp 0x8ca604
mov edi, ebx
sub edi, dword [ebp + 0x16bc]
mov dword [esp + 0x2ac], edi
jmp 0x8ca9e8
sar ebx, 2
mov eax, dword [esp + 0x424]
mov dword [esp + 0x410], ebx
mov ebx, dword [esp + 0x424]
sar esi, 2
mov ecx, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x410]
imul ebx, esi
mov edi, dword [esp + 0x454]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x410]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x424]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x424]
mov eax, dword [esp + 0x410]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x454]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x410], ecx
mov esi, dword [esp + 0x410]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x454]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x44c]
mov ecx, dword [esp + 0x424]
mov esi, dword [esp + 0x450]
mov ebx, dword [esp + 0x424]
sar edx, 2
mov dword [esp + 0x414], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x42c]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x414]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x458]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x424]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x414]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x42c]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x458]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x424]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x424]
mov eax, dword [esp + 0x414]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x42c]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x458]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x42c]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x414], ecx
mov esi, dword [esp + 0x414]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x458]
call dword [edx + edi*4 + 0x40]
jmp 0x8c9738
sub ecx, dword [esp + 0x36c]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x36c]
mov dword [esp + 0x388], eax
jmp 0x8c7c8f
mov ebx, dword [esp + 0x280]
mov eax, dword [esp + 0x828]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], ebx
add eax, dword [edx + 0xc]
mov edx, ebx
imul edx, dword [esp + 0x8e8]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [esp + 0x150]
test byte [esp + 0x158], 2
mov dword [esp + 0x290], eax
je 0x8cabbf
mov edx, dword [esp + 0x8e8]
mov edi, ebx
mov eax, dword [esp + 0x828]
shl edi, 4
mov esi, dword [esp + 0x828]
mov ebx, dword [esp + 0x8e8]
and edx, 1
mov ecx, dword [esp + 0x288]
and eax, 1
lea edx, [eax + edx*2]
mov eax, dword [esp + 0x284]
sar esi, 1
sar ebx, 1
imul ebx, dword [esp + 0x284]
add edi, dword [ebp + 0x170c]
mov dword [esp + 0x2bc], edx
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
mov eax, esi
mov dword [esp + 0xc], 4
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2bc]
call dword [edx + eax*4 + 0x20]
lea edx, [edi + 8]
mov ecx, dword [esp + 0x284]
mov dword [esp + 0x27c], edx
mov edx, dword [esp + 0x288]
mov eax, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x27c]
add esi, dword [edx + 8]
add ebx, esi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2bc]
mov dword [esp], ecx
call dword [eax + ebx*4 + 0x20]
mov esi, dword [esp + 0x284]
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x28c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x27c]
mov dword [esp + 0x10], 4
mov ebx, eax
mov eax, dword [ecx + 8]
mov dword [esp + 4], esi
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x154]
lea eax, [ebx + eax]
add dword [esp + 0x290], eax
jmp 0x8cabbf
mov esi, dword [esp + 0x35c]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x85c], edx
mov dword [esp + 0x374], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x858], esi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x374]
mov edx, dword [esp + 0x33c]
mov esi, dword [esp + 0x33c]
mov edi, dword [esp + 0x340]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8d1fd0
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8d0], eax
mov dword [esp + 0x378], edx
mov eax, dword [esp + 0x340]
test eax, eax
je 0x8d20ae
mov edx, dword [esp + 0x374]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x37c], ecx
mov eax, dword [esp + 0x370]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x370]
imul ebx, dword [esp + 0x858]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x378]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x37c]
and eax, dword [esp + 0x370]
and edx, dword [esp + 0x370]
shl eax, cl
add eax, edx
mov dword [esp + 0x380], eax
mov eax, dword [esp + 0x8d0]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8d2012
mov ecx, dword [esp + 0x35c]
sar edi, 2
mov eax, dword [esp + 0x364]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x35c]
sar dword [esp + 0x37c], 2
mov eax, dword [esp + 0x37c]
mov edi, dword [esp + 0x85c]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x378], 2
imul eax, esi
mov ecx, dword [esp + 0x380]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x378], edi
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x378]
add eax, dword [esp + 0x37c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x374], 1
cmp dword [esp + 0x374], 4
jne 0x8d1e38
jmp 0x8c7e13
mov ecx, eax
mov eax, dword [esp + 0x374]
mov edx, dword [esp + 0x78]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8d0], ecx
movzx ecx, byte [esp + 0x7c]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x36c]
add ebx, eax
mov dword [esp + 0x378], ebx
jmp 0x8d1e84
mov eax, dword [esp + 0x35c]
sar edi, 1
mov ecx, dword [esp + 0x364]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x35c]
mov eax, dword [esp + 0x85c]
sar dword [esp + 0x37c], 1
mov ecx, dword [esp + 0x37c]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x378], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x378], eax
mov eax, dword [esp + 0x378]
mov dword [esp], ebx
mov ebx, dword [esp + 0x380]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8d1fb5
mov ebx, dword [esp + 0x374]
movzx ecx, byte [esp + 0x7c]
mov edx, dword [esp + 0x78]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x374]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x36c]
add eax, dword [esp + 0x24]
mov dword [esp + 0x37c], eax
jmp 0x8d1eae
sub ecx, dword [esp + 0x294]
imul ecx, dword [ebp + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x294]
mov dword [esp + 0x2b0], eax
jmp 0x8caa06
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
sar ebx, 2
mov edi, dword [esp + 0x364]
mov dword [esp + 0x344], ebx
mov ebx, dword [esp + 0x35c]
sar esi, 2
mov ecx, dword [esp + 0x35c]
mov eax, dword [esp + 0x344]
mov edx, dword [ebp + 0x17f8]
imul ebx, esi
add esi, 8
mov dword [esp + 8], ecx
add eax, dword [edi]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x38c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x35c]
mov eax, dword [esp + 0x344]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], ecx
add eax, dword [edi]
mov edi, dword [esp + 0x38c]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x364]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x35c]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x35c]
mov eax, dword [esp + 0x344]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x38c]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x364]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x344], ecx
mov esi, dword [esp + 0x344]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x38c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x384]
mov ecx, dword [esp + 0x35c]
mov esi, dword [esp + 0x388]
mov ebx, dword [esp + 0x35c]
sar edx, 2
mov dword [esp + 0x348], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x364]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x348]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x390]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x35c]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x348]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x364]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x390]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x35c]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x35c]
mov eax, dword [esp + 0x348]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x364]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x390]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x364]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x348], ecx
mov esi, dword [esp + 0x348]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x390]
call dword [edx + edi*4 + 0x40]
jmp 0x8c7e13
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov esi, dword [esp + 0x280]
add edx, 0x2c
sub ecx, ebx
mov edi, dword [esp + 0x734]
mov dword [esp + 0x854], edx
mov dword [esp + 0x29c], 0
shl esi, 3
add edi, 4
mov dword [esp + 0x850], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x29c]
mov edx, dword [esp + 0x264]
mov esi, dword [esp + 0x264]
mov edi, dword [esp + 0x268]
add esi, dword [ebp + eax*8 + 0x16dc]
add edi, dword [ebp + eax*8 + 0x16e0]
test edx, edx
je 0x8d263a
mov edx, esi
sub edx, dword [ebp + eax*8 + 0x16bc]
and eax, 1
mov dword [esp + 0x8d8], eax
mov dword [esp + 0x2a0], edx
mov eax, dword [esp + 0x268]
test eax, eax
je 0x8d271e
mov edx, dword [esp + 0x29c]
mov ecx, edi
sub ecx, dword [ebp + edx*8 + 0x16c0]
mov ebx, edx
sar ebx, 1
mov dword [esp + 0x2a4], ecx
mov eax, dword [esp + 0x298]
movzx ecx, byte [esp + 0x730]
mov edx, dword [esp + 0x298]
imul ebx, dword [esp + 0x850]
and eax, edi
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x2a0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2a4]
and eax, dword [esp + 0x298]
and edx, dword [esp + 0x298]
shl eax, cl
add eax, edx
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x8d8]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x734]
add ebx, dword [ebp + 0x170c]
test eax, eax
je 0x8d2682
mov ecx, dword [esp + 0x280]
sar edi, 2
mov eax, dword [esp + 0x288]
sar esi, 2
mov edx, dword [ebp + 0x17f8]
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
add esi, dword [eax]
mov dword [esp], ebx
lea eax, [esi + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
mov esi, dword [esp + 0x280]
sar dword [esp + 0x2a4], 2
mov eax, dword [esp + 0x2a4]
mov edi, dword [esp + 0x854]
mov edx, dword [ebp + 0x17fc]
sar dword [esp + 0x2a0], 2
imul eax, esi
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 8], esi
mov edi, dword [edi]
add dword [esp + 0x2a0], edi
mov dword [esp + 0x2a4], eax
mov eax, dword [esp + 0x2a0]
add eax, dword [esp + 0x2a4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x40]
add dword [esp + 0x29c], 1
cmp dword [esp + 0x29c], 4
jne 0x8d24a2
jmp 0x8cab84
mov ecx, eax
mov eax, dword [esp + 0x29c]
mov edx, dword [esp + 0x80]
and ecx, 1
mov ebx, ecx
mov dword [esp + 0x8d8], ecx
movzx ecx, byte [esp + 0x84]
imul edx, dword [ebp + eax*8 + 0x16bc]
shl ebx, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x294]
add ebx, eax
mov dword [esp + 0x2a0], ebx
jmp 0x8d24ee
mov eax, dword [esp + 0x280]
sar edi, 1
mov ecx, dword [esp + 0x288]
sar esi, 1
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 0xc], 8
imul edi, eax
mov dword [esp + 8], eax
add esi, dword [ecx]
mov dword [esp], ebx
lea eax, [esi + edi]
mov esi, dword [esp + 0x24]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x10]
mov edi, dword [esp + 0x280]
mov eax, dword [esp + 0x854]
sar dword [esp + 0x2a4], 1
mov ecx, dword [esp + 0x2a4]
mov edx, dword [ebp + 0x17f4]
sar dword [esp + 0x2a0], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x2a0], eax
mov eax, dword [esp + 0x2a0]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2a8]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8d261f
mov ebx, dword [esp + 0x29c]
movzx ecx, byte [esp + 0x84]
mov edx, dword [esp + 0x80]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x29c]
mov dword [esp + 0x24], eax
imul edx, dword [ebp + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x294]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2a4], eax
jmp 0x8d2518
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
sar ebx, 2
mov eax, dword [esp + 0x280]
mov dword [esp + 0x26c], ebx
mov ebx, dword [esp + 0x280]
sar esi, 2
mov ecx, dword [esp + 0x288]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x26c]
imul ebx, esi
mov edi, dword [esp + 0x2b4]
add esi, 8
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x288]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x26c]
add eax, dword [ecx]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x288]
mov edx, dword [ebp + 0x17f8]
imul esi, dword [esp + 0x280]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x280]
mov eax, dword [esp + 0x26c]
add eax, dword [ecx]
shl edi, 3
add eax, esi
mov esi, dword [esp + 0x2b4]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x288]
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x26c], ecx
mov esi, dword [esp + 0x26c]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
lea eax, [edi + eax]
mov dword [esp], eax
mov eax, dword [esp + 0x2b4]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x280]
mov esi, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x280]
sar edx, 2
mov dword [esp + 0x270], edx
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x288]
sar esi, 2
imul ebx, esi
mov eax, dword [esp + 0x270]
add esi, 8
add eax, dword [ecx + 0x20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2b8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x280]
mov edx, dword [ebp + 0x17fc]
mov eax, dword [esp + 0x270]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x288]
add eax, dword [ecx + 0x20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x2b8]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x280]
mov edx, dword [ebp + 0x17fc]
imul esi, dword [esp + 0x280]
mov eax, dword [esp + 0x270]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x288]
add eax, dword [ecx + 0x20]
add eax, esi
mov esi, dword [esp + 0x2b8]
mov dword [esp + 4], eax
mov eax, edi
add eax, dword [ebp + 0x170c]
mov dword [esp], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x288]
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx + 0x20]
add dword [esp + 0x270], ecx
mov esi, dword [esp + 0x270]
lea ebx, [ebx + esi + 8]
lea ebx, [edi + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x170c]
add eax, 8
add edi, eax
mov dword [esp], edi
mov edi, dword [esp + 0x2b8]
call dword [edx + edi*4 + 0x40]
jmp 0x8cab84
mov dword [esp + 8], 0x487
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaee9f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48c
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef03
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48c
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef35
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x487
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeed1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48c
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef1c
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48c
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef4e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x487
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeb8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x487
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x489
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef67
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x489
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x489
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef99
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef80
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaefb2
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x489
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48f
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaee9f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48f
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeb8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48f
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeed1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef1c
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef35
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef03
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48f
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x48a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaef4e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x490
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaefcb
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x490
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf016
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x490
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaefe4
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x490
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeffd
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x491
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf061
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x491
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf02f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x491
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf048
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x497
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x497
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x497
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x491
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf07a
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x497
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x493
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x493
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x493
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x493
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x49a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x49a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x49a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x49a
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xad
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae838
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xac
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae814
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xab
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7f6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xaa
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7da
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa9
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae7b8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0xa8
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae794
call sub.msvcrt.dll__assert