401202:	83 fb ff             	cmp    $0xffffffff,%ebx
401205:	0f 84 a6 00 00 00    	je     0x4012b1
40120b:	68 80 c6 41 00       	push   $0x41c680
401210:	e8 db 19 00 00       	call   0x402bf0
401215:	59                   	pop    %ecx
401216:	89 45 fc             	mov    %eax,-0x4(%ebp)
401219:	83 f8 ff             	cmp    $0xffffffff,%eax
40121c:	0f 84 8f 00 00 00    	je     0x4012b1
401222:	56                   	push   %esi
401223:	57                   	push   %edi
401224:	8d 34 18             	lea    (%eax,%ebx,1),%esi
401227:	e8 97 18 00 00       	call   0x402ac3
40122c:	8b f8                	mov    %eax,%edi
40122e:	85 ff                	test   %edi,%edi
401230:	74 7d                	je     0x4012af
401232:	53                   	push   %ebx
401233:	57                   	push   %edi
401234:	68 7e 65 01 00       	push   $0x1657e
401239:	68 00 61 40 00       	push   $0x406100
40123e:	e8 2d 19 00 00       	call   0x402b70
401243:	83 c4 10             	add    $0x10,%esp
401246:	3b c3                	cmp    %ebx,%eax
401248:	75 65                	jne    0x4012af
40124a:	85 db                	test   %ebx,%ebx
40124c:	74 1e                	je     0x40126c
40124e:	8b 77 3c             	mov    0x3c(%edi),%esi
401251:	68 ff ff 00 00       	push   $0xffff
401256:	89 5c 3e 58          	mov    %ebx,0x58(%esi,%edi,1)
40125a:	e8 e7 18 00 00       	call   0x402b46
40125f:	6a ff                	push   $0xffffffff
401261:	66 89 07             	mov    %ax,(%edi)
401264:	e8 dd 18 00 00       	call   0x402b46
401269:	89 04 3e             	mov    %eax,(%esi,%edi,1)
40126c:	03 fb                	add    %ebx,%edi
40126e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
401271:	53                   	push   %ebx
401272:	57                   	push   %edi
401273:	68 84 dd 00 00       	push   $0xdd84
401278:	68 80 c6 41 00       	push   $0x41c680
40127d:	e8 ee 18 00 00       	call   0x402b70
401282:	83 c4 10             	add    $0x10,%esp
401285:	3b c3                	cmp    %ebx,%eax
401287:	75 26                	jne    0x4012af
401289:	85 ff                	test   %edi,%edi
40128b:	74 22                	je     0x4012af
40128d:	85 db                	test   %ebx,%ebx
40128f:	74 1e                	je     0x4012af
401291:	8b 77 3c             	mov    0x3c(%edi),%esi
401294:	68 ff ff 00 00       	push   $0xffff
401299:	89 5c 3e 58          	mov    %ebx,0x58(%esi,%edi,1)
40129d:	e8 a4 18 00 00       	call   0x402b46
4012a2:	6a ff                	push   $0xffffffff
4012a4:	66 89 07             	mov    %ax,(%edi)
4012a7:	e8 9a 18 00 00       	call   0x402b46
4012ac:	89 04 3e             	mov    %eax,(%esi,%edi,1)
4012af:	5f                   	pop    %edi
4012b0:	5e                   	pop    %esi
4012b1:	5b                   	pop    %ebx
4012b2:	c9                   	leave
4012b3:	c3                   	ret
4012b4:	55                   	push   %ebp
4012b5:	8b ec                	mov    %esp,%ebp
4012b7:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
4012bd:	53                   	push   %ebx
4012be:	56                   	push   %esi
4012bf:	57                   	push   %edi
4012c0:	33 db                	xor    %ebx,%ebx
4012c2:	68 03 01 00 00       	push   $0x103
4012c7:	8d 85 e9 fe ff ff    	lea    -0x117(%ebp),%eax
4012cd:	53                   	push   %ebx
4012ce:	50                   	push   %eax
4012cf:	88 9d e8 fe ff ff    	mov    %bl,-0x118(%ebp)
4012d5:	e8 02 1e 00 00       	call   0x4030dc
4012da:	33 c0                	xor    %eax,%eax
4012dc:	88 5d ec             	mov    %bl,-0x14(%ebp)
4012df:	8d 7d ed             	lea    -0x13(%ebp),%edi
4012e2:	ab                   	stos   %eax,%es:(%edi)
4012e3:	ab                   	stos   %eax,%es:(%edi)
4012e4:	ab                   	stos   %eax,%es:(%edi)
4012e5:	ab                   	stos   %eax,%es:(%edi)
4012e6:	66 ab                	stos   %ax,%es:(%edi)
4012e8:	83 c4 0c             	add    $0xc,%esp
4012eb:	6a 1c                	push   $0x1c
4012ed:	aa                   	stos   %al,%es:(%edi)
4012ee:	58                   	pop    %eax
4012ef:	e8 e2 1d 00 00       	call   0x4030d6
4012f4:	8b c4                	mov    %esp,%eax
4012f6:	3b c3                	cmp    %ebx,%eax
4012f8:	74 11                	je     0x40130b
4012fa:	68 8b 00 00 00       	push   $0x8b
4012ff:	6a 1b                	push   $0x1b
401301:	ba 44 5d 40 00       	mov    $0x405d44,%edx
401306:	e8 52 16 00 00       	call   0x40295d
40130b:	be 04 01 00 00       	mov    $0x104,%esi
401310:	56                   	push   %esi
401311:	8d 8d e8 fe ff ff    	lea    -0x118(%ebp),%ecx
401317:	51                   	push   %ecx
401318:	50                   	push   %eax
401319:	ff 15 a0 40 40 00    	call   *0x4040a0
40131f:	85 c0                	test   %eax,%eax
401321:	0f 84 8e 00 00 00    	je     0x4013b5
401327:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
40132d:	8d 50 01             	lea    0x1(%eax),%edx
401330:	8a 08                	mov    (%eax),%cl
401332:	40                   	inc    %eax
401333:	3a cb                	cmp    %bl,%cl
401335:	75 f9                	jne    0x401330
401337:	68 04 80 00 00       	push   $0x8004
40133c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40133f:	2b c2                	sub    %edx,%eax
401341:	51                   	push   %ecx
401342:	50                   	push   %eax
401343:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
401349:	50                   	push   %eax
40134a:	e8 7f 09 00 00       	call   0x401cce
40134f:	85 c0                	test   %eax,%eax
401351:	74 62                	je     0x4013b5
401353:	32 c0                	xor    %al,%al
401355:	8d bd e8 fe ff ff    	lea    -0x118(%ebp),%edi
40135b:	8b ce                	mov    %esi,%ecx
40135d:	f3 aa                	rep stos %al,%es:(%edi)
40135f:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
401365:	8d 7d ec             	lea    -0x14(%ebp),%edi
401368:	e8 36 0a 00 00       	call   0x401da3
40136d:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
401373:	50                   	push   %eax
401374:	56                   	push   %esi
401375:	ff 15 88 40 40 00    	call   *0x404088
40137b:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
401381:	50                   	push   %eax
401382:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
401388:	50                   	push   %eax
401389:	e8 b9 16 00 00       	call   0x402a47
40138e:	b9 70 a5 42 00       	mov    $0x42a570,%ecx
401393:	8b c1                	mov    %ecx,%eax
401395:	8d 70 01             	lea    0x1(%eax),%esi
401398:	8a 10                	mov    (%eax),%dl
40139a:	40                   	inc    %eax
40139b:	3a d3                	cmp    %bl,%dl
40139d:	75 f9                	jne    0x401398
40139f:	51                   	push   %ecx
4013a0:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4013a6:	2b c6                	sub    %esi,%eax
4013a8:	51                   	push   %ecx
4013a9:	e8 92 0f 00 00       	call   0x402340
4013ae:	85 c0                	test   %eax,%eax
4013b0:	74 03                	je     0x4013b5
4013b2:	33 db                	xor    %ebx,%ebx
4013b4:	43                   	inc    %ebx
4013b5:	8b c3                	mov    %ebx,%eax
4013b7:	8d a5 d8 fd ff ff    	lea    -0x228(%ebp),%esp
4013bd:	5f                   	pop    %edi
4013be:	5e                   	pop    %esi
4013bf:	5b                   	pop    %ebx
4013c0:	c9                   	leave
4013c1:	c3                   	ret
4013c2:	55                   	push   %ebp
4013c3:	8b ec                	mov    %esp,%ebp
4013c5:	81 ec 58 01 00 00    	sub    $0x158,%esp
4013cb:	68 1c 01 00 00       	push   $0x11c
4013d0:	8d 85 a8 fe ff ff    	lea    -0x158(%ebp),%eax
4013d6:	6a 00                	push   $0x0
4013d8:	50                   	push   %eax
4013d9:	e8 fe 1c 00 00       	call   0x4030dc
4013de:	83 c4 0c             	add    $0xc,%esp
4013e1:	8d 85 a8 fe ff ff    	lea    -0x158(%ebp),%eax
4013e7:	50                   	push   %eax
4013e8:	c7 85 a8 fe ff ff 1c 	movl   $0x11c,-0x158(%ebp)
4013ef:	01 00 00
4013f2:	ff 15 94 40 40 00    	call   *0x404094
4013f8:	85 c0                	test   %eax,%eax
4013fa:	74 58                	je     0x401454
4013fc:	83 bd ac fe ff ff 06 	cmpl   $0x6,-0x154(%ebp)
401403:	72 4f                	jb     0x401454
401405:	ff 15 a4 40 40 00    	call   *0x4040a4
40140b:	50                   	push   %eax
40140c:	e8 e4 0b 00 00       	call   0x401ff5
401411:	3d 00 20 00 00       	cmp    $0x2000,%eax
401416:	73 3c                	jae    0x401454
401418:	e8 e5 04 00 00       	call   0x401902
40141d:	85 c0                	test   %eax,%eax
40141f:	75 33                	jne    0x401454
401421:	6a 06                	push   $0x6
401423:	50                   	push   %eax
401424:	ff 15 94 41 40 00    	call   *0x404194
40142a:	85 c0                	test   %eax,%eax
40142c:	78 26                	js     0x401454
40142e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
401431:	e8 0d 07 00 00       	call   0x401b43
401436:	85 c0                	test   %eax,%eax
401438:	74 0c                	je     0x401446
40143a:	8d 7d c4             	lea    -0x3c(%ebp),%edi
40143d:	e8 39 08 00 00       	call   0x401c7b
401442:	85 c0                	test   %eax,%eax
401444:	74 f4                	je     0x40143a
401446:	ff 15 98 41 40 00    	call   *0x404198
40144c:	6a 00                	push   $0x0
40144e:	ff 15 b4 40 40 00    	call   *0x4040b4
401454:	c9                   	leave
401455:	c3                   	ret
401456:	55                   	push   %ebp
401457:	8b ec                	mov    %esp,%ebp
401459:	56                   	push   %esi
40145a:	68 04 01 00 00       	push   $0x104
40145f:	68 08 a4 42 00       	push   $0x42a408
401464:	33 f6                	xor    %esi,%esi
401466:	56                   	push   %esi
401467:	ff 15 90 40 40 00    	call   *0x404090
40146d:	6a 01                	push   $0x1
40146f:	ff 15 ac 40 40 00    	call   *0x4040ac
401475:	e8 37 0c 00 00       	call   0x4020b1
40147a:	e8 79 09 00 00       	call   0x401df8
40147f:	a3 0c a5 42 00       	mov    %eax,0x42a50c
401484:	e8 a3 11 00 00       	call   0x40262c
401489:	e8 34 ff ff ff       	call   0x4013c2
40148e:	e8 6d fb ff ff       	call   0x401000
401493:	85 c0                	test   %eax,%eax
401495:	75 55                	jne    0x4014ec
401497:	e8 5a fc ff ff       	call   0x4010f6
40149c:	39 35 5c a5 42 00    	cmp    %esi,0x42a55c
4014a2:	74 2e                	je     0x4014d2
4014a4:	e8 0b fe ff ff       	call   0x4012b4
4014a9:	85 c0                	test   %eax,%eax
4014ab:	75 25                	jne    0x4014d2
4014ad:	6a 14                	push   $0x14
4014af:	58                   	pop    %eax
4014b0:	e8 21 1c 00 00       	call   0x4030d6
4014b5:	8b c4                	mov    %esp,%eax
4014b7:	3b c6                	cmp    %esi,%eax
4014b9:	74 11                	je     0x4014cc
4014bb:	68 84 00 00 00       	push   $0x84
4014c0:	6a 11                	push   $0x11
4014c2:	ba 30 5d 40 00       	mov    $0x405d30,%edx
4014c7:	e8 91 14 00 00       	call   0x40295d
4014cc:	50                   	push   %eax
4014cd:	e8 e4 09 00 00       	call   0x401eb6
4014d2:	e8 19 fd ff ff       	call   0x4011f0
4014d7:	39 35 5c a5 42 00    	cmp    %esi,0x42a55c
4014dd:	74 0d                	je     0x4014ec
4014df:	39 35 64 a5 42 00    	cmp    %esi,0x42a564
4014e5:	75 05                	jne    0x4014ec
4014e7:	e8 d4 0e 00 00       	call   0x4023c0
4014ec:	39 35 60 a5 42 00    	cmp    %esi,0x42a560
4014f2:	74 08                	je     0x4014fc
4014f4:	6a ff                	push   $0xffffffff
4014f6:	ff 15 98 40 40 00    	call   *0x404098
4014fc:	56                   	push   %esi
4014fd:	ff 15 b4 40 40 00    	call   *0x4040b4
401503:	cc                   	int3
401504:	68 bc 01 00 00       	push   $0x1bc
401509:	68 28 46 40 00       	push   $0x404628
40150e:	e8 a5 1a 00 00       	call   0x402fb8
401513:	33 ff                	xor    %edi,%edi
401515:	89 7d d8             	mov    %edi,-0x28(%ebp)
401518:	89 7d cc             	mov    %edi,-0x34(%ebp)
40151b:	c7 85 38 ff ff ff 94 	movl   $0x94,-0xc8(%ebp)
401522:	00 00 00
401525:	68 90 00 00 00       	push   $0x90
40152a:	57                   	push   %edi
40152b:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
401531:	50                   	push   %eax
401532:	e8 a5 1b 00 00       	call   0x4030dc
401537:	83 c4 0c             	add    $0xc,%esp
40153a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
40153d:	89 7d d4             	mov    %edi,-0x2c(%ebp)
401540:	89 7d fc             	mov    %edi,-0x4(%ebp)
401543:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
401549:	50                   	push   %eax
40154a:	ff 15 70 40 40 00    	call   *0x404070
401550:	85 c0                	test   %eax,%eax
401552:	0f 84 5c 02 00 00    	je     0x4017b4
401558:	83 bd 3c ff ff ff 05 	cmpl   $0x5,-0xc4(%ebp)
40155f:	75 15                	jne    0x401576
401561:	39 bd 40 ff ff ff    	cmp    %edi,-0xc0(%ebp)
401567:	76 0d                	jbe    0x401576
401569:	b8 39 c0 00 00       	mov    $0xc039,%eax
40156e:	66 a3 1c a5 42 00    	mov    %ax,0x42a51c
401574:	eb 38                	jmp    0x4015ae
401576:	83 bd 3c ff ff ff 06 	cmpl   $0x6,-0xc4(%ebp)
40157d:	75 22                	jne    0x4015a1
40157f:	83 bd 40 ff ff ff 02 	cmpl   $0x2,-0xc0(%ebp)
401586:	73 19                	jae    0x4015a1
401588:	33 c0                	xor    %eax,%eax
40158a:	83 bd 40 ff ff ff 01 	cmpl   $0x1,-0xc0(%ebp)
401591:	0f 94 c0             	sete   %al
401594:	8d 84 00 3a c0 00 00 	lea    0xc03a(%eax,%eax,1),%eax
40159b:	66 a3 1c a5 42 00    	mov    %ax,0x42a51c
4015a1:	66 39 3d 1c a5 42 00 	cmp    %di,0x42a51c
4015a8:	0f 84 06 02 00 00    	je     0x4017b4
4015ae:	6a 0c                	push   $0xc
4015b0:	58                   	pop    %eax
4015b1:	e8 20 1b 00 00       	call   0x4030d6
4015b6:	89 65 e8             	mov    %esp,-0x18(%ebp)
4015b9:	8b f4                	mov    %esp,%esi
4015bb:	89 75 e0             	mov    %esi,-0x20(%ebp)
4015be:	3b f7                	cmp    %edi,%esi
4015c0:	74 13                	je     0x4015d5
4015c2:	68 98 00 00 00       	push   $0x98
4015c7:	6a 09                	push   $0x9
4015c9:	8b c6                	mov    %esi,%eax
4015cb:	ba a4 5d 40 00       	mov    $0x405da4,%edx
4015d0:	e8 88 13 00 00       	call   0x40295d
4015d5:	6a 1c                	push   $0x1c
4015d7:	58                   	pop    %eax
4015d8:	e8 f9 1a 00 00       	call   0x4030d6
4015dd:	89 65 e8             	mov    %esp,-0x18(%ebp)
4015e0:	8b c4                	mov    %esp,%eax
4015e2:	3b c7                	cmp    %edi,%eax
4015e4:	74 11                	je     0x4015f7
4015e6:	68 96 00 00 00       	push   $0x96
4015eb:	6a 18                	push   $0x18
4015ed:	ba b0 5d 40 00       	mov    $0x405db0,%edx
4015f2:	e8 66 13 00 00       	call   0x40295d
4015f7:	50                   	push   %eax
4015f8:	56                   	push   %esi
4015f9:	8b 35 80 40 40 00    	mov    0x404080,%esi
4015ff:	ff d6                	call   *%esi
401601:	50                   	push   %eax
401602:	8b 3d 84 40 40 00    	mov    0x404084,%edi
401608:	ff d7                	call   *%edi
40160a:	8b d8                	mov    %eax,%ebx
40160c:	85 db                	test   %ebx,%ebx
40160e:	0f 84 a0 01 00 00    	je     0x4017b4
401614:	6a 18                	push   $0x18
401616:	58                   	pop    %eax
401617:	e8 ba 1a 00 00       	call   0x4030d6
40161c:	89 65 e8             	mov    %esp,-0x18(%ebp)
40161f:	8b c4                	mov    %esp,%eax
401621:	85 c0                	test   %eax,%eax
401623:	74 11                	je     0x401636
401625:	68 89 00 00 00       	push   $0x89
40162a:	6a 17                	push   $0x17
40162c:	ba c8 5d 40 00       	mov    $0x405dc8,%edx
401631:	e8 27 13 00 00       	call   0x40295d
401636:	50                   	push   %eax
401637:	ff 75 e0             	push   -0x20(%ebp)
40163a:	ff d6                	call   *%esi
40163c:	50                   	push   %eax
40163d:	ff d7                	call   *%edi
40163f:	a3 24 a5 42 00       	mov    %eax,0x42a524
401644:	85 c0                	test   %eax,%eax
401646:	0f 84 68 01 00 00    	je     0x4017b4
40164c:	8d 45 dc             	lea    -0x24(%ebp),%eax
40164f:	50                   	push   %eax
401650:	6a 00                	push   $0x0
401652:	6a 00                	push   $0x0
401654:	6a 0b                	push   $0xb
401656:	ff d3                	call   *%ebx
401658:	85 c0                	test   %eax,%eax
40165a:	0f 84 54 01 00 00    	je     0x4017b4