Function at 0x8d3d80
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xb0c
mov eax, dword [esp + 0xb20]
mov eax, dword [eax + 0x1730]
test eax, eax
mov dword [esp + 0xfc], eax
jne 0x8d3db0
cmp dword [esp + 0xb44], 0x10
je 0x8d403c
mov ecx, dword [esp + 0xb20]
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov dword [esp + 0xb04], 0
mov ebp, dword [esp + 0xb20]
mov dword [esp + 0xb08], 0
mov ecx, dword [ecx + 0x98]
mov ebx, dword [ebx + 0x1814]
mov esi, dword [esi + 0x1818]
mov edi, dword [edi + 0x1718]
mov dword [esp + 0x884], ecx
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x958], ebx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x954], esi
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0x87c], edi
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [ebp + 0x1744]
mov eax, dword [eax + 0x174c]
mov edx, dword [edx + 0x1748]
mov ecx, dword [ecx + 0x1750]
mov ebx, dword [ebx + 0x1804]
mov esi, dword [esi + 0x1754]
mov edi, dword [edi + 0x1758]
mov dword [esp + 0x878], ebp
mov dword [esp + 0x874], eax
mov dword [esp + 0x870], edx
mov dword [esp + 0x86c], ecx
mov dword [esp + 0x868], ebx
mov dword [esp + 0x864], esi
mov dword [esp + 0x860], edi
mov eax, dword [esp + 0xb20]
mov ebp, dword [esp + 0xb20]
mov edx, dword [eax + 0x173c]
mov ebp, dword [ebp + 0x1714]
test edx, edx
mov dword [esp + 0xf0], ebp
jne 0x8d4c72
mov edx, eax
mov edi, dword [eax + 0x1724]
mov ebp, dword [esp + 0xb40]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x1ec], edi
mov ebp, dword [eax + ebp*4 + 0x9bc]
mov eax, dword [esp + 0xb40]
mov dword [esp + 0x3e8], ebp
add eax, 1
mov edx, dword [edx + eax*4 + 0x9bc]
mov dword [esp + 0x960], eax
mov dword [esp + 0x3ec], edx
mov ecx, dword [esp + 0xb20]
mov ebx, dword [ecx + 0x171c]
add ebx, 0x400000
test ebx, ebx
mov dword [esp + 0xec], ebx
mov dword [ecx + 0x171c], ebx
je 0x8d4cb8
mov eax, dword [esp + 0x3e8]
test eax, eax
je 0x8dcd44
mov eax, dword [esp + 0xb20]
mov ebp, dword [esp + 0xfc]
mov ebx, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
mov eax, dword [eax + 0x17dc]
and ebp, 1
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x85c], ebp
add ebp, 1
mov dword [esp + 0x858], ebp
mov edx, dword [edx + 0x17e0]
mov dword [esp + 0x818], eax
mov eax, dword [esp + 0xb34]
and ecx, 2
mov dword [esp + 0x820], ecx
mov dword [esp + 0x81c], edx
shl eax, 4
lea ebp, [ebx + eax + 0x1790]
mov eax, dword [esp + 0xb30]
lea esi, [ebp + 0xc]
mov dword [esp + 0x824], esi
shl eax, 4
lea edx, [ebx + eax + 0x1750]
mov eax, dword [esp + 0xfc]
lea edi, [edx + 0xc]
mov dword [esp + 0x828], edi
and eax, 4
mov dword [esp + 0x808], eax
je 0x8d4cfa
mov eax, dword [ebx + 0x1744]
test eax, eax
jg 0x8d4020
mov eax, dword [ebx + 0x1748]
movzx ecx, byte [esp + 0x858]
shl eax, cl
test eax, eax
js 0x8d4020
mov eax, dword [ebx + 0x174c]
test eax, eax
jle 0x8d9e7a
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb40]
test eax, eax
jne 0x8d3db0
mov ecx, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
mov dword [esp + 0xb04], 0
mov dword [esp + 0xb08], 0
mov eax, dword [ecx + 0x174c]
mov edx, dword [edx + 0x98]
mov edi, dword [ecx + 0x1718]
mov ebp, dword [ecx + 0x1744]
mov esi, dword [ecx + 0x1814]
mov dword [esp + 0x190], edx
mov ebx, dword [ecx + 0x1818]
mov edx, dword [ecx + 0x1748]
mov dword [esp + 0x180], eax
mov ecx, dword [ecx + 0x1750]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x188], edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 0x184], ebp
mov ebp, dword [esp + 0xb20]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0xb20]
mov eax, dword [eax + 0x1758]
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0xb20]
mov edi, dword [edi + 0x1804]
mov ebp, dword [ebp + 0x1754]
mov dword [esp + 0x16c], eax
mov eax, dword [ecx + 0x173c]
mov edx, dword [edx + 0x1714]
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], ebp
test eax, eax
mov dword [esp + 0xf0], edx
jne 0x8d90f0
mov eax, dword [ecx + 0x1724]
mov edx, dword [ecx + 0x9bc]
mov dword [esp + 0x100], eax
mov dword [esp + 0x154], edx
mov ecx, dword [esp + 0xb20]
mov edi, dword [ecx + 0x171c]
add edi, 0x400000
test edi, edi
mov dword [esp + 0xec], edi
mov dword [ecx + 0x171c], edi
je 0x8da120
mov ebp, dword [esp + 0x154]
test ebp, ebp
je 0x8dd993
mov eax, dword [esp + 0xb34]
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x10], 0x10
shl eax, 4
lea ecx, [edx + eax + 0x1790]
mov eax, dword [esp + 0xb30]
lea edi, [ecx + 0xc]
mov dword [esp + 0x158], edi
mov edi, dword [esp + 0xb20]
shl eax, 4
lea edx, [edx + eax + 0x1750]
mov eax, dword [edi + 0x17dc]
lea ebp, [edx + 0xc]
mov dword [esp + 0x15c], ebp
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov ebp, dword [esp + 0xf0]
mov edx, dword [esp + 0x188]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x194]
mov dword [ebp], eax
mov dword [edx], ecx
cmp dword [edi + 0x824], 3
je 0x8da162
mov edi, dword [esp + 0xb20]
test byte [edi + 0x38], 0x40
je 0x8d425f
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
movzx eax, byte [ebp + edx]
movzx edx, byte [ebp + ecx]
add eax, edx
imul eax, dword [esp + 0x100]
add dword [esp + 0x194], eax
imul ebx, dword [esp + 0x190]
add ebx, esi
mov dword [esp + 0x18c], ebx
mov ebx, dword [esp + 0xb20]
mov edi, dword [ebx + 0x20dc]
test edi, edi
je 0x8d9228
mov edi, dword [esp + 0xb2c]
mov esi, dword [esp + 0xb2c]
mov ecx, dword [edi + 8]
add esi, 8
mov dword [esp + 0x1e8], esi
mov eax, dword [esi + 4]
sar ecx, 1
cmp dword [esp + 0x184], ecx
jg 0x8e23ce
cmp dword [esp + 0x17c], ecx
jl 0x8e23b2
mov ebx, eax
sar ebx, 1
cmp dword [esp + 0x180], ebx
jg 0x8e3437
cmp dword [esp + 0x178], ebx
jl 0x8e341b
lea eax, [ecx + ebx*8]
mov esi, dword [esp + 0xec]
and eax, 0x3f
lea ebp, [eax*4]
mov eax, dword [esp + 0xf0]
lea edx, [ecx + esi]
lea edi, [ebp + eax]
mov eax, ebx
shl eax, 0xb
lea esi, [edx + eax]
cmp dword [edi], esi
je 0x8d43ba
mov eax, dword [esp + 0xb20]
mov edx, dword [eax + 0x17dc]
mov eax, ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
imul ebx, edx
mov dword [esp + 0xc], edx
add eax, dword [ecx]
add eax, ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x154]
mov edx, dword [esp + 0x188]
mov dword [edi], esi
mov edi, dword [esp + 0x1e8]
mov ecx, dword [esp + 0xb2c]
mov dword [edx + ebp], eax
mov ebx, dword [edi + 4]
mov esi, dword [ecx + 8]
mov ebp, dword [esp + 0x174]
sar ebx, 1
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
sar esi, 1
movzx ecx, byte [edx + ebp]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + ebp]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jg 0x8da5e3
mov eax, dword [esp + 0x18c]
shl eax, 2
mov dword [esp + 0x95c], eax
mov eax, dword [esp + 0xb38]
add eax, dword [esp + 0x95c]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x17c]
jle 0x8d4401
mov esi, dword [esp + 0x17c]
cmp esi, dword [esp + 0x184]
jge 0x8d4411
mov esi, dword [esp + 0x184]
cmp dword [esp + 0x184], esi
jg 0x8e3a43
cmp dword [esp + 0x17c], esi
jl 0x8e3a27
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
sar ebx, 0x10
cmp ebx, dword [esp + 0x178]
jle 0x8d444f
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8d445f
mov ebx, dword [esp + 0x180]
cmp dword [esp + 0x180], ebx
jg 0x8e3a7b
cmp dword [esp + 0x178], ebx
jl 0x8e3a5f
lea eax, [esi + ebx*8]
mov ecx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov ebp, eax
add ebp, dword [esp + 0xf0]
mov dword [esp + 0x1e4], eax
mov eax, ebx
shl eax, 0xb
lea edx, [esi + ecx]
lea edi, [edx + eax]
cmp dword [ebp], edi
je 0x8d4548
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, esi
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
lea edx, [ebx + ebx]
mov dword [ebp], edi
mov edi, dword [esp + 0x188]
mov ebp, dword [esp + 0x1e4]
sub edx, dword [esp + 0x16c]
mov dword [edi + ebp], eax
mov edi, dword [esp + 0x174]
movzx ecx, byte [edx + edi]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jg 0x8da174
cmp dword [esp + 0x194], 0x400
jle 0x8d48b6
mov eax, dword [esp + 0xb20]
mov esi, dword [eax + 0x173c]
test esi, esi
jne 0x8da1a6
mov edx, dword [esp + 0xb38]
mov ebp, dword [esp + 0x95c]
lea eax, [ebp + edx + 4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x17c]
jle 0x8d45a8
mov esi, dword [esp + 0x17c]
cmp esi, dword [esp + 0x184]
jge 0x8d45b8
mov esi, dword [esp + 0x184]
cmp dword [esp + 0x184], esi
jg 0x8e235e
cmp dword [esp + 0x17c], esi
jl 0x8e38bb
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
sar ebx, 0x10
cmp ebx, dword [esp + 0x178]
jle 0x8d45f6
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8d4606
mov ebx, dword [esp + 0x180]
cmp dword [esp + 0x180], ebx
jg 0x8e389f
cmp dword [esp + 0x178], ebx
jl 0x8e3947
lea eax, [esi + ebx*8]
mov ecx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov ebp, eax
add ebp, dword [esp + 0xf0]
mov dword [esp + 0x1a8], eax
mov eax, ebx
shl eax, 0xb
lea edx, [esi + ecx]
lea edi, [edx + eax]
cmp dword [ebp], edi
je 0x8d4700
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, esi
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
lea edx, [ebx + ebx]
mov dword [ebp], edi
mov edi, dword [esp + 0x188]
mov ebp, dword [esp + 0x1a8]
sub edx, dword [esp + 0x16c]
mov dword [edi + ebp], eax
mov edi, dword [esp + 0x174]
movzx ecx, byte [edx + edi]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d4700
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov ebp, dword [esp + 0xb20]
mov eax, dword [ebp + 0x1818]
add eax, 1
cmp eax, dword [ebp + 0xc8]
jge 0x8d48b6
mov edx, dword [esp + 0xb38]
mov eax, dword [esp + 0x18c]
add eax, dword [esp + 0x190]
lea eax, [edx + eax*4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x17c]
jle 0x8d475c
mov esi, dword [esp + 0x17c]
cmp esi, dword [esp + 0x184]
jge 0x8d476c
mov esi, dword [esp + 0x184]
cmp dword [esp + 0x184], esi
jg 0x8e7d04
cmp dword [esp + 0x17c], esi
jl 0x8e7d20
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
sar ebx, 0x10
cmp ebx, dword [esp + 0x178]
jle 0x8d47aa
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8d47ba
mov ebx, dword [esp + 0x180]
cmp dword [esp + 0x180], ebx
jg 0x8e3d2c
cmp dword [esp + 0x178], ebx
jl 0x8e3d10
mov edi, dword [esp + 0xec]
lea eax, [esi + ebx*8]
mov ecx, dword [esp + 0xf0]
and eax, 0x3f
lea ebp, [eax*4]
mov eax, ebx
shl eax, 0xb
lea edx, [esi + edi]
add ecx, ebp
lea edi, [edx + eax]
cmp dword [ecx], edi
mov dword [esp + 0x1a4], ecx
je 0x8d48b6
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, esi
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov edx, dword [esp + 0x1a4]
mov dword [edx], edi
mov ecx, dword [esp + 0x188]
lea edx, [ebx + ebx]
mov edi, dword [esp + 0x174]
sub edx, dword [esp + 0x16c]
mov dword [ecx + ebp], eax
movzx ecx, byte [edx + edi]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d48b6
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov ebp, dword [esp + 0xb20]
mov eax, dword [ebp + 0x16b4]
mov ecx, dword [eax + 0x1e4]
test ecx, ecx
je 0x8d4b9a
mov eax, dword [ebp + 0x1814]
mov esi, dword [ebp + 0x1818]
mov edx, eax
sub edx, ecx
mov ebx, esi
sub ebx, ecx
mov dword [esp + 0x160], edx
sar edx, 0x1f
not edx
and dword [esp + 0x160], edx
mov edx, ebx
sar edx, 0x1f
lea eax, [eax + ecx + 1]
not edx
mov dword [esp + 0x168], eax
mov eax, dword [ebp + 0x90]
and ebx, edx
cmp dword [esp + 0x168], eax
jg 0x8da4a1
lea esi, [esi + ecx + 1]
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0x164], esi
mov eax, dword [ecx + 0x94]
cmp esi, eax
jg 0x8da4ad
cmp ebx, dword [esp + 0x164]
jge 0x8d4b9a
add ebx, 1
mov esi, dword [esp + 0x160]
mov dword [esp + 0xa14], ebx
mov ebx, dword [esp + 0x190]
mov eax, dword [esp + 0xa14]
shl ebx, 2
imul eax, ebx
mov dword [esp + 0xa18], ebx
lea eax, [eax + esi*4 + 4]
add eax, dword [esp + 0xb38]
mov dword [esp + 0xa2c], eax
mov edi, dword [esp + 0xa14]
mov ebp, dword [esp + 0x168]
cmp dword [esp + 0x160], ebp
mov dword [esp + 0xa90], edi
jge 0x8d4b70
mov edi, dword [esp + 0xa2c]
mov ebp, dword [esp + 0x160]
lea esi, [esi]
movsx eax, word [edi]
add ebp, 1
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
movzx eax, word [edi + 2]
sar ebx, 0x10
cmp ebx, dword [esp + 0x17c]
jg 0x8d4b60
cmp ebx, dword [esp + 0x184]
jl 0x8d4b60
cwde
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x178]
jg 0x8d4b60
cmp esi, dword [esp + 0x180]
jl 0x8d4b60
cmp dword [esp + 0x184], ebx
jg 0x8db333
cmp dword [esp + 0x17c], ebx
jl 0x8db317
cmp dword [esp + 0x180], esi
jg 0x8db2fb
cmp dword [esp + 0x178], esi
jl 0x8db2df
lea eax, [ebx + esi*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x1a0], eax
add eax, dword [esp + 0xf0]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x19c]
lea edx, [ebx + eax]
mov eax, esi
shl eax, 0xb
add edx, eax
cmp dword [ecx], edx
mov dword [esp + 0x198], edx
je 0x8d4b60
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, ebx
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, esi
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x19c]
mov dword [edx], ecx
mov edx, dword [esp + 0x188]
mov ecx, dword [esp + 0x1a0]
mov dword [edx + ecx], eax
mov ecx, dword [esp + 0x174]
lea edx, [esi + esi]
sub edx, dword [esp + 0x16c]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x30], edx
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + ecx]
mov ecx, dword [esp + 0x30]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp eax, dword [esp + 0x194]
jge 0x8d4b60
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
nop
lea esi, [esi]
add edi, 4
cmp ebp, dword [esp + 0x168]
jne 0x8d49c0
mov ebx, dword [esp + 0xa18]
mov esi, dword [esp + 0xa90]
add dword [esp + 0xa14], 1
add dword [esp + 0xa2c], ebx
cmp dword [esp + 0x164], esi
jg 0x8d498a
mov edx, dword [esp + 0xb20]
mov eax, dword [edx + 0x1740]
cmp eax, 0xffffffff
je 0x8dbf4f
jl 0x8dcd60
cmp eax, 1
jle 0x8db6d9
cmp eax, 0x300
jg 0x8da848
cmp eax, 0x200
nop
jg 0x8dc022
cmp eax, 0x100
nop
lea esi, [esi]
jle 0x8dbfa8
mov eax, dword [esp + 0xb34]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0xb30]
mov ebp, dword [esp + 0x100]
mov dword [esp + 0x14], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
call fcn.008876f0
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xb04]
mov ebp, dword [esp + 0xb24]
mov edx, dword [esp + 0xb28]
mov dword [ebp], eax
mov eax, dword [esp + 0xb08]
mov dword [edx], eax
mov eax, dword [esp + 0x194]
add esp, 0xb0c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0xb40]
mov ecx, dword [esp + 0xb40]
mov edx, dword [eax + 0x1720]
add ebx, 1
mov ecx, dword [eax + ecx*4 + 0x9a8]
mov esi, dword [eax + ebx*4 + 0x9a8]
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x960], ebx
mov dword [esp + 0x3e8], ecx
mov dword [esp + 0x3ec], esi
jmp 0x8d3f15
mov esi, dword [esp + 0xf0]
mov dword [ecx + 0x171c], 0x400000
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], esi
call sub.msvcrt.dll_memset
mov edi, dword [esp + 0xb20]
mov edi, dword [edi + 0x171c]
mov dword [esp + 0xec], edi
jmp 0x8d3f3d
mov eax, dword [esp + 0xb44]
mov ecx, dword [esp + 0x818]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov edx, dword [esp + 0x820]
test edx, edx
mov dword [esp + 0x194], eax
jne 0x8d910f
mov eax, dword [esp + 0xec]
mov ebp, dword [esp + 0xf0]
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x87c]
mov ebx, dword [esp + 0xb20]
mov dword [ebp], eax
mov dword [edx], ecx
cmp dword [ebx + 0x824], 3
je 0x8da10e
mov esi, dword [esp + 0xb20]
test byte [esi + 0x38], 0x40
je 0x8d4db5
mov edi, dword [esp + 0x868]
mov ebp, dword [esp + 0x860]
mov ecx, dword [esp + 0x864]
mov esi, dword [esp + 0xb20]
movzx eax, byte [edi + ebp]
movzx edx, byte [edi + ecx]
add eax, edx
imul eax, dword [esp + 0x1ec]
add dword [esp + 0x194], eax
mov ebx, dword [esp + 0x954]
imul ebx, dword [esp + 0x884]
mov eax, dword [esi + 0x20dc]
mov dword [esp + 0x954], ebx
add ebx, dword [esp + 0x958]
test eax, eax
mov dword [esp + 0x880], ebx
je 0x8d6981
mov edi, dword [esp + 0xb2c]
mov ebp, dword [esp + 0xb2c]
movzx ecx, byte [esp + 0x858]
add edi, 8
mov dword [esp + 0x950], edi
mov eax, dword [edi + 4]
mov edi, dword [ebp + 8]
sar edi, cl
cmp dword [esp + 0x878], edi
jg 0x8dfb30
cmp dword [esp + 0x870], edi
jl 0x8e00b4
movzx ecx, byte [esp + 0x858]
mov esi, eax
sar esi, cl
cmp dword [esp + 0x874], esi
jg 0x8e0098
cmp dword [esp + 0x86c], esi
jl 0x8e007c
lea eax, [edi + esi*8]
mov ebx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x94c], eax
add eax, dword [esp + 0xf0]
lea edx, [edi + ebx]
mov dword [esp + 0x948], eax
mov ebp, dword [esp + 0x948]
mov eax, esi
shl eax, 0xb
add edx, eax
mov dword [esp + 0x944], edx
cmp dword [ebp], edx
je 0x8d5248
movzx ecx, byte [esp + 0x858]
mov ebx, edi
mov eax, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
shl ebx, cl
mov eax, dword [eax + 0x17dc]
mov dword [esp + 0x7c8], ebx
mov ebx, esi
mov ebp, dword [edx + 0x17e0]
shl ebx, cl
cmp dword [esp + 0x808], 0
mov dword [esp + 0x7dc], eax
mov dword [esp + 0x7cc], ebx
je 0x8dab41
cmp edi, dword [edx + 0x1744]
jl 0x8d920c
mov eax, dword [edx + 0x1748]
shl eax, cl
cmp dword [esp + 0x7c8], eax
jg 0x8d920c
cmp esi, dword [edx + 0x174c]
jl 0x8d920c
mov eax, dword [edx + 0x1750]
shl eax, cl
cmp ebx, eax
jg 0x8d920c
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x7e0], ebx
mov dword [esp + 0x7e4], eax
je 0x8dd43d
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x7c8]
mov esi, dword [esp + 0x7c8]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x7cc]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8dd080
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x7f4], ebp
mov edi, dword [esp + 0x7cc]
test edi, edi
je 0x8dd051
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x7f8], ecx
mov eax, dword [esp + 0x7e4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x7e4]
mov edi, dword [esp + 0x7f4]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x7fc], eax
mov eax, dword [esp + 0x7f8]
and eax, dword [esp + 0x7e4]
and dword [esp + 0x7e4], edi
shl eax, cl
mov ecx, dword [esp + 0x85c]
add eax, dword [esp + 0x7e4]
test ecx, ecx
mov dword [esp + 0x800], eax
jne 0x8dfd13
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x7d0], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e991a
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e98fe
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e98e2
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e98c6
mov edi, dword [esp + 0x7f4]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e9306
mov ebx, dword [esp + 0x7f8]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e92ea
cmp esi, ecx
jl 0x8e92ce
cmp ebp, edx
jl 0x8e92b2
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x7dc]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x7d0], esi
add eax, dword [esp + 0x7d0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x7fc]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x7dc]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x800]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x7dc]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0x888], eax
mov edi, dword [esp + 0x948]
mov ecx, dword [esp + 0x888]
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x94c]
mov esi, dword [esp + 0x950]
mov ebp, dword [esp + 0x944]
mov dword [edi], ebp
mov edi, dword [esp + 0x868]
mov dword [eax + edx], ecx
movzx ecx, byte [esp + 0x858]
mov ebx, dword [esi]
mov esi, dword [esi + 4]
sar ebx, cl
sar esi, cl
mov eax, esi
shl eax, cl
sub eax, dword [esp + 0x860]
movzx edx, byte [eax + edi]
mov eax, ebx
shl eax, cl
sub eax, dword [esp + 0x864]
movzx eax, byte [eax + edi]
add edx, eax
mov eax, dword [esp + 0x888]
imul edx, dword [esp + 0x1ec]
add eax, edx
cmp dword [esp + 0x194], eax
jle 0x8d5248
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
mov ebx, dword [esp + 0x880]
mov eax, dword [esp + 0xb38]
mov esi, dword [esp + 0x870]
shl ebx, 2
add eax, ebx
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
mov dword [esp + 0x964], ebx
add eax, 0x8000
sar eax, 0x10
cmp eax, esi
mov dword [esp + 0x7c4], eax
jg 0x8da53d
mov edi, dword [esp + 0x878]
cmp dword [esp + 0x7c4], edi
jl 0x8da531
mov ebp, dword [esp + 0x7c4]
cmp dword [esp + 0x878], ebp
jg 0x8e2f6c
cmp dword [esp + 0x870], ebp
jl 0x8e2f50
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebp, [eax + 0x8000]
sar ebp, 0x10
cmp ebp, dword [esp + 0x86c]
jg 0x8da555
cmp ebp, dword [esp + 0x874]
jl 0x8da549
cmp dword [esp + 0x874], ebp
jg 0x8e2fa4
cmp dword [esp + 0x86c], ebp
jl 0x8e2f88
mov edx, dword [esp + 0x7c4]
lea eax, [edx + ebp*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x940], eax
add eax, dword [esp + 0xf0]
add edx, dword [esp + 0xec]
mov dword [esp + 0x93c], eax
mov ecx, dword [esp + 0x93c]
mov eax, ebp
shl eax, 0xb
add edx, eax
mov dword [esp + 0x938], edx
cmp dword [ecx], edx
je 0x8dad5f
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov ebx, dword [esp + 0x7c4]
mov eax, dword [esp + 0x808]
mov esi, dword [esi + 0x17dc]
mov edi, dword [edi + 0x17e0]
shl ebx, cl
mov dword [esp + 0x774], ebx
mov ebx, ebp
shl ebx, cl
test eax, eax
mov dword [esp + 0x794], esi
mov dword [esp + 0x798], edi
mov dword [esp + 0x778], ebx
je 0x8da8a6
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0x7c4]
cmp edi, dword [esi + 0x1744]
jl 0x8dab25
mov eax, dword [esi + 0x1748]
shl eax, cl
cmp dword [esp + 0x774], eax
jg 0x8dab25
cmp ebp, dword [esi + 0x174c]
jl 0x8dab25
mov eax, dword [esi + 0x1750]
shl eax, cl
cmp ebx, eax
jg 0x8dab25
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x79c], ebx
mov dword [esp + 0x7a0], eax
je 0x8e1c5d
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0x774]
mov esi, dword [esp + 0x774]
mov ebx, dword [esp + 0x778]
add esi, dword [edi + 0x16dc]
add ebx, dword [edi + 0x16e0]
test eax, eax
je 0x8e00ff
mov eax, esi
sub eax, dword [edi + 0x16bc]
mov dword [esp + 0x7b4], eax
mov eax, dword [esp + 0x778]
test eax, eax
je 0x8e00d0
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x7b8], ecx
mov eax, dword [esp + 0x7a0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x7a0]
mov edi, dword [esp + 0x7b4]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x7bc], eax
mov eax, dword [esp + 0x7b8]
and eax, dword [esp + 0x7a0]
and dword [esp + 0x7a0], edi
mov edi, dword [esp + 0x85c]
shl eax, cl
add eax, dword [esp + 0x7a0]
test edi, edi
mov dword [esp + 0x7c0], eax
jne 0x8e2c34
mov eax, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x780], esi
mov ecx, dword [eax + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e6d88
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e6d6c
mov esi, dword [esp + 0xb20]
mov esi, dword [esi + 4]
cmp edi, esi
mov dword [esp + 0x784], esi
jg 0x8e6d50
mov edi, dword [esp + 0xb20]
mov esi, dword [edi + 8]
cmp ebx, esi
jg 0x8e6d34
mov edi, dword [esp + 0x7b4]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e6d18
mov ebx, dword [esp + 0x7b8]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e6cfc
cmp dword [esp + 0x784], ecx
jl 0x8e6ce0
cmp esi, edx
jl 0x8e6cc4
mov ecx, dword [esp + 0xb20]
mov esi, dword [esp + 0x794]
mov edx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x824]
imul eax, esi
mov dword [esp + 8], esi
mov esi, dword [esp + 0xb20]
mov dword [esp + 0xc], 0x10
mov ecx, dword [ecx]
add dword [esp + 0x780], ecx
add eax, dword [esp + 0x780]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7bc]
call dword [edx + eax*4]
mov ecx, dword [esp + 0x794]
mov edx, dword [esi + 0x17f4]
mov esi, dword [esp + 0x824]
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 + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7c0]
call dword [edx + eax*4]
mov edx, dword [esp + 0x794]
mov ecx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ebx, dword [esp + 0xb20]
mov dword [esp + 0xc], edx
mov eax, dword [ecx]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x170c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xac0], eax
mov eax, dword [esp + 0x938]
mov edi, dword [esp + 0x93c]
mov ebx, dword [esp + 0xac0]
mov edx, dword [esp + 0x87c]
mov ecx, dword [esp + 0x940]
mov esi, dword [esp + 0x860]
sub dword [esp + 0x778], esi
mov dword [edi], eax
mov edi, dword [esp + 0x778]
mov dword [edx + ecx], ebx
mov edx, dword [esp + 0x868]
mov ecx, dword [esp + 0x864]
movzx eax, byte [edi + edx]
sub dword [esp + 0x774], ecx
mov ebx, dword [esp + 0x774]
movzx edx, byte [ebx + edx]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xac0]
cmp dword [esp + 0x194], eax
jg 0x8dcc88
mov esi, dword [esp + 0xb44]
imul esi, esi
mov dword [esp + 0xa1c], esi
mov eax, dword [esp + 0xa1c]
shl eax, 2
cmp dword [esp + 0x194], eax
jle 0x8d618e
mov ebx, dword [esp + 0xb20]
mov eax, dword [ebx + 0x173c]
test eax, eax
je 0x8dc24b
mov esi, dword [esp + 0x964]
mov edi, dword [esp + 0xb38]
mov ebp, dword [esp + 0x870]
lea eax, [esi + edi - 4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, ebp
mov dword [esp + 0x50c], eax
jle 0x8d5790
mov dword [esp + 0x50c], ebp
mov eax, dword [esp + 0x878]
cmp dword [esp + 0x50c], eax
jge 0x8d57a7
mov dword [esp + 0x50c], eax
mov ecx, dword [esp + 0x50c]
cmp dword [esp + 0x878], ecx
jg 0x8e75d2
cmp dword [esp + 0x870], ecx
jl 0x8e6dc0
movsx eax, dx
mov esi, dword [esp + 0x86c]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, esi
mov dword [esp + 0x510], eax
jle 0x8d57f4
mov dword [esp + 0x510], esi
mov edi, dword [esp + 0x874]
cmp dword [esp + 0x510], edi
jge 0x8d580b
mov dword [esp + 0x510], edi
mov ebp, dword [esp + 0x510]
cmp dword [esp + 0x874], ebp
jg 0x8e6da4
cmp dword [esp + 0x86c], ebp
jl 0x8e6e30
mov ecx, dword [esp + 0x50c]
lea eax, [ecx + ebp*8]
mov edx, ecx
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8c4], eax
add eax, dword [esp + 0xf0]
add edx, dword [esp + 0xec]
mov dword [esp + 0x8c0], eax
mov eax, dword [esp + 0x510]
mov ebx, dword [esp + 0x8c0]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x8bc], edx
je 0x8d5c5e
mov ebx, ecx
movzx ecx, byte [esp + 0x858]
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x4cc], ebx
mov ebx, dword [esp + 0x510]
mov esi, dword [esi + 0x17dc]
mov edi, dword [edi + 0x17e0]
shl ebx, cl
test eax, eax
mov dword [esp + 0x4e0], esi
mov dword [esp + 0x4e4], edi
mov dword [esp + 0x4d0], ebx
je 0x8dd741
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0x50c]
cmp edi, dword [esi + 0x1744]
jl 0x8dcfd9
mov eax, dword [esi + 0x1748]
shl eax, cl
cmp dword [esp + 0x4cc], eax
jg 0x8dcfd9
mov ebx, dword [esp + 0x510]
cmp ebx, dword [esi + 0x174c]
jl 0x8dcfd9
mov eax, dword [esi + 0x1750]
shl eax, cl
cmp dword [esp + 0x4d0], eax
jg 0x8dcfd9
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x4e8], ebx
mov dword [esp + 0x4ec], eax
je 0x8e8899
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x4cc]
mov esi, dword [esp + 0x4cc]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x4d0]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e886a
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x4fc], ebp
mov edi, dword [esp + 0x4d0]
test edi, edi
je 0x8e8169
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x500], ecx
mov eax, dword [esp + 0x4ec]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x4ec]
mov edi, dword [esp + 0x4fc]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x85c]
mov dword [esp + 0x504], eax
mov eax, dword [esp + 0x500]
and eax, dword [esp + 0x4ec]
and dword [esp + 0x4ec], edi
shl eax, cl
add eax, dword [esp + 0x4ec]
test edx, edx
mov dword [esp + 0x508], eax
jne 0x8e7ee0
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x4d4], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e7ec4
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e7ea8
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e767a
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e765e
mov edi, dword [esp + 0x4fc]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e7642
mov ebx, dword [esp + 0x500]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e7626
cmp esi, ecx
jl 0x8e6df8
cmp ebp, edx
jl 0x8e6ddc
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x4e0]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x4d4], esi
add eax, dword [esp + 0x4d4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x504]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x4e0]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x508]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x4e0]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xae8], eax
mov ebp, dword [esp + 0x8bc]
mov edi, dword [esp + 0x8c0]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x4d0], ebx
mov ecx, dword [esp + 0xae8]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x8c4]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x4d0]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x4cc], ebp
mov ecx, dword [esp + 0x4cc]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xae8]
cmp dword [esp + 0x194], eax
jle 0x8d5c5e
mov ebx, dword [esp + 0x50c]
mov esi, dword [esp + 0x510]
mov dword [esp + 0x194], eax
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov edi, dword [esp + 0xb20]
mov eax, dword [edi + 0x20dc]
test eax, eax
jne 0x8d618e
mov ebp, dword [esp + 0x884]
sub dword [esp + 0x880], ebp
mov edx, dword [esp + 0x880]
mov ecx, dword [esp + 0xb38]
mov ebx, dword [esp + 0x870]
lea eax, [ecx + edx*4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, ebx
mov dword [esp + 0x4c4], eax
jle 0x8d5cc2
mov dword [esp + 0x4c4], ebx
mov esi, dword [esp + 0x878]
cmp dword [esp + 0x4c4], esi
jge 0x8d5cd9
mov dword [esp + 0x4c4], esi
mov edi, dword [esp + 0x4c4]
cmp dword [esp + 0x878], edi
jg 0x8e6e14
mov ebp, dword [esp + 0x4c4]
cmp dword [esp + 0x870], ebp
jl 0x8e3fed
movsx eax, dx
mov edx, dword [esp + 0x86c]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, edx
mov dword [esp + 0x4c8], eax
jle 0x8d5d2d
mov dword [esp + 0x4c8], edx
mov ecx, dword [esp + 0x874]
cmp dword [esp + 0x4c8], ecx
jge 0x8d5d44
mov dword [esp + 0x4c8], ecx
mov ebx, dword [esp + 0x4c8]
cmp dword [esp + 0x874], ebx
jg 0x8e9161
mov esi, dword [esp + 0x4c8]
cmp dword [esp + 0x86c], esi
jl 0x8e9062
mov edi, dword [esp + 0x4c8]
mov ebp, dword [esp + 0x4c4]
lea eax, [ebp + edi*8]
mov edx, ebp
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8b8], eax
add eax, dword [esp + 0xf0]
add edx, dword [esp + 0xec]
mov dword [esp + 0x8b4], eax
mov eax, edi
shl eax, 0xb
add edx, eax
mov eax, dword [esp + 0x8b4]
mov dword [esp + 0x8b0], edx
cmp dword [eax], edx
je 0x8d618e
mov ecx, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
mov eax, dword [esp + 0x808]
mov ecx, dword [ecx + 0x17e0]
mov edx, dword [edx + 0x17dc]
mov dword [esp + 0x49c], ecx
movzx ecx, byte [esp + 0x858]
mov dword [esp + 0x498], edx
shl ebp, cl
shl edi, cl
test eax, eax
mov dword [esp + 0x484], ebp
mov dword [esp + 0x488], edi
je 0x8e3030
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0x4c4]
cmp esi, dword [ebx + 0x1744]
jl 0x8e3014
mov eax, dword [ebx + 0x1748]
shl eax, cl
cmp ebp, eax
jg 0x8e3014
mov esi, dword [esp + 0x4c8]
cmp esi, dword [ebx + 0x174c]
jl 0x8e3014
mov eax, dword [ebx + 0x1750]
shl eax, cl
cmp edi, eax
jg 0x8e3014
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x4a0], ebx
mov dword [esp + 0x4a4], eax
je 0x8e8e8a
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x484]
mov esi, dword [esp + 0x484]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x488]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e8e5b
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x4b4], ebp
mov edx, dword [esp + 0x488]
test edx, edx
je 0x8e8e2c
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x4b8], ecx
mov eax, dword [esp + 0x4a4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x4a4]
mov edi, dword [esp + 0x4b4]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x4bc], eax
mov eax, dword [esp + 0x4b8]
and eax, dword [esp + 0x4a4]
and dword [esp + 0x4a4], edi
shl eax, cl
add eax, dword [esp + 0x4a4]
mov dword [esp + 0x4c0], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e8ba3
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x48c], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e8b87
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e8b6b
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e8b4f
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e8b33
mov edi, dword [esp + 0x4b4]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e8b17
mov ebx, dword [esp + 0x4b8]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e8afb
cmp esi, ecx
jl 0x8e8adf
cmp ebp, edx
jl 0x8e8ac3
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x498]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x48c], esi
add eax, dword [esp + 0x48c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x4bc]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x498]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x4c0]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x498]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xaec], eax
mov ebp, dword [esp + 0x8b0]
mov edi, dword [esp + 0x8b4]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x488], ebx
mov ecx, dword [esp + 0xaec]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x8b8]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x488]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x484], ebp
mov ecx, dword [esp + 0x484]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xaec]
cmp dword [esp + 0x194], eax
jle 0x8d618e
mov ebx, dword [esp + 0x4c4]
mov esi, dword [esp + 0x4c8]
mov dword [esp + 0x194], eax
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov edi, dword [esp + 0xb20]
mov eax, dword [edi + 0x16b4]
mov ecx, dword [eax + 0x1e4]
test ecx, ecx
je 0x8db379
mov eax, dword [edi + 0x1814]
mov esi, dword [edi + 0x1818]
mov ebp, eax
sub ebp, ecx
mov ebx, esi
mov edx, ebp
sub ebx, ecx
sar edx, 0x1f
not edx
and ebp, edx
mov edx, ebx
sar edx, 0x1f
lea eax, [eax + ecx + 1]
not edx
mov dword [esp + 0x854], eax
mov eax, dword [edi + 0x90]
and ebx, edx
cmp dword [esp + 0x854], eax
mov dword [esp + 0xa28], ebp
jle 0x8d61f7
mov dword [esp + 0x854], eax
mov edx, dword [esp + 0xb20]
lea esi, [esi + ecx + 1]
mov dword [esp + 0x850], esi
mov eax, dword [edx + 0x94]
cmp esi, eax
jle 0x8d621a
mov dword [esp + 0x850], eax
cmp ebx, dword [esp + 0x850]
jge 0x8db379
mov eax, dword [esp + 0x85c]
add ebx, 1
mov dword [esp + 0xa0c], ebx
mov ebx, dword [esp + 0x884]
mov esi, dword [esp + 0xa28]
mov ecx, dword [esp + 0xb40]
add eax, eax
mov edi, dword [esp + 0xb44]
add eax, 1
mov ebp, dword [esp + 0x824]
mov dword [esp + 0x3c0], eax
mov eax, dword [esp + 0xa0c]
shl ebx, 2
shl ecx, 4
sar edi, 1
add ebp, 0x20
imul eax, ebx
mov dword [esp + 0x3ac], ecx
mov dword [esp + 0xa58], ebx
mov dword [esp + 0xb0], edi
lea eax, [eax + esi*4 + 4]
add eax, dword [esp + 0xb38]
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa10], eax
mov edx, dword [esp + 0xa0c]
mov ecx, dword [esp + 0x854]
cmp dword [esp + 0xa28], ecx
mov dword [esp + 0xa3c], edx
jge 0x8db34f
mov ebx, dword [esp + 0xa10]
mov esi, dword [esp + 0xa28]
mov dword [esp + 0xa08], ebx
mov dword [esp + 0x84c], esi
jmp 0x8d666c
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0x3e0]
cmp edi, dword [esi + 0x1744]
jl 0x8dcfa1
mov eax, dword [esi + 0x1748]
shl eax, cl
cmp dword [esp + 0x3a0], eax
jg 0x8dcfa1
mov ebx, dword [esp + 0x3e4]
cmp ebx, dword [esi + 0x174c]
jl 0x8dcfa1
mov eax, dword [esi + 0x1750]
shl eax, cl
cmp dword [esp + 0x3a4], eax
jg 0x8dcfa1
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
cmp dword [esi + 0x153c], 1
movzx edi, word [esi + 0x1fa2]
mov dword [esp + 0x3bc], ebx
je 0x8daf76
mov ebp, dword [esp + 0x3a0]
add ebp, dword [esi + 0x16dc]
mov ecx, dword [esp + 0x3a0]
mov esi, dword [esp + 0xb20]
mov ebx, dword [esp + 0x3a4]
add ebx, dword [esi + 0x16e0]
test ecx, ecx
je 0x8dacec
mov eax, ebp
sub eax, dword [esi + 0x16bc]
mov dword [esp + 0x3d0], eax
mov edx, dword [esp + 0x3a4]
test edx, edx
je 0x8dad14
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x3d4], ecx
mov eax, dword [esp + 0x3c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x3c0]
and eax, ebx
shl eax, cl
and edx, ebp
add eax, edx
mov edx, dword [esp + 0x3d0]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0x3d4]
and eax, dword [esp + 0x3c0]
and edx, dword [esp + 0x3c0]
shl eax, cl
add eax, edx
mov dword [esp + 0x3dc], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8db44e
mov esi, ebp
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
lea edi, [esi + ecx]
cmp edi, 0xfffffff0
jl 0x8e933e
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebp, [eax + edx]
cmp ebp, 0xfffffff0
mov dword [esp + 0x28], ebp
jl 0x8e9322
mov esi, dword [esp + 0x3b4]
mov edi, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ebp, dword [esp + 0xb20]
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 + 0x3e8]
mov dword [esp + 0xaf8], eax
mov ebp, dword [esp + 0x88c]
mov edi, dword [esp + 0x890]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x3a4], ebx
mov ecx, dword [esp + 0xaf8]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x894]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x3a4]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x3a0], ebp
mov ecx, dword [esp + 0x3a0]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xaf8]
cmp dword [esp + 0x194], eax
jle 0x8d6650
mov edi, dword [esp + 0x854]
add dword [esp + 0xa08], 4
cmp dword [esp + 0x84c], edi
je 0x8db34f
mov edx, dword [esp + 0xa08]
mov ebx, dword [esp + 0x870]
add dword [esp + 0x84c], 1
movsx eax, word [edx]
imul eax, dword [esp + 0xb3c]
lea ebp, [eax + 0x8000]
movzx eax, word [edx + 2]
mov ecx, ebp
sar ecx, 0x10
cmp ecx, ebx
mov dword [esp + 0x3e0], ecx
jg 0x8d6650
mov esi, dword [esp + 0x878]
cmp ecx, esi
jl 0x8d6650
cwde
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
mov eax, dword [esp + 0x86c]
mov edi, esi
sar edi, 0x10
mov dword [esp + 0x3e4], edi
cmp edi, eax
jg 0x8d6650
mov edx, dword [esp + 0x874]
cmp edi, edx
jl 0x8d6650
cmp dword [esp + 0x878], ecx
jg 0x8dfff0
mov ecx, dword [esp + 0x3e0]
cmp dword [esp + 0x870], ecx
jl 0x8dffd4
mov ebx, dword [esp + 0x3e4]
cmp dword [esp + 0x874], ebx
jg 0x8dffb8
cmp dword [esp + 0x86c], ebx
jl 0x8dff9c
mov ecx, dword [esp + 0x3e0]
lea eax, [ecx + ebx*8]
mov edx, ecx
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x894], eax
add eax, dword [esp + 0xf0]
add edx, dword [esp + 0xec]
mov dword [esp + 0x890], eax
mov eax, dword [esp + 0x3e4]
mov ebx, dword [esp + 0x890]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x88c], edx
je 0x8d6650
mov eax, dword [esp + 0xb20]
mov ebx, ecx
movzx ecx, byte [esp + 0x858]
mov edi, dword [esp + 0xb20]
mov eax, dword [eax + 0x17e0]
shl ebx, cl
mov dword [esp + 0x3a0], ebx
mov ebx, dword [esp + 0x3e4]
mov edi, dword [edi + 0x17dc]
mov dword [esp + 0x3b8], eax
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x3b4], edi
test eax, eax
mov dword [esp + 0x3a4], ebx
jne 0x8d62ed
mov eax, dword [esp + 0xb44]
mov ecx, dword [esp + 0x824]
mov edx, dword [esp + 0x3e4]
imul edx, dword [esp + 0x3b4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3e0]
mov dword [esp + 0xc], edi
mov ebx, dword [esp + 0x828]
add eax, dword [ecx]
mov edi, dword [esp + 0xb20]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xaf8], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d65ac
mov ebx, dword [esp + 0x3e4]
sar ebp, 0x11
mov eax, dword [esp + 0x3e0]
sar esi, 0x11
mov edx, dword [esp + 0x3ac]
mov ecx, dword [esp + 0xb0]
and ebx, 1
mov edi, dword [esp + 0x3b4]
and eax, 1
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
lea ebx, [edx + ebx*4]
mov edx, ebx
shl edi, 4
add edx, dword [eax + 0x17f0]
add edi, dword [eax + 0x170c]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x824]
imul esi, dword [esp + 0x3b8]
mov dword [esp + 8], eax
mov eax, ebp
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x3b8]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x3b8]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x3b0]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xaf8], eax
jmp 0x8d65ac
mov eax, dword [esp + 0xb44]
mov edx, esi
imul eax, eax
mov dword [esp + 0xa1c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x310]
imul eax, dword [esp + 0xa1c]
sar eax, 8
cmp dword [esp + 0x194], eax
jge 0x8d69cf
mov ecx, dword [esp + 0xb2c]
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
or eax, dword [ecx + 0x10]
or eax, dword [ecx + 0x14]
or eax, dword [ecx + 0x18]
or eax, dword [ecx + 0x1c]
je 0x8da591
mov edx, dword [esp + 0xb2c]
mov edi, dword [esp + 0xb2c]
movzx ecx, byte [esp + 0x858]
mov ebp, dword [edx + 0x20]
add edi, 0x20
mov dword [esp + 0x934], edi
mov eax, dword [edi + 4]
sar ebp, cl
cmp dword [esp + 0x878], ebp
jg 0x8e2396
cmp dword [esp + 0x870], ebp
jl 0x8e1b61
movzx ecx, byte [esp + 0x858]
mov esi, eax
sar esi, cl
cmp dword [esp + 0x874], esi
jg 0x8e1b45
cmp dword [esp + 0x86c], esi
jl 0x8e382f
lea eax, [ebp + esi*8]
mov ebx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x930], eax
add eax, dword [esp + 0xf0]
lea edx, [ebp + ebx]
mov dword [esp + 0x92c], eax
mov edi, dword [esp + 0x92c]
mov eax, esi
shl eax, 0xb
add edx, eax
mov dword [esp + 0x928], edx
cmp dword [edi], edx
je 0x8d6e40
mov edx, dword [esp + 0xb20]
mov ebx, ebp
mov eax, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov edx, dword [edx + 0x17e0]
mov eax, dword [eax + 0x17dc]
shl ebx, cl
mov dword [esp + 0x734], ebx
mov ebx, esi
mov dword [esp + 0x74c], edx
mov edx, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x748], eax
mov dword [esp + 0x738], ebx
test edx, edx
je 0x8dad75
mov edi, dword [esp + 0xb20]
cmp ebp, dword [edi + 0x1744]
jl 0x8da634
mov eax, dword [edi + 0x1748]
shl eax, cl
cmp dword [esp + 0x734], eax
jg 0x8da634
cmp esi, dword [edi + 0x174c]
jl 0x8da634
mov eax, dword [edi + 0x1750]
shl eax, cl
cmp ebx, eax
jg 0x8da634
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x750], ebx
mov dword [esp + 0x754], eax
je 0x8df1c5
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x734]
mov esi, dword [esp + 0x734]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x738]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8df196
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x764], ebp
mov edx, dword [esp + 0x738]
test edx, edx
je 0x8df167
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x768], ecx
mov eax, dword [esp + 0x754]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x754]
mov edi, dword [esp + 0x764]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x76c], eax
mov eax, dword [esp + 0x768]
and eax, dword [esp + 0x754]
and dword [esp + 0x754], edi
shl eax, cl
add eax, dword [esp + 0x754]
mov dword [esp + 0x770], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8df527
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x73c], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e7e8c
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e7e70
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e7e54
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e7e38
mov edi, dword [esp + 0x764]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e3c14
mov ebx, dword [esp + 0x768]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e3bf8
cmp esi, ecx
jl 0x8e3bdc
cmp ebp, edx
jl 0x8e3bc0
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x748]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x73c], esi
add eax, dword [esp + 0x73c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x76c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x748]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x770]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x748]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xac4], eax
mov ebx, dword [esp + 0x934]
mov ebp, dword [esp + 0x928]
mov ecx, dword [esp + 0xac4]
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x930]
mov edi, dword [esp + 0x92c]
mov dword [edi], ebp
mov dword [eax + edx], ecx
movzx ecx, byte [esp + 0x858]
mov esi, dword [ebx + 4]
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x868]
sar esi, cl
mov eax, esi
shl eax, cl
sub eax, dword [esp + 0x860]
sar ebp, cl
movzx edx, byte [eax + ebx]
mov eax, ebp
shl eax, cl
sub eax, dword [esp + 0x864]
movzx eax, byte [eax + ebx]
add edx, eax
mov eax, dword [esp + 0xac4]
imul edx, dword [esp + 0x1ec]
add eax, edx
cmp dword [esp + 0x194], eax
jle 0x8d6e40
mov dword [esp + 0xb04], ebp
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
cmp ebp, dword [esp + 0x870]
mov dword [esp + 0x72c], ebp
jg 0x8da5fd
mov edi, dword [esp + 0x878]
cmp dword [esp + 0x72c], edi
jl 0x8da610
mov eax, dword [esp + 0x72c]
cmp dword [esp + 0x878], eax
jg 0x8e33e3
cmp dword [esp + 0x870], eax
jl 0x8e33ff
mov ebx, dword [esp + 0x86c]
lea ecx, [esi - 1]
mov dword [esp + 0x730], ecx
cmp ecx, ebx
jg 0x8da61c
mov edi, dword [esp + 0x874]
cmp dword [esp + 0x730], edi
jl 0x8da628
mov eax, dword [esp + 0x730]
cmp dword [esp + 0x874], eax
jg 0x8e39b7
cmp dword [esp + 0x86c], eax
jl 0x8e3a0b
mov ebx, dword [esp + 0x72c]
mov ecx, eax
mov edx, dword [esp + 0x72c]
add edx, dword [esp + 0xec]
lea eax, [ebx + eax*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x924], eax
add eax, dword [esp + 0xf0]
mov dword [esp + 0x920], eax
mov edi, dword [esp + 0x920]
mov eax, ecx
shl eax, 0xb
add eax, edx
mov dword [esp + 0x91c], eax
cmp dword [edi], eax
je 0x8d7366
mov eax, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov ebp, dword [esp + 0xb20]
mov eax, dword [eax + 0x17e0]
shl ebx, cl
mov dword [esp + 0x6ec], ebx
mov ebx, dword [esp + 0x730]
mov ebp, dword [ebp + 0x17dc]
mov dword [esp + 0x704], eax
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x700], ebp
test eax, eax
mov dword [esp + 0x6f0], ebx
je 0x8dc089
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0x72c]
cmp edi, dword [esi + 0x1744]
jl 0x8dad43
mov eax, dword [esi + 0x1748]
shl eax, cl
cmp dword [esp + 0x6ec], eax
jg 0x8dad43
mov ebx, dword [esp + 0x730]
cmp ebx, dword [esi + 0x174c]
jl 0x8dad43
mov eax, dword [esi + 0x1750]
shl eax, cl
cmp dword [esp + 0x6f0], eax
jg 0x8dad43
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x708], ebx
mov dword [esp + 0x70c], eax
je 0x8e2419
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x6ec]
mov esi, dword [esp + 0x6ec]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x6f0]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e23ea
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x71c], ebp
mov edx, dword [esp + 0x6f0]
test edx, edx
je 0x8e299d
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x720], ecx
mov eax, dword [esp + 0x70c]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x70c]
mov edi, dword [esp + 0x71c]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x724], eax
mov eax, dword [esp + 0x720]
and eax, dword [esp + 0x70c]
and dword [esp + 0x70c], edi
shl eax, cl
add eax, dword [esp + 0x70c]
mov dword [esp + 0x728], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e2714
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x6f4], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e4263
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e4247
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e4503
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e44e7
mov edi, dword [esp + 0x71c]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e44cb
mov ebx, dword [esp + 0x720]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e44af
cmp esi, ecx
jl 0x8e6ea0
cmp ebp, edx
jl 0x8e6e84
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x700]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x6f4], esi
add eax, dword [esp + 0x6f4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x724]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x700]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x728]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x700]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xac8], eax
mov ebp, dword [esp + 0x91c]
mov edi, dword [esp + 0x920]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x6f0], ebx
mov ecx, dword [esp + 0xac8]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x924]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x6f0]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x6ec], ebp
mov ecx, dword [esp + 0x6ec]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xac8]
cmp dword [esp + 0x194], eax
jg 0x8dccba
mov ebx, dword [esp + 0x934]
movzx ecx, byte [esp + 0x858]
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
sar ebp, cl
sar esi, cl
cmp ebp, dword [esp + 0x870]
mov dword [esp + 0x72c], ebp
jle 0x8d7320
mov ebx, dword [esp + 0x870]
mov dword [esp + 0x72c], ebx
mov edi, dword [esp + 0x878]
cmp dword [esp + 0x72c], edi
jge 0x8d7337
mov dword [esp + 0x72c], edi
mov edx, dword [esp + 0x72c]
add edx, dword [esp + 0xec]
mov eax, dword [esp + 0x72c]
cmp dword [esp + 0x878], eax
jg 0x8e429b
cmp dword [esp + 0x870], eax
jl 0x8e427f
mov edi, dword [esp + 0x86c]
lea ebx, [esi + 1]
mov dword [esp + 0x6e8], ebx
cmp ebx, edi
jle 0x8d7382
mov dword [esp + 0x6e8], edi
mov eax, dword [esp + 0x874]
cmp dword [esp + 0x6e8], eax
jge 0x8d7399
mov dword [esp + 0x6e8], eax
mov ecx, dword [esp + 0x6e8]
cmp dword [esp + 0x874], ecx
jg 0x8e5523
cmp dword [esp + 0x86c], ecx
mov ebx, ecx
jl 0x8e5808
mov ecx, dword [esp + 0x72c]
lea eax, [ecx + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x918], eax
add eax, dword [esp + 0xf0]
mov dword [esp + 0x914], eax
mov eax, ebx
mov ebx, dword [esp + 0x914]
shl eax, 0xb
add eax, edx
mov dword [esp + 0x910], eax
cmp dword [ebx], eax
je 0x8d77d9
mov ebx, ecx
movzx ecx, byte [esp + 0x858]
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x6a8], ebx
mov ebx, dword [esp + 0x6e8]
mov esi, dword [esi + 0x17dc]
mov edi, dword [edi + 0x17e0]
shl ebx, cl
test eax, eax
mov dword [esp + 0x6bc], esi
mov dword [esp + 0x6c0], edi
mov dword [esp + 0x6ac], ebx
je 0x8dcdbe
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0x72c]
cmp edi, dword [esi + 0x1744]
jl 0x8dc006
mov eax, dword [esi + 0x1748]
shl eax, cl
cmp dword [esp + 0x6a8], eax
jg 0x8dc006
mov ebx, dword [esp + 0x6e8]
cmp ebx, dword [esi + 0x174c]
jl 0x8dc006
mov eax, dword [esi + 0x1750]
shl eax, cl
cmp dword [esp + 0x6ac], eax
jg 0x8dc006
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x6c4], ebx
mov dword [esp + 0x6c8], eax
je 0x8e2a33
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x6a8]
mov esi, dword [esp + 0x6a8]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x6ac]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e2a04
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x6d8], ebp
mov edx, dword [esp + 0x6ac]
test edx, edx
je 0x8e2c05
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x6dc], ecx
mov eax, dword [esp + 0x6c8]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x6c8]
mov edi, dword [esp + 0x6d8]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x6e0], eax
mov eax, dword [esp + 0x6dc]
and eax, dword [esp + 0x6c8]
and dword [esp + 0x6c8], edi
shl eax, cl
add eax, dword [esp + 0x6c8]
mov dword [esp + 0x6e4], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e3d64
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x6b0], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e76b2
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e7696
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e4343
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e4327
mov edi, dword [esp + 0x6d8]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e430b
mov ebx, dword [esp + 0x6dc]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e42ef
cmp esi, ecx
jl 0x8e42d3
cmp ebp, edx
jl 0x8e42b7
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x6bc]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x6b0], esi
add eax, dword [esp + 0x6b0]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x6e0]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x6bc]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x6e4]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x6bc]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xacc], eax
mov ebp, dword [esp + 0x910]
mov edi, dword [esp + 0x914]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x6ac], ebx
mov ecx, dword [esp + 0xacc]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x918]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x6ac]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x6a8], ebp
mov ecx, dword [esp + 0x6a8]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xacc]
cmp dword [esp + 0x194], eax
jg 0x8dcff5
mov ebx, dword [esp + 0x934]
movzx ecx, byte [esp + 0x858]
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
sar ebp, cl
sar esi, cl
mov edi, dword [esp + 0x870]
lea ebx, [ebp - 1]
mov dword [esp + 0x6a0], ebx
cmp ebx, edi
jle 0x8d77f5
mov dword [esp + 0x6a0], edi
mov eax, dword [esp + 0x878]
cmp dword [esp + 0x6a0], eax
jge 0x8d780c
mov dword [esp + 0x6a0], eax
mov edx, dword [esp + 0x6a0]
cmp dword [esp + 0x878], edx
jg 0x8e57ec
cmp dword [esp + 0x870], edx
jl 0x8e5577
mov ebx, dword [esp + 0x86c]
mov dword [esp + 0x6a4], esi
cmp esi, ebx
jle 0x8d7846
mov dword [esp + 0x6a4], ebx
mov esi, dword [esp + 0x874]
cmp dword [esp + 0x6a4], esi
jge 0x8d785d
mov dword [esp + 0x6a4], esi
mov edi, dword [esp + 0x6a4]
cmp dword [esp + 0x874], edi
jg 0x8e555b
cmp dword [esp + 0x86c], edi
jl 0x8e553f
mov ebx, dword [esp + 0x6a0]
mov edx, edi
mov ecx, edi
shl edx, 3
shl ecx, 0xb
lea eax, [edx + ebx]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x90c], eax
add eax, dword [esp + 0xf0]
mov dword [esp + 0x908], eax
mov esi, dword [esp + 0x908]
mov eax, ebx
add eax, ecx
add eax, dword [esp + 0xec]
cmp dword [esi], eax
mov dword [esp + 0x904], eax
je 0x8d7ceb
movzx ecx, byte [esp + 0x858]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0xb20]
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x660], ebx
mov ebx, dword [esp + 0x6a4]
mov edi, dword [edi + 0x17dc]
mov ebp, dword [ebp + 0x17e0]
shl ebx, cl
test eax, eax
mov dword [esp + 0x674], edi
mov dword [esp + 0x678], ebp
mov dword [esp + 0x664], ebx
je 0x8dd0af
mov eax, dword [esp + 0x870]
add ebp, 1
mov dword [esp + 0x65c], ebp
cmp ebp, eax
jle 0x8d7d07
mov edx, dword [esp + 0x620]
test edx, edx
je 0x8e4ad0
mov ebp, dword [esp + 0x8f8]
mov edi, dword [esp + 0x8fc]
mov ebx, dword [esp + 0x864]
sub dword [esp + 0x61c], ebx
mov ecx, dword [esp + 0xad4]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x900]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x61c]
mov ebp, dword [esp + 0x860]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x620], ebp
mov ecx, dword [esp + 0x620]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xad4]
cmp dword [esp + 0x194], eax
jle 0x8d8192
mov ebx, dword [esp + 0x65c]
mov esi, dword [esp + 0x6a4]
mov dword [esp + 0x194], eax
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov edi, dword [esp + 0x880]
mov eax, dword [esp + 0xb38]
mov ebp, dword [esp + 0x870]
shl edi, 2
add eax, edi
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
mov dword [esp + 0x964], edi
add eax, 0x8000
sar eax, 0x10
cmp eax, ebp
mov dword [esp + 0x614], eax
jle 0x8d81dc
mov dword [esp + 0x614], ebp
mov eax, dword [esp + 0x878]
cmp dword [esp + 0x614], eax
jge 0x8d81f3
mov dword [esp + 0x614], eax
mov ecx, dword [esp + 0x614]
cmp dword [esp + 0x878], ecx
jg 0x8e74f2
mov ebx, dword [esp + 0x614]
cmp dword [esp + 0x870], ebx
jl 0x8e74d6
movsx eax, dx
mov esi, dword [esp + 0x86c]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, esi
mov dword [esp + 0x618], eax
jle 0x8d8247
mov dword [esp + 0x618], esi
mov edi, dword [esp + 0x874]
cmp dword [esp + 0x618], edi
jge 0x8d825e
mov dword [esp + 0x618], edi
mov ebp, dword [esp + 0x618]
cmp dword [esp + 0x874], ebp
jg 0x8e437b
mov eax, dword [esp + 0x618]
cmp dword [esp + 0x86c], eax
jl 0x8e435f
mov edx, dword [esp + 0x618]
mov ecx, dword [esp + 0x614]
lea eax, [ecx + edx*8]
mov edx, ecx
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8f4], eax
add eax, dword [esp + 0xf0]
add edx, dword [esp + 0xec]
mov dword [esp + 0x8f0], eax
mov eax, dword [esp + 0x618]
mov ebx, dword [esp + 0x8f0]
shl eax, 0xb
add edx, eax
cmp dword [ebx], edx
mov dword [esp + 0x8ec], edx
je 0x8d86bf
mov ebx, ecx
movzx ecx, byte [esp + 0x858]
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x5d4], ebx
mov ebx, dword [esp + 0x618]
mov esi, dword [esi + 0x17dc]
mov edi, dword [edi + 0x17e0]
shl ebx, cl
test eax, eax
mov dword [esp + 0x5e8], esi
mov dword [esp + 0x5ec], edi
mov dword [esp + 0x5d8], ebx
je 0x8e1f9a
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0x614]
cmp edi, dword [esi + 0x1744]
jl 0x8e012e
mov eax, dword [esi + 0x1748]
shl eax, cl
cmp dword [esp + 0x5d4], eax
jg 0x8e012e
mov ebx, dword [esp + 0x618]
cmp ebx, dword [esi + 0x174c]
jl 0x8e012e
mov eax, dword [esi + 0x1750]
shl eax, cl
cmp dword [esp + 0x5d8], eax
jg 0x8e012e
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x5f0], ebx
mov dword [esp + 0x5f4], eax
je 0x8e6eeb
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x5d4]
mov esi, dword [esp + 0x5d4]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x5d8]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e6ebc
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x604], ebp
mov edx, dword [esp + 0x5d8]
test edx, edx
je 0x8e7362
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x608], ecx
mov eax, dword [esp + 0x5f4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x5f4]
mov edi, dword [esp + 0x604]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x60c], eax
mov eax, dword [esp + 0x608]
and eax, dword [esp + 0x5f4]
and dword [esp + 0x5f4], edi
shl eax, cl
add eax, dword [esp + 0x5f4]
mov dword [esp + 0x610], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e70d9
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x5dc], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e7391
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e70bd
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e759a
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e757e
mov edi, dword [esp + 0x604]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e7562
mov ebx, dword [esp + 0x608]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e7546
cmp esi, ecx
jl 0x8e752a
cmp ebp, edx
jl 0x8e750e
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5e8]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x5dc], esi
add eax, dword [esp + 0x5dc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x60c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x5e8]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x610]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x5e8]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xad8], eax
mov ebp, dword [esp + 0x8ec]
mov edi, dword [esp + 0x8f0]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x5d8], ebx
mov ecx, dword [esp + 0xad8]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x8f4]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x5d8]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x5d4], ebp
mov ecx, dword [esp + 0x5d4]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xad8]
cmp dword [esp + 0x194], eax
jle 0x8d86bf
mov ebx, dword [esp + 0x614]
mov esi, dword [esp + 0x618]
mov dword [esp + 0x194], eax
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov edi, dword [esp + 0xb2c]
mov ebp, dword [esp + 0xb2c]
movzx ecx, byte [esp + 0x858]
add edi, 8
mov dword [esp + 0xa9c], edi
mov eax, dword [edi + 4]
mov edi, dword [ebp + 8]
sar edi, cl
cmp dword [esp + 0x878], edi
jg 0x8e613a
cmp dword [esp + 0x870], edi
jl 0x8e611e
movzx ecx, byte [esp + 0x858]
mov esi, eax
sar esi, cl
cmp dword [esp + 0x874], esi
jg 0x8e6102
cmp dword [esp + 0x86c], esi
jl 0x8e60e6
lea eax, [edi + esi*8]
mov ebx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8e8], eax
add eax, dword [esp + 0xf0]
lea edx, [edi + ebx]
mov dword [esp + 0x8e4], eax
mov ebp, dword [esp + 0x8e4]
mov eax, esi
shl eax, 0xb
add edx, eax
mov dword [esp + 0x8e0], edx
cmp dword [ebp], edx
je 0x8d8b2a
mov eax, dword [esp + 0xb20]
mov ebx, edi
mov edx, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov eax, dword [eax + 0x17dc]
mov edx, dword [edx + 0x17e0]
shl ebx, cl
mov dword [esp + 0x594], ebx
mov ebx, esi
mov dword [esp + 0x5a8], eax
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x5ac], edx
mov dword [esp + 0x598], ebx
test eax, eax
je 0x8e217d
mov ebp, dword [esp + 0xb20]
cmp edi, dword [ebp + 0x1744]
jl 0x8e2161
mov eax, dword [ebp + 0x1748]
shl eax, cl
cmp dword [esp + 0x594], eax
jg 0x8e2161
cmp esi, dword [ebp + 0x174c]
jl 0x8e2161
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp ebx, eax
jg 0x8e2161
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x5b0], ebx
mov dword [esp + 0x5b4], eax
je 0x8e4c0e
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x594]
mov esi, dword [esp + 0x594]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x598]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e4bdf
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x5c4], ebp
mov edx, dword [esp + 0x598]
test edx, edx
je 0x8e47e0
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x5c8], ecx
mov eax, dword [esp + 0x5b4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x5b4]
mov edi, dword [esp + 0x5c4]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov dword [esp + 0x5cc], eax
mov eax, dword [esp + 0x5c8]
and eax, dword [esp + 0x5b4]
and dword [esp + 0x5b4], edi
shl eax, cl
add eax, dword [esp + 0x5b4]
mov dword [esp + 0x5d0], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e4557
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x59c], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e453b
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e451f
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e4423
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e4407
mov edi, dword [esp + 0x5c4]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e43eb
mov ebx, dword [esp + 0x5c8]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e43cf
cmp esi, ecx
jl 0x8e43b3
cmp ebp, edx
jl 0x8e4397
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5a8]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x59c], esi
add eax, dword [esp + 0x59c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x5cc]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x5a8]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x5d0]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x5a8]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xadc], eax
mov eax, dword [esp + 0xa9c]
mov ebx, dword [esp + 0x8e0]
mov ecx, dword [esp + 0x8e4]
mov ebp, dword [esp + 0xadc]
mov esi, dword [esp + 0x87c]
mov edi, dword [esp + 0x8e8]
mov dword [ecx], ebx
movzx ecx, byte [esp + 0x858]
mov dword [esi + edi], ebp
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov edi, dword [esp + 0x868]
sar esi, cl
mov eax, esi
shl eax, cl
sub eax, dword [esp + 0x860]
sar ebx, cl
movzx edx, byte [eax + edi]
mov eax, ebx
shl eax, cl
sub eax, dword [esp + 0x864]
movzx eax, byte [eax + edi]
add edx, eax
mov eax, ebp
imul edx, dword [esp + 0x1ec]
add eax, edx
cmp dword [esp + 0x194], eax
jle 0x8d8b2a
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
mov esi, dword [esp + 0xb2c]
mov ebx, dword [esp + 0xb2c]
movzx ecx, byte [esp + 0x858]
mov edi, dword [esi + 0x10]
add ebx, 0x10
mov dword [esp + 0xa98], ebx
mov eax, dword [ebx + 4]
sar edi, cl
cmp dword [esp + 0x878], edi
jg 0x8e6a9f
cmp dword [esp + 0x870], edi
jl 0x8e6a4b
movzx ecx, byte [esp + 0x858]
mov esi, eax
sar esi, cl
cmp dword [esp + 0x874], esi
jg 0x8e6496
cmp dword [esp + 0x86c], esi
jl 0x8e647a
lea eax, [edi + esi*8]
mov ebx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8dc], eax
add eax, dword [esp + 0xf0]
lea edx, [edi + ebx]
mov dword [esp + 0x8d8], eax
mov ebp, dword [esp + 0x8d8]
mov eax, esi
shl eax, 0xb
add edx, eax
mov dword [esp + 0x8d4], edx
cmp dword [ebp], edx
je 0x8d8f95
mov eax, dword [esp + 0xb20]
mov ebx, edi
mov edx, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov eax, dword [eax + 0x17dc]
mov edx, dword [edx + 0x17e0]
shl ebx, cl
mov dword [esp + 0x554], ebx
mov ebx, esi
mov dword [esp + 0x568], eax
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x56c], edx
mov dword [esp + 0x558], ebx
test eax, eax
je 0x8e5923
mov ebp, dword [esp + 0xb20]
cmp edi, dword [ebp + 0x1744]
jl 0x8e2326
mov eax, dword [ebp + 0x1748]
shl eax, cl
cmp dword [esp + 0x554], eax
jg 0x8e2326
cmp esi, dword [ebp + 0x174c]
jl 0x8e2326
mov eax, dword [ebp + 0x1750]
shl eax, cl
cmp ebx, eax
jg 0x8e2326
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x570], ebx
mov dword [esp + 0x574], eax
je 0x8e5afb
mov eax, dword [esp + 0xa98]
mov ebx, dword [esp + 0x8d4]
mov ecx, dword [esp + 0x8d8]
mov ebp, dword [esp + 0xae0]
mov esi, dword [esp + 0x87c]
mov edi, dword [esp + 0x8dc]
mov dword [ecx], ebx
movzx ecx, byte [esp + 0x858]
mov dword [esi + edi], ebp
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov edi, dword [esp + 0x868]
sar esi, cl
mov eax, esi
shl eax, cl
sub eax, dword [esp + 0x860]
sar ebx, cl
movzx edx, byte [eax + edi]
mov eax, ebx
shl eax, cl
sub eax, dword [esp + 0x864]
movzx eax, byte [eax + edi]
add edx, eax
mov eax, ebp
imul edx, dword [esp + 0x1ec]
add eax, edx
cmp dword [esp + 0x194], eax
jle 0x8d8f95
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
mov esi, dword [esp + 0xb2c]
mov ebx, dword [esp + 0xb2c]
movzx ecx, byte [esp + 0x858]
mov edi, dword [esi + 0x18]
add ebx, 0x18
mov dword [esp + 0xa94], ebx
mov eax, dword [ebx + 4]
sar edi, cl
cmp dword [esp + 0x878], edi
jg 0x8e61c6
cmp dword [esp + 0x870], edi
jl 0x8e93e6
movzx ecx, byte [esp + 0x858]
mov esi, eax
sar esi, cl
cmp dword [esp + 0x874], esi
jg 0x8e93ca
cmp dword [esp + 0x86c], esi
jl 0x8e75b6
lea eax, [edi + esi*8]
mov ebx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8d0], eax
add eax, dword [esp + 0xf0]
lea edx, [edi + ebx]
mov dword [esp + 0x8cc], eax
mov ebp, dword [esp + 0x8cc]
mov eax, esi
shl eax, 0xb
add edx, eax
mov dword [esp + 0x8c8], edx
cmp dword [ebp], edx
je 0x8d5722
mov eax, dword [esp + 0xb20]
mov ebx, edi
mov edx, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov eax, dword [eax + 0x17dc]
mov edx, dword [edx + 0x17e0]
shl ebx, cl
mov dword [esp + 0x514], ebx
mov ebx, esi
mov dword [esp + 0x528], eax
mov eax, dword [esp + 0x808]
shl ebx, cl
mov dword [esp + 0x52c], edx
mov dword [esp + 0x518], ebx
test eax, eax
je 0x8e4009
mov edi, dword [ecx + 0x1720]
mov ebp, dword [ecx + 0x9a8]
mov dword [esp + 0x100], edi
mov dword [esp + 0x154], ebp
jmp 0x8d4148
mov esi, dword [esp + 0xb20]
mov ebx, dword [esp + 0x818]
mov ebp, dword [esp + 0xb20]
mov eax, dword [esp + 0x81c]
mov ecx, dword [esp + 0x824]
shl ebx, 4
mov edi, dword [esp + 0xb40]
add ebx, dword [esi + 0x170c]
mov esi, dword [esp + 0xb44]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], eax
shl edi, 4
lea ebp, [ebx + 8]
sar esi, 1
mov dword [esp + 0xc], esi
mov eax, dword [ecx + 4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edi + edx + 0x10]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x81c]
mov edx, dword [eax + 0x17f0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
mov dword [esp + 0xc], esi
mov eax, dword [ecx + 8]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [edi + edx + 0x10]
mov edi, dword [esp + 0x81c]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], edi
mov eax, dword [edx + 4]
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x828]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0xb20]
mov ebx, eax
mov eax, dword [esi + 8]
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0x194], eax
jmp 0x8d4d3e
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov eax, dword [ebx]
mov ebp, ebx
mov eax, dword [eax + 0x310]
shl eax, 8
sar eax, 8
cmp dword [esp + 0x194], eax
jge 0x8d9260
mov edx, dword [esp + 0xb2c]
mov eax, dword [edx + 8]
or eax, dword [edx + 0xc]
or eax, dword [edx + 0x10]
or eax, dword [edx + 0x14]
or eax, dword [edx + 0x18]
or eax, dword [edx + 0x1c]
je 0x8da5ba
mov esi, dword [esp + 0xb2c]
mov edi, dword [esp + 0xb2c]
add esi, 0x20
mov dword [esp + 0x1e0], esi
mov eax, dword [esi + 4]
mov esi, dword [edi + 0x20]
sar esi, 1
cmp dword [esp + 0x184], esi
jg 0x8e2342
cmp dword [esp + 0x17c], esi
jl 0x8e2fdc
mov ebp, eax
sar ebp, 1
cmp dword [esp + 0x180], ebp
jg 0x8e2fc0
cmp dword [esp + 0x178], ebp
jl 0x8e39d3
lea eax, [esi + ebp*8]
and eax, 0x3f
shl eax, 2
mov edi, eax
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0xec]
add edi, dword [esp + 0xf0]
lea edx, [esi + eax]
mov eax, ebp
shl eax, 0xb
lea ebx, [edx + eax]
cmp dword [edi], ebx
je 0x8d93a7
mov edx, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov eax, dword [edx + 0x17dc]
mov dword [esp + 0x10], 0x10
imul ebp, eax
mov dword [esp + 0xc], eax
add esi, dword [ecx]
lea eax, [esi + ebp]
mov esi, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov ebp, dword [esp + 0x1dc]
mov dword [edi], ebx
mov ecx, dword [esp + 0x1e0]
mov edi, dword [esp + 0x188]
mov edx, dword [esp + 0xb2c]
mov ebx, dword [esp + 0x174]
mov dword [edi + ebp], eax
mov ebp, dword [ecx + 4]
mov esi, dword [edx + 0x20]
sar ebp, 1
lea edx, [ebp + ebp]
sub edx, dword [esp + 0x16c]
sar esi, 1
movzx ecx, byte [edx + ebx]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + ebx]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d93a7
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebp
mov dword [esp + 0x194], eax
cmp esi, dword [esp + 0x17c]
mov edi, esi
jg 0x8da19a
cmp edi, dword [esp + 0x184]
jl 0x8da18e
cmp dword [esp + 0x184], edi
jg 0x8e3883
cmp dword [esp + 0x17c], edi
jl 0x8e3867
lea ebx, [ebp - 1]
cmp ebx, dword [esp + 0x178]
jg 0x8da4c5
cmp ebx, dword [esp + 0x180]
jl 0x8da4b9
cmp dword [esp + 0x180], ebx
jg 0x8e346f
cmp dword [esp + 0x178], ebx
jl 0x8e3453
mov eax, dword [esp + 0xec]
lea edx, [edi + eax]
lea eax, [edi + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x1d8], eax
add eax, dword [esp + 0xf0]
mov dword [esp + 0x1d4], eax
mov ecx, dword [esp + 0x1d4]
mov eax, ebx
shl eax, 0xb
add eax, edx
mov dword [esp + 0x1d0], eax
cmp dword [ecx], eax
je 0x8d9570
mov esi, dword [esp + 0xb20]
mov eax, edi
mov ebp, dword [esp + 0x158]
mov edx, dword [esi + 0x17dc]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ebp]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov esi, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1d8]
mov ebp, dword [esp + 0x188]
mov dword [ecx], esi
mov esi, dword [esp + 0x174]
mov dword [ebp + edx], eax
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
movzx ecx, byte [edx + esi]
lea edx, [edi + edi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + esi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jg 0x8daf20
mov edi, dword [esp + 0x1e0]
mov esi, dword [edi]
mov ebp, dword [edi + 4]
sar esi, 1
sar ebp, 1
mov edi, esi
cmp esi, dword [esp + 0x17c]
jle 0x8d951e
mov edi, dword [esp + 0x17c]
cmp edi, dword [esp + 0x184]
jge 0x8d952e
mov edi, dword [esp + 0x184]
mov eax, dword [esp + 0xec]
lea edx, [edi + eax]
cmp dword [esp + 0x184], edi
jg 0x8e384b
cmp dword [esp + 0x17c], edi
jge 0x8d9570
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
lea esi, [esi]
lea ebx, [ebp + 1]
cmp ebx, dword [esp + 0x178]
jg 0x8da4d1
cmp ebx, dword [esp + 0x180]
jl 0x8da4dd
cmp dword [esp + 0x180], ebx
jg 0x8e237a
cmp dword [esp + 0x178], ebx
jl 0x8e3963
lea eax, [edi + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x1cc], eax
add eax, dword [esp + 0xf0]
mov dword [esp + 0x1c8], eax
mov eax, ebx
shl eax, 0xb
add eax, edx
mov edx, dword [esp + 0x1c8]
mov dword [esp + 0x1c4], eax
cmp dword [edx], eax
je 0x8d9694
mov ecx, dword [esp + 0xb20]
mov eax, edi
mov esi, dword [esp + 0x158]
mov ebp, dword [esp + 0x15c]
mov edx, dword [ecx + 0x17dc]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [esi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c8]
mov esi, dword [esp + 0x188]
mov ebp, dword [esp + 0x1cc]
mov dword [edx], ecx
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
mov dword [esi + ebp], eax
mov esi, dword [esp + 0x174]
movzx ecx, byte [edx + esi]
lea edx, [edi + edi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + esi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp eax, dword [esp + 0x194]
jl 0x8db25d
mov edi, dword [esp + 0x1e0]
mov esi, dword [edi]
mov ebp, dword [edi + 4]
sar esi, 1
sar ebp, 1
lea edi, [esi - 1]
cmp edi, dword [esp + 0x17c]
jg 0x8da4f5
cmp edi, dword [esp + 0x184]
jl 0x8da4e9
cmp dword [esp + 0x184], edi
jg 0x8e34df
cmp dword [esp + 0x17c], edi
jl 0x8e34c3
cmp ebp, dword [esp + 0x178]
mov ebx, ebp
jg 0x8da50d
cmp ebx, dword [esp + 0x180]
jl 0x8da501
cmp dword [esp + 0x180], ebx
jg 0x8e399b
cmp dword [esp + 0x178], ebx
jl 0x8e397f
lea edx, [ebx*8]
mov ecx, ebx
lea eax, [edx + edi]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x1c0], eax
shl ecx, 0xb
add eax, dword [esp + 0xf0]
lea ebp, [edi + ecx]
add ebp, dword [esp + 0xec]
cmp dword [eax], ebp
mov dword [esp + 0x1bc], eax
je 0x8d9813
mov ecx, dword [esp + 0xb20]
mov eax, edi
mov esi, dword [esp + 0x158]
mov edx, dword [ecx + 0x17dc]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [esi]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov ecx, dword [esp + 0x1bc]
lea edx, [edi + edi]
mov esi, dword [esp + 0x188]
sub edx, dword [esp + 0x170]
mov dword [ecx], ebp
mov ebp, dword [esp + 0x1c0]
mov dword [esi + ebp], eax
mov esi, dword [esp + 0x174]
movzx ecx, byte [edx + esi]
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
movzx edx, byte [edx + esi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jg 0x8db288
mov edi, dword [esp + 0x1e0]
mov esi, dword [edi]
mov ebx, dword [edi + 4]
sar esi, 1
sar ebx, 1
cmp ebx, dword [esp + 0x178]
jle 0x8d97f7
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8d9807
mov ebx, dword [esp + 0x180]
mov ecx, ebx
shl ecx, 0xb
lea edx, [ebx*8]
add esi, 1
cmp esi, dword [esp + 0x17c]
jg 0x8da519
cmp esi, dword [esp + 0x184]
jl 0x8da525
cmp dword [esp + 0x184], esi
jg 0x8e39ef
cmp dword [esp + 0x17c], esi
jl 0x8e29e8
cmp dword [esp + 0x180], ebx
jg 0x8e29cc
cmp dword [esp + 0x178], ebx
jl 0x8e2ff8
lea eax, [esi + edx]
mov edx, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov ebp, eax
add ebp, dword [esp + 0xf0]
mov dword [esp + 0x1b8], eax
lea eax, [ecx + edx]
lea edi, [eax + esi]
cmp dword [ebp], edi
je 0x8d993f
mov ecx, dword [esp + 0xb20]
mov eax, esi
mov edx, dword [ecx + 0x17dc]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
lea edx, [esi + esi]
mov dword [ebp], edi
mov edi, dword [esp + 0x188]
mov ebp, dword [esp + 0x1b8]
sub edx, dword [esp + 0x170]
mov dword [edi + ebp], eax
mov edi, dword [esp + 0x174]
movzx ecx, byte [edx + edi]
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d993f
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov ebp, dword [esp + 0x18c]
mov eax, dword [esp + 0xb38]
shl ebp, 2
add eax, ebp
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
mov dword [esp + 0x95c], ebp
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x17c]
jg 0x8da56d
cmp esi, dword [esp + 0x184]
jl 0x8da561
cmp dword [esp + 0x184], esi
jg 0x8e2efc
cmp dword [esp + 0x17c], esi
jl 0x8e2ee0
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
sar ebx, 0x10
cmp ebx, dword [esp + 0x178]
jg 0x8da585
cmp ebx, dword [esp + 0x180]
jl 0x8da579
cmp dword [esp + 0x180], ebx
jg 0x8e2f34
cmp dword [esp + 0x178], ebx
jl 0x8e2f18
lea eax, [esi + ebx*8]
and eax, 0x3f
shl eax, 2
mov ebp, eax
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0xec]
add ebp, dword [esp + 0xf0]
lea edx, [esi + eax]
mov eax, ebx
shl eax, 0xb
lea edi, [edx + eax]
cmp dword [ebp], edi
je 0x8d9acd
mov ecx, dword [esp + 0xb20]
mov eax, esi
mov edx, dword [ecx + 0x17dc]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
lea edx, [ebx + ebx]
mov dword [ebp], edi
mov edi, dword [esp + 0x188]
mov ebp, dword [esp + 0x1b4]
sub edx, dword [esp + 0x16c]
mov dword [edi + ebp], eax
mov edi, dword [esp + 0x174]
movzx ecx, byte [edx + edi]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d9acd
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov edx, dword [esp + 0xb2c]
mov ebp, dword [esp + 0xb2c]
mov ecx, dword [edx + 8]
add ebp, 8
mov dword [esp + 0xaa8], ebp
mov eax, dword [ebp + 4]
sar ecx, 1
cmp dword [esp + 0x184], ecx
jg 0x8e348b
cmp dword [esp + 0x17c], ecx
jl 0x8e1c41
mov ebx, eax
sar ebx, 1
cmp dword [esp + 0x180], ebx
jg 0x8e1c25
cmp dword [esp + 0x178], ebx
jl 0x8e1b7d
lea eax, [ecx + ebx*8]
mov esi, dword [esp + 0xf0]
and eax, 0x3f
lea ebp, [eax*4]
mov eax, dword [esp + 0xec]
lea edi, [ebp + esi]
lea edx, [ecx + eax]
mov eax, ebx
shl eax, 0xb
lea esi, [edx + eax]
cmp dword [edi], esi
je 0x8d9c13
mov eax, dword [esp + 0xb20]
mov edx, dword [eax + 0x17dc]
mov eax, ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
imul ebx, edx
mov dword [esp + 0xc], edx
add eax, dword [ecx]
add eax, ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x154]
mov edx, dword [esp + 0x188]
mov dword [edi], esi
mov edi, dword [esp + 0xaa8]
mov ecx, dword [esp + 0xb2c]
mov dword [edx + ebp], eax
mov ebx, dword [edi + 4]
mov esi, dword [ecx + 8]
mov ebp, dword [esp + 0x174]
sar ebx, 1
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
sar esi, 1
movzx ecx, byte [edx + ebp]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + ebp]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d9c13
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov ebx, dword [esp + 0xb2c]
mov eax, dword [esp + 0xb2c]
mov ecx, dword [ebx + 0x10]
add eax, 0x10
mov dword [esp + 0xaa4], eax
mov eax, dword [eax + 4]
sar ecx, 1
cmp dword [esp + 0x184], ecx
jg 0x8e1c09
cmp dword [esp + 0x17c], ecx
jl 0x8e1bed
mov ebx, eax
sar ebx, 1
cmp dword [esp + 0x180], ebx
jg 0x8e1bd1
cmp dword [esp + 0x178], ebx
jl 0x8e1bb5
lea eax, [ecx + ebx*8]
mov esi, dword [esp + 0xf0]
and eax, 0x3f
lea ebp, [eax*4]
mov eax, dword [esp + 0xec]
lea edi, [ebp + esi]
lea edx, [ecx + eax]
mov eax, ebx
shl eax, 0xb
lea esi, [edx + eax]
cmp dword [edi], esi
je 0x8d9d59
mov eax, dword [esp + 0xb20]
mov edx, dword [eax + 0x17dc]
mov eax, ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
imul ebx, edx
mov dword [esp + 0xc], edx
add eax, dword [ecx]
add eax, ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x154]
mov edx, dword [esp + 0x188]
mov dword [edi], esi
mov edi, dword [esp + 0xaa4]
mov ecx, dword [esp + 0xb2c]
mov dword [edx + ebp], eax
mov ebx, dword [edi + 4]
mov esi, dword [ecx + 0x10]
mov ebp, dword [esp + 0x174]
sar ebx, 1
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
sar esi, 1
movzx ecx, byte [edx + ebp]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + ebp]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8d9d59
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov ebx, dword [esp + 0xb2c]
mov eax, dword [esp + 0xb2c]
mov ecx, dword [ebx + 0x18]
add eax, 0x18
mov dword [esp + 0xaa0], eax
mov eax, dword [eax + 4]
sar ecx, 1
cmp dword [esp + 0x184], ecx
jg 0x8e1b99
cmp dword [esp + 0x17c], ecx
jl 0x8e3813
mov ebx, eax
sar ebx, 1
cmp dword [esp + 0x180], ebx
jg 0x8e37f7
cmp dword [esp + 0x178], ebx
jl 0x8e34a7
lea eax, [ecx + ebx*8]
mov esi, dword [esp + 0xf0]
and eax, 0x3f
lea ebp, [eax*4]
mov eax, dword [esp + 0xec]
lea edi, [ebp + esi]
lea edx, [ecx + eax]
mov eax, ebx
shl eax, 0xb
lea esi, [edx + eax]
cmp dword [edi], esi
je 0x8d4548
mov eax, dword [esp + 0xb20]
mov edx, dword [eax + 0x17dc]
mov eax, ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
imul ebx, edx
mov dword [esp + 0xc], edx
add eax, dword [ecx]
add eax, ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x154]
mov edx, dword [esp + 0x188]
mov dword [edi], esi
mov edi, dword [esp + 0xaa0]
mov ecx, dword [esp + 0xb2c]
mov dword [edx + ebp], eax
mov ebx, dword [edi + 4]
mov esi, dword [ecx + 0x18]
mov ebp, dword [esp + 0x174]
sar ebx, 1
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x16c]
sar esi, 1
movzx ecx, byte [edx + ebp]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + ebp]
jmp 0x8d452f
mov eax, dword [ebx + 0x1750]
shl eax, cl
test eax, eax
js 0x8d4020
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx edx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x82c], ebx
mov dword [esp + 0x830], eax
je 0x8da650
sub edx, dword [esp + 0x82c]
mov ebx, dword [esi + 0x16e0]
movzx ecx, byte [esp + 0x858]
mov dword [esp + 0x2c], edx
mov edi, dword [esi + 0x16dc]
imul edx, dword [esi + 0x16bc]
mov eax, edx
mov dword [esp + 0x24], edx
sar edx, 0x1f
idiv dword [esp + 0x82c]
mov edx, dword [esp + 0x2c]
imul edx, dword [esi + 0x16c0]
mov dword [esp + 0x2c], edx
mov dword [esp + 0xf8], eax
mov eax, edx
mov esi, dword [esp + 0xf8]
sar edx, 0x1f
idiv dword [esp + 0x82c]
mov edx, dword [esp + 0x830]
and edx, edi
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x830]
and eax, ebx
shl eax, cl
add eax, edx
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0xf4]
and eax, dword [esp + 0x830]
and dword [esp + 0x830], esi
shl eax, cl
mov ecx, dword [esp + 0x85c]
add eax, dword [esp + 0x830]
test ecx, ecx
mov dword [esp + 0x848], eax
jne 0x8dbcf6
mov esi, edi
mov edi, dword [esp + 0xb20]
sar esi, 1
mov edx, dword [edi + 0x1814]
shl edx, 4
lea ebp, [edx + esi]
cmp ebp, 0xfffffff0
jl 0x8e3d48
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov ecx, dword [ebx + 0x1818]
shl ecx, 4
lea ebx, [ecx + eax]
cmp ebx, 0xfffffff0
jl 0x8e3c84
mov edi, dword [esp + 0xb20]
mov edi, dword [edi + 4]
cmp ebp, edi
mov dword [esp + 0x810], edi
jg 0x8e3c68
mov ebp, dword [esp + 0xb20]
mov ebp, dword [ebp + 8]
cmp ebx, ebp
mov dword [esp + 0x814], ebp
jg 0x8e3cf4
mov edi, dword [esp + 0xf8]
sar edi, 1
lea ebp, [edi + edx]
cmp ebp, 0xfffffff0
jl 0x8e3cd8
mov ebx, dword [esp + 0xf4]
sar ebx, 1
lea edx, [ebx + ecx]
cmp edx, 0xfffffff0
jl 0x8e3cbc
cmp dword [esp + 0x810], ebp
jl 0x8e3ca0
cmp dword [esp + 0x814], edx
jl 0x8e7d3c
mov ecx, dword [esp + 0xb20]
mov ebp, dword [esp + 0x818]
mov edx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x824]
imul eax, ebp
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x844]
mov dword [esp + 0xc], 0x10
add esi, dword [ecx]
lea eax, [esi + eax]
mov esi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x818]
mov ecx, dword [esp + 0x824]
mov edx, dword [esi + 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 + 0x848]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x170c]
mov dword [esp], eax
call dword [edx + ebx*4]
mov esi, dword [esp + 0x818]
mov edi, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ebp, dword [esp + 0xb20]
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 + 0x3e8]
mov dword [esp + 0x194], eax
jmp 0x8d4d3e
test byte [ebx + 0x1730], 4
je 0x8d4d80
jmp 0x8d4d73
mov ebp, dword [esp + 0xf0]
mov dword [ecx + 0x171c], 0x400000
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], ebp
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0xb20]
mov eax, dword [eax + 0x171c]
mov dword [esp + 0xec], eax
jmp 0x8d4170
test byte [edi + 0x1730], 4
je 0x8d422f
jmp 0x8d4222
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
jmp 0x8d4548
mov edi, dword [esp + 0x184]
jmp 0x8d93c3
mov edi, dword [esp + 0x17c]
jmp 0x8d93b6
mov edx, dword [esp + 0x95c]
mov ecx, dword [esp + 0xb38]
lea eax, [edx + ecx - 4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x17c]
jle 0x8da1e0
mov esi, dword [esp + 0x17c]
cmp esi, dword [esp + 0x184]
jge 0x8da1f0
mov esi, dword [esp + 0x184]
cmp dword [esp + 0x184], esi
jg 0x8e392b
cmp dword [esp + 0x17c], esi
jl 0x8e390f
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
sar ebx, 0x10
cmp ebx, dword [esp + 0x178]
jle 0x8da22e
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8da23e
mov ebx, dword [esp + 0x180]
cmp dword [esp + 0x180], ebx
jg 0x8e38f3
cmp dword [esp + 0x178], ebx
jl 0x8e38d7
lea eax, [esi + ebx*8]
mov edi, dword [esp + 0xec]
and eax, 0x3f
shl eax, 2
mov ebp, eax
add ebp, dword [esp + 0xf0]
mov dword [esp + 0x1b0], eax
mov eax, ebx
shl eax, 0xb
lea edx, [esi + edi]
lea edi, [edx + eax]
cmp dword [ebp], edi
je 0x8da338
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, esi
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
lea edx, [ebx + ebx]
mov dword [ebp], edi
mov edi, dword [esp + 0x188]
mov ebp, dword [esp + 0x1b0]
sub edx, dword [esp + 0x16c]
mov dword [edi + ebp], eax
mov edi, dword [esp + 0x174]
movzx ecx, byte [edx + edi]
lea edx, [esi + esi]
sub edx, dword [esp + 0x170]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8da338
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov ebp, dword [esp + 0xb20]
mov ebx, dword [ebp + 0x20dc]
test ebx, ebx
jne 0x8d48b6
mov eax, dword [esp + 0x190]
sub dword [esp + 0x18c], eax
mov edx, dword [esp + 0x18c]
mov ecx, dword [esp + 0xb38]
lea eax, [ecx + edx*4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
lea esi, [eax + 0x8000]
sar esi, 0x10
cmp esi, dword [esp + 0x17c]
jle 0x8da394
mov esi, dword [esp + 0x17c]
cmp esi, dword [esp + 0x184]
jge 0x8da3a4
mov esi, dword [esp + 0x184]
cmp dword [esp + 0x184], esi
jg 0x8e7dac
cmp dword [esp + 0x17c], esi
jl 0x8e7d90
movsx eax, dx
imul eax, dword [esp + 0xb3c]
lea ebx, [eax + 0x8000]
sar ebx, 0x10
cmp ebx, dword [esp + 0x178]
jle 0x8da3e2
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8da3f2
mov ebx, dword [esp + 0x180]
cmp dword [esp + 0x180], ebx
jg 0x8e3c4c
cmp dword [esp + 0x178], ebx
jl 0x8e3c30
lea eax, [esi + ebx*8]
mov edi, dword [esp + 0xf0]
and eax, 0x3f
lea ebp, [eax*4]
mov eax, dword [esp + 0xec]
add edi, ebp
mov dword [esp + 0x1ac], edi
lea edx, [esi + eax]
mov eax, ebx
shl eax, 0xb
lea edi, [edx + eax]
mov edx, dword [esp + 0x1ac]
cmp dword [edx], edi
je 0x8d48b6
mov ecx, dword [esp + 0xb20]
mov eax, esi
mov edx, dword [ecx + 0x17dc]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x154]
mov edx, dword [esp + 0x1ac]
jmp 0x8d485d
mov dword [esp + 0x168], eax
jmp 0x8d491f
mov dword [esp + 0x164], eax
jmp 0x8d493f
mov ebx, dword [esp + 0x180]
jmp 0x8d93fa
mov ebx, dword [esp + 0x178]
jmp 0x8d93ed
mov ebx, dword [esp + 0x178]
jmp 0x8d9580
mov ebx, dword [esp + 0x180]
jmp 0x8d958d
mov edi, dword [esp + 0x184]
jmp 0x8d96b1
mov edi, dword [esp + 0x17c]
jmp 0x8d96a4
mov ebx, dword [esp + 0x180]
jmp 0x8d96e7
mov ebx, dword [esp + 0x178]
jmp 0x8d96da
mov esi, dword [esp + 0x17c]
jmp 0x8d9823
mov esi, dword [esp + 0x184]
jmp 0x8d9830
mov dword [esp + 0x7c4], edi
jmp 0x8d52a3
mov dword [esp + 0x7c4], esi
jmp 0x8d528f
mov ebp, dword [esp + 0x874]
jmp 0x8d52f2
mov ebp, dword [esp + 0x86c]
jmp 0x8d52e5
mov esi, dword [esp + 0x184]
jmp 0x8d998b
mov esi, dword [esp + 0x17c]
jmp 0x8d997e
mov ebx, dword [esp + 0x180]
jmp 0x8d99d3
mov ebx, dword [esp + 0x178]
jmp 0x8d99c6
mov ebx, dword [esp + 0xb24]
mov esi, dword [esp + 0xb28]
mov dword [ebx], 0
mov dword [esi], 0
mov dword [edx + 0x16b8], 1
jmp 0x8d4c60
mov ecx, dword [esp + 0xb24]
mov ebx, dword [esp + 0xb28]
mov dword [ecx], 0
mov dword [ebx], 0
mov dword [ebp + 0x16b8], 1
jmp 0x8d4c60
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
jmp 0x8d43ba
mov ebx, dword [esp + 0x870]
mov dword [esp + 0x72c], ebx
jmp 0x8d6e54
mov dword [esp + 0x72c], edi
jmp 0x8d6e68
mov dword [esp + 0x730], ebx
jmp 0x8d6ea2
mov dword [esp + 0x730], edi
jmp 0x8d6eb6
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov edi, dword [esp + 0x85c]
sub edx, ebx
add ebp, 0x2c
mov eax, dword [esp + 0x818]
mov dword [esp + 0xa8c], edx
mov dword [esp + 0xa04], ebp
add edi, 4
shl eax, 3
mov dword [esp + 0xa88], edi
mov dword [esp + 0xa00], eax
mov dword [esp + 0x834], 0
mov edx, dword [esp + 0x834]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x834]
mov esi, edx
mov ebp, dword [ecx + edx*8 + 0x16dc]
and esi, 1
mov edi, dword [ecx + edx*8 + 0x16e0]
mov ebx, esi
movzx ecx, byte [esp + 0xa88]
mov edx, dword [esp + 0xa8c]
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16bc]
movzx ecx, byte [esp + 0xa88]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x82c]
mov edx, dword [esp + 0xa8c]
add ebx, eax
mov eax, dword [esp + 0x834]
mov dword [esp + 0x838], ebx
mov ebx, dword [esp + 0x834]
sar ebx, 1
mov dword [esp + 0x30], ebx
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
movzx ecx, byte [esp + 0x858]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x82c]
mov edx, dword [esp + 0x830]
and edx, ebp
add ebx, eax
mov eax, dword [esp + 0x830]
and eax, edi
shl eax, cl
add eax, edx
mov edx, dword [esp + 0x838]
mov dword [esp + 0x83c], eax
mov eax, dword [esp + 0x830]
and edx, dword [esp + 0x830]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x840], eax
mov eax, dword [esp + 0x30]
imul eax, dword [esp + 0xa00]
lea esi, [eax + esi*8]
mov eax, dword [esp + 0x85c]
add esi, dword [edx + 0x170c]
test eax, eax
je 0x8daa8a
mov eax, dword [esp + 0x818]
sar edi, 2
mov ecx, dword [esp + 0x824]
sar ebp, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul edi, eax
mov dword [esp + 8], eax
add ebp, dword [ecx]
mov dword [esp], esi
lea eax, [ebp + edi]
mov edi, dword [esp + 0x83c]
mov dword [esp + 4], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x818]
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0xa04]
sar dword [esp + 0x838], 2
imul ebx, eax
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x838], ecx
mov eax, dword [esp + 0x838]
mov dword [esp], esi
add eax, ebx
mov ebx, dword [esp + 0x840]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x834], 1
cmp dword [esp + 0x834], 4
jne 0x8da690
jmp 0x8da0c7
mov eax, dword [esp + 0xb34]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0xb30]
mov ebp, dword [esp + 0x100]
mov dword [esp + 0x14], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
call fcn.008905c0
mov dword [esp + 0x194], eax
jmp 0x8d4c3f
mov edi, esi
mov edx, dword [esp + 0x824]
mov esi, dword [esp + 0xb44]
mov eax, dword [esp + 0x7c4]
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x828]
mov ebx, dword [esp + 0xb20]
mov dword [esp + 0x10], esi
add eax, dword [edx]
mov edx, edi
imul edx, ebp
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov ecx, dword [esp + 0x820]
test ecx, ecx
mov dword [esp + 0xac0], eax
je 0x8d5692
mov eax, dword [esp + 0x7c4]
mov ebx, ebp
and ebx, 1
mov edx, dword [esp + 0xb44]
mov ecx, dword [esp + 0x7c4]
mov esi, dword [esp + 0xb20]
and eax, 1
mov edi, dword [esp + 0x794]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar edx, 1
sar ecx, 1
mov dword [esp + 0x788], edx
shl edi, 4
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x78c], ecx
mov ecx, dword [esp + 0x788]
mov edx, ebx
add edi, dword [esi + 0x170c]
mov esi, ebp
sar esi, 1
add edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x798]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x824]
imul esi, dword [esp + 0x798]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78c]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x790], eax
mov ecx, dword [esp + 0x788]
mov eax, dword [esp + 0x798]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x790]
mov dword [esp + 8], eax
mov edx, dword [edx + 8]
add dword [esp + 0x78c], edx
add esi, dword [esp + 0x78c]
mov dword [esp], ecx
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov ebx, dword [esp + 0x788]
mov esi, dword [esp + 0x798]
mov edx, dword [esp + 0x828]
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov eax, dword [edx + 4]
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
mov esi, dword [esp + 0x788]
mov edi, dword [esp + 0x798]
mov edx, dword [esp + 0x828]
mov ecx, dword [esp + 0x790]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xb20]
mov dword [esp + 0xc], edi
mov ebx, eax
mov eax, dword [edx + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xac0], eax
jmp 0x8d5692
mov ecx, dword [esp + 0x818]
sar edi, 1
mov eax, dword [esp + 0x824]
sar ebp, 1
mov edx, dword [edx + 0x17f0]
sar ebx, 1
mov dword [esp + 0xc], 8
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x83c]
add ebp, dword [eax]
mov dword [esp], esi
lea eax, [ebp + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov ebp, dword [esp + 0x818]
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0xa04]
sar dword [esp + 0x838], 1
imul ebx, ebp
mov ecx, dword [esp + 0x840]
mov edx, dword [edi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], ebp
mov eax, dword [eax]
add dword [esp + 0x838], eax
mov eax, dword [esp + 0x838]
mov dword [esp], esi
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8da82d
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov ebx, dword [esp + 0xb44]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], eax
mov eax, edi
mov ecx, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb20]
add eax, dword [edx]
mov edx, dword [esp + 0x7dc]
imul edx, esi
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov edx, dword [esp + 0x820]
test edx, edx
mov dword [esp + 0x888], eax
je 0x8d51b2
mov edx, dword [esp + 0xb20]
mov ebx, esi
mov eax, edi
and eax, 1
and ebx, 1
mov ecx, dword [esp + 0xb44]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0x7dc]
sar esi, 1
mov edx, dword [edx + 0x170c]
sar edi, 1
sar ecx, 1
shl eax, 4
mov dword [esp + 0x7d4], ecx
imul esi, ebp
add eax, edx
mov dword [esp + 0x804], eax
mov eax, dword [esp + 0xb40]
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
add edx, dword [eax + 0x17f0]
mov eax, edi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], ebp
add eax, dword [ecx + 4]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x804]
mov dword [esp], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0x804]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x7d4]
add edx, 8
mov dword [esp + 0x7d8], edx
mov edx, dword [esp + 0x824]
add ebx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x7d8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
add edi, dword [edx + 8]
mov dword [esp], ecx
add esi, edi
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x828]
mov ebx, dword [esp + 0x7d4]
mov dword [esp + 0xc], ebp
mov edi, dword [esp + 0x804]
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x7d4]
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x7d8]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [esi + 8]
mov esi, dword [esp + 0xb20]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], esi
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0x888], eax
jmp 0x8d51b2
mov edx, edi
sub edx, dword [esp + 0x3bc]
imul edx, dword [esi + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3bc]
mov dword [esp + 0x3d0], eax
jmp 0x8d63b3
mov esi, dword [esp + 0xb20]
sub edi, dword [esp + 0x3bc]
imul edi, dword [esi + 0x16c0]
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv dword [esp + 0x3bc]
mov dword [esp + 0x3d4], eax
jmp 0x8d63d8
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov ebx, dword [esp + 0xb44]
imul ebx, ebx
mov dword [esp + 0xa1c], ebx
jmp 0x8d5722
mov ebx, dword [esp + 0xb44]
mov edi, eax
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], eax
mov eax, ebp
mov ecx, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb20]
add eax, dword [edx]
mov edx, edi
imul edx, esi
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xac4], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d6daa
mov ebx, esi
mov eax, ebp
mov edi, dword [esp + 0x748]
and eax, 1
and ebx, 1
mov edx, dword [esp + 0xb44]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb20]
sar ebp, 1
shl edi, 4
sar edx, 1
add edi, dword [eax + 0x170c]
mov eax, dword [esp + 0xb40]
sar esi, 1
mov dword [esp + 0x740], edx
imul esi, dword [esp + 0x74c]
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0x740]
mov edx, ebx
add edx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x74c]
mov dword [esp + 0xc], eax
mov eax, ebp
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x744], eax
mov ecx, dword [esp + 0x740]
mov eax, dword [esp + 0x74c]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x744]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x74c]
mov ebx, dword [esp + 0x740]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x740]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x744]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xac4], eax
jmp 0x8d6daa
mov edx, dword [esp + 0x1e0]
mov dword [esp + 0xb04], edi
mov dword [esp + 0xb08], ebx
mov esi, dword [edx]
mov ebp, dword [edx + 4]
sar esi, 1
sar ebp, 1
mov edi, esi
cmp esi, dword [esp + 0x17c]
jle 0x8daf50
mov edi, dword [esp + 0x17c]
cmp edi, dword [esp + 0x184]
jge 0x8daf60
mov edi, dword [esp + 0x184]
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x194], eax
lea edx, [edi + ecx]
jmp 0x8d9538
mov ebp, dword [esp + 0x3b4]
sub edi, ebx
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x3c4], 0
mov dword [esp + 0xb4], edi
shl ebp, 3
add eax, 4
mov dword [esp + 0x984], ebp
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0x3c4]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x3a0]
mov ebp, dword [esp + 0x3a0]
mov edi, dword [esp + 0x3a4]
add ebp, dword [ecx + edx*8 + 0x16dc]
add edi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8db13d
mov ebx, ebp
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa44], edx
mov dword [esp + 0x3c8], ebx
mov eax, dword [esp + 0x3a4]
test eax, eax
je 0x8db218
mov edx, dword [esp + 0x3c4]
mov ebx, edi
mov ecx, dword [esp + 0xb20]
mov esi, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar esi, 1
mov eax, dword [esp + 0x3c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x3c0]
imul esi, dword [esp + 0x984]
and eax, edi
shl eax, cl
and edx, ebp
add eax, edx
mov edx, dword [esp + 0x3c8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c0]
and edx, dword [esp + 0x3c0]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0xa44]
lea esi, [esi + eax*8]
mov eax, dword [esp + 0x85c]
add esi, dword [edx + 0x170c]
test eax, eax
je 0x8db180
mov eax, dword [esp + 0x3b4]
sar edi, 2
mov ecx, dword [esp + 0x824]
sar ebp, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul edi, eax
mov dword [esp + 8], eax
add ebp, dword [ecx]
mov dword [esp], esi
lea eax, [ebp + edi]
mov edi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + edi*4 + 0x40]
mov eax, dword [esp + 0x3b4]
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0xac]
sar dword [esp + 0x3c8], 2
imul ebx, eax
mov edx, dword [ebp + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x3c8], ecx
mov eax, dword [esp + 0x3c8]
mov dword [esp], esi
add eax, ebx
mov ebx, dword [esp + 0x3cc]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x3c4], 1
cmp dword [esp + 0x3c4], 4
jne 0x8dafac
jmp 0x8d656a
mov eax, ecx
mov esi, edx
movzx ecx, byte [esp + 0xb8]
mov ebx, edx
mov edx, dword [esp + 0xb4]
and esi, 1
imul edx, dword [eax + ebx*8 + 0x16bc]
mov dword [esp + 0xa44], esi
shl esi, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3bc]
add esi, eax
mov dword [esp + 0x3c8], esi
jmp 0x8dafff
mov ecx, dword [esp + 0x3b4]
sar edi, 1
mov eax, dword [esp + 0x824]
sar ebp, 1
mov edx, dword [edx + 0x17f0]
sar ebx, 1
mov dword [esp + 0xc], 8
imul edi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
add ebp, dword [eax]
mov dword [esp], esi
lea eax, [ebp + edi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov ebp, dword [esp + 0x3b4]
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0xac]
sar dword [esp + 0x3c8], 1
imul ebx, ebp
mov ecx, dword [esp + 0x3cc]
mov edx, dword [edi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], ebp
mov eax, dword [eax]
add dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x3c8]
mov dword [esp], esi
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8db122
mov esi, dword [esp + 0x3c4]
movzx ecx, byte [esp + 0xb8]
mov eax, dword [esp + 0x3c4]
mov edx, dword [esp + 0xb4]
sar esi, 1
mov ebx, esi
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x3bc]
add ebx, eax
jmp 0x8db029
mov ebp, dword [esp + 0x1e0]
mov dword [esp + 0xb04], edi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
sar esi, 1
sar ebp, 1
jmp 0x8d9694
mov ebp, dword [esp + 0x1e0]
mov dword [esp + 0xb04], edi
mov dword [esp + 0xb08], ebx
mov esi, dword [ebp]
mov ebx, dword [ebp + 4]
sar esi, 1
sar ebx, 1
cmp ebx, dword [esp + 0x178]
jle 0x8db2b7
mov ebx, dword [esp + 0x178]
cmp ebx, dword [esp + 0x180]
jge 0x8db2c7
mov ebx, dword [esp + 0x180]
mov ecx, ebx
shl ecx, 0xb
lea edx, [ebx*8]
mov dword [esp + 0x194], eax
jmp 0x8d9813
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1f7
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1ea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1dd
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1d0
call sub.msvcrt.dll__assert
mov ebp, dword [esp + 0xa58]
mov eax, dword [esp + 0x850]
add dword [esp + 0xa0c], 1
add dword [esp + 0xa10], ebp
cmp dword [esp + 0xa3c], eax
jl 0x8d62aa
mov edi, dword [esp + 0xb20]
mov eax, dword [edi + 0x1740]
cmp eax, 0xffffffff
je 0x8df100
jl 0x8df4c0
cmp eax, 1
jle 0x8dda7d
cmp eax, 0x300
jg 0x8dda16
cmp eax, 0x200
nop
jg 0x8e000c
cmp eax, 0x100
nop
lea esi, [esi]
jle 0x8dd9af
mov eax, dword [esp + 0xb40]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0xfc]
mov ebp, dword [esp + 0xb44]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xb34]
mov dword [esp + 8], ecx
mov esi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.008876f0
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xb04]
mov edi, dword [esp + 0xb24]
mov ebp, dword [esp + 0xb28]
mov dword [edi], eax
mov eax, dword [esp + 0xb08]
mov dword [ebp], eax
jmp 0x8d4c60
mov edi, ebx
mov ebx, dword [esp + 0x3b4]
mov esi, ebp
mov eax, dword [esp + 0x3b4]
sar edi, 2
mov ebp, dword [esp + 0xb20]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x3d8]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x3b4]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x3d8]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x3b4]
imul edi, dword [esp + 0x3b4]
mov ebp, dword [esp + 0x3b4]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x3d8]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x3b4]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x3d8]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x3d4]
mov edi, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3b4]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x3dc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x3b4]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x3dc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x3b4]
imul ebx, dword [esp + 0x3b4]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x3dc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x3dc]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d656a
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb20]
mov ebx, dword [ebx + 0x174c]
mov esi, dword [esi + 0x1748]
mov eax, dword [esp + 0xb20]
mov edx, dword [edx + 0x1718]
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 0x124], esi
mov esi, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ecx, dword [ecx + 0x1744]
mov ebx, dword [ebx + 0x171c]
mov esi, dword [esi + 0x9bc]
mov eax, dword [eax + 0x1754]
mov edi, dword [edi + 0x1750]
mov dword [esp + 0x10c], ebx
mov ebx, dword [esp + 0xb08]
mov dword [esp + 0x104], esi
mov esi, dword [esp + 0xb04]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x12c], ecx
mov ebp, dword [esp + 0xb20]
mov dword [esp + 0x118], eax
mov ecx, dword [esp + 0xb20]
lea eax, [esi + ebx*8]
and eax, 0x3f
mov edx, dword [edx + 0x1758]
mov dword [esp + 0x120], edi
lea edi, [eax*4]
mov eax, dword [esp + 0x10c]
mov ebp, dword [ebp + 0x1804]
mov ecx, dword [ecx + 0x1714]
mov dword [esp + 0x114], edx
lea edx, [esi + eax]
mov eax, ebx
shl eax, 0xb
mov dword [esp + 0x11c], ebp
add edx, eax
lea ebp, [edi + ecx]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x150], edx
cmp dword [ebp], edx
je 0x8db855
mov edx, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov eax, dword [edx + 0x17dc]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], eax
imul eax, ebx
mov ebx, dword [esp + 0x15c]
add esi, dword [ecx]
lea eax, [esi + eax]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
call dword [esp + 0x104]
mov esi, dword [esp + 0x130]
mov dword [esi + edi], eax
mov edi, dword [esp + 0x150]
mov dword [ebp], edi
mov esi, dword [esp + 0xb04]
mov ebx, dword [esp + 0xb08]
mov dword [esp + 0x108], 0xffffffff
jmp 0x8dbcc0
lea edi, [esi - 1]
mov edx, dword [esp + 0x10c]
lea eax, [edi + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x14c], eax
add eax, dword [esp + 0x110]
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 0x148]
mov eax, ebx
shl eax, 0xb
add eax, edi
lea ebp, [eax + edx]
cmp dword [ecx], ebp
je 0x8dbcd7
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, edi
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x104]
mov edx, dword [esp + 0x148]
mov ecx, dword [esp + 0x130]
mov dword [edx], ebp
mov ebp, dword [esp + 0x14c]
lea edx, [edi + edi]
sub edx, dword [esp + 0x118]
mov dword [ecx + ebp], eax
mov ebp, dword [esp + 0x11c]
movzx ecx, byte [edx + ebp]
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x114]
movzx edx, byte [edx + ebp]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8dbcd7
mov dword [esp + 0xb04], edi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov dword [esp + 0xaac], 0
cmp dword [esp + 0x108], 3
je 0x8dba81
cmp dword [esp + 0x128], ebx
jge 0x8dba81
lea edi, [ebx - 1]
lea eax, [esi + edi*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x144], eax
add eax, dword [esp + 0x110]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x10c]
lea edx, [esi + eax]
mov eax, edi
shl eax, 0xb
lea ebp, [edx + eax]
mov edx, dword [esp + 0x140]
cmp dword [edx], ebp
je 0x8dba81
mov ecx, dword [esp + 0xb20]
mov eax, esi
mov edx, dword [ecx + 0x17dc]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, edi
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x104]
mov edx, dword [esp + 0x140]
mov ecx, dword [esp + 0x130]
mov dword [edx], ebp
mov ebp, dword [esp + 0x144]
lea edx, [edi + edi]
sub edx, dword [esp + 0x114]
mov dword [ecx + ebp], eax
mov ebp, dword [esp + 0x11c]
movzx ecx, byte [edx + ebp]
lea edx, [esi + esi]
sub edx, dword [esp + 0x118]
movzx edx, byte [edx + ebp]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8dba81
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], edi
mov dword [esp + 0x194], eax
mov dword [esp + 0xaac], 1
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x8dbb9b
cmp dword [esp + 0x124], esi
jle 0x8dbb9b
lea edi, [esi + 1]
mov edx, dword [esp + 0x10c]
lea eax, [edi + ebx*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x13c], eax
add eax, dword [esp + 0x110]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x138]
mov eax, ebx
shl eax, 0xb
add eax, edi
lea ebp, [eax + edx]
cmp dword [ecx], ebp
je 0x8dbb9b
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax + 0x17dc]
mov eax, edi
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x104]
mov edx, dword [esp + 0x138]
mov ecx, dword [esp + 0x130]
mov dword [edx], ebp
mov ebp, dword [esp + 0x13c]
lea edx, [edi + edi]
sub edx, dword [esp + 0x118]
mov dword [ecx + ebp], eax
mov ebp, dword [esp + 0x11c]
movzx ecx, byte [edx + ebp]
lea edx, [ebx + ebx]
sub edx, dword [esp + 0x114]
movzx edx, byte [edx + ebp]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8dbb9b
mov dword [esp + 0xb04], edi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov dword [esp + 0xaac], 2
cmp dword [esp + 0x108], 1
je 0x8dbce7
cmp dword [esp + 0x120], ebx
jle 0x8dbce7
add ebx, 1
lea eax, [esi + ebx*8]
and eax, 0x3f
shl eax, 2
mov ebp, eax
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x10c]
add ebp, dword [esp + 0x110]
lea edx, [esi + eax]
mov eax, ebx
shl eax, 0xb
lea edi, [edx + eax]
cmp dword [ebp], edi
je 0x8dbce7
mov ecx, dword [esp + 0xb20]
mov eax, esi
mov edx, dword [ecx + 0x17dc]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], edx
imul edx, ebx
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 8], eax
mov eax, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x104]
lea edx, [ebx + ebx]
mov dword [ebp], edi
mov edi, dword [esp + 0x130]
mov ebp, dword [esp + 0x134]
sub edx, dword [esp + 0x114]
mov dword [edi + ebp], eax
mov edi, dword [esp + 0x11c]
movzx ecx, byte [edx + edi]
lea edx, [esi + esi]
sub edx, dword [esp + 0x118]
movzx edx, byte [edx + edi]
add ecx, edx
imul ecx, dword [esp + 0x100]
add eax, ecx
cmp dword [esp + 0x194], eax
jle 0x8dbce7
mov dword [esp + 0xb04], esi
mov dword [esp + 0xb08], ebx
mov dword [esp + 0x194], eax
mov dword [esp + 0xaac], 3
mov ebp, dword [esp + 0xaac]
mov esi, dword [esp + 0xb04]
mov ebx, dword [esp + 0xb08]
mov dword [esp + 0x108], ebp
cmp dword [esp + 0x108], 2
je 0x8dbcd7
cmp dword [esp + 0x12c], esi
jl 0x8db865
mov dword [esp + 0xaac], 0xffffffff
jmp 0x8db967
cmp dword [esp + 0xaac], 0xffffffff
jne 0x8dbca4
jmp 0x8d4c3f
mov esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x818]
mov eax, dword [esp + 0xb20]
sar edi, 2
mov ecx, dword [esp + 0x818]
sar esi, 2
imul ebx, edi
add edi, 8
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp + 0xc]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x844]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x818]
mov edx, dword [ecx + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ebp + 0xc]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov ecx, dword [esp + 0x844]
add eax, 8
mov dword [esp], eax
call dword [edx + ecx*4 + 0x40]
mov eax, dword [esp + 0x818]
mov ecx, dword [esp + 0xb20]
imul edi, dword [esp + 0x818]
shl eax, 3
mov dword [esp + 0x80c], eax
mov eax, dword [esp + 0x818]
mov edx, dword [ecx + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ebp + 0xc]
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80c]
add eax, dword [ecx + 0x170c]
mov ecx, dword [esp + 0x844]
mov dword [esp], eax
call dword [edx + ecx*4 + 0x40]
mov edi, dword [esp + 0xb20]
mov eax, dword [esp + 0x818]
mov ecx, dword [esp + 0x844]
mov edx, dword [edi + 0x17f8]
mov dword [esp + 8], eax
add esi, dword [ebp + 0xc]
lea ebx, [ebx + esi + 8]
add ebx, dword [esp + 0x80c]
mov dword [esp + 4], ebx
mov eax, dword [edi + 0x170c]
add eax, 8
add eax, dword [esp + 0x80c]
mov dword [esp], eax
call dword [edx + ecx*4 + 0x40]
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xf8]
mov esi, dword [esp + 0x818]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x818]
sar ebx, 2
sar edi, 2
imul esi, ebx
add ebx, 8
mov edx, dword [eax + 0x17fc]
mov eax, edi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp + 0x2c]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x848]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x818]
mov edx, dword [ecx + 0x17fc]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ebp + 0x2c]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov ecx, dword [esp + 0x848]
add eax, 8
mov dword [esp], eax
call dword [edx + ecx*4 + 0x40]
mov ecx, dword [esp + 0x818]
mov eax, dword [esp + 0xb20]
imul ebx, ecx
mov edx, dword [eax + 0x17fc]
mov eax, edi
mov dword [esp + 8], ecx
add eax, dword [ebp + 0x2c]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80c]
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x848]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0x818]
mov edx, dword [ebx + 0x17fc]
mov dword [esp + 8], ecx
add edi, dword [ebp + 0x2c]
lea esi, [esi + edi + 8]
add esi, dword [esp + 0x80c]
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x170c]
mov ebx, dword [esp + 0x848]
add eax, 8
add eax, dword [esp + 0x80c]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
jmp 0x8da0c7
mov ecx, dword [esp + 0x100]
mov eax, edx
mov ebx, dword [esp + 0xb34]
lea edx, [esp + 0xb04]
mov esi, dword [esp + 0xb30]
mov dword [esp + 0x14], 0
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00893e20
mov dword [esp + 0x194], eax
jmp 0x8d4c3f
mov ebx, dword [esp + 0x100]
lea edx, [esp + 0xb04]
mov esi, dword [esp + 0xb34]
mov edi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00883f30
mov dword [esp + 0x194], eax
jmp 0x8d4c3f
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
and eax, 0xff
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0xb34]
lea edx, [esp + 0xb04]
mov edi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0088b8f0
mov dword [esp + 0x194], eax
jmp 0x8d4c3f
mov edx, dword [esp + 0x730]
mov esi, ebp
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x72c]
imul edx, ebp
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xac8], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d726b
mov ebx, dword [esp + 0x730]
mov edi, esi
mov eax, dword [esp + 0x72c]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x72c]
and eax, 1
mov esi, dword [esp + 0x730]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x6f8], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x704]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x704]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x6fc], eax
mov ecx, dword [esp + 0x6f8]
mov eax, dword [esp + 0x704]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6fc]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x704]
mov ebx, dword [esp + 0x6f8]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x6f8]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x6fc]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xac8], eax
jmp 0x8d726b
mov edi, dword [esp + 0x964]
mov ebp, dword [esp + 0xb38]
mov ecx, dword [esp + 0x870]
lea eax, [edi + ebp + 4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x47c], eax
jle 0x8dc28d
mov dword [esp + 0x47c], ecx
mov ebx, dword [esp + 0x878]
cmp dword [esp + 0x47c], ebx
jge 0x8dc2a4
mov dword [esp + 0x47c], ebx
mov esi, dword [esp + 0x47c]
cmp dword [esp + 0x878], esi
jg 0x8e93ae
cmp dword [esp + 0x870], esi
jl 0x8e9392
movsx eax, dx
mov ebp, dword [esp + 0x86c]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, ebp
mov dword [esp + 0x480], eax
jle 0x8dc2f1
mov dword [esp + 0x480], ebp
mov eax, dword [esp + 0x874]
cmp dword [esp + 0x480], eax
jge 0x8dc308
mov dword [esp + 0x480], eax
mov edx, dword [esp + 0x480]
cmp dword [esp + 0x874], edx
jg 0x8e445b
cmp dword [esp + 0x86c], edx
mov ecx, edx
jl 0x8e443f
mov esi, dword [esp + 0x47c]
mov ebx, edx
lea eax, [esi + edx*8]
mov edx, esi
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x8ac], eax
add eax, dword [esp + 0xf0]
add edx, dword [esp + 0xec]
mov dword [esp + 0x8a8], eax
mov edi, dword [esp + 0x8a8]
mov eax, ecx
shl eax, 0xb
add edx, eax
mov dword [esp + 0x8a4], edx
cmp dword [edi], edx
je 0x8dc751
mov eax, dword [esp + 0xb20]
mov ebp, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov eax, dword [eax + 0x17e0]
mov ebp, dword [ebp + 0x17dc]
shl esi, cl
shl ebx, cl
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x808]
mov dword [esp + 0x450], ebp
mov dword [esp + 0x43c], esi
mov dword [esp + 0x440], ebx
test eax, eax
je 0x8dd276
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0x47c]
cmp esi, dword [ebx + 0x1744]
jl 0x8dcfbd
mov eax, dword [ebx + 0x1748]
shl eax, cl
cmp dword [esp + 0x43c], eax
jg 0x8dcfbd
mov esi, dword [esp + 0x480]
cmp esi, dword [ebx + 0x174c]
jl 0x8dcfbd
mov eax, dword [ebx + 0x1750]
shl eax, cl
cmp dword [esp + 0x440], eax
jg 0x8dcfbd
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x458], ebx
mov dword [esp + 0x45c], eax
je 0x8e55c2
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x43c]
mov esi, dword [esp + 0x43c]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x440]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e5593
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x46c], ebp
mov edi, dword [esp + 0x440]
test edi, edi
je 0x8e7cb9
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x470], ecx
mov eax, dword [esp + 0x45c]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x45c]
mov edi, dword [esp + 0x46c]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x85c]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x470]
and eax, dword [esp + 0x45c]
and dword [esp + 0x45c], edi
shl eax, cl
add eax, dword [esp + 0x45c]
test edx, edx
mov dword [esp + 0x478], eax
jne 0x8e7a30
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x444], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e7a14
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e79f8
mov eax, dword [esp + 0x450]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xaf0], eax
mov ebp, dword [esp + 0x8a4]
mov edi, dword [esp + 0x8a8]
mov ebx, dword [esp + 0x860]
sub dword [esp + 0x440], ebx
mov ecx, dword [esp + 0xaf0]
mov dword [edi], ebp
mov eax, dword [esp + 0x87c]
mov edx, dword [esp + 0x8ac]
mov edi, dword [esp + 0x868]
mov esi, dword [esp + 0x440]
mov ebp, dword [esp + 0x864]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x43c], ebp
mov ecx, dword [esp + 0x43c]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xaf0]
cmp dword [esp + 0x194], eax
jle 0x8dc751
mov ebx, dword [esp + 0x47c]
mov esi, dword [esp + 0x480]
mov dword [esp + 0x194], eax
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 0x1818]
lea eax, [ebp + 1]
cmp eax, dword [edi + 0xc8]
jge 0x8d618e
mov edx, dword [esp + 0xb38]
mov eax, dword [esp + 0x880]
add eax, dword [esp + 0x884]
mov ecx, dword [esp + 0x870]
lea eax, [edx + eax*4]
movzx edx, word [eax + 2]
movsx eax, word [eax]
imul eax, dword [esp + 0xb3c]
add eax, 0x8000
sar eax, 0x10
cmp eax, ecx
mov dword [esp + 0x434], eax
jle 0x8dc7b5
mov dword [esp + 0x434], ecx
mov ebx, dword [esp + 0x878]
cmp dword [esp + 0x434], ebx
jge 0x8dc7cc
mov dword [esp + 0x434], ebx
mov esi, dword [esp + 0x434]
cmp dword [esp + 0x878], esi
jg 0x8e760a
mov dword [esp + 0xb08], ebp
mov ebp, dword [esp + 0xb44]
mov edi, dword [esp + 0x7c4]
mov dword [esp + 0x194], eax
imul ebp, ebp
mov dword [esp + 0xb04], edi
mov dword [esp + 0xa1c], ebp
jmp 0x8d5722
mov ebp, dword [esp + 0x72c]
mov ecx, dword [esp + 0x934]
mov edx, dword [esp + 0x730]
mov ebx, dword [esp + 0x934]
mov dword [esp + 0xb04], ebp
mov dword [esp + 0xb08], edx
mov ebp, dword [ecx]
mov esi, dword [ebx + 4]
movzx ecx, byte [esp + 0x858]
sar ebp, cl
sar esi, cl
cmp ebp, dword [esp + 0x870]
mov dword [esp + 0x72c], ebp
jle 0x8dcd13
mov ebx, dword [esp + 0x870]
mov dword [esp + 0x72c], ebx
mov edi, dword [esp + 0x878]
cmp dword [esp + 0x72c], edi
jge 0x8dcd2a
mov dword [esp + 0x72c], edi
mov edx, dword [esp + 0x72c]
add edx, dword [esp + 0xec]
mov dword [esp + 0x194], eax
jmp 0x8d7345
mov dword [esp + 8], 0x408
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf093
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb30]
lea edx, [esp + 0xb04]
mov edi, dword [esp + 0x100]
mov ebp, dword [esp + 0xb34]
mov ecx, dword [esp + 0x194]
mov dword [esp], eax
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
call fcn.008aba80
mov dword [esp + 0x194], eax
jmp 0x8d4c3f
mov esi, dword [esp + 0x6bc]
mov edx, dword [esp + 0x6e8]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x72c]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xacc], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d7742
mov ebx, dword [esp + 0x6e8]
mov edi, esi
mov eax, dword [esp + 0x72c]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x72c]
and eax, 1
mov esi, dword [esp + 0x6e8]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x6b4], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x6c0]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6c0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x6b8], eax
mov ecx, dword [esp + 0x6b4]
mov eax, dword [esp + 0x6c0]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6b8]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x6c0]
mov ebx, dword [esp + 0x6b4]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x6b4]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x6b8]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xacc], eax
jmp 0x8d7742
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 + 0x6e8]
mov edi, dword [esp + 0x934]
mov ebx, dword [esp + 0x72c]
movzx ecx, byte [esp + 0x858]
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
mov dword [esp + 0xb04], ebx
mov ebp, dword [edi]
mov esi, dword [edi + 4]
sar ebp, cl
sar esi, cl
jmp 0x8d77d9
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x7e0]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x7e0]
mov dword [esp + 0x7f8], eax
jmp 0x8d4fcd
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x7e0]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x7e0]
mov dword [esp + 0x7f4], eax
jmp 0x8d4fa8
mov esi, dword [esp + 0x450]
mov edx, dword [esp + 0x480]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x47c]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xaf0], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8dc6b3
mov ebx, dword [esp + 0x480]
mov edi, esi
mov eax, dword [esp + 0x47c]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x47c]
and eax, 1
mov esi, dword [esp + 0x480]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x448], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x454]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x454]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x44c], eax
mov ecx, dword [esp + 0x448]
mov eax, dword [esp + 0x454]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44c]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x454]
mov ebx, dword [esp + 0x448]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x448]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x44c]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xaf0], eax
jmp 0x8dc6b3
mov edi, dword [esp + 0x7dc]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x7e8], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9f8], edi
mov dword [esp + 0x9fc], ebp
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x7e8]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x7c8]
mov edi, dword [esp + 0x7c8]
mov esi, dword [esp + 0x7cc]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8dd612
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa5c], edx
mov dword [esp + 0x7ec], ebx
mov eax, dword [esp + 0x7cc]
test eax, eax
je 0x8dd6ff
mov edx, dword [esp + 0x7e8]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x7e4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x7e4]
imul ebp, dword [esp + 0x9f8]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x7ec]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x7e4]
and edx, dword [esp + 0x7e4]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x7f0], eax
mov eax, dword [esp + 0xa5c]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8dd661
mov eax, dword [esp + 0x7dc]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x7dc]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9fc]
sar dword [esp + 0x7ec], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x7ec], ecx
mov eax, dword [esp + 0x7ec]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x7f0]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x7e8], 1
cmp dword [esp + 0x7e8], 4
jne 0x8dd481
jmp 0x8d5170
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x7e8]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x7e8]
movzx ecx, byte [esp + 0x80]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa5c], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x7e0]
add ebp, eax
mov dword [esp + 0x7ec], ebp
jmp 0x8dd4d4
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x7dc]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x7dc]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9fc]
sar dword [esp + 0x7ec], 1
imul ebx, edi
mov ecx, dword [esp + 0x7f0]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x7ec], eax
mov eax, dword [esp + 0x7ec]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8dd5f7
mov ebp, dword [esp + 0x7e8]
movzx ecx, byte [esp + 0x80]
mov eax, dword [esp + 0x7e8]
mov edx, dword [esp + 0x7c]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x7e0]
add ebx, eax
jmp 0x8dd4fe
mov esi, dword [esp + 0x4e0]
mov edx, dword [esp + 0x510]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x50c]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xae8], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d5bc0
mov ebx, dword [esp + 0x510]
mov edi, esi
mov eax, dword [esp + 0x50c]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x50c]
and eax, 1
mov esi, dword [esp + 0x510]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x4d8], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x4e4]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4e4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x4dc], eax
mov ecx, dword [esp + 0x4d8]
mov eax, dword [esp + 0x4e4]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4dc]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x4e4]
mov ebx, dword [esp + 0x4d8]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x4d8]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x4dc]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xae8], eax
jmp 0x8d5bc0
mov dword [esp + 8], 0x408
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf093
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb40]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0xfc]
mov ebp, dword [esp + 0xb44]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xb34]
mov dword [esp + 8], ecx
mov esi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00883f30
mov dword [esp + 0x194], eax
jmp 0x8db428
mov eax, dword [esp + 0xb40]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0x1ec]
mov edi, dword [esp + 0xfc]
mov ebp, dword [esp + 0xb44]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xb34]
mov dword [esp + 8], ecx
mov esi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.008905c0
mov dword [esp + 0x194], eax
jmp 0x8db428
mov ebp, dword [esp + 0xb20]
mov eax, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb20]
mov ebx, dword [esp + 0xb20]
mov ebp, dword [ebp + 0x1718]
mov eax, dword [eax + 0x1744]
mov edx, dword [edx + 0x174c]
mov ecx, dword [ecx + 0x1748]
mov ebx, dword [ebx + 0x1750]
mov dword [esp + 0x350], ebp
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x34c], eax
mov edi, dword [esp + 0xb20]
mov dword [esp + 0x348], edx
mov ebp, dword [esp + 0xb20]
mov dword [esp + 0x344], ecx
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x340], ebx
mov edx, dword [esp + 0xb20]
mov ebx, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb40]
mov esi, dword [esi + 0x1804]
mov edi, dword [edi + 0x1754]
mov ebp, dword [ebp + 0x1758]
mov eax, dword [eax + 0x1714]
mov edx, dword [edx + 0x171c]
mov ecx, dword [ebx + ecx*4 + 0x9bc]
mov dword [esp + 0x33c], esi
mov dword [esp + 0x338], edi
mov dword [esp + 0x334], ebp
mov dword [esp + 0x330], eax
mov dword [esp + 0x32c], edx
mov dword [esp + 0x228], ecx
mov edi, dword [esp + 0xb08]
mov ebp, dword [esp + 0xb04]
mov esi, dword [esp + 0x960]
mov dword [esp + 0x968], edi
lea eax, [ebp + edi*8]
mov edx, ebp
and eax, 0x3f
mov esi, dword [ebx + esi*4 + 0x9bc]
shl eax, 2
mov dword [esp + 0x39c], eax
add eax, dword [esp + 0x330]
add edx, dword [esp + 0x32c]
mov dword [esp + 0x22c], esi
mov dword [esp + 0x398], eax
mov eax, edi
shl eax, 0xb
add edx, eax
mov eax, dword [esp + 0x398]
mov dword [esp + 0xa24], ebp
mov dword [esp + 0x394], edx
cmp dword [eax], edx
je 0x8ddf3b
mov ecx, dword [ebx + 0x17e0]
mov eax, dword [esp + 0x808]
mov edx, dword [ebx + 0x17dc]
mov dword [esp + 0x2f8], ecx
movzx ecx, byte [esp + 0x858]
mov dword [esp + 0x2f4], edx
shl ebp, cl
shl edi, cl
test eax, eax
mov dword [esp + 0x2e0], ebp
mov dword [esp + 0x2e4], edi
je 0x8e11d5
mov ebx, dword [esp + 0xa24]
cmp dword [esp + 0x34c], ebx
jg 0x8e11b9
mov eax, dword [esp + 0x344]
shl eax, cl
cmp ebp, eax
jg 0x8e11b9
mov ebx, dword [esp + 0x968]
cmp dword [esp + 0x348], ebx
jg 0x8e11b9
mov eax, dword [esp + 0x340]
shl eax, cl
cmp edi, eax
jg 0x8e11b9
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x300], ebx
mov dword [esp + 0x304], eax
je 0x8e94d9
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x2e0]
mov esi, dword [esp + 0x2e0]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x2e4]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e94aa
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x314], ebp
mov edi, dword [esp + 0x2e4]
test edi, edi
je 0x8e9c67
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x318], ecx
mov eax, dword [esp + 0x304]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x304]
mov edi, dword [esp + 0x314]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x85c]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x318]
and eax, dword [esp + 0x304]
and dword [esp + 0x304], edi
shl eax, cl
add eax, dword [esp + 0x304]
test edx, edx
mov dword [esp + 0x320], eax
jne 0x8e99de
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x2e8], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e99c2
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e99a6
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e7e1c
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e7e00
mov edi, dword [esp + 0x314]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e7de4
mov ebx, dword [esp + 0x318]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e7dc8
cmp esi, ecx
jl 0x8e9d92
cmp ebp, edx
jl 0x8e9d76
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2f4]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x2e8], esi
add eax, dword [esp + 0x2e8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x31c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x2f4]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x320]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x2f4]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x228]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x2fc]
mov edi, dword [esp + 0x350]
mov ebp, dword [esp + 0x39c]
mov ecx, dword [esp + 0x394]
mov edx, dword [esp + 0x398]
mov dword [edi + ebp], eax
mov dword [edx], ecx
mov ebx, dword [esp + 0xb04]
mov esi, dword [esp + 0xb08]
mov dword [esp + 0xa24], ebx
mov dword [esp + 0x968], esi
mov eax, dword [esp + 0x85c]
mov edi, dword [esp + 0xb40]
mov ebp, dword [esp + 0xb44]
mov dword [esp + 0x324], 0xffffffff
add eax, eax
add eax, 1
mov dword [esp + 0x2c0], eax
mov eax, dword [esp + 0x824]
shl edi, 4
sar ebp, 1
mov dword [esp + 0x2ac], edi
mov dword [esp + 0xc8], ebp
add eax, 0x20
mov dword [esp + 0xc4], eax
jmp 0x8df0bd
mov edi, dword [esp + 0x968]
sub esi, 1
mov dword [esp + 0x390], esi
lea eax, [esi + edi*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x38c], eax
add eax, dword [esp + 0x330]
mov dword [esp + 0x388], eax
mov ebp, dword [esp + 0x388]
mov eax, edi
shl eax, 0xb
add eax, esi
add eax, dword [esp + 0x32c]
cmp dword [ebp], eax
mov dword [esp + 0x384], eax
je 0x8df0db
mov eax, dword [esp + 0xb20]
mov edx, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov eax, dword [eax + 0x17dc]
mov edx, dword [edx + 0x17e0]
shl esi, cl
shl edi, cl
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0x808]
mov dword [esp + 0x2b8], edx
mov dword [esp + 0x2a0], esi
mov dword [esp + 0x2a4], edi
test eax, eax
je 0x8df7b0
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0x390]
cmp esi, dword [ebx + 0x1744]
jl 0x8e7ce8
mov eax, dword [ebx + 0x1748]
shl eax, cl
cmp dword [esp + 0x2a0], eax
jg 0x8e7ce8
mov esi, dword [esp + 0x968]
cmp esi, dword [ebx + 0x174c]
jl 0x8e7ce8
mov eax, dword [ebx + 0x1750]
shl eax, cl
cmp edi, eax
jg 0x8e7ce8
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
cmp dword [esi + 0x153c], 1
movzx edi, word [esi + 0x1fa2]
mov dword [esp + 0x2bc], ebx
je 0x8e34fb
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x2a0]
mov ebp, dword [esp + 0x2a0]
add ebp, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x2a4]
add ebx, dword [esi + 0x16e0]
test eax, eax
je 0x8e118a
mov eax, ebp
sub eax, dword [esi + 0x16bc]
mov dword [esp + 0x2d0], eax
mov esi, dword [esp + 0x2a4]
test esi, esi
je 0x8e115b
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
and edx, ebp
add eax, edx
mov edx, dword [esp + 0x2d0]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x2d4]
and eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
shl eax, cl
mov ecx, dword [esp + 0x85c]
add eax, edx
mov dword [esp + 0x2dc], eax
test ecx, ecx
jne 0x8e0ed0
sar ebp, 1
mov dword [esp + 0x2a8], ebp
mov ebp, dword [esp + 0xb20]
mov edi, dword [esp + 0x2a8]
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e9cea
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e9d5a
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e9d3e
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e9d22
mov edi, dword [esp + 0x2d0]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e9d06
mov ebx, dword [esp + 0x2d4]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e9e72
cmp esi, ecx
jl 0x8e9e56
cmp ebp, edx
jl 0x8e9472
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2b4]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x2a8], esi
add eax, dword [esp + 0x2a8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x2d8]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x2dc]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x2b4]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x228]
mov dword [esp + 0x328], eax
mov ebp, dword [esp + 0x384]
mov edi, dword [esp + 0x388]
mov ebx, dword [esp + 0x338]
sub dword [esp + 0x2a0], ebx
mov ecx, dword [esp + 0x328]
mov dword [edi], ebp
mov eax, dword [esp + 0x350]
mov edx, dword [esp + 0x38c]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x2a0]
mov ebp, dword [esp + 0x334]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x2a4], ebp
mov ecx, dword [esp + 0x2a4]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0x328]
cmp dword [esp + 0x194], eax
jle 0x8df0db
mov ebx, dword [esp + 0x390]
mov esi, dword [esp + 0x968]
mov dword [esp + 0x194], eax
mov dword [esp + 0xabc], 0
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
cmp dword [esp + 0x324], 3
je 0x8de803
mov edi, dword [esp + 0x348]
cmp dword [esp + 0x968], edi
jle 0x8de803
mov ebp, dword [esp + 0x968]
mov edx, dword [esp + 0xa24]
sub ebp, 1
lea eax, [edx + ebp*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x37c], eax
add eax, dword [esp + 0x330]
add edx, dword [esp + 0x32c]
mov dword [esp + 0x380], ebp
mov dword [esp + 0x378], eax
mov ecx, dword [esp + 0x378]
mov eax, ebp
shl eax, 0xb
add edx, eax
mov dword [esp + 0x374], edx
cmp dword [ecx], edx
je 0x8de803
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov eax, dword [esp + 0x808]
mov ebx, dword [ebx + 0x17dc]
mov esi, dword [esi + 0x17e0]
shl ebp, cl
mov dword [esp + 0x26c], ebp
mov dword [esp + 0x278], ebx
mov ebx, dword [esp + 0xa24]
mov dword [esp + 0x27c], esi
shl ebx, cl
test eax, eax
mov dword [esp + 0x268], ebx
je 0x8df970
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xa24]
cmp dword [ebx + 0x1744], esi
jg 0x8e9952
mov eax, dword [ebx + 0x1748]
shl eax, cl
cmp dword [esp + 0x268], eax
jg 0x8e9952
mov esi, dword [esp + 0x380]
cmp esi, dword [ebx + 0x174c]
jl 0x8e9952
mov eax, dword [ebx + 0x1750]
shl eax, cl
cmp ebp, eax
jg 0x8e9952
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
cmp dword [esi + 0x153c], 1
movzx edi, word [esi + 0x1fa2]
mov dword [esp + 0x280], ebx
je 0x8e0179
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x268]
mov ebp, dword [esp + 0x268]
add ebp, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x26c]
add ebx, dword [esi + 0x16e0]
test eax, eax
je 0x8e014a
mov eax, ebp
sub eax, dword [esi + 0x16bc]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x26c]
test eax, eax
je 0x8e0700
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x294], ecx
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
mov esi, dword [esp + 0x85c]
and eax, ebx
shl eax, cl
and edx, ebp
add eax, edx
mov edx, dword [esp + 0x290]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x294]
and eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
shl eax, cl
add eax, edx
test esi, esi
mov dword [esp + 0x29c], eax
jne 0x8e0475
sar ebp, 1
mov dword [esp + 0x270], ebp
mov ebp, dword [esp + 0xb20]
mov edi, dword [esp + 0x270]
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e998a
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e996e
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e9e3a
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e9e1e
mov edi, dword [esp + 0x290]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e9e02
mov ebx, dword [esp + 0x294]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e9de6
cmp esi, ecx
jl 0x8e9dca
cmp ebp, edx
jl 0x8e9dae
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x278]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x270], esi
add eax, dword [esp + 0x270]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x298]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x278]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x29c]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x278]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x228]
mov dword [esp + 0xab0], eax
mov ebp, dword [esp + 0x374]
mov edi, dword [esp + 0x378]
mov ebx, dword [esp + 0x334]
sub dword [esp + 0x26c], ebx
mov ecx, dword [esp + 0xab0]
mov dword [edi], ebp
mov eax, dword [esp + 0x350]
mov edx, dword [esp + 0x37c]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x26c]
mov ebp, dword [esp + 0x338]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x268], ebp
mov ecx, dword [esp + 0x268]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xab0]
cmp dword [esp + 0x194], eax
jle 0x8de803
mov ebx, dword [esp + 0xa24]
mov esi, dword [esp + 0x380]
mov dword [esp + 0x194], eax
mov dword [esp + 0xabc], 1
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov ecx, dword [esp + 0x324]
test ecx, ecx
je 0x8dec40
mov edi, dword [esp + 0xa24]
cmp dword [esp + 0x344], edi
jle 0x8dec40
mov ebp, dword [esp + 0x968]
add edi, 1
mov dword [esp + 0x370], edi
lea eax, [edi + ebp*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x36c], eax
add eax, dword [esp + 0x330]
mov dword [esp + 0x368], eax
mov edx, dword [esp + 0x368]
mov eax, ebp
shl eax, 0xb
add eax, edi
add eax, dword [esp + 0x32c]
cmp dword [edx], eax
mov dword [esp + 0x364], eax
je 0x8dec40
mov ecx, dword [esp + 0xb20]
mov ebx, dword [esp + 0xb20]
mov edx, dword [esp + 0x808]
mov ecx, dword [ecx + 0x17dc]
mov ebx, dword [ebx + 0x17e0]
mov dword [esp + 0x240], ecx
movzx ecx, byte [esp + 0x858]
mov dword [esp + 0x244], ebx
shl edi, cl
shl ebp, cl
test edx, edx
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], ebp
je 0x8e0d14
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0x370]
cmp esi, dword [ebx + 0x1744]
jl 0x8e9cce
mov eax, dword [ebx + 0x1748]
shl eax, cl
cmp edi, eax
jg 0x8e9cce
mov esi, dword [esp + 0x968]
cmp esi, dword [ebx + 0x174c]
jl 0x8e9cce
mov eax, dword [ebx + 0x1750]
shl eax, cl
cmp ebp, eax
jg 0x8e9cce
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
cmp dword [esi + 0x153c], 1
movzx edi, word [esi + 0x1fa2]
mov dword [esp + 0x248], ebx
je 0x8e0a18
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x230]
mov ebp, dword [esp + 0x230]
add ebp, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x234]
add ebx, dword [esi + 0x16e0]
test eax, eax
je 0x8e09e9
mov eax, ebp
sub eax, dword [esi + 0x16bc]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x234]
test eax, eax
je 0x8e09ba
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x25c], ecx
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
and edx, ebp
add eax, edx
mov edx, dword [esp + 0x258]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x25c]
and eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
shl eax, cl
add eax, edx
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e072f
sar ebp, 1
mov dword [esp + 0x238], ebp
mov ebp, dword [esp + 0xb20]
mov edi, dword [esp + 0x238]
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e9cb2
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e9c96
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e9f1a
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e9efe
mov edi, dword [esp + 0x258]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e9ee2
mov ebx, dword [esp + 0x25c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e9ec6
cmp esi, ecx
jl 0x8e9eaa
cmp ebp, edx
jl 0x8e9e8e
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x240]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x238], esi
add eax, dword [esp + 0x238]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x260]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x240]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x264]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x240]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x228]
mov dword [esp + 0xab4], eax
mov ebp, dword [esp + 0x364]
mov edi, dword [esp + 0x368]
mov ebx, dword [esp + 0x338]
sub dword [esp + 0x230], ebx
mov ecx, dword [esp + 0xab4]
mov dword [edi], ebp
mov eax, dword [esp + 0x350]
mov edx, dword [esp + 0x36c]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x230]
mov ebp, dword [esp + 0x334]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x234], ebp
mov ecx, dword [esp + 0x234]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xab4]
cmp dword [esp + 0x194], eax
jle 0x8dec40
mov ebx, dword [esp + 0x370]
mov esi, dword [esp + 0x968]
mov dword [esp + 0x194], eax
mov dword [esp + 0xabc], 2
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
cmp dword [esp + 0x324], 1
je 0x8df0eb
mov edi, dword [esp + 0x340]
cmp dword [esp + 0x968], edi
jge 0x8df0eb
mov ebp, dword [esp + 0x968]
mov edx, dword [esp + 0xa24]
add ebp, 1
lea eax, [edx + ebp*8]
and eax, 0x3f
shl eax, 2
mov dword [esp + 0x35c], eax
add eax, dword [esp + 0x330]
add edx, dword [esp + 0x32c]
mov dword [esp + 0x360], ebp
mov dword [esp + 0x358], eax
mov ecx, dword [esp + 0x358]
mov eax, ebp
shl eax, 0xb
add edx, eax
mov dword [esp + 0x354], edx
cmp dword [ecx], edx
je 0x8df0eb
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ecx, byte [esp + 0x858]
mov ebx, dword [ebx + 0x17dc]
mov esi, dword [esi + 0x17e0]
shl ebp, cl
mov dword [esp + 0x1f4], ebp
mov dword [esp + 0x200], ebx
mov ebx, dword [esp + 0xa24]
mov dword [esp + 0x204], esi
mov esi, dword [esp + 0x808]
shl ebx, cl
test esi, esi
mov dword [esp + 0x1f0], ebx
je 0x8e13a0
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xa24]
cmp dword [ebx + 0x1744], esi
jg 0x8e948e
mov eax, dword [ebx + 0x1748]
shl eax, cl
cmp dword [esp + 0x1f0], eax
jg 0x8e948e
mov esi, dword [esp + 0x360]
cmp esi, dword [ebx + 0x174c]
jl 0x8e948e
mov eax, dword [ebx + 0x1750]
shl eax, cl
cmp ebp, eax
jg 0x8e948e
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
cmp dword [esi + 0x153c], 1
movzx edi, word [esi + 0x1fa2]
mov dword [esp + 0x208], ebx
je 0x8e1560
mov ebx, dword [esp + 0xb20]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x1f0]
mov ebp, dword [esp + 0x1f0]
add ebp, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x1f4]
add ebx, dword [esi + 0x16e0]
test eax, eax
je 0x8e1b16
mov eax, ebp
sub eax, dword [esi + 0x16bc]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x1f4]
test eax, eax
je 0x8e1ae7
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x21c], ecx
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
and edx, ebp
add eax, edx
mov edx, dword [esp + 0x218]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x21c]
and eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
shl eax, cl
add eax, edx
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x85c]
test eax, eax
jne 0x8e185c
sar ebp, 1
mov dword [esp + 0x1f8], ebp
mov ebp, dword [esp + 0xb20]
mov edi, dword [esp + 0x1f8]
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e5907
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e98aa
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e988e
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e9872
mov edi, dword [esp + 0x218]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e9856
mov ebx, dword [esp + 0x21c]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e9376
cmp esi, ecx
jl 0x8e935a
cmp ebp, edx
jl 0x8e9936
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x200]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x1f8], esi
add eax, dword [esp + 0x1f8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x220]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x224]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x200]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x228]
mov dword [esp + 0xab8], eax
mov ebp, dword [esp + 0x354]
mov edi, dword [esp + 0x358]
mov ebx, dword [esp + 0x334]
sub dword [esp + 0x1f4], ebx
mov ecx, dword [esp + 0xab8]
mov dword [edi], ebp
mov eax, dword [esp + 0x350]
mov edx, dword [esp + 0x35c]
mov edi, dword [esp + 0x33c]
mov esi, dword [esp + 0x1f4]
mov ebp, dword [esp + 0x338]
mov dword [eax + edx], ecx
movzx eax, byte [esi + edi]
sub dword [esp + 0x1f0], ebp
mov ecx, dword [esp + 0x1f0]
movzx edx, byte [ecx + edi]
add eax, edx
imul eax, dword [esp + 0x1ec]
add eax, dword [esp + 0xab8]
cmp dword [esp + 0x194], eax
jle 0x8df0eb
mov ebx, dword [esp + 0xa24]
mov esi, dword [esp + 0x360]
mov dword [esp + 0x194], eax
mov dword [esp + 0xabc], 3
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov edx, dword [esp + 0xb04]
mov ecx, dword [esp + 0xb08]
mov ebx, dword [esp + 0xabc]
mov dword [esp + 0xa24], edx
mov dword [esp + 0x968], ecx
mov dword [esp + 0x324], ebx
cmp dword [esp + 0x324], 2
je 0x8df0db
mov esi, dword [esp + 0xa24]
cmp dword [esp + 0x34c], esi
jl 0x8ddf90
mov dword [esp + 0xabc], 0xffffffff
jmp 0x8de3b4
cmp dword [esp + 0xabc], 0xffffffff
jne 0x8df093
jmp 0x8db428
mov eax, dword [esp + 0xb44]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0xb40]
mov ebp, dword [esp + 0xfc]
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0xb34]
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.00893e20
mov dword [esp + 0x194], eax
jmp 0x8db428
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x750]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x750]
mov dword [esp + 0x768], eax
jmp 0x8d6bc5
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x750]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x750]
mov dword [esp + 0x764], eax
jmp 0x8d6ba0
mov edi, dword [esp + 0x748]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x758], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9e8], edi
mov dword [esp + 0x9ec], ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x758]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x734]
mov edi, dword [esp + 0x734]
mov esi, dword [esp + 0x738]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8df397
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa64], edx
mov dword [esp + 0x75c], ebx
mov eax, dword [esp + 0x738]
test eax, eax
je 0x8df481
mov edx, dword [esp + 0x758]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x754]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x754]
imul ebp, dword [esp + 0x9e8]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x75c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x754]
and edx, dword [esp + 0x754]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x760], eax
mov eax, dword [esp + 0xa64]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8df3e3
mov eax, dword [esp + 0x748]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x748]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9ec]
sar dword [esp + 0x75c], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x75c], ecx
mov eax, dword [esp + 0x75c]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x760]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x758], 1
cmp dword [esp + 0x758], 4
jne 0x8df206
jmp 0x8d6d68
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x758]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x758]
movzx ecx, byte [esp + 0x38]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa64], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x750]
add ebp, eax
mov dword [esp + 0x75c], ebp
jmp 0x8df259
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x748]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x748]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9ec]
sar dword [esp + 0x75c], 1
imul ebx, edi
mov ecx, dword [esp + 0x760]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x75c], eax
mov eax, dword [esp + 0x75c]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8df37c
mov ebp, dword [esp + 0x758]
movzx ecx, byte [esp + 0x38]
mov eax, dword [esp + 0x758]
mov edx, dword [esp + 0x34]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x750]
add ebx, eax
jmp 0x8df283
mov eax, dword [esp + 0xb44]
lea edx, [esp + 0xb04]
mov ecx, dword [esp + 0xb40]
mov ebp, dword [esp + 0xfc]
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0xb34]
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.008aba80
mov dword [esp + 0x194], eax
jmp 0x8db428
mov edi, ebx
mov ebx, dword [esp + 0x748]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x748]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x76c]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x748]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x76c]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x748]
imul edi, dword [esp + 0x748]
mov ebp, dword [esp + 0x748]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x76c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x748]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x76c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x748]
mov ebx, dword [esp + 0x768]
mov edi, dword [esp + 0x764]
mov esi, dword [esp + 0x748]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x770]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x748]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x770]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x748]
imul ebx, dword [esp + 0x748]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x770]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x748]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x770]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d6d68
mov esi, dword [esp + 0x2b4]
mov edx, dword [esp + 0x968]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x390]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x228]
mov edx, dword [esp + 0x820]
test edx, edx
mov dword [esp + 0x328], eax
je 0x8de307
mov ebx, dword [esp + 0x968]
mov edi, esi
mov eax, dword [esp + 0x390]
shl edi, 4
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x390]
and eax, 1
mov esi, dword [esp + 0x968]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
lea ebx, [ecx + ebx*4]
mov ecx, dword [esp + 0xc8]
add edi, dword [edx + 0x170c]
mov edx, ebx
sar ebp, 1
add edx, dword [eax + 0x17f0]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x2b8]
sar esi, 1
mov ecx, dword [esp + 0x824]
imul esi, dword [esp + 0x2b8]
mov dword [esp + 8], eax
mov eax, ebp
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x2b0], eax
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x2b8]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x22c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x2b0]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x22c]
lea eax, [ebx + eax]
add dword [esp + 0x328], eax
jmp 0x8de307
mov esi, dword [esp + 0x278]
mov edx, dword [esp + 0x380]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0xa24]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x228]
mov ebx, dword [esp + 0x820]
test ebx, ebx
mov dword [esp + 0xab0], eax
je 0x8de75a
mov ebx, dword [esp + 0x380]
mov edi, esi
mov eax, dword [esp + 0xa24]
shl edi, 4
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0xa24]
and eax, 1
mov esi, dword [esp + 0x380]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
lea ebx, [ecx + ebx*4]
mov ecx, dword [esp + 0xc8]
add edi, dword [edx + 0x170c]
mov edx, ebx
sar ebp, 1
add edx, dword [eax + 0x17f0]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x27c]
sar esi, 1
mov ecx, dword [esp + 0x824]
imul esi, dword [esp + 0x27c]
mov dword [esp + 8], eax
mov eax, ebp
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x274], eax
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x27c]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x274]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x27c]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x22c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x274]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x22c]
lea eax, [ebx + eax]
add dword [esp + 0xab0], eax
jmp 0x8de75a
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaee9f
call sub.msvcrt.dll__assert
mov esi, dword [esp + 0x630]
mov edx, dword [esp + 0x6a4]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x65c]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xad4], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d80f4
mov eax, dword [esp + 0x65c]
mov edi, esi
mov ebx, dword [esp + 0x6a4]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and eax, 1
mov ebp, dword [esp + 0x65c]
and ebx, 1
mov esi, dword [esp + 0x6a4]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x628], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x634]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x634]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x62c], eax
mov ecx, dword [esp + 0x628]
mov eax, dword [esp + 0x634]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x62c]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x634]
mov ebx, dword [esp + 0x628]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x628]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x62c]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xad4], eax
jmp 0x8d80f4
mov edi, ebx
mov ebx, dword [esp + 0x7dc]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x7dc]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x7fc]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x7dc]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x7fc]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x7dc]
imul edi, dword [esp + 0x7dc]
mov ebp, dword [esp + 0x7dc]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7fc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x7dc]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x7fc]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x7dc]
mov ebx, dword [esp + 0x7f8]
mov edi, dword [esp + 0x7f4]
mov esi, dword [esp + 0x7dc]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x800]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x7dc]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x800]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x7dc]
imul ebx, dword [esp + 0x7dc]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x800]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x7dc]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x800]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d5170
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1f7
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1ea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1dd
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x44b
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1d0
call sub.msvcrt.dll__assert
and eax, 0xff
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb40]
lea edx, [esp + 0xb04]
mov edi, dword [esp + 0xfc]
mov ebp, dword [esp + 0xb44]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0xb34]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0xb30]
mov ecx, dword [esp + 0x194]
mov eax, dword [esp + 0xb20]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0088b8f0
mov dword [esp + 0x194], eax
jmp 0x8db428
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeed1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeb8
call sub.msvcrt.dll__assert
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x79c]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x79c]
mov dword [esp + 0x7b8], eax
jmp 0x8d54a1
mov edi, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x79c]
imul edx, dword [edi + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x79c]
mov dword [esp + 0x7b4], eax
jmp 0x8d547c
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov ecx, dword [esp + 0xb20]
mov edx, edi
sub edx, dword [esp + 0x280]
imul edx, dword [ecx + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x280]
mov dword [esp + 0x290], eax
jmp 0x8de550
mov ebp, dword [esp + 0x278]
sub edi, ebx
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x284], 0
mov dword [esp + 0xd4], edi
shl ebp, 3
add eax, 4
mov dword [esp + 0x974], ebp
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0x284]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x268]
mov edi, dword [esp + 0x268]
mov esi, dword [esp + 0x26c]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e0340
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa50], edx
mov dword [esp + 0x288], ebx
mov eax, dword [esp + 0x26c]
test eax, eax
je 0x8e0430
mov edx, dword [esp + 0x284]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
imul ebp, dword [esp + 0x974]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x288]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0xa50]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e0392
mov eax, dword [esp + 0x278]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x278]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0xc4]
sar dword [esp + 0x288], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x288], ecx
mov eax, dword [esp + 0x288]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x28c]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x284], 1
cmp dword [esp + 0x284], 4
jne 0x8e01af
jmp 0x8de718
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x284]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x284]
movzx ecx, byte [esp + 0xd8]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa50], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x280]
add ebp, eax
mov dword [esp + 0x288], ebp
jmp 0x8e0202
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x278]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x278]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0xc4]
sar dword [esp + 0x288], 1
imul ebx, edi
mov ecx, dword [esp + 0x28c]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x288], eax
mov eax, dword [esp + 0x288]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e0325
mov ebp, dword [esp + 0x284]
movzx ecx, byte [esp + 0xd8]
mov eax, dword [esp + 0x284]
mov edx, dword [esp + 0xd4]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x280]
add ebx, eax
jmp 0x8e022c
mov edi, ebx
mov ebx, dword [esp + 0x278]
mov esi, ebp
mov eax, dword [esp + 0x278]
sar edi, 2
mov ebp, dword [esp + 0xb20]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x298]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x278]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x298]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x278]
imul edi, dword [esp + 0x278]
mov ebp, dword [esp + 0x278]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x298]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x278]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x298]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x278]
mov ebx, dword [esp + 0x294]
mov edi, dword [esp + 0x290]
mov esi, dword [esp + 0x278]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x29c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x278]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x29c]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x278]
imul ebx, dword [esp + 0x278]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x29c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x278]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x29c]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8de718
mov esi, dword [esp + 0xb20]
sub edi, dword [esp + 0x280]
imul edi, dword [esi + 0x16c0]
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv dword [esp + 0x280]
mov dword [esp + 0x294], eax
jmp 0x8de575
mov edi, ebx
mov ebx, dword [esp + 0x240]
mov esi, ebp
mov eax, dword [esp + 0x240]
sar edi, 2
mov ebp, dword [esp + 0xb20]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x260]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x240]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x260]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x240]
imul edi, dword [esp + 0x240]
mov ebp, dword [esp + 0x240]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x260]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x240]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x260]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x240]
mov ebx, dword [esp + 0x25c]
mov edi, dword [esp + 0x258]
mov esi, dword [esp + 0x240]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x264]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x240]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x264]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x240]
imul ebx, dword [esp + 0x240]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x264]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x240]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x264]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8deb55
mov esi, dword [esp + 0xb20]
sub edi, dword [esp + 0x248]
imul edi, dword [esi + 0x16c0]
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv dword [esp + 0x248]
mov dword [esp + 0x25c], eax
jmp 0x8de9b2
mov ecx, dword [esp + 0xb20]
mov edx, edi
sub edx, dword [esp + 0x248]
imul edx, dword [ecx + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x248]
mov dword [esp + 0x258], eax
jmp 0x8de98d
mov ebp, dword [esp + 0x240]
sub edi, ebx
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x24c], 0
mov dword [esp + 0xdc], edi
shl ebp, 3
add eax, 4
mov dword [esp + 0x970], ebp
mov dword [esp + 0xe0], eax
mov edx, dword [esp + 0x24c]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x230]
mov edi, dword [esp + 0x230]
mov esi, dword [esp + 0x234]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e0bdf
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa54], edx
mov dword [esp + 0x250], ebx
mov eax, dword [esp + 0x234]
test eax, eax
je 0x8e0ccf
mov edx, dword [esp + 0x24c]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
imul ebp, dword [esp + 0x970]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x250]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0xa54]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e0c31
mov eax, dword [esp + 0x240]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x240]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0xc4]
sar dword [esp + 0x250], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x250], ecx
mov eax, dword [esp + 0x250]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x254]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x24c], 1
cmp dword [esp + 0x24c], 4
jne 0x8e0a4e
jmp 0x8deb55
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x24c]
mov edx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x24c]
movzx ecx, byte [esp + 0xe0]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa54], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x248]
add ebp, eax
mov dword [esp + 0x250], ebp
jmp 0x8e0aa1
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x240]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x240]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0xc4]
sar dword [esp + 0x250], 1
imul ebx, edi
mov ecx, dword [esp + 0x254]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x250], eax
mov eax, dword [esp + 0x250]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e0bc4
mov ebp, dword [esp + 0x24c]
movzx ecx, byte [esp + 0xe0]
mov eax, dword [esp + 0x24c]
mov edx, dword [esp + 0xdc]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x248]
add ebx, eax
jmp 0x8e0acb
mov esi, dword [esp + 0x240]
mov edx, dword [esp + 0x968]
mov edi, dword [esp + 0x824]
mov ebx, dword [esp + 0xb44]
mov eax, dword [esp + 0x370]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x228]
mov edi, dword [esp + 0x820]
test edi, edi
mov dword [esp + 0xab4], eax
je 0x8deb97
mov ebx, dword [esp + 0x968]
mov edi, esi
mov eax, dword [esp + 0x370]
shl edi, 4
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x370]
and eax, 1
mov esi, dword [esp + 0x968]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
lea ebx, [ecx + ebx*4]
mov ecx, dword [esp + 0xc8]
add edi, dword [edx + 0x170c]
mov edx, ebx
sar ebp, 1
add edx, dword [eax + 0x17f0]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x244]
sar esi, 1
mov ecx, dword [esp + 0x824]
imul esi, dword [esp + 0x244]
mov dword [esp + 8], eax
mov eax, ebp
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x23c], eax
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x244]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x23c]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x244]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x22c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x23c]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x22c]
lea eax, [ebx + eax]
add dword [esp + 0xab4], eax
jmp 0x8deb97
mov edi, ebx
mov ebx, dword [esp + 0x2b4]
mov esi, ebp
mov eax, dword [esp + 0x2b4]
sar edi, 2
mov ebp, dword [esp + 0xb20]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x2d8]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2b4]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x2d8]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2b4]
imul edi, dword [esp + 0x2b4]
mov ebp, dword [esp + 0x2b4]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2d8]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x2b4]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x2d8]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x2d4]
mov edi, dword [esp + 0x2d0]
mov esi, dword [esp + 0x2b4]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2dc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x2b4]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x2dc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x2b4]
imul ebx, dword [esp + 0x2b4]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x2dc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x2dc]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8de2c5
mov esi, dword [esp + 0xb20]
sub edi, dword [esp + 0x2bc]
imul edi, dword [esi + 0x16c0]
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv dword [esp + 0x2bc]
mov dword [esp + 0x2d4], eax
jmp 0x8de122
mov ecx, dword [esp + 0xb20]
mov edx, edi
sub edx, dword [esp + 0x2bc]
imul edx, dword [ecx + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x2bc]
mov dword [esp + 0x2d0], eax
jmp 0x8de0fd
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov esi, dword [esp + 0x2f4]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0xa24]
mov edx, esi
mov ebp, dword [esp + 0x828]
imul edx, dword [esp + 0x968]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x228]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8ddef7
mov ebx, dword [esp + 0x968]
mov edi, esi
mov eax, dword [esp + 0xa24]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0xa24]
and eax, 1
mov esi, dword [esp + 0x968]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x2ec], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x2f8]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x2f8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x2f0], eax
mov ecx, dword [esp + 0x2ec]
mov eax, dword [esp + 0x2f8]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x2f8]
mov ebx, dword [esp + 0x2ec]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x22c]
mov edx, dword [esp + 0x2ec]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x2f0]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x22c]
lea eax, [ebx + eax]
add dword [esp + 0x2fc], eax
jmp 0x8ddef7
mov esi, dword [esp + 0x200]
mov edx, dword [esp + 0x360]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0xa24]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x228]
mov dword [esp + 0xab8], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8defe6
mov ebx, dword [esp + 0x360]
mov edi, esi
mov eax, dword [esp + 0xa24]
shl edi, 4
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0xa24]
and eax, 1
mov esi, dword [esp + 0x360]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
lea ebx, [ecx + ebx*4]
mov ecx, dword [esp + 0xc8]
add edi, dword [edx + 0x170c]
mov edx, ebx
sar ebp, 1
add edx, dword [eax + 0x17f0]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x204]
sar esi, 1
mov ecx, dword [esp + 0x824]
imul esi, dword [esp + 0x204]
mov dword [esp + 8], eax
mov eax, ebp
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x1fc], eax
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x204]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x204]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x22c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x1fc]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x22c]
lea eax, [ebx + eax]
add dword [esp + 0xab8], eax
jmp 0x8defe6
mov ebp, dword [esp + 0x200]
sub edi, ebx
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x20c], 0
mov dword [esp + 0xe4], edi
shl ebp, 3
add eax, 4
mov dword [esp + 0x96c], ebp
mov dword [esp + 0xe8], eax
mov edx, dword [esp + 0x20c]
mov ecx, dword [esp + 0xb20]
mov ebx, dword [esp + 0x1f0]
mov edi, dword [esp + 0x1f0]
mov esi, dword [esp + 0x1f4]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test ebx, ebx
je 0x8e1727
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa20], edx
mov dword [esp + 0x210], ebx
mov edx, dword [esp + 0x1f4]
test edx, edx
je 0x8e1817
mov edx, dword [esp + 0x20c]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
imul ebp, dword [esp + 0x96c]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x210]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0xa20]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e1779
mov eax, dword [esp + 0x200]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x200]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0xc4]
sar dword [esp + 0x210], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x210], ecx
mov eax, dword [esp + 0x210]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x214]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x20c], 1
cmp dword [esp + 0x20c], 4
jne 0x8e1596
jmp 0x8defa4
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x20c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x20c]
movzx ecx, byte [esp + 0xe8]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa20], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x208]
add ebp, eax
mov dword [esp + 0x210], ebp
jmp 0x8e15e9
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x200]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x200]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0xc4]
sar dword [esp + 0x210], 1
imul ebx, edi
mov ecx, dword [esp + 0x214]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x210], eax
mov eax, dword [esp + 0x210]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e170c
mov ebp, dword [esp + 0x20c]
movzx ecx, byte [esp + 0xe8]
mov eax, dword [esp + 0x20c]
mov edx, dword [esp + 0xe4]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x208]
add ebx, eax
jmp 0x8e1613
mov edi, ebx
mov ebx, dword [esp + 0x200]
mov esi, ebp
mov eax, dword [esp + 0x200]
sar edi, 2
mov ebp, dword [esp + 0xb20]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x220]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x200]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x220]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x200]
imul edi, dword [esp + 0x200]
mov ebp, dword [esp + 0x200]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x220]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x200]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x220]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x200]
mov ebx, dword [esp + 0x21c]
mov edi, dword [esp + 0x218]
mov esi, dword [esp + 0x200]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x224]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x200]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x224]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x200]
imul ebx, dword [esp + 0x200]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x224]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x200]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x224]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8defa4
mov esi, dword [esp + 0xb20]
sub edi, dword [esp + 0x208]
imul edi, dword [esi + 0x16c0]
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv dword [esp + 0x208]
mov dword [esp + 0x21c], eax
jmp 0x8dee01
mov ecx, dword [esp + 0xb20]
mov edx, edi
sub edx, dword [esp + 0x208]
imul edx, dword [ecx + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x208]
mov dword [esp + 0x218], eax
jmp 0x8deddc
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf0cc
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf0b2
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf14e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf02f
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1b6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf19c
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf182
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf168
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf134
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf11a
call sub.msvcrt.dll__assert
mov edi, dword [esp + 0x794]
sub ecx, ebx
mov eax, dword [esp + 0x824]
mov edx, dword [esp + 0x85c]
mov dword [esp + 0x7a4], 0
shl edi, 3
add eax, 0x20
add edx, 4
mov dword [esp + 0x9f0], edi
mov dword [esp + 0x9f4], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
jmp 0x8e1e11
mov eax, edi
sub eax, dword [ebx + ecx*8 + 0x16bc]
and ecx, 1
mov dword [esp + 0xa60], ecx
mov dword [esp + 0x7a8], eax
mov eax, dword [esp + 0x778]
test eax, eax
je 0x8e1f48
mov ebx, dword [esp + 0x7a4]
mov edx, esi
mov eax, dword [esp + 0xb20]
sub edx, dword [eax + ebx*8 + 0x16c0]
sar ebx, 1
mov dword [esp + 0x7ac], edx
mov eax, dword [esp + 0x7a0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x7a0]
imul ebx, dword [esp + 0x9f0]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x7a8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x7ac]
and eax, dword [esp + 0x7a0]
and edx, dword [esp + 0x7a0]
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x7b0], eax
mov eax, dword [esp + 0xa60]
lea ebx, [ebx + eax*8]
mov eax, dword [esp + 0x85c]
add ebx, dword [edx + 0x170c]
test eax, eax
je 0x8e1e9e
mov eax, dword [esp + 0x794]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebx
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x794]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9f4]
sar dword [esp + 0x7ac], 2
mov esi, dword [esp + 0x7ac]
mov edx, dword [edi + 0x17fc]
sar dword [esp + 0x7a8], 2
mov edi, dword [esp + 0x7b0]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
imul esi, eax
add dword [esp + 0x7a8], ecx
mov eax, dword [esp + 0x7a8]
mov dword [esp], ebx
add eax, esi
mov dword [esp + 4], eax
call dword [edx + edi*4 + 0x40]
add dword [esp + 0x7a4], 1
cmp dword [esp + 0x7a4], 4
je 0x8d5650
mov ecx, dword [esp + 0x7a4]
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x774]
mov edi, dword [esp + 0x774]
mov esi, dword [esp + 0x778]
add edi, dword [ebx + ecx*8 + 0x16dc]
add esi, dword [ebx + ecx*8 + 0x16e0]
test eax, eax
jne 0x8e1ca9
mov edx, dword [esp + 0x7a4]
movzx ecx, byte [esp + 0x88]
mov eax, dword [esp + 0x7a4]
and edx, 1
mov ebx, edx
shl ebx, cl
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xa60], edx
mov edx, dword [esp + 0x84]
imul edx, dword [ecx + eax*8 + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x79c]
add ebx, eax
mov dword [esp + 0x7a8], ebx
jmp 0x8e1cc3
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x794]
sar edi, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebx
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x794]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9f4]
sar dword [esp + 0x7ac], 1
mov ecx, dword [esp + 0x7ac]
mov edx, dword [esi + 0x17f4]
sar dword [esp + 0x7a8], 1
mov dword [esp + 0xc], 8
imul ecx, edi
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x7a8], eax
mov eax, dword [esp + 0x7a8]
mov dword [esp], ebx
mov ebx, dword [esp + 0x7b0]
add eax, ecx
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x10]
jmp 0x8e1dfb
mov ebx, dword [esp + 0x7a4]
movzx ecx, byte [esp + 0x88]
mov edx, dword [esp + 0x84]
sar ebx, 1
mov eax, ebx
shl eax, cl
mov ecx, dword [esp + 0x7a4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xb20]
imul edx, dword [eax + ecx*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x79c]
add eax, dword [esp + 0x30]
mov dword [esp + 0x7ac], eax
jmp 0x8e1cf2
mov esi, dword [esp + 0x5e8]
mov edx, dword [esp + 0x618]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x614]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xad8], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d8621
mov ebx, dword [esp + 0x618]
mov edi, esi
mov eax, dword [esp + 0x614]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x614]
and eax, 1
mov esi, dword [esp + 0x618]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x5e0], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x5ec]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x5ec]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x5e4], eax
mov ecx, dword [esp + 0x5e0]
mov eax, dword [esp + 0x5ec]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x5e4]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x5ec]
mov ebx, dword [esp + 0x5e0]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x5e0]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x5e4]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xad8], eax
jmp 0x8d8621
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov ebx, dword [esp + 0xb44]
mov eax, edi
mov ebp, dword [esp + 0x5a8]
mov edx, dword [esp + 0x824]
mov ecx, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 0xc], ebp
add eax, dword [edx]
mov edx, ebp
imul edx, esi
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xadc], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d8a99
mov ebx, esi
mov eax, edi
mov ebp, dword [esp + 0x5a8]
and eax, 1
and ebx, 1
mov edx, dword [esp + 0xb44]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb20]
sar edi, 1
shl ebp, 4
sar edx, 1
add ebp, dword [eax + 0x170c]
mov eax, dword [esp + 0xb40]
sar esi, 1
mov dword [esp + 0x5a0], edx
imul esi, dword [esp + 0x5ac]
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0x5a0]
mov edx, ebx
add edx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x5ac]
mov dword [esp + 0xc], eax
mov eax, edi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], ebp
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [ebp + 8]
mov dword [esp + 0x5a4], eax
mov ecx, dword [esp + 0x5a0]
mov eax, dword [esp + 0x5ac]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x5a4]
mov dword [esp + 8], eax
add edi, dword [edx + 8]
mov dword [esp], ecx
add esi, edi
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov ebx, dword [esp + 0x5a0]
mov esi, dword [esp + 0x5ac]
mov edi, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov eax, dword [edi + 4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xb20]
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x5a4]
mov dword [esp + 0xc], esi
mov ebx, eax
mov eax, dword [esp + 0x5a0]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xadc], eax
jmp 0x8d8a99
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf098
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf098
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeb8
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaee9f
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x708]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x708]
mov dword [esp + 0x71c], eax
jmp 0x8d7061
mov edi, dword [esp + 0x700]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x710], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9e0], edi
mov dword [esp + 0x9e4], ebp
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x710]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x6ec]
mov edi, dword [esp + 0x6ec]
mov esi, dword [esp + 0x6f0]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e25eb
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa84], edx
mov dword [esp + 0x714], ebx
mov eax, dword [esp + 0x6f0]
test eax, eax
je 0x8e26d5
mov edx, dword [esp + 0x710]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x70c]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x70c]
imul ebp, dword [esp + 0x9e0]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x714]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x70c]
and edx, dword [esp + 0x70c]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x718], eax
mov eax, dword [esp + 0xa84]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e2637
mov eax, dword [esp + 0x700]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x700]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9e4]
sar dword [esp + 0x714], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x714], ecx
mov eax, dword [esp + 0x714]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x718]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x710], 1
cmp dword [esp + 0x710], 4
jne 0x8e245a
jmp 0x8d7229
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x710]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x710]
movzx ecx, byte [esp + 0x40]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa84], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x708]
add ebp, eax
mov dword [esp + 0x714], ebp
jmp 0x8e24ad
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x700]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x700]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9e4]
sar dword [esp + 0x714], 1
imul ebx, edi
mov ecx, dword [esp + 0x718]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x714], eax
mov eax, dword [esp + 0x714]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e25d0
mov ebp, dword [esp + 0x710]
movzx ecx, byte [esp + 0x40]
mov eax, dword [esp + 0x710]
mov edx, dword [esp + 0x3c]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x708]
add ebx, eax
jmp 0x8e24d7
mov edi, ebx
mov ebx, dword [esp + 0x700]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x700]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x724]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x700]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x724]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x700]
imul edi, dword [esp + 0x700]
mov ebp, dword [esp + 0x700]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x724]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x700]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x724]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x700]
mov ebx, dword [esp + 0x720]
mov edi, dword [esp + 0x71c]
mov esi, dword [esp + 0x700]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x728]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x700]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x728]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x700]
imul ebx, dword [esp + 0x700]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x728]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x700]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x728]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d7229
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x708]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x708]
mov dword [esp + 0x720], eax
jmp 0x8d7086
mov dword [esp + 8], 0x424
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x424
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x6c4]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6c4]
mov dword [esp + 0x6d8], eax
jmp 0x8d7538
mov edi, dword [esp + 0x6bc]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x6cc], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9d8], edi
mov dword [esp + 0x9dc], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x6cc]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x6a8]
mov edi, dword [esp + 0x6a8]
mov esi, dword [esp + 0x6ac]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e3b74
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa68], edx
mov dword [esp + 0x6d0], ebx
mov eax, dword [esp + 0x6ac]
test eax, eax
je 0x8e3b35
mov edx, dword [esp + 0x6cc]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x6c8]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x6c8]
imul ebp, dword [esp + 0x9d8]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x6d0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x6c8]
and edx, dword [esp + 0x6c8]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x6d4], eax
mov eax, dword [esp + 0xa68]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e3a97
mov eax, dword [esp + 0x6bc]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x6bc]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9dc]
sar dword [esp + 0x6d0], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x6d0], ecx
mov eax, dword [esp + 0x6d0]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x6d4]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x6cc], 1
cmp dword [esp + 0x6cc], 4
jne 0x8e2a74
jmp 0x8d7700
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x6c4]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x6c4]
mov dword [esp + 0x6dc], eax
jmp 0x8d755d
mov eax, dword [esp + 0xb20]
mov edi, ebx
mov ecx, dword [esp + 0x794]
sar edi, 2
mov ebx, dword [esp + 0x794]
sar esi, 2
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7bc]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x794]
mov edx, dword [ecx + 0x17f8]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
mov ecx, dword [esp + 0xb20]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x7bc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [esp + 0x794]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x794]
imul edi, dword [esp + 0x794]
shl edx, 3
mov dword [esp + 0x77c], edx
mov edx, dword [ecx + 0x17f8]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x77c]
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7bc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x794]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
add ebx, dword [esp + 0x77c]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x7bc]
add eax, 8
add eax, dword [esp + 0x77c]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x794]
mov ebx, dword [esp + 0x7b8]
mov edi, dword [esp + 0x7b4]
mov esi, dword [esp + 0x794]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7c0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x794]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x7c0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x794]
imul ebx, dword [esp + 0x794]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x77c]
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x7c0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x794]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x7c0]
add esi, dword [esp + 0x77c]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
add eax, dword [esp + 0x77c]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d5650
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf0cc
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf0b2
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x424
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
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 + 0x498]
mov edx, dword [esp + 0x4c8]
mov ebx, dword [esp + 0xb44]
mov edi, dword [esp + 0x824]
mov eax, dword [esp + 0x4c4]
imul edx, esi
mov ebp, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
add eax, dword [edi]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xaec], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d60f0
mov ebx, dword [esp + 0x4c8]
mov edi, esi
mov eax, dword [esp + 0x4c4]
shl edi, 4
mov ecx, dword [esp + 0xb44]
mov edx, dword [esp + 0xb20]
and ebx, 1
mov ebp, dword [esp + 0x4c4]
and eax, 1
mov esi, dword [esp + 0x4c8]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb40]
sar ecx, 1
add edi, dword [edx + 0x170c]
mov dword [esp + 0x490], ecx
sar ebp, 1
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0xb20]
mov edx, ebx
sar esi, 1
imul esi, dword [esp + 0x49c]
add edx, dword [eax + 0x17f0]
mov eax, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x49c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], edi
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [edi + 8]
mov dword [esp + 0x494], eax
mov ecx, dword [esp + 0x490]
mov eax, dword [esp + 0x49c]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x494]
mov dword [esp + 8], eax
add ebp, dword [edx + 8]
mov dword [esp], ecx
add esi, ebp
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov esi, dword [esp + 0x49c]
mov ebx, dword [esp + 0x490]
mov ebp, dword [esp + 0x828]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb20]
mov dword [esp], eax
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x490]
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x494]
mov esi, dword [esp + 0xb20]
mov dword [esp + 0x10], edx
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xaec], eax
jmp 0x8d60f0
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeeea
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x413
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaeed1
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf100
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf07a
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov ebp, dword [esp + 0x2b4]
sub edi, ebx
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x2c4], 0
mov dword [esp + 0xcc], edi
shl ebp, 3
add eax, 4
mov dword [esp + 0x978], ebp
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0x2c4]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x2a0]
mov edi, dword [esp + 0x2a0]
mov esi, dword [esp + 0x2a4]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e36c2
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa4c], edx
mov dword [esp + 0x2c8], ebx
mov eax, dword [esp + 0x2a4]
test eax, eax
je 0x8e37b2
mov edx, dword [esp + 0x2c4]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x2c0]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x2c0]
imul ebp, dword [esp + 0x978]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x2c8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c0]
and edx, dword [esp + 0x2c0]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0xa4c]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e3714
mov eax, dword [esp + 0x2b4]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x2b4]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0xc4]
sar dword [esp + 0x2c8], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x2c8], ecx
mov eax, dword [esp + 0x2c8]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x2cc]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x2c4], 1
cmp dword [esp + 0x2c4], 4
jne 0x8e3531
jmp 0x8de2c5
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x2c4]
mov edx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x2c4]
movzx ecx, byte [esp + 0xd0]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa4c], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x2bc]
add ebp, eax
mov dword [esp + 0x2c8], ebp
jmp 0x8e3584
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x2b4]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x2b4]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0xc4]
sar dword [esp + 0x2c8], 1
imul ebx, edi
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x2c8]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e36a7
mov ebp, dword [esp + 0x2c4]
movzx ecx, byte [esp + 0xd0]
mov eax, dword [esp + 0x2c4]
mov edx, dword [esp + 0xcc]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x2bc]
add ebx, eax
jmp 0x8e35ae
mov dword [esp + 8], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf061
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf048
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf0e6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x420
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf0e6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x424
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x421
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x415
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x6bc]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x6bc]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9dc]
sar dword [esp + 0x6d0], 1
imul ebx, edi
mov ecx, dword [esp + 0x6d4]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x6d0], eax
mov eax, dword [esp + 0x6d0]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e2bea
mov ebp, dword [esp + 0x6cc]
movzx ecx, byte [esp + 0x48]
mov eax, dword [esp + 0x6cc]
mov edx, dword [esp + 0x44]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6c4]
add ebx, eax
jmp 0x8e2af1
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x6cc]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x6cc]
movzx ecx, byte [esp + 0x48]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa68], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x6c4]
add ebp, eax
mov dword [esp + 0x6d0], ebp
jmp 0x8e2ac7
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], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
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], 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], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
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 edi, ebx
mov ebx, dword [esp + 0x6bc]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x6bc]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x6e0]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x6bc]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x6e0]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x6bc]
imul edi, dword [esp + 0x6bc]
mov ebp, dword [esp + 0x6bc]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6e0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x6bc]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x6e0]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x6bc]
mov ebx, dword [esp + 0x6dc]
mov edi, dword [esp + 0x6d8]
mov esi, dword [esp + 0x6bc]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6e4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x6bc]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x6e4]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x6bc]
imul ebx, dword [esp + 0x6bc]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x6e4]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x6bc]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x6e4]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d7700
mov dword [esp + 8], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov ebx, dword [esp + 0xb44]
mov eax, edi
mov ebp, dword [esp + 0x528]
mov edx, dword [esp + 0x824]
mov ecx, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 0xc], ebp
add eax, dword [edx]
mov edx, ebp
imul edx, esi
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xae4], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8e41ad
mov ebx, esi
mov eax, edi
mov ebp, dword [esp + 0x528]
and eax, 1
and ebx, 1
mov edx, dword [esp + 0xb44]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb20]
sar edi, 1
shl ebp, 4
sar edx, 1
add ebp, dword [eax + 0x170c]
mov eax, dword [esp + 0xb40]
sar esi, 1
mov dword [esp + 0x520], edx
imul esi, dword [esp + 0x52c]
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0x520]
mov edx, ebx
add edx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x52c]
mov dword [esp + 0xc], eax
mov eax, edi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], ebp
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [ebp + 8]
mov dword [esp + 0x524], eax
mov ecx, dword [esp + 0x520]
mov eax, dword [esp + 0x52c]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x524]
mov dword [esp + 8], eax
add edi, dword [edx + 8]
mov dword [esp], ecx
add esi, edi
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov ebx, dword [esp + 0x520]
mov esi, dword [esp + 0x52c]
mov edi, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov eax, dword [edi + 4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xb20]
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x524]
mov dword [esp + 0xc], esi
mov ebx, eax
mov eax, dword [esp + 0x520]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xae4], eax
mov eax, dword [esp + 0xa94]
mov ebx, dword [esp + 0x8c8]
mov ecx, dword [esp + 0x8cc]
mov ebp, dword [esp + 0xae4]
mov esi, dword [esp + 0x87c]
mov edi, dword [esp + 0x8d0]
mov dword [ecx], ebx
movzx ecx, byte [esp + 0x858]
mov dword [esi + edi], ebp
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov edi, dword [esp + 0x868]
sar esi, cl
mov eax, esi
shl eax, cl
sub eax, dword [esp + 0x860]
sar ebx, cl
movzx edx, byte [eax + edi]
mov eax, ebx
shl eax, cl
sub eax, dword [esp + 0x864]
movzx eax, byte [eax + edi]
add edx, eax
mov eax, ebp
imul edx, dword [esp + 0x1ec]
add eax, edx
cmp dword [esp + 0x194], eax
jle 0x8d5722
mov dword [esp + 0xb04], ebx
mov dword [esp + 0xb08], esi
mov dword [esp + 0x194], eax
jmp 0x8d5722
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], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
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], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
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], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
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], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov edi, ebx
mov ebx, dword [esp + 0x5a8]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x5a8]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x5cc]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5a8]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x5cc]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5a8]
imul edi, dword [esp + 0x5a8]
mov ebp, dword [esp + 0x5a8]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5cc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x5a8]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x5cc]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5a8]
mov ebx, dword [esp + 0x5c8]
mov edi, dword [esp + 0x5c4]
mov esi, dword [esp + 0x5a8]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5d0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x5a8]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x5d0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x5a8]
imul ebx, dword [esp + 0x5a8]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x5d0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x5a8]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x5d0]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d8a57
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x5b0]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x5b0]
mov dword [esp + 0x5c8], eax
jmp 0x8d88b4
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x5b0]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5b0]
mov dword [esp + 0x5c4], eax
jmp 0x8d888f
mov edi, dword [esp + 0x5a8]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x5b8], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9b8], edi
mov dword [esp + 0x9bc], ebp
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x5b8]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x594]
mov edi, dword [esp + 0x594]
mov esi, dword [esp + 0x598]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e51e7
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa78], edx
mov dword [esp + 0x5bc], ebx
mov eax, dword [esp + 0x598]
test eax, eax
je 0x8e51a8
mov edx, dword [esp + 0x5b8]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x5b4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x5b4]
imul ebp, dword [esp + 0x9b8]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x5bc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5b4]
and edx, dword [esp + 0x5b4]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x5c0], eax
mov eax, dword [esp + 0xa78]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e510a
mov eax, dword [esp + 0x5a8]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x5a8]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9bc]
sar dword [esp + 0x5bc], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x5bc], ecx
mov eax, dword [esp + 0x5bc]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x5c0]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x5b8], 1
cmp dword [esp + 0x5b8], 4
jne 0x8e4c4f
jmp 0x8d8a57
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x5a8]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x5a8]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9bc]
sar dword [esp + 0x5bc], 1
imul ebx, edi
mov ecx, dword [esp + 0x5c0]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x5bc]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e4dc5
mov ebp, dword [esp + 0x5b8]
movzx ecx, byte [esp + 0x68]
mov eax, dword [esp + 0x5b8]
mov edx, dword [esp + 0x64]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5b0]
add ebx, eax
jmp 0x8e4ccc
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x5b8]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x5b8]
movzx ecx, byte [esp + 0x68]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa78], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5b0]
add ebp, eax
mov dword [esp + 0x5bc], ebp
jmp 0x8e4ca2
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x458]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x458]
mov dword [esp + 0x46c], eax
jmp 0x8dc4a9
mov edi, dword [esp + 0x450]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x460], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x990], edi
mov dword [esp + 0x994], ebp
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
jmp 0x8e5761
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa38], edx
mov dword [esp + 0x464], ebx
mov eax, dword [esp + 0x440]
test eax, eax
je 0x8e58c2
mov edx, dword [esp + 0x460]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x45c]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x45c]
imul ebp, dword [esp + 0x990]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x464]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x45c]
and edx, dword [esp + 0x45c]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x468], eax
mov eax, dword [esp + 0xa38]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e5824
mov eax, dword [esp + 0x450]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x450]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x994]
sar dword [esp + 0x464], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x464], ecx
mov eax, dword [esp + 0x464]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x468]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x460], 1
cmp dword [esp + 0x460], 4
je 0x8dc671
mov edx, dword [esp + 0x460]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x43c]
mov edi, dword [esp + 0x43c]
mov esi, dword [esp + 0x440]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
jne 0x8e560e
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x460]
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x460]
movzx ecx, byte [esp + 0x90]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa38], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x458]
add ebp, eax
mov dword [esp + 0x464], ebp
jmp 0x8e5628
mov dword [esp + 8], 0x423
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x422
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x450]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x450]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x994]
sar dword [esp + 0x464], 1
imul ebx, edi
mov ecx, dword [esp + 0x468]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x464], eax
mov eax, dword [esp + 0x464]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e574b
mov ebp, dword [esp + 0x460]
movzx ecx, byte [esp + 0x90]
mov eax, dword [esp + 0x460]
mov edx, dword [esp + 0x8c]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x458]
add ebx, eax
jmp 0x8e5652
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov ebx, dword [esp + 0xb44]
mov eax, edi
mov ebp, dword [esp + 0x568]
mov edx, dword [esp + 0x824]
mov ecx, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 0xc], ebp
add eax, dword [edx]
mov edx, ebp
imul edx, esi
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xae0], eax
mov eax, dword [esp + 0x820]
test eax, eax
je 0x8d8f04
mov ebx, esi
mov eax, edi
mov ebp, dword [esp + 0x568]
and eax, 1
and ebx, 1
mov edx, dword [esp + 0xb44]
lea ebx, [eax + ebx*2]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0xb20]
sar edi, 1
shl ebp, 4
sar edx, 1
add ebp, dword [eax + 0x170c]
mov eax, dword [esp + 0xb40]
sar esi, 1
mov dword [esp + 0x560], edx
imul esi, dword [esp + 0x56c]
shl eax, 4
lea ebx, [eax + ebx*4]
mov eax, dword [esp + 0x560]
mov edx, ebx
add edx, dword [ecx + 0x17f0]
mov ecx, dword [esp + 0x56c]
mov dword [esp + 0xc], eax
mov eax, edi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
add eax, dword [ecx + 4]
mov dword [esp], ebp
add eax, esi
mov dword [esp + 4], eax
call dword [edx + 0x10]
mov edx, dword [esp + 0xb20]
lea eax, [ebp + 8]
mov dword [esp + 0x564], eax
mov ecx, dword [esp + 0x560]
mov eax, dword [esp + 0x56c]
add ebx, dword [edx + 0x17f0]
mov edx, dword [esp + 0x824]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x564]
mov dword [esp + 8], eax
add edi, dword [edx + 8]
mov dword [esp], ecx
add esi, edi
mov dword [esp + 4], esi
call dword [ebx + 0x10]
mov ebx, dword [esp + 0x560]
mov esi, dword [esp + 0x56c]
mov edi, dword [esp + 0x828]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov eax, dword [edi + 4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xb20]
mov dword [esp + 8], eax
mov dword [esp], ebp
call dword [esp + 0x3ec]
mov edx, dword [esp + 0x564]
mov dword [esp + 0xc], esi
mov ebx, eax
mov eax, dword [esp + 0x560]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 8], eax
call dword [esp + 0x3ec]
lea eax, [ebx + eax]
add dword [esp + 0xae0], eax
jmp 0x8d8f04
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf14e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf134
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf11a
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x427
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf100
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], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf02f
call sub.msvcrt.dll__assert
mov ebx, dword [esp + 0xb20]
mov eax, dword [esp + 0x85c]
mov esi, dword [esp + 0xb20]
movzx ebx, word [ebx + 0x1fa0]
add eax, eax
add eax, 1
movzx ecx, word [esi + 0x1fa2]
cmp dword [esi + 0x153c], 1
mov dword [esp + 0x530], ebx
mov dword [esp + 0x534], eax
je 0x8e6879
mov ebx, dword [esp + 0xb20]
mov edi, dword [esp + 0xb20]
mov ebp, dword [esp + 0x514]
mov esi, dword [esp + 0x514]
add esi, dword [ebx + 0x16dc]
mov ebx, dword [esp + 0x518]
add ebx, dword [edi + 0x16e0]
test ebp, ebp
je 0x8e684a
mov ebp, esi
sub ebp, dword [edi + 0x16bc]
mov dword [esp + 0x544], ebp
mov edi, dword [esp + 0x518]
test edi, edi
je 0x8e681b
mov edx, dword [esp + 0xb20]
mov ecx, ebx
sub ecx, dword [edx + 0x16c0]
mov dword [esp + 0x548], ecx
mov eax, dword [esp + 0x534]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x534]
mov edi, dword [esp + 0x544]
and eax, ebx
shl eax, cl
and edx, esi
add eax, edx
mov edx, dword [esp + 0x85c]
mov dword [esp + 0x54c], eax
mov eax, dword [esp + 0x548]
and eax, dword [esp + 0x534]
and dword [esp + 0x534], edi
shl eax, cl
add eax, dword [esp + 0x534]
test edx, edx
mov dword [esp + 0x550], eax
jne 0x8e6592
mov ebp, dword [esp + 0xb20]
sar esi, 1
mov edi, esi
mov dword [esp + 0x51c], esi
mov ecx, dword [ebp + 0x1814]
shl ecx, 4
add edi, ecx
cmp edi, 0xfffffff0
jl 0x8e6576
mov eax, ebx
mov ebx, dword [esp + 0xb20]
sar eax, 1
mov edx, dword [ebx + 0x1818]
shl edx, 4
lea ebx, [eax + edx]
cmp ebx, 0xfffffff0
jl 0x8e655a
mov ebp, dword [esp + 0xb20]
mov esi, dword [ebp + 4]
cmp edi, esi
jg 0x8e653e
mov edi, dword [esp + 0xb20]
mov ebp, dword [edi + 8]
cmp ebx, ebp
jg 0x8e6522
mov edi, dword [esp + 0x544]
sar edi, 1
lea ecx, [edi + ecx]
cmp ecx, 0xfffffff0
jl 0x8e6506
mov ebx, dword [esp + 0x548]
sar ebx, 1
lea edx, [ebx + edx]
cmp edx, 0xfffffff0
jl 0x8e64ea
cmp esi, ecx
jl 0x8e64ce
cmp ebp, edx
jl 0x8e64b2
mov ebp, dword [esp + 0xb20]
mov ecx, dword [esp + 0x528]
mov esi, dword [esp + 0x824]
mov edx, dword [ebp + 0x17f0]
mov dword [esp + 8], ecx
imul eax, ecx
mov dword [esp + 0xc], 0x10
mov esi, dword [esi]
add dword [esp + 0x51c], esi
add eax, dword [esp + 0x51c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x54c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov ecx, dword [esp + 0x528]
mov eax, dword [esp + 0xb20]
mov esi, dword [esp + 0x824]
mov ebp, dword [esp + 0x550]
imul ebx, ecx
mov edx, dword [eax + 0x17f4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], ecx
add edi, dword [esi + 0x20]
lea eax, [edi + ebx]
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x170c]
mov dword [esp], eax
call dword [edx + ebp*4]
mov eax, dword [esp + 0x528]
mov edx, dword [esp + 0x828]
mov dword [esp + 0x10], 0x10
mov ecx, dword [esp + 0xb20]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [esp + 0x3e8]
mov dword [esp + 0xae4], eax
jmp 0x8e41ad
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf1b6
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf19c
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], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov edi, ebx
mov ebx, dword [esp + 0x528]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x528]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x54c]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x528]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x54c]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x528]
imul edi, dword [esp + 0x528]
mov ebp, dword [esp + 0x528]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x54c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x528]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x54c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x528]
mov ebx, dword [esp + 0x548]
mov edi, dword [esp + 0x544]
mov esi, dword [esp + 0x528]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x550]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x528]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x550]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x528]
imul ebx, dword [esp + 0x528]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x550]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x528]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x550]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8e6433
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x530]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x530]
mov dword [esp + 0x548], eax
jmp 0x8e6290
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x530]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x530]
mov dword [esp + 0x544], eax
jmp 0x8e626b
mov edi, dword [esp + 0x528]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x538], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9a8], edi
mov dword [esp + 0x9ac], ebp
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x538]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x514]
mov edi, dword [esp + 0x514]
mov esi, dword [esp + 0x518]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e6b98
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa80], edx
mov dword [esp + 0x53c], ebx
mov eax, dword [esp + 0x518]
test eax, eax
je 0x8e6b59
mov edx, dword [esp + 0x538]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x534]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x534]
imul ebp, dword [esp + 0x9a8]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x53c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x534]
and edx, dword [esp + 0x534]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x540], eax
mov eax, dword [esp + 0xa80]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e6abb
mov eax, dword [esp + 0x528]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x528]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9ac]
sar dword [esp + 0x53c], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x53c], ecx
mov eax, dword [esp + 0x53c]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x540]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x538], 1
cmp dword [esp + 0x538], 4
jne 0x8e68ba
jmp 0x8e6433
mov dword [esp + 8], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf182
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], 0x428
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf168
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x528]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x528]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9ac]
sar dword [esp + 0x53c], 1
imul ebx, edi
mov ecx, dword [esp + 0x540]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x53c], eax
mov eax, dword [esp + 0x53c]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e6a30
mov ebp, dword [esp + 0x538]
movzx ecx, byte [esp + 0x78]
mov eax, dword [esp + 0x538]
mov edx, dword [esp + 0x74]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x530]
add ebx, eax
jmp 0x8e6937
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x538]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x538]
movzx ecx, byte [esp + 0x78]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa80], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x530]
add ebp, eax
mov dword [esp + 0x53c], ebp
jmp 0x8e690d
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], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
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], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
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 eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x5f0]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5f0]
mov dword [esp + 0x604], eax
jmp 0x8d8417
mov edi, dword [esp + 0x5e8]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x5f8], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9c0], edi
mov dword [esp + 0x9c4], ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x5f8]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x5d4]
mov edi, dword [esp + 0x5d4]
mov esi, dword [esp + 0x5d8]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e748a
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa74], edx
mov dword [esp + 0x5fc], ebx
mov eax, dword [esp + 0x5d8]
test eax, eax
je 0x8e744b
mov edx, dword [esp + 0x5f8]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x5f4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x5f4]
imul ebp, dword [esp + 0x9c0]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x5fc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x5f4]
and edx, dword [esp + 0x5f4]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0xa74]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e73ad
mov eax, dword [esp + 0x5e8]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x5e8]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9c4]
sar dword [esp + 0x5fc], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x5fc], ecx
mov eax, dword [esp + 0x5fc]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x600]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x5f8], 1
cmp dword [esp + 0x5f8], 4
jne 0x8e6f2c
jmp 0x8d85df
mov dword [esp + 8], 0xa7
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae777
call sub.msvcrt.dll__assert
mov edi, ebx
mov ebx, dword [esp + 0x5e8]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x5e8]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x60c]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5e8]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x60c]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5e8]
imul edi, dword [esp + 0x5e8]
mov ebp, dword [esp + 0x5e8]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x60c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x5e8]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x60c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x5e8]
mov ebx, dword [esp + 0x608]
mov edi, dword [esp + 0x604]
mov esi, dword [esp + 0x5e8]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x610]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x5e8]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x610]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x5e8]
imul ebx, dword [esp + 0x5e8]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x610]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x5e8]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x610]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d85df
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x5f0]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x5f0]
mov dword [esp + 0x608], eax
jmp 0x8d843c
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x5e8]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x5e8]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9c4]
sar dword [esp + 0x5fc], 1
imul ebx, edi
mov ecx, dword [esp + 0x600]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x5fc], eax
mov eax, dword [esp + 0x5fc]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e70a2
mov ebp, dword [esp + 0x5f8]
movzx ecx, byte [esp + 0x60]
mov eax, dword [esp + 0x5f8]
mov edx, dword [esp + 0x5c]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5f0]
add ebx, eax
jmp 0x8e6fa9
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x5f8]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x5f8]
movzx ecx, byte [esp + 0x60]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa74], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x5f0]
add ebp, eax
mov dword [esp + 0x5fc], ebp
jmp 0x8e6f7f
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x426
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
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], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf07a
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x42e
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
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 eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x638]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x638]
mov dword [esp + 0x64c], eax
jmp 0x8d7eea
mov dword [esp + 8], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov edi, ebx
mov ebx, dword [esp + 0x450]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x450]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x474]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x450]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x474]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x450]
imul edi, dword [esp + 0x450]
mov ebp, dword [esp + 0x450]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x474]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x450]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x474]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x450]
mov ebx, dword [esp + 0x470]
mov edi, dword [esp + 0x46c]
mov esi, dword [esp + 0x450]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x478]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x450]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x478]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x450]
imul ebx, dword [esp + 0x450]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x478]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x450]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x478]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8dc671
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x458]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x458]
mov dword [esp + 0x470], eax
jmp 0x8dc4ce
mov dword [esp + 8], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
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], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x437
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
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], 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 edi, ebx
mov ebx, dword [esp + 0x4e0]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x4e0]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x504]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x4e0]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x504]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x4e0]
imul edi, dword [esp + 0x4e0]
mov ebp, dword [esp + 0x4e0]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x504]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x4e0]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x504]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x4e0]
mov ebx, dword [esp + 0x500]
mov edi, dword [esp + 0x4fc]
mov esi, dword [esp + 0x4e0]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x508]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x4e0]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x508]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x4e0]
imul ebx, dword [esp + 0x4e0]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x508]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x4e0]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x508]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d5b7e
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x4e8]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x4e8]
mov dword [esp + 0x500], eax
jmp 0x8d59db
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x4e8]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4e8]
mov dword [esp + 0x4fc], eax
jmp 0x8d59b6
mov edi, dword [esp + 0x4e0]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x4f0], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x9a0], edi
mov dword [esp + 0x9a4], ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ecx
jmp 0x8e8a38
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa30], edx
mov dword [esp + 0x4f4], ebx
mov eax, dword [esp + 0x4d0]
test eax, eax
je 0x8e911c
mov edx, dword [esp + 0x4f0]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x4ec]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x4ec]
imul ebp, dword [esp + 0x9a0]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x4f4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4ec]
and edx, dword [esp + 0x4ec]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x4f8], eax
mov eax, dword [esp + 0xa30]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e907e
mov eax, dword [esp + 0x4e0]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x4e0]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x9a4]
sar dword [esp + 0x4f4], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x4f4], ecx
mov eax, dword [esp + 0x4f4]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x4f8]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x4f0], 1
cmp dword [esp + 0x4f0], 4
je 0x8d5b7e
mov edx, dword [esp + 0x4f0]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x4cc]
mov edi, dword [esp + 0x4cc]
mov esi, dword [esp + 0x4d0]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
jne 0x8e88e5
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x4f0]
mov edx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x4f0]
movzx ecx, byte [esp + 0xa0]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa30], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4e8]
add ebp, eax
mov dword [esp + 0x4f4], ebp
jmp 0x8e88ff
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], 0xa6
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae75b
call sub.msvcrt.dll__assert
mov edi, ebx
mov ebx, dword [esp + 0x498]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x498]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x4bc]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x498]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x4bc]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x498]
imul edi, dword [esp + 0x498]
mov ebp, dword [esp + 0x498]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4bc]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x498]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x4bc]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x498]
mov ebx, dword [esp + 0x4b8]
mov edi, dword [esp + 0x4b4]
mov esi, dword [esp + 0x498]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4c0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x498]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x4c0]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x498]
imul ebx, dword [esp + 0x498]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x4c0]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x498]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x4c0]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8d60ae
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x4a0]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
mov dword [esp + 0x4b8], eax
jmp 0x8d5f0b
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x4a0]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
mov dword [esp + 0x4b4], eax
jmp 0x8d5ee6
mov edi, dword [esp + 0x498]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x4a8], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x998], edi
mov dword [esp + 0x99c], ebp
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0x4a8]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x484]
mov edi, dword [esp + 0x484]
mov esi, dword [esp + 0x488]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e9260
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa34], edx
mov dword [esp + 0x4ac], ebx
mov eax, dword [esp + 0x488]
test eax, eax
je 0x8e921b
mov edx, dword [esp + 0x4a8]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x4a4]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x4a4]
imul ebp, dword [esp + 0x998]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x4ac]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4a4]
and edx, dword [esp + 0x4a4]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x4b0], eax
mov eax, dword [esp + 0xa34]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e917d
mov eax, dword [esp + 0x498]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x498]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x99c]
sar dword [esp + 0x4ac], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x4ac], ecx
mov eax, dword [esp + 0x4ac]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x4b0]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x4a8], 1
cmp dword [esp + 0x4a8], 4
jne 0x8e8ed1
jmp 0x8d60ae
mov dword [esp + 8], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae99e
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x4e0]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x4e0]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x9a4]
sar dword [esp + 0x4f4], 1
imul ebx, edi
mov ecx, dword [esp + 0x4f8]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x4f4], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e8a22
mov ebp, dword [esp + 0x4f0]
movzx ecx, byte [esp + 0xa0]
mov eax, dword [esp + 0x4f0]
mov edx, dword [esp + 0x9c]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4e8]
add ebx, eax
jmp 0x8e8929
mov dword [esp + 8], 0x431
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae990
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x498]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x498]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x99c]
sar dword [esp + 0x4ac], 1
imul ebx, edi
mov ecx, dword [esp + 0x4b0]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x4ac]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e9047
mov ebp, dword [esp + 0x4a8]
movzx ecx, byte [esp + 0xa8]
mov eax, dword [esp + 0x4a8]
mov edx, dword [esp + 0xa4]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
add ebx, eax
jmp 0x8e8f4e
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x4a8]
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x4a8]
movzx ecx, byte [esp + 0xa8]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa34], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x4a0]
add ebp, eax
mov dword [esp + 0x4ac], ebp
jmp 0x8e8f24
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], 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], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae982
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x434
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbae974
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf061
call sub.msvcrt.dll__assert
mov dword [esp + 8], 0x429
mov dword [esp + 4], 0xbae693
mov dword [esp], 0xbaf048
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], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
call sub.msvcrt.dll__assert
mov eax, dword [esp + 0xb20]
mov edx, ecx
sub edx, dword [esp + 0x300]
imul edx, dword [eax + 0x16bc]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x300]
mov dword [esp + 0x314], eax
jmp 0x8ddced
mov edi, dword [esp + 0x2f4]
sub ecx, ebx
mov ebp, dword [esp + 0x824]
mov eax, dword [esp + 0x85c]
mov dword [esp + 0x308], 0
shl edi, 3
add ebp, 0x20
add eax, 4
mov dword [esp + 0x97c], edi
mov dword [esp + 0x980], ebp
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0x308]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2e0]
mov esi, dword [esp + 0x2e4]
add edi, dword [ecx + edx*8 + 0x16dc]
add esi, dword [ecx + edx*8 + 0x16e0]
test eax, eax
je 0x8e9804
mov ebx, edi
sub ebx, dword [ecx + edx*8 + 0x16bc]
and edx, 1
mov dword [esp + 0xa48], edx
mov dword [esp + 0x30c], ebx
mov eax, dword [esp + 0x2e4]
test eax, eax
je 0x8e97bf
mov edx, dword [esp + 0x308]
mov ebx, esi
mov ecx, dword [esp + 0xb20]
mov ebp, edx
sub ebx, dword [ecx + edx*8 + 0x16c0]
sar ebp, 1
mov eax, dword [esp + 0x304]
movzx ecx, byte [esp + 0x858]
mov edx, dword [esp + 0x304]
imul ebp, dword [esp + 0x97c]
and eax, esi
shl eax, cl
and edx, edi
add eax, edx
mov edx, dword [esp + 0x30c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x304]
and edx, dword [esp + 0x304]
and eax, ebx
shl eax, cl
add eax, edx
mov edx, dword [esp + 0xb20]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0xa48]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x85c]
add ebp, dword [edx + 0x170c]
test eax, eax
je 0x8e9721
mov eax, dword [esp + 0x2f4]
sar esi, 2
mov ecx, dword [esp + 0x824]
sar edi, 2
mov edx, dword [edx + 0x17f8]
sar ebx, 2
imul esi, eax
mov dword [esp + 8], eax
add edi, dword [ecx]
mov dword [esp], ebp
lea eax, [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 4], eax
call dword [edx + esi*4 + 0x40]
mov eax, dword [esp + 0x2f4]
mov edi, dword [esp + 0xb20]
mov ecx, dword [esp + 0x980]
sar dword [esp + 0x30c], 2
imul ebx, eax
mov edx, dword [edi + 0x17fc]
mov dword [esp + 8], eax
mov ecx, dword [ecx]
add dword [esp + 0x30c], ecx
mov eax, dword [esp + 0x30c]
mov dword [esp], ebp
add eax, ebx
mov ebx, dword [esp + 0x310]
mov dword [esp + 4], eax
call dword [edx + ebx*4 + 0x40]
add dword [esp + 0x308], 1
cmp dword [esp + 0x308], 4
jne 0x8e9520
jmp 0x8ddeb5
mov eax, dword [esp + 0xb20]
sar esi, 1
mov ecx, dword [esp + 0x2f4]
sar edi, 1
sar ebx, 1
mov edx, dword [eax + 0x17f0]
mov eax, dword [esp + 0x824]
imul esi, ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], 8
add edi, dword [eax]
mov dword [esp], ebp
lea eax, [edi + esi]
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
mov edi, dword [esp + 0x2f4]
mov esi, dword [esp + 0xb20]
mov eax, dword [esp + 0x980]
sar dword [esp + 0x30c], 1
imul ebx, edi
mov ecx, dword [esp + 0x310]
mov edx, dword [esi + 0x17f4]
mov dword [esp + 0xc], 8
mov dword [esp + 8], edi
mov eax, dword [eax]
add dword [esp + 0x30c], eax
mov eax, dword [esp + 0x30c]
mov dword [esp], ebp
add eax, ebx
mov dword [esp + 4], eax
call dword [edx + ecx*4 + 0x10]
jmp 0x8e9696
mov ebp, dword [esp + 0x308]
movzx ecx, byte [esp + 0xc0]
mov eax, dword [esp + 0x308]
mov edx, dword [esp + 0xbc]
sar ebp, 1
mov ebx, ebp
shl ebx, cl
mov ecx, dword [esp + 0xb20]
imul edx, dword [ecx + eax*8 + 0x16c0]
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x300]
add ebx, eax
jmp 0x8e959d
mov eax, dword [esp + 0xb20]
mov ebx, dword [esp + 0x308]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x308]
movzx ecx, byte [esp + 0xc0]
imul edx, dword [eax + ebx*8 + 0x16bc]
and ebp, 1
mov dword [esp + 0xa48], ebp
shl ebp, cl
mov eax, edx
sar edx, 0x1f
idiv dword [esp + 0x300]
add ebp, eax
mov dword [esp + 0x30c], ebp
jmp 0x8e9573
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], 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], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
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 edi, ebx
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0xb20]
sar edi, 2
mov eax, dword [esp + 0x2f4]
sar esi, 2
mov ecx, dword [esp + 0x824]
imul ebx, edi
add edi, 8
mov edx, dword [ebp + 0x17f8]
mov dword [esp + 8], eax
mov eax, esi
add eax, dword [ecx]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x170c]
mov ebp, dword [esp + 0x31c]
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x824]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add eax, dword [ebp]
mov ebp, dword [esp + 0x31c]
lea eax, [ebx + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
call dword [edx + ebp*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2f4]
imul edi, dword [esp + 0x2f4]
mov ebp, dword [esp + 0x2f4]
mov edx, dword [eax + 0x17f8]
mov eax, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
shl ebp, 3
add eax, dword [ecx]
add eax, edi
mov edi, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [edi + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x31c]
call dword [edx + eax*4 + 0x40]
mov edx, dword [edi + 0x17f8]
mov ecx, dword [esp + 0x2f4]
mov edi, dword [esp + 0x824]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb20]
add esi, dword [edi]
lea ebx, [ebx + esi + 8]
lea ebx, [ebp + ebx]
mov dword [esp + 4], ebx
mov eax, dword [ecx + 0x170c]
mov ebx, dword [esp + 0x31c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + ebx*4 + 0x40]
mov eax, dword [esp + 0xb20]
mov ecx, dword [esp + 0x2f4]
mov ebx, dword [esp + 0x318]
mov edi, dword [esp + 0x314]
mov esi, dword [esp + 0x2f4]
mov edx, dword [eax + 0x17fc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x824]
sar ebx, 2
sar edi, 2
imul esi, ebx
mov eax, edi
add ebx, 8
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
add eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x320]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x2f4]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
mov ecx, dword [esp + 0xb20]
lea eax, [esi + eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x170c]
add eax, 8
mov dword [esp], eax
mov eax, dword [esp + 0x320]
call dword [edx + eax*4 + 0x40]
mov ecx, dword [esp + 0xb20]
mov eax, dword [esp + 0x2f4]
imul ebx, dword [esp + 0x2f4]
mov edx, dword [ecx + 0x17fc]
mov ecx, dword [esp + 0x824]
mov dword [esp + 8], eax
mov eax, edi
add eax, dword [ecx + 0x20]
add eax, ebx
mov ebx, dword [esp + 0xb20]
mov dword [esp + 4], eax
mov eax, ebp
add eax, dword [ebx + 0x170c]
mov dword [esp], eax
mov eax, dword [esp + 0x320]
call dword [edx + eax*4 + 0x40]
mov edx, dword [ebx + 0x17fc]
mov ecx, dword [esp + 0x2f4]
mov ebx, dword [esp + 0x824]
mov dword [esp + 8], ecx
add edi, dword [ebx + 0x20]
lea esi, [esi + edi + 8]
mov edi, dword [esp + 0x320]
lea esi, [ebp + esi]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xb20]
mov eax, dword [esi + 0x170c]
add eax, 8
lea eax, [ebp + eax]
mov dword [esp], eax
call dword [edx + edi*4 + 0x40]
jmp 0x8ddeb5
mov edi, dword [esp + 0xb20]
sub ecx, dword [esp + 0x300]
imul ecx, dword [edi + 0x16c0]
mov edx, ecx
mov eax, ecx
sar edx, 0x1f
idiv dword [esp + 0x300]
mov dword [esp + 0x318], eax
jmp 0x8ddd12
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], 0x7c
mov dword [esp + 4], 0xbae5d0
mov dword [esp], 0xbae708
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], 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], 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], 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], 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
lea esi, [esi]
lea edi, [edi]