4014db:	b8 e1 14 40 00       	mov    $0x4014e1,%eax
4014e0:	c3                   	ret
4014e1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4014e4:	8b 75 e8             	mov    -0x18(%ebp),%esi
4014e7:	8b 7d 08             	mov    0x8(%ebp),%edi
4014ea:	33 db                	xor    %ebx,%ebx
4014ec:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4014ef:	8b 45 0c             	mov    0xc(%ebp),%eax
4014f2:	85 c0                	test   %eax,%eax
4014f4:	74 1b                	je     0x401511
4014f6:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4014fa:	72 04                	jb     0x401500
4014fc:	8b 16                	mov    (%esi),%edx
4014fe:	eb 02                	jmp    0x401502
401500:	8b d6                	mov    %esi,%edx
401502:	85 c0                	test   %eax,%eax
401504:	74 0b                	je     0x401511
401506:	50                   	push   %eax
401507:	52                   	push   %edx
401508:	51                   	push   %ecx
401509:	e8 92 41 00 00       	call   0x4056a0
40150e:	83 c4 0c             	add    $0xc,%esp
401511:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401515:	72 08                	jb     0x40151f
401517:	ff 36                	push   (%esi)
401519:	e8 da 39 00 00       	call   0x404ef8
40151e:	59                   	pop    %ecx
40151f:	8b 45 ec             	mov    -0x14(%ebp),%eax
401522:	89 06                	mov    %eax,(%esi)
401524:	8b 45 0c             	mov    0xc(%ebp),%eax
401527:	89 7e 14             	mov    %edi,0x14(%esi)
40152a:	89 46 10             	mov    %eax,0x10(%esi)
40152d:	83 ff 10             	cmp    $0x10,%edi
401530:	72 02                	jb     0x401534
401532:	8b 36                	mov    (%esi),%esi
401534:	88 1c 06             	mov    %bl,(%esi,%eax,1)
401537:	e8 9a 48 00 00       	call   0x405dd6
40153c:	c2 08 00             	ret    $0x8
40153f:	8b 75 e8             	mov    -0x18(%ebp),%esi
401542:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401546:	72 08                	jb     0x401550
401548:	ff 36                	push   (%esi)
40154a:	e8 a9 39 00 00       	call   0x404ef8
40154f:	59                   	pop    %ecx
401550:	33 db                	xor    %ebx,%ebx
401552:	53                   	push   %ebx
401553:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
40155a:	89 5e 10             	mov    %ebx,0x10(%esi)
40155d:	53                   	push   %ebx
40155e:	88 1e                	mov    %bl,(%esi)
401560:	e8 16 48 00 00       	call   0x405d7b
401565:	cc                   	int3
401566:	55                   	push   %ebp
401567:	8b ec                	mov    %esp,%ebp
401569:	8b 45 08             	mov    0x8(%ebp),%eax
40156c:	33 c9                	xor    %ecx,%ecx
40156e:	85 c0                	test   %eax,%eax
401570:	74 17                	je     0x401589
401572:	83 f8 ff             	cmp    $0xffffffff,%eax
401575:	77 0d                	ja     0x401584
401577:	50                   	push   %eax
401578:	e8 cb 39 00 00       	call   0x404f48
40157d:	59                   	pop    %ecx
40157e:	8b c8                	mov    %eax,%ecx
401580:	85 c9                	test   %ecx,%ecx
401582:	75 05                	jne    0x401589
401584:	e9 a0 1e 00 00       	jmp    0x403429
401589:	8b c1                	mov    %ecx,%eax
40158b:	5d                   	pop    %ebp
40158c:	c3                   	ret
40158d:	55                   	push   %ebp
40158e:	8b ec                	mov    %esp,%ebp
401590:	8b 45 08             	mov    0x8(%ebp),%eax
401593:	56                   	push   %esi
401594:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
401598:	8b f1                	mov    %ecx,%esi
40159a:	72 02                	jb     0x40159e
40159c:	8b 00                	mov    (%eax),%eax
40159e:	89 45 08             	mov    %eax,0x8(%ebp)
4015a1:	8d 45 08             	lea    0x8(%ebp),%eax
4015a4:	50                   	push   %eax
4015a5:	e8 24 3a 00 00       	call   0x404fce
4015aa:	c7 06 04 a0 41 00    	movl   $0x41a004,(%esi)
4015b0:	8b c6                	mov    %esi,%eax
4015b2:	5e                   	pop    %esi
4015b3:	5d                   	pop    %ebp
4015b4:	c2 04 00             	ret    $0x4
4015b7:	55                   	push   %ebp
4015b8:	8b ec                	mov    %esp,%ebp
4015ba:	56                   	push   %esi
4015bb:	8b f1                	mov    %ecx,%esi
4015bd:	e8 6f 3a 00 00       	call   0x405031
4015c2:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4015c6:	74 07                	je     0x4015cf
4015c8:	56                   	push   %esi
4015c9:	e8 2a 39 00 00       	call   0x404ef8
4015ce:	59                   	pop    %ecx
4015cf:	8b c6                	mov    %esi,%eax
4015d1:	5e                   	pop    %esi
4015d2:	5d                   	pop    %ebp
4015d3:	c2 04 00             	ret    $0x4
4015d6:	e9 56 3a 00 00       	jmp    0x405031
4015db:	55                   	push   %ebp
4015dc:	8b ec                	mov    %esp,%ebp
4015de:	56                   	push   %esi
4015df:	ff 75 08             	push   0x8(%ebp)
4015e2:	8b f1                	mov    %ecx,%esi
4015e4:	e8 25 3a 00 00       	call   0x40500e
4015e9:	c7 06 04 a0 41 00    	movl   $0x41a004,(%esi)
4015ef:	8b c6                	mov    %esi,%eax
4015f1:	5e                   	pop    %esi
4015f2:	5d                   	pop    %ebp
4015f3:	c2 04 00             	ret    $0x4
4015f6:	55                   	push   %ebp
4015f7:	8b ec                	mov    %esp,%ebp
4015f9:	56                   	push   %esi
4015fa:	ff 75 10             	push   0x10(%ebp)
4015fd:	8b f1                	mov    %ecx,%esi
4015ff:	e8 89 ff ff ff       	call   0x40158d
401604:	8b 45 08             	mov    0x8(%ebp),%eax
401607:	89 46 0c             	mov    %eax,0xc(%esi)
40160a:	8b 45 0c             	mov    0xc(%ebp),%eax
40160d:	89 46 10             	mov    %eax,0x10(%esi)
401610:	c7 06 50 a0 41 00    	movl   $0x41a050,(%esi)
401616:	8b c6                	mov    %esi,%eax
401618:	5e                   	pop    %esi
401619:	5d                   	pop    %ebp
40161a:	c2 0c 00             	ret    $0xc
40161d:	6a 1c                	push   $0x1c
40161f:	b8 7e 7c 41 00       	mov    $0x417c7e,%eax
401624:	e8 03 48 00 00       	call   0x405e2c
401629:	8b f1                	mov    %ecx,%esi
40162b:	8b 45 08             	mov    0x8(%ebp),%eax
40162e:	50                   	push   %eax
40162f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401632:	e8 36 fb ff ff       	call   0x40116d
401637:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40163a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40163e:	8d 45 d8             	lea    -0x28(%ebp),%eax
401641:	50                   	push   %eax
401642:	ff 71 04             	push   0x4(%ecx)
401645:	ff 31                	push   (%ecx)
401647:	8b ce                	mov    %esi,%ecx
401649:	e8 a8 ff ff ff       	call   0x4015f6
40164e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401651:	e8 46 fb ff ff       	call   0x40119c
401656:	c7 06 5c a0 41 00    	movl   $0x41a05c,(%esi)
40165c:	8b c6                	mov    %esi,%eax
40165e:	e8 87 47 00 00       	call   0x405dea
401663:	c2 08 00             	ret    $0x8
401666:	55                   	push   %ebp
401667:	8b ec                	mov    %esp,%ebp
401669:	83 e4 f8             	and    $0xfffffff8,%esp
40166c:	8b 45 08             	mov    0x8(%ebp),%eax
40166f:	83 e0 17             	and    $0x17,%eax
401672:	89 41 0c             	mov    %eax,0xc(%ecx)
401675:	8b 49 10             	mov    0x10(%ecx),%ecx
401678:	83 ec 20             	sub    $0x20,%esp
40167b:	23 c8                	and    %eax,%ecx
40167d:	74 6d                	je     0x4016ec
40167f:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
401683:	75 6d                	jne    0x4016f2
401685:	8d 44 24 04          	lea    0x4(%esp),%eax
401689:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
401690:	00
401691:	c7 44 24 08 b8 19 42 	movl   $0x4219b8,0x8(%esp)
401698:	00
401699:	50                   	push   %eax
40169a:	f6 c1 04             	test   $0x4,%cl
40169d:	74 1a                	je     0x4016b9
40169f:	68 08 d4 41 00       	push   $0x41d408
4016a4:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4016a8:	e8 70 ff ff ff       	call   0x40161d
4016ad:	68 24 e8 41 00       	push   $0x41e824
4016b2:	8d 44 24 10          	lea    0x10(%esp),%eax
4016b6:	50                   	push   %eax
4016b7:	eb 3d                	jmp    0x4016f6
4016b9:	f6 c1 02             	test   $0x2,%cl
4016bc:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4016c0:	74 15                	je     0x4016d7
4016c2:	68 20 d4 41 00       	push   $0x41d420
4016c7:	e8 51 ff ff ff       	call   0x40161d
4016cc:	68 24 e8 41 00       	push   $0x41e824
4016d1:	8d 44 24 10          	lea    0x10(%esp),%eax
4016d5:	eb df                	jmp    0x4016b6
4016d7:	68 38 d4 41 00       	push   $0x41d438
4016dc:	e8 3c ff ff ff       	call   0x40161d
4016e1:	68 24 e8 41 00       	push   $0x41e824
4016e6:	8d 44 24 10          	lea    0x10(%esp),%eax
4016ea:	eb ca                	jmp    0x4016b6
4016ec:	8b e5                	mov    %ebp,%esp
4016ee:	5d                   	pop    %ebp
4016ef:	c2 08 00             	ret    $0x8
4016f2:	6a 00                	push   $0x0
4016f4:	6a 00                	push   $0x0
4016f6:	e8 80 46 00 00       	call   0x405d7b
4016fb:	cc                   	int3
4016fc:	55                   	push   %ebp
4016fd:	8b ec                	mov    %esp,%ebp
4016ff:	56                   	push   %esi
401700:	ff 75 08             	push   0x8(%ebp)
401703:	8b f1                	mov    %ecx,%esi
401705:	e8 0d 00 00 00       	call   0x401717
40170a:	c7 06 5c a0 41 00    	movl   $0x41a05c,(%esi)
401710:	8b c6                	mov    %esi,%eax
401712:	5e                   	pop    %esi
401713:	5d                   	pop    %ebp
401714:	c2 04 00             	ret    $0x4
401717:	55                   	push   %ebp
401718:	8b ec                	mov    %esp,%ebp
40171a:	56                   	push   %esi
40171b:	8b 75 08             	mov    0x8(%ebp),%esi
40171e:	57                   	push   %edi
40171f:	56                   	push   %esi
401720:	8b f9                	mov    %ecx,%edi
401722:	e8 e7 38 00 00       	call   0x40500e
401727:	c7 07 50 a0 41 00    	movl   $0x41a050,(%edi)
40172d:	8b 46 0c             	mov    0xc(%esi),%eax
401730:	89 47 0c             	mov    %eax,0xc(%edi)
401733:	8b 46 10             	mov    0x10(%esi),%eax
401736:	89 47 10             	mov    %eax,0x10(%edi)
401739:	8b c7                	mov    %edi,%eax
40173b:	5f                   	pop    %edi
40173c:	5e                   	pop    %esi
40173d:	5d                   	pop    %ebp
40173e:	c2 04 00             	ret    $0x4
401741:	55                   	push   %ebp
401742:	8b ec                	mov    %esp,%ebp
401744:	83 e4 f8             	and    $0xfffffff8,%esp
401747:	51                   	push   %ecx
401748:	8b 4d 08             	mov    0x8(%ebp),%ecx
40174b:	e8 90 03 00 00       	call   0x401ae0
401750:	8b 4d 08             	mov    0x8(%ebp),%ecx
401753:	e8 48 04 00 00       	call   0x401ba0
401758:	8b 45 08             	mov    0x8(%ebp),%eax
40175b:	8b e5                	mov    %ebp,%esp
40175d:	5d                   	pop    %ebp
40175e:	c3                   	ret
40175f:	55                   	push   %ebp
401760:	8b ec                	mov    %esp,%ebp
401762:	b8 b4 15 00 00       	mov    $0x15b4,%eax
401767:	e8 24 27 01 00       	call   0x413e90
40176c:	a1 90 08 42 00       	mov    0x420890,%eax
401771:	33 c5                	xor    %ebp,%eax
401773:	89 45 fc             	mov    %eax,-0x4(%ebp)
401776:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40177a:	8b 45 08             	mov    0x8(%ebp),%eax
40177d:	53                   	push   %ebx
40177e:	56                   	push   %esi
40177f:	57                   	push   %edi
401780:	89 8d 50 ea ff ff    	mov    %ecx,-0x15b0(%ebp)
401786:	89 85 4c ea ff ff    	mov    %eax,-0x15b4(%ebp)
40178c:	0f 86 0b 01 00 00    	jbe    0x40189d
401792:	33 f6                	xor    %esi,%esi
401794:	8b c6                	mov    %esi,%eax
401796:	ba 9d 15 00 00       	mov    $0x159d,%edx
40179b:	88 84 05 58 ea ff ff 	mov    %al,-0x15a8(%ebp,%eax,1)
4017a2:	40                   	inc    %eax
4017a3:	3b c2                	cmp    %edx,%eax
4017a5:	72 f4                	jb     0x40179b
4017a7:	8b fe                	mov    %esi,%edi
4017a9:	33 d2                	xor    %edx,%edx
4017ab:	8b c7                	mov    %edi,%eax
4017ad:	c7 85 54 ea ff ff 22 	movl   $0x22,-0x15ac(%ebp)
4017b4:	00 00 00
4017b7:	f7 b5 54 ea ff ff    	divl   -0x15ac(%ebp)
4017bd:	8a 9c 3d 58 ea ff ff 	mov    -0x15a8(%ebp,%edi,1),%bl
4017c4:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
4017c8:	03 c6                	add    %esi,%eax
4017ca:	0f b6 cb             	movzbl %bl,%ecx
4017cd:	03 c1                	add    %ecx,%eax
4017cf:	33 d2                	xor    %edx,%edx
4017d1:	b9 9d 15 00 00       	mov    $0x159d,%ecx
4017d6:	f7 f1                	div    %ecx
4017d8:	47                   	inc    %edi
4017d9:	3b f9                	cmp    %ecx,%edi
4017db:	8b 8d 50 ea ff ff    	mov    -0x15b0(%ebp),%ecx
4017e1:	8b f2                	mov    %edx,%esi
4017e3:	8a 84 35 58 ea ff ff 	mov    -0x15a8(%ebp,%esi,1),%al
4017ea:	88 84 3d 57 ea ff ff 	mov    %al,-0x15a9(%ebp,%edi,1)
4017f1:	88 9c 35 58 ea ff ff 	mov    %bl,-0x15a8(%ebp,%esi,1)
4017f8:	72 af                	jb     0x4017a9
4017fa:	8b bd 4c ea ff ff    	mov    -0x15b4(%ebp),%edi
401800:	33 f6                	xor    %esi,%esi
401802:	89 bd 50 ea ff ff    	mov    %edi,-0x15b0(%ebp)
401808:	8b 7d 0c             	mov    0xc(%ebp),%edi
40180b:	8b c6                	mov    %esi,%eax
40180d:	40                   	inc    %eax
40180e:	33 d2                	xor    %edx,%edx
401810:	b9 9d 15 00 00       	mov    $0x159d,%ecx
401815:	f7 f1                	div    %ecx
401817:	8b ca                	mov    %edx,%ecx
401819:	33 d2                	xor    %edx,%edx
40181b:	8a 9c 0d 58 ea ff ff 	mov    -0x15a8(%ebp,%ecx,1),%bl
401822:	0f b6 c3             	movzbl %bl,%eax
401825:	03 c6                	add    %esi,%eax
401827:	be 9d 15 00 00       	mov    $0x159d,%esi
40182c:	f7 f6                	div    %esi
40182e:	89 8d 54 ea ff ff    	mov    %ecx,-0x15ac(%ebp)
401834:	8b f2                	mov    %edx,%esi
401836:	8a 84 35 58 ea ff ff 	mov    -0x15a8(%ebp,%esi,1),%al
40183d:	88 84 0d 58 ea ff ff 	mov    %al,-0x15a8(%ebp,%ecx,1)
401844:	88 9c 35 58 ea ff ff 	mov    %bl,-0x15a8(%ebp,%esi,1)
40184b:	e8 28 05 00 00       	call   0x401d78
401850:	50                   	push   %eax
401851:	e8 eb fe ff ff       	call   0x401741
401856:	8b 85 54 ea ff ff    	mov    -0x15ac(%ebp),%eax
40185c:	59                   	pop    %ecx
40185d:	0f b6 8c 05 58 ea ff 	movzbl -0x15a8(%ebp,%eax,1),%ecx
401864:	ff
401865:	0f b6 c3             	movzbl %bl,%eax
401868:	03 c1                	add    %ecx,%eax
40186a:	99                   	cltd
40186b:	b9 9d 15 00 00       	mov    $0x159d,%ecx
401870:	f7 f9                	idiv   %ecx
401872:	8b 85 50 ea ff ff    	mov    -0x15b0(%ebp),%eax
401878:	8a 8c 15 58 ea ff ff 	mov    -0x15a8(%ebp,%edx,1),%cl
40187f:	30 08                	xor    %cl,(%eax)
401881:	40                   	inc    %eax
401882:	89 85 50 ea ff ff    	mov    %eax,-0x15b0(%ebp)
401888:	8b 85 54 ea ff ff    	mov    -0x15ac(%ebp),%eax
40188e:	4f                   	dec    %edi
40188f:	0f 85 78 ff ff ff    	jne    0x40180d
401895:	8b 85 4c ea ff ff    	mov    -0x15b4(%ebp),%eax
40189b:	eb 02                	jmp    0x40189f
40189d:	33 c0                	xor    %eax,%eax
40189f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4018a2:	5f                   	pop    %edi
4018a3:	5e                   	pop    %esi
4018a4:	33 cd                	xor    %ebp,%ecx
4018a6:	5b                   	pop    %ebx
4018a7:	e8 8d 2e 00 00       	call   0x404739
4018ac:	c9                   	leave
4018ad:	c3                   	ret
4018ae:	55                   	push   %ebp
4018af:	8b ec                	mov    %esp,%ebp
4018b1:	83 ec 10             	sub    $0x10,%esp
4018b4:	53                   	push   %ebx
4018b5:	56                   	push   %esi
4018b6:	57                   	push   %edi
4018b7:	8b f9                	mov    %ecx,%edi
4018b9:	89 55 fc             	mov    %edx,-0x4(%ebp)
4018bc:	8b 47 3c             	mov    0x3c(%edi),%eax
4018bf:	8b 44 38 78          	mov    0x78(%eax,%edi,1),%eax
4018c3:	03 c7                	add    %edi,%eax
4018c5:	8b 48 24             	mov    0x24(%eax),%ecx
4018c8:	8b 50 20             	mov    0x20(%eax),%edx
4018cb:	8b 58 1c             	mov    0x1c(%eax),%ebx
4018ce:	8b 40 18             	mov    0x18(%eax),%eax
4018d1:	03 cf                	add    %edi,%ecx