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
401660:	ff 75 dc             	push   -0x24(%ebp)
401663:	6a 40                	push   $0x40
401665:	ff 15 74 40 40 00    	call   *0x404074
40166b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40166e:	33 f6                	xor    %esi,%esi
401670:	3b c6                	cmp    %esi,%eax
401672:	0f 84 3c 01 00 00    	je     0x4017b4
401678:	8d 45 dc             	lea    -0x24(%ebp),%eax
40167b:	50                   	push   %eax
40167c:	ff 75 dc             	push   -0x24(%ebp)
40167f:	ff 75 e4             	push   -0x1c(%ebp)
401682:	6a 0b                	push   $0xb
401684:	ff d3                	call   *%ebx
401686:	3b c6                	cmp    %esi,%eax
401688:	0f 85 26 01 00 00    	jne    0x4017b4
40168e:	c6 85 34 fe ff ff 00 	movb   $0x0,-0x1cc(%ebp)
401695:	68 03 01 00 00       	push   $0x103
40169a:	56                   	push   %esi
40169b:	8d 85 35 fe ff ff    	lea    -0x1cb(%ebp),%eax
4016a1:	50                   	push   %eax
4016a2:	e8 35 1a 00 00       	call   0x4030dc
4016a7:	83 c4 0c             	add    $0xc,%esp
4016aa:	8b 1d 84 41 40 00    	mov    0x404184,%ebx
4016b0:	89 75 d0             	mov    %esi,-0x30(%ebp)
4016b3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4016b6:	3b 30                	cmp    (%eax),%esi
4016b8:	73 51                	jae    0x40170b
4016ba:	8b ce                	mov    %esi,%ecx
4016bc:	69 c9 1c 01 00 00    	imul   $0x11c,%ecx,%ecx
4016c2:	8d 44 01 20          	lea    0x20(%ecx,%eax,1),%eax
4016c6:	89 45 e0             	mov    %eax,-0x20(%ebp)
4016c9:	68 a0 45 40 00       	push   $0x4045a0
4016ce:	50                   	push   %eax
4016cf:	ff d3                	call   *%ebx
4016d1:	59                   	pop    %ecx
4016d2:	59                   	pop    %ecx
4016d3:	85 c0                	test   %eax,%eax
4016d5:	74 31                	je     0x401708
4016d7:	68 a4 45 40 00       	push   $0x4045a4
4016dc:	ff 75 e0             	push   -0x20(%ebp)
4016df:	ff d3                	call   *%ebx
4016e1:	59                   	pop    %ecx
4016e2:	59                   	pop    %ecx
4016e3:	85 c0                	test   %eax,%eax
4016e5:	74 21                	je     0x401708
4016e7:	8b d0                	mov    %eax,%edx
4016e9:	8d 8d 34 fe ff ff    	lea    -0x1cc(%ebp),%ecx
4016ef:	8a 02                	mov    (%edx),%al
4016f1:	88 01                	mov    %al,(%ecx)
4016f3:	42                   	inc    %edx
4016f4:	41                   	inc    %ecx
4016f5:	84 c0                	test   %al,%al
4016f7:	75 f6                	jne    0x4016ef
4016f9:	69 f6 1c 01 00 00    	imul   $0x11c,%esi,%esi
4016ff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
401702:	8b 74 06 0c          	mov    0xc(%esi,%eax,1),%esi
401706:	eb 06                	jmp    0x40170e
401708:	46                   	inc    %esi
401709:	eb a5                	jmp    0x4016b0
40170b:	8b 75 cc             	mov    -0x34(%ebp),%esi
40170e:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
401714:	50                   	push   %eax
401715:	ff 15 78 40 40 00    	call   *0x404078
40171b:	8b d8                	mov    %eax,%ebx
40171d:	89 5d d8             	mov    %ebx,-0x28(%ebp)
401720:	85 db                	test   %ebx,%ebx
401722:	0f 84 8c 00 00 00    	je     0x4017b4
401728:	85 f6                	test   %esi,%esi
40172a:	0f 84 84 00 00 00    	je     0x4017b4
401730:	6a 1c                	push   $0x1c
401732:	58                   	pop    %eax
401733:	e8 9e 19 00 00       	call   0x4030d6
401738:	89 65 e8             	mov    %esp,-0x18(%ebp)
40173b:	8b c4                	mov    %esp,%eax
40173d:	85 c0                	test   %eax,%eax
40173f:	74 11                	je     0x401752
401741:	68 8f 00 00 00       	push   $0x8f
401746:	6a 1a                	push   $0x1a
401748:	ba e0 5d 40 00       	mov    $0x405de0,%edx
40174d:	e8 0b 12 00 00       	call   0x40295d
401752:	50                   	push   %eax
401753:	53                   	push   %ebx
401754:	ff d7                	call   *%edi
401756:	a3 14 a5 42 00       	mov    %eax,0x42a514
40175b:	85 c0                	test   %eax,%eax
40175d:	74 55                	je     0x4017b4
40175f:	8b ce                	mov    %esi,%ecx
401761:	2b cb                	sub    %ebx,%ecx
401763:	03 c1                	add    %ecx,%eax
401765:	a3 14 a5 42 00       	mov    %eax,0x42a514
40176a:	6a 18                	push   $0x18
40176c:	58                   	pop    %eax
40176d:	e8 64 19 00 00       	call   0x4030d6
401772:	89 65 e8             	mov    %esp,-0x18(%ebp)
401775:	8b c4                	mov    %esp,%eax
401777:	85 c0                	test   %eax,%eax
401779:	74 11                	je     0x40178c
40177b:	68 8c 00 00 00       	push   $0x8c
401780:	6a 17                	push   $0x17
401782:	ba fc 5d 40 00       	mov    $0x405dfc,%edx
401787:	e8 d1 11 00 00       	call   0x40295d
40178c:	50                   	push   %eax
40178d:	53                   	push   %ebx
40178e:	ff d7                	call   *%edi
401790:	a3 20 a5 42 00       	mov    %eax,0x42a520
401795:	85 c0                	test   %eax,%eax
401797:	74 1b                	je     0x4017b4
401799:	2b f3                	sub    %ebx,%esi
40179b:	03 c6                	add    %esi,%eax
40179d:	a3 20 a5 42 00       	mov    %eax,0x42a520
4017a2:	ff 15 8c 40 40 00    	call   *0x40408c
4017a8:	a3 10 a5 42 00       	mov    %eax,0x42a510
4017ad:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4017b4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4017b8:	e8 0f 00 00 00       	call   0x4017cc
4017bd:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4017c0:	8d a5 28 fe ff ff    	lea    -0x1d8(%ebp),%esp
4017c6:	e8 26 18 00 00       	call   0x402ff1
4017cb:	c3                   	ret
4017cc:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4017d0:	74 09                	je     0x4017db
4017d2:	ff 75 e4             	push   -0x1c(%ebp)
4017d5:	ff 15 6c 40 40 00    	call   *0x40406c
4017db:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4017df:	74 09                	je     0x4017ea
4017e1:	ff 75 d8             	push   -0x28(%ebp)
4017e4:	ff 15 7c 40 40 00    	call   *0x40407c
4017ea:	c3                   	ret
4017eb:	55                   	push   %ebp
4017ec:	8b ec                	mov    %esp,%ebp
4017ee:	51                   	push   %ecx
4017ef:	51                   	push   %ecx
4017f0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4017f4:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4017f8:	56                   	push   %esi
4017f9:	57                   	push   %edi
4017fa:	8d 45 fc             	lea    -0x4(%ebp),%eax
4017fd:	50                   	push   %eax
4017fe:	ff 35 10 a5 42 00    	push   0x42a510
401804:	ff 15 14 a5 42 00    	call   *0x42a514
40180a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40180d:	50                   	push   %eax
40180e:	6a 04                	push   $0x4
401810:	ff 15 14 a5 42 00    	call   *0x42a514
401816:	ff 75 fc             	push   -0x4(%ebp)
401819:	ff 15 20 a5 42 00    	call   *0x42a520
40181f:	ff 75 f8             	push   -0x8(%ebp)
401822:	8b f0                	mov    %eax,%esi
401824:	ff 15 20 a5 42 00    	call   *0x42a520
40182a:	8b 55 fc             	mov    -0x4(%ebp),%edx
40182d:	83 e6 f8             	and    $0xfffffff8,%esi
401830:	33 c9                	xor    %ecx,%ecx
401832:	8b 3c 8a             	mov    (%edx,%ecx,4),%edi
401835:	83 e7 f8             	and    $0xfffffff8,%edi
401838:	3b fe                	cmp    %esi,%edi
40183a:	74 0b                	je     0x401847
40183c:	41                   	inc    %ecx
40183d:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
401843:	72 ed                	jb     0x401832
401845:	eb 03                	jmp    0x40184a
401847:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
40184a:	5f                   	pop    %edi
40184b:	c7 05 18 a5 42 00 01 	movl   $0x1,0x42a518
401852:	00 00 00
401855:	33 c0                	xor    %eax,%eax
401857:	5e                   	pop    %esi
401858:	c9                   	leave
401859:	c2 10 00             	ret    $0x10
40185c:	56                   	push   %esi
40185d:	8b 35 38 41 40 00    	mov    0x404138,%esi
401863:	57                   	push   %edi
401864:	33 ff                	xor    %edi,%edi
401866:	57                   	push   %edi
401867:	57                   	push   %edi
401868:	57                   	push   %edi