40203c:	53                   	push   %ebx
40203d:	56                   	push   %esi
40203e:	e8 8b 9c 00 00       	call   0x40bcce
402043:	8b 75 14             	mov    0x14(%ebp),%esi
402046:	32 db                	xor    %bl,%bl
402048:	ff 36                	push   (%esi)
40204a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40204d:	e8 34 00 00 00       	call   0x402086
402052:	0f b7 00             	movzwl (%eax),%eax
402055:	66 85 c0             	test   %ax,%ax
402058:	74 1b                	je     0x402075
40205a:	84 db                	test   %bl,%bl
40205c:	75 17                	jne    0x402075
40205e:	66 3b 45 08          	cmp    0x8(%ebp),%ax
402062:	74 0d                	je     0x402071
402064:	8b 4d 10             	mov    0x10(%ebp),%ecx
402067:	50                   	push   %eax
402068:	e8 2c a7 00 00       	call   0x40c799
40206d:	ff 06                	incl   (%esi)
40206f:	eb d7                	jmp    0x402048
402071:	b3 01                	mov    $0x1,%bl
402073:	eb f8                	jmp    0x40206d
402075:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
40207a:	b0 01                	mov    $0x1,%al
40207c:	74 02                	je     0x402080
40207e:	8a c3                	mov    %bl,%al
402080:	5e                   	pop    %esi
402081:	5b                   	pop    %ebx
402082:	5d                   	pop    %ebp
402083:	c2 10 00             	ret    $0x10
402086:	55                   	push   %ebp
402087:	8b ec                	mov    %esp,%ebp
402089:	8b 51 04             	mov    0x4(%ecx),%edx
40208c:	8b 01                	mov    (%ecx),%eax
40208e:	56                   	push   %esi
40208f:	8b 75 08             	mov    0x8(%ebp),%esi
402092:	3b f2                	cmp    %edx,%esi
402094:	73 08                	jae    0x40209e
402096:	8d 04 70             	lea    (%eax,%esi,2),%eax
402099:	5e                   	pop    %esi
40209a:	5d                   	pop    %ebp
40209b:	c2 04 00             	ret    $0x4
40209e:	8d 04 50             	lea    (%eax,%edx,2),%eax
4020a1:	eb f6                	jmp    0x402099
4020a3:	56                   	push   %esi
4020a4:	57                   	push   %edi
4020a5:	8b f1                	mov    %ecx,%esi
4020a7:	33 ff                	xor    %edi,%edi
4020a9:	39 7e 08             	cmp    %edi,0x8(%esi)
4020ac:	76 19                	jbe    0x4020c7
4020ae:	8b 46 04             	mov    0x4(%esi),%eax
4020b1:	ff 34 b8             	push   (%eax,%edi,4)
4020b4:	e8 a5 d4 01 00       	call   0x41f55e
4020b9:	8b 46 04             	mov    0x4(%esi),%eax
4020bc:	59                   	pop    %ecx
4020bd:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
4020c1:	47                   	inc    %edi
4020c2:	3b 7e 08             	cmp    0x8(%esi),%edi
4020c5:	72 e7                	jb     0x4020ae
4020c7:	83 66 08 00          	andl   $0x0,0x8(%esi)
4020cb:	5f                   	pop    %edi
4020cc:	5e                   	pop    %esi
4020cd:	c3                   	ret
4020ce:	55                   	push   %ebp
4020cf:	8b ec                	mov    %esp,%ebp
4020d1:	83 ec 10             	sub    $0x10,%esp
4020d4:	53                   	push   %ebx
4020d5:	56                   	push   %esi
4020d6:	57                   	push   %edi
4020d7:	8b f1                	mov    %ecx,%esi
4020d9:	33 ff                	xor    %edi,%edi
4020db:	39 7e 24             	cmp    %edi,0x24(%esi)
4020de:	74 57                	je     0x402137
4020e0:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
4020e4:	74 51                	je     0x402137
4020e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4020e9:	e8 b5 ff ff ff       	call   0x4020a3
4020ee:	6a 01                	push   $0x1
4020f0:	8d 45 08             	lea    0x8(%ebp),%eax
4020f3:	50                   	push   %eax
4020f4:	8b ce                	mov    %esi,%ecx
4020f6:	e8 5b 08 00 00       	call   0x402956
4020fb:	85 c0                	test   %eax,%eax
4020fd:	7e 38                	jle    0x402137
4020ff:	39 7e 34             	cmp    %edi,0x34(%esi)
402102:	7e 29                	jle    0x40212d
402104:	8b df                	mov    %edi,%ebx
402106:	8b 46 2c             	mov    0x2c(%esi),%eax
402109:	8b 0c 18             	mov    (%eax,%ebx,1),%ecx
40210c:	8b 44 18 04          	mov    0x4(%eax,%ebx,1),%eax
402110:	2b c1                	sub    %ecx,%eax
402112:	89 45 f8             	mov    %eax,-0x8(%ebp)
402115:	8d 45 f4             	lea    -0xc(%ebp),%eax
402118:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40211b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40211e:	50                   	push   %eax
40211f:	e8 17 00 00 00       	call   0x40213b
402124:	47                   	inc    %edi
402125:	8d 5b 08             	lea    0x8(%ebx),%ebx
402128:	3b 7e 34             	cmp    0x34(%esi),%edi
40212b:	7c d9                	jl     0x402106
40212d:	8b 46 34             	mov    0x34(%esi),%eax
402130:	5f                   	pop    %edi
402131:	5e                   	pop    %esi
402132:	5b                   	pop    %ebx
402133:	c9                   	leave
402134:	c2 0c 00             	ret    $0xc
402137:	33 c0                	xor    %eax,%eax
402139:	eb f5                	jmp    0x402130
40213b:	55                   	push   %ebp
40213c:	8b ec                	mov    %esp,%ebp
40213e:	56                   	push   %esi
40213f:	8b f1                	mov    %ecx,%esi
402141:	57                   	push   %edi
402142:	8b 46 0c             	mov    0xc(%esi),%eax
402145:	39 46 08             	cmp    %eax,0x8(%esi)
402148:	74 31                	je     0x40217b
40214a:	6a 08                	push   $0x8
40214c:	e8 99 d3 01 00       	call   0x41f4ea
402151:	8b f8                	mov    %eax,%edi
402153:	59                   	pop    %ecx
402154:	85 ff                	test   %edi,%edi
402156:	0f 84 54 04 07 00    	je     0x4725b0
40215c:	8b 55 08             	mov    0x8(%ebp),%edx
40215f:	8b 0a                	mov    (%edx),%ecx
402161:	89 0f                	mov    %ecx,(%edi)
402163:	8b 4a 04             	mov    0x4(%edx),%ecx
402166:	89 4f 04             	mov    %ecx,0x4(%edi)
402169:	8b 4e 08             	mov    0x8(%esi),%ecx
40216c:	8b 46 04             	mov    0x4(%esi),%eax
40216f:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
402172:	ff 46 08             	incl   0x8(%esi)
402175:	5f                   	pop    %edi
402176:	5e                   	pop    %esi
402177:	5d                   	pop    %ebp
402178:	c2 04 00             	ret    $0x4
40217b:	03 c0                	add    %eax,%eax
40217d:	83 f8 08             	cmp    $0x8,%eax
402180:	73 03                	jae    0x402185
402182:	6a 08                	push   $0x8
402184:	58                   	pop    %eax
402185:	33 c9                	xor    %ecx,%ecx
402187:	6a 04                	push   $0x4
402189:	5a                   	pop    %edx
40218a:	89 46 0c             	mov    %eax,0xc(%esi)
40218d:	f7 e2                	mul    %edx
40218f:	0f 90 c1             	seto   %cl
402192:	f7 d9                	neg    %ecx
402194:	0b c8                	or     %eax,%ecx
402196:	51                   	push   %ecx
402197:	e8 4e d3 01 00       	call   0x41f4ea
40219c:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4021a0:	59                   	pop    %ecx
4021a1:	8b f8                	mov    %eax,%edi
4021a3:	0f 85 df 03 07 00    	jne    0x472588
4021a9:	89 7e 04             	mov    %edi,0x4(%esi)
4021ac:	eb 9c                	jmp    0x40214a
4021ae:	55                   	push   %ebp
4021af:	8b ec                	mov    %esp,%ebp
4021b1:	83 ec 38             	sub    $0x38,%esp
4021b4:	56                   	push   %esi
4021b5:	57                   	push   %edi
4021b6:	6a 58                	push   $0x58
4021b8:	8b f9                	mov    %ecx,%edi
4021ba:	e8 2b d3 01 00       	call   0x41f4ea
4021bf:	59                   	pop    %ecx
4021c0:	85 c0                	test   %eax,%eax
4021c2:	0f 84 fe 3c 07 00    	je     0x475ec6
4021c8:	8b c8                	mov    %eax,%ecx
4021ca:	e8 af 00 00 00       	call   0x40227e
4021cf:	8b f0                	mov    %eax,%esi
4021d1:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
4021d7:	89 06                	mov    %eax,(%esi)
4021d9:	8d 87 d8 01 00 00    	lea    0x1d8(%edi),%eax
4021df:	50                   	push   %eax
4021e0:	8d 4e 08             	lea    0x8(%esi),%ecx
4021e3:	e8 c6 ba 00 00       	call   0x40dcae
4021e8:	8d 87 e8 01 00 00    	lea    0x1e8(%edi),%eax
4021ee:	50                   	push   %eax
4021ef:	8d 4e 18             	lea    0x18(%esi),%ecx
4021f2:	e8 f6 4c 00 00       	call   0x406eed
4021f7:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
4021fd:	89 46 28             	mov    %eax,0x28(%esi)
402200:	8b 87 10 03 00 00    	mov    0x310(%edi),%eax
402206:	89 46 2c             	mov    %eax,0x2c(%esi)
402209:	8b 87 f8 01 00 00    	mov    0x1f8(%edi),%eax
40220f:	8d 4e 38             	lea    0x38(%esi),%ecx
402212:	8b 00                	mov    (%eax),%eax
402214:	89 46 30             	mov    %eax,0x30(%esi)
402217:	8b 87 18 03 00 00    	mov    0x318(%edi),%eax
40221d:	89 46 34             	mov    %eax,0x34(%esi)
402220:	8d 87 58 04 00 00    	lea    0x458(%edi),%eax
402226:	50                   	push   %eax
402227:	e8 c1 4c 00 00       	call   0x406eed
40222c:	8b 87 68 04 00 00    	mov    0x468(%edi),%eax
402232:	89 46 48             	mov    %eax,0x48(%esi)
402235:	8b 87 6c 04 00 00    	mov    0x46c(%edi),%eax
40223b:	89 46 4c             	mov    %eax,0x4c(%esi)
40223e:	8b 87 74 04 00 00    	mov    0x474(%edi),%eax
402244:	89 46 50             	mov    %eax,0x50(%esi)
402247:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
40224d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
402250:	89 46 54             	mov    %eax,0x54(%esi)
402253:	e8 6f 05 00 00       	call   0x4027c7
402258:	50                   	push   %eax
402259:	8b 07                	mov    (%edi),%eax
40225b:	8d 4f 04             	lea    0x4(%edi),%ecx
40225e:	8b 40 04             	mov    0x4(%eax),%eax
402261:	03 c8                	add    %eax,%ecx
402263:	e8 dd 04 00 00       	call   0x402745
402268:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40226b:	e8 b0 09 01 00       	call   0x412c20
402270:	8d 4d c8             	lea    -0x38(%ebp),%ecx
402273:	e8 a8 09 01 00       	call   0x412c20
402278:	5f                   	pop    %edi
402279:	8b c6                	mov    %esi,%eax
40227b:	5e                   	pop    %esi
40227c:	c9                   	leave
40227d:	c3                   	ret
40227e:	56                   	push   %esi
40227f:	8b f1                	mov    %ecx,%esi
402281:	83 66 08 00          	andl   $0x0,0x8(%esi)
402285:	83 66 10 00          	andl   $0x0,0x10(%esi)
402289:	8d 4e 18             	lea    0x18(%esi),%ecx
40228c:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
402293:	e8 5f b5 00 00       	call   0x40d7f7
402298:	8d 4e 38             	lea    0x38(%esi),%ecx
40229b:	e8 57 b5 00 00       	call   0x40d7f7
4022a0:	8b c6                	mov    %esi,%eax
4022a2:	5e                   	pop    %esi
4022a3:	c3                   	ret
4022a4:	56                   	push   %esi
4022a5:	8b f1                	mov    %ecx,%esi
4022a7:	83 26 00             	andl   $0x0,(%esi)
4022aa:	8d 4e 08             	lea    0x8(%esi),%ecx
4022ad:	e8 5e 00 00 00       	call   0x402310
4022b2:	8d 8e 8c 00 00 00    	lea    0x8c(%esi),%ecx
4022b8:	e8 3a b5 00 00       	call   0x40d7f7
4022bd:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
4022c3:	e8 2f b5 00 00       	call   0x40d7f7
4022c8:	8d 8e ac 00 00 00    	lea    0xac(%esi),%ecx
4022ce:	e8 24 b5 00 00       	call   0x40d7f7
4022d3:	8d 8e bc 00 00 00    	lea    0xbc(%esi),%ecx
4022d9:	e8 19 b5 00 00       	call   0x40d7f7
4022de:	8d 8e ec 00 00 00    	lea    0xec(%esi),%ecx
4022e4:	e8 be 03 00 00       	call   0x4026a7
4022e9:	6a 04                	push   $0x4
4022eb:	e8 fa d1 01 00       	call   0x41f4ea
4022f0:	59                   	pop    %ecx
4022f1:	85 c0                	test   %eax,%eax
4022f3:	0f 84 ee fc 06 00    	je     0x471fe7
4022f9:	83 20 00             	andl   $0x0,(%eax)
4022fc:	68 08 dc 49 00       	push   $0x49dc08
402301:	89 06                	mov    %eax,(%esi)
402303:	ff 15 fc d6 48 00    	call   *0x48d6fc
402309:	89 46 04             	mov    %eax,0x4(%esi)
40230c:	8b c6                	mov    %esi,%eax
40230e:	5e                   	pop    %esi
40230f:	c3                   	ret
402310:	6a 10                	push   $0x10
402312:	8d 41 04             	lea    0x4(%ecx),%eax
402315:	5a                   	pop    %edx
402316:	83 20 00             	andl   $0x0,(%eax)
402319:	8d 40 08             	lea    0x8(%eax),%eax
40231c:	4a                   	dec    %edx
40231d:	75 f7                	jne    0x402316
40231f:	8b c1                	mov    %ecx,%eax
402321:	c3                   	ret
402322:	55                   	push   %ebp
402323:	8b ec                	mov    %esp,%ebp
402325:	83 ec 3c             	sub    $0x3c,%esp
402328:	53                   	push   %ebx
402329:	56                   	push   %esi
40232a:	33 db                	xor    %ebx,%ebx
40232c:	57                   	push   %edi
40232d:	b9 14 16 4c 00       	mov    $0x4c1614,%ecx
402332:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402335:	c7 05 60 11 4c 00 64 	movl   $0x4b1864,0x4c1160
40233c:	18 4b 00
40233f:	e8 e6 02 00 00       	call   0x40262a
402344:	51                   	push   %ecx
402345:	e8 95 03 00 00       	call   0x4026df
40234a:	a1 60 11 4c 00       	mov    0x4c1160,%eax
40234f:	8b 40 04             	mov    0x4(%eax),%eax
402352:	c7 80 60 11 4c 00 58 	movl   $0x4b1858,0x4c1160(%eax)
402359:	18 4b 00
40235c:	a1 60 11 4c 00       	mov    0x4c1160,%eax
402361:	8b 48 04             	mov    0x4(%eax),%ecx
402364:	8d 81 4c fb ff ff    	lea    -0x4b4(%ecx),%eax
40236a:	89 81 5c 11 4c 00    	mov    %eax,0x4c115c(%ecx)
402370:	b9 e8 11 4c 00       	mov    $0x4c11e8,%ecx
402375:	e8 b4 03 00 00       	call   0x40272e
40237a:	b9 18 12 4c 00       	mov    $0x4c1218,%ecx
40237f:	e8 73 b4 00 00       	call   0x40d7f7
402384:	b9 28 12 4c 00       	mov    $0x4c1228,%ecx
402389:	e8 69 b4 00 00       	call   0x40d7f7
40238e:	b9 38 12 4c 00       	mov    $0x4c1238,%ecx
402393:	e8 5f b4 00 00       	call   0x40d7f7
402398:	b9 b0 12 4c 00       	mov    $0x4c12b0,%ecx
40239d:	89 1d 80 12 4c 00    	mov    %ebx,0x4c1280
4023a3:	89 1d 84 12 4c 00    	mov    %ebx,0x4c1284
4023a9:	89 1d 88 12 4c 00    	mov    %ebx,0x4c1288
4023af:	89 1d 8c 12 4c 00    	mov    %ebx,0x4c128c
4023b5:	89 1d 90 12 4c 00    	mov    %ebx,0x4c1290
4023bb:	89 1d 94 12 4c 00    	mov    %ebx,0x4c1294
4023c1:	89 1d 98 12 4c 00    	mov    %ebx,0x4c1298
4023c7:	89 1d 9c 12 4c 00    	mov    %ebx,0x4c129c
4023cd:	89 1d a0 12 4c 00    	mov    %ebx,0x4c12a0
4023d3:	89 1d a4 12 4c 00    	mov    %ebx,0x4c12a4
4023d9:	e8 19 b4 00 00       	call   0x40d7f7
4023de:	33 ff                	xor    %edi,%edi
4023e0:	47                   	inc    %edi
4023e1:	b9 48 13 4c 00       	mov    $0x4c1348,%ecx
4023e6:	89 1d c0 12 4c 00    	mov    %ebx,0x4c12c0
4023ec:	89 1d c4 12 4c 00    	mov    %ebx,0x4c12c4
4023f2:	66 89 1d c8 12 4c 00 	mov    %bx,0x4c12c8
4023f9:	89 1d cc 12 4c 00    	mov    %ebx,0x4c12cc
4023ff:	89 1d d0 12 4c 00    	mov    %ebx,0x4c12d0
402405:	66 89 1d d4 12 4c 00 	mov    %bx,0x4c12d4
40240c:	c7 05 d8 12 4c 00 c4 	movl   $0x4b26c4,0x4c12d8
402413:	26 4b 00
402416:	89 1d dc 12 4c 00    	mov    %ebx,0x4c12dc
40241c:	89 1d e0 12 4c 00    	mov    %ebx,0x4c12e0
402422:	89 1d e4 12 4c 00    	mov    %ebx,0x4c12e4
402428:	89 1d e8 12 4c 00    	mov    %ebx,0x4c12e8
40242e:	89 1d ec 12 4c 00    	mov    %ebx,0x4c12ec
402434:	89 1d f0 12 4c 00    	mov    %ebx,0x4c12f0
40243a:	c7 05 f4 12 4c 00 c4 	movl   $0x4b26c4,0x4c12f4
402441:	26 4b 00
402444:	89 1d f8 12 4c 00    	mov    %ebx,0x4c12f8
40244a:	89 1d fc 12 4c 00    	mov    %ebx,0x4c12fc
402450:	89 1d 00 13 4c 00    	mov    %ebx,0x4c1300
402456:	c7 05 04 13 4c 00 c4 	movl   $0x4b26c4,0x4c1304
40245d:	26 4b 00
402460:	89 1d 08 13 4c 00    	mov    %ebx,0x4c1308
402466:	89 1d 0c 13 4c 00    	mov    %ebx,0x4c130c
40246c:	89 1d 10 13 4c 00    	mov    %ebx,0x4c1310
402472:	c7 05 14 13 4c 00 c4 	movl   $0x4b26c4,0x4c1314
402479:	26 4b 00
40247c:	89 1d 18 13 4c 00    	mov    %ebx,0x4c1318
402482:	89 1d 1c 13 4c 00    	mov    %ebx,0x4c131c
402488:	89 1d 20 13 4c 00    	mov    %ebx,0x4c1320
40248e:	c7 05 24 13 4c 00 b8 	movl   $0x49ddb8,0x4c1324
402495:	dd 49 00
402498:	89 1d 28 13 4c 00    	mov    %ebx,0x4c1328
40249e:	89 1d 2c 13 4c 00    	mov    %ebx,0x4c132c
4024a4:	89 1d 30 13 4c 00    	mov    %ebx,0x4c1330
4024aa:	89 1d 38 13 4c 00    	mov    %ebx,0x4c1338
4024b0:	89 1d 40 13 4c 00    	mov    %ebx,0x4c1340
4024b6:	89 3d 44 13 4c 00    	mov    %edi,0x4c1344