4013bd:	48                   	dec    %eax
4013be:	8b ce                	mov    %esi,%ecx
4013c0:	8b f0                	mov    %eax,%esi
4013c2:	2b c1                	sub    %ecx,%eax
4013c4:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4013c9:	74 2f                	je     0x4013fa
4013cb:	01 05 ec 2e 42 00    	add    %eax,0x422eec
4013d1:	6a 00                	push   $0x0
4013d3:	ff 35 d4 2e 42 00    	push   0x422ed4
4013d9:	68 30 75 00 00       	push   $0x7530
4013de:	ff 35 ec 2e 42 00    	push   0x422eec
4013e4:	ff 15 44 71 40 00    	call   *0x407144
4013ea:	50                   	push   %eax
4013eb:	68 02 04 00 00       	push   $0x402
4013f0:	ff 74 24 18          	push   0x18(%esp)
4013f4:	ff 15 00 72 40 00    	call   *0x407200
4013fa:	85 f6                	test   %esi,%esi
4013fc:	7d 92                	jge    0x401390
4013fe:	33 c0                	xor    %eax,%eax
401400:	5e                   	pop    %esi
401401:	c2 08 00             	ret    $0x8
401404:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
401409:	eb f5                	jmp    0x401400
40140b:	8b 44 24 04          	mov    0x4(%esp),%eax
40140f:	8b 0d 14 37 42 00    	mov    0x423714,%ecx
401415:	6a 00                	push   $0x0
401417:	ff 74 81 6c          	push   0x6c(%ecx,%eax,4)
40141b:	e8 69 ff ff ff       	call   0x401389
401420:	c2 04 00             	ret    $0x4
401423:	68 e8 97 40 00       	push   $0x4097e8
401428:	ff 74 24 08          	push   0x8(%esp)
40142c:	e8 d0 3c 00 00       	call   0x405101
401431:	c2 04 00             	ret    $0x4
401434:	55                   	push   %ebp
401435:	8b ec                	mov    %esp,%ebp
401437:	81 ec c8 01 00 00    	sub    $0x1c8,%esp
40143d:	a1 08 37 42 00       	mov    0x423708,%eax
401442:	53                   	push   %ebx
401443:	56                   	push   %esi
401444:	8b 75 08             	mov    0x8(%ebp),%esi
401447:	57                   	push   %edi
401448:	6a 07                	push   $0x7
40144a:	59                   	pop    %ecx
40144b:	8d 7d c8             	lea    -0x38(%ebp),%edi
40144e:	89 45 f8             	mov    %eax,-0x8(%ebp)
401451:	33 db                	xor    %ebx,%ebx
401453:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
401455:	8b 45 cc             	mov    -0x34(%ebp),%eax
401458:	8b 55 d0             	mov    -0x30(%ebp),%edx
40145b:	8b f0                	mov    %eax,%esi
40145d:	8b fa                	mov    %edx,%edi
40145f:	c1 e6 0a             	shl    $0xa,%esi
401462:	b9 00 40 42 00       	mov    $0x424000,%ecx
401467:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40146a:	c1 e7 0a             	shl    $0xa,%edi
40146d:	03 f1                	add    %ecx,%esi
40146f:	03 f9                	add    %ecx,%edi
401471:	8d 4d cc             	lea    -0x34(%ebp),%ecx
401474:	89 0d 24 a8 40 00    	mov    %ecx,0x40a824
40147a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40147d:	83 c1 fe             	add    $0xfffffffe,%ecx
401480:	83 f9 41             	cmp    $0x41,%ecx
401483:	0f 87 2f 15 00 00    	ja     0x4029b8
401489:	ff 24 8d ca 29 40 00 	jmp    *0x4029ca(,%ecx,4)
401490:	53                   	push   %ebx
401491:	50                   	push   %eax
401492:	e8 6a 3c 00 00       	call   0x405101
401497:	e9 b2 0e 00 00       	jmp    0x40234e
40149c:	ff 05 cc 2e 42 00    	incl   0x422ecc
4014a2:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4014a5:	0f 84 a3 0e 00 00    	je     0x40234e
4014ab:	53                   	push   %ebx
4014ac:	ff 15 78 72 40 00    	call   *0x407278
4014b2:	e9 97 0e 00 00       	jmp    0x40234e
4014b7:	50                   	push   %eax
4014b8:	e8 b0 fe ff ff       	call   0x40136d
4014bd:	48                   	dec    %eax
4014be:	53                   	push   %ebx
4014bf:	50                   	push   %eax
4014c0:	e8 c4 fe ff ff       	call   0x401389
4014c5:	e9 f9 14 00 00       	jmp    0x4029c3
4014ca:	53                   	push   %ebx
4014cb:	50                   	push   %eax
4014cc:	e8 30 3c 00 00       	call   0x405101
4014d1:	e9 e2 14 00 00       	jmp    0x4029b8
4014d6:	53                   	push   %ebx
4014d7:	e8 2e 16 00 00       	call   0x402b0a
4014dc:	83 f8 01             	cmp    $0x1,%eax
4014df:	59                   	pop    %ecx
4014e0:	89 55 f0             	mov    %edx,-0x10(%ebp)
4014e3:	7f 03                	jg     0x4014e8
4014e5:	33 c0                	xor    %eax,%eax
4014e7:	40                   	inc    %eax
4014e8:	50                   	push   %eax
4014e9:	ff 15 8c 70 40 00    	call   *0x40708c
4014ef:	e9 c4 14 00 00       	jmp    0x4029b8
4014f4:	ff 75 f8             	push   -0x8(%ebp)
4014f7:	ff 15 44 72 40 00    	call   *0x407244
4014fd:	e9 b6 14 00 00       	jmp    0x4029b8
401502:	c1 e0 02             	shl    $0x2,%eax
401505:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
401508:	75 26                	jne    0x401530
40150a:	8b 88 a0 37 42 00    	mov    0x4237a0(%eax),%ecx
401510:	6a 01                	push   $0x1
401512:	89 88 e0 37 42 00    	mov    %ecx,0x4237e0(%eax)
401518:	e8 ed 15 00 00       	call   0x402b0a
40151d:	59                   	pop    %ecx
40151e:	89 55 f0             	mov    %edx,-0x10(%ebp)
401521:	8b 4d cc             	mov    -0x34(%ebp),%ecx
401524:	89 04 8d a0 37 42 00 	mov    %eax,0x4237a0(,%ecx,4)
40152b:	e9 88 14 00 00       	jmp    0x4029b8
401530:	8b 88 e0 37 42 00    	mov    0x4237e0(%eax),%ecx
401536:	89 88 a0 37 42 00    	mov    %ecx,0x4237a0(%eax)
40153c:	e9 77 14 00 00       	jmp    0x4029b8
401541:	8b 45 d4             	mov    -0x2c(%ebp),%eax
401544:	8d 34 85 a0 37 42 00 	lea    0x4237a0(,%eax,4),%esi
40154b:	33 c0                	xor    %eax,%eax
40154d:	8b 0e                	mov    (%esi),%ecx
40154f:	3b cb                	cmp    %ebx,%ecx
401551:	0f 94 c0             	sete   %al
401554:	23 4d d8             	and    -0x28(%ebp),%ecx
401557:	8b 44 85 cc          	mov    -0x34(%ebp,%eax,4),%eax
40155b:	89 0e                	mov    %ecx,(%esi)
40155d:	e9 61 14 00 00       	jmp    0x4029c3
401562:	ff 34 95 a0 37 42 00 	push   0x4237a0(,%edx,4)
401569:	56                   	push   %esi
40156a:	e9 f1 13 00 00       	jmp    0x402960
40156f:	8b 0d d0 2e 42 00    	mov    0x422ed0,%ecx
401575:	8b 35 48 72 40 00    	mov    0x407248,%esi
40157b:	3b cb                	cmp    %ebx,%ecx
40157d:	74 07                	je     0x401586
40157f:	52                   	push   %edx
401580:	51                   	push   %ecx
401581:	ff d6                	call   *%esi
401583:	8b 45 cc             	mov    -0x34(%ebp),%eax
401586:	8b 0d e4 2e 42 00    	mov    0x422ee4,%ecx
40158c:	3b cb                	cmp    %ebx,%ecx
40158e:	0f 84 24 14 00 00    	je     0x4029b8
401594:	50                   	push   %eax
401595:	51                   	push   %ecx
401596:	ff d6                	call   *%esi
401598:	e9 1b 14 00 00       	jmp    0x4029b8
40159d:	6a f0                	push   $0xfffffff0
40159f:	e8 88 15 00 00       	call   0x402b2c
4015a4:	ff 75 d0             	push   -0x30(%ebp)
4015a7:	50                   	push   %eax
4015a8:	ff 15 b4 70 40 00    	call   *0x4070b4
4015ae:	85 c0                	test   %eax,%eax
4015b0:	0f 85 02 14 00 00    	jne    0x4029b8
4015b6:	e9 c8 11 00 00       	jmp    0x402783
4015bb:	6a f0                	push   $0xfffffff0
4015bd:	e8 6a 15 00 00       	call   0x402b2c
4015c2:	8b f8                	mov    %eax,%edi
4015c4:	57                   	push   %edi
4015c5:	e8 41 44 00 00       	call   0x405a0b
4015ca:	8b f0                	mov    %eax,%esi
4015cc:	3b f3                	cmp    %ebx,%esi
4015ce:	74 54                	je     0x401624
4015d0:	6a 5c                	push   $0x5c
4015d2:	56                   	push   %esi
4015d3:	e8 c5 43 00 00       	call   0x40599d
4015d8:	8b f0                	mov    %eax,%esi
4015da:	8a 06                	mov    (%esi),%al
4015dc:	88 1e                	mov    %bl,(%esi)
4015de:	3a c3                	cmp    %bl,%al
4015e0:	88 45 0b             	mov    %al,0xb(%ebp)
4015e3:	75 16                	jne    0x4015fb
4015e5:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
4015e8:	74 11                	je     0x4015fb
4015ea:	e8 72 40 00 00       	call   0x405661
4015ef:	85 c0                	test   %eax,%eax
4015f1:	74 08                	je     0x4015fb
4015f3:	57                   	push   %edi
4015f4:	e8 ce 3f 00 00       	call   0x4055c7
4015f9:	eb 06                	jmp    0x401601
4015fb:	57                   	push   %edi
4015fc:	e8 43 40 00 00       	call   0x405644
401601:	3b c3                	cmp    %ebx,%eax
401603:	74 15                	je     0x40161a
401605:	3d b7 00 00 00       	cmp    $0xb7,%eax
40160a:	75 0b                	jne    0x401617
40160c:	57                   	push   %edi
40160d:	ff 15 fc 70 40 00    	call   *0x4070fc
401613:	a8 10                	test   $0x10,%al
401615:	75 03                	jne    0x40161a
401617:	ff 45 fc             	incl   -0x4(%ebp)
40161a:	8a 45 0b             	mov    0xb(%ebp),%al
40161d:	88 06                	mov    %al,(%esi)
40161f:	46                   	inc    %esi
401620:	3a c3                	cmp    %bl,%al
401622:	75 ac                	jne    0x4015d0
401624:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
401627:	74 29                	je     0x401652
401629:	6a e6                	push   $0xffffffe6
40162b:	e8 f3 fd ff ff       	call   0x401423
401630:	57                   	push   %edi
401631:	68 00 98 42 00       	push   $0x429800
401636:	e8 9f 49 00 00       	call   0x405fda
40163b:	57                   	push   %edi
40163c:	ff 15 00 71 40 00    	call   *0x407100
401642:	85 c0                	test   %eax,%eax
401644:	0f 85 6e 13 00 00    	jne    0x4029b8
40164a:	ff 45 fc             	incl   -0x4(%ebp)
40164d:	e9 66 13 00 00       	jmp    0x4029b8
401652:	6a f5                	push   $0xfffffff5
401654:	e9 4b 0c 00 00       	jmp    0x4022a4
401659:	53                   	push   %ebx
40165a:	e8 cd 14 00 00       	call   0x402b2c
40165f:	50                   	push   %eax
401660:	e8 78 4c 00 00       	call   0x4062dd
401665:	e9 81 06 00 00       	jmp    0x401ceb
40166a:	6a d0                	push   $0xffffffd0
40166c:	e8 bb 14 00 00       	call   0x402b2c
401671:	6a df                	push   $0xffffffdf
401673:	8b f0                	mov    %eax,%esi
401675:	e8 b2 14 00 00       	call   0x402b2c
40167a:	6a 13                	push   $0x13
40167c:	8b f8                	mov    %eax,%edi
40167e:	e8 a9 14 00 00       	call   0x402b2c
401683:	57                   	push   %edi
401684:	56                   	push   %esi
401685:	ff 15 04 71 40 00    	call   *0x407104
40168b:	85 c0                	test   %eax,%eax
40168d:	74 07                	je     0x401696
40168f:	6a e3                	push   $0xffffffe3
401691:	e9 0e 0c 00 00       	jmp    0x4022a4
401696:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
401699:	0f 84 e4 10 00 00    	je     0x402783
40169f:	56                   	push   %esi
4016a0:	e8 38 4c 00 00       	call   0x4062dd
4016a5:	85 c0                	test   %eax,%eax
4016a7:	0f 84 d6 10 00 00    	je     0x402783
4016ad:	57                   	push   %edi
4016ae:	56                   	push   %esi
4016af:	e8 05 47 00 00       	call   0x405db9
4016b4:	6a e4                	push   $0xffffffe4
4016b6:	e9 e9 0b 00 00       	jmp    0x4022a4
4016bb:	53                   	push   %ebx
4016bc:	e8 6b 14 00 00       	call   0x402b2c
4016c1:	8b f0                	mov    %eax,%esi
4016c3:	8d 45 08             	lea    0x8(%ebp),%eax
4016c6:	50                   	push   %eax
4016c7:	57                   	push   %edi
4016c8:	68 00 04 00 00       	push   $0x400
4016cd:	56                   	push   %esi
4016ce:	ff 15 08 71 40 00    	call   *0x407108
4016d4:	85 c0                	test   %eax,%eax
4016d6:	74 23                	je     0x4016fb
4016d8:	8b 45 08             	mov    0x8(%ebp),%eax
4016db:	3b c6                	cmp    %esi,%eax
4016dd:	76 25                	jbe    0x401704
4016df:	38 18                	cmp    %bl,(%eax)
4016e1:	74 21                	je     0x401704
4016e3:	56                   	push   %esi
4016e4:	e8 f4 4b 00 00       	call   0x4062dd
4016e9:	3b c3                	cmp    %ebx,%eax
4016eb:	74 0e                	je     0x4016fb
4016ed:	83 c0 2c             	add    $0x2c,%eax
4016f0:	50                   	push   %eax
4016f1:	ff 75 08             	push   0x8(%ebp)
4016f4:	e8 e1 48 00 00       	call   0x405fda
4016f9:	eb 09                	jmp    0x401704
4016fb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
401702:	88 1f                	mov    %bl,(%edi)
401704:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
401707:	0f 85 ab 12 00 00    	jne    0x4029b8
40170d:	68 00 04 00 00       	push   $0x400
401712:	57                   	push   %edi
401713:	57                   	push   %edi
401714:	ff 15 0c 71 40 00    	call   *0x40710c
40171a:	e9 99 12 00 00       	jmp    0x4029b8
40171f:	6a ff                	push   $0xffffffff
401721:	e8 06 14 00 00       	call   0x402b2c
401726:	8d 4d 08             	lea    0x8(%ebp),%ecx
401729:	51                   	push   %ecx
40172a:	56                   	push   %esi
40172b:	68 00 04 00 00       	push   $0x400
401730:	53                   	push   %ebx
401731:	50                   	push   %eax
401732:	53                   	push   %ebx
401733:	ff 15 10 71 40 00    	call   *0x407110
401739:	85 c0                	test   %eax,%eax
40173b:	0f 85 77 12 00 00    	jne    0x4029b8
401741:	e9 11 10 00 00       	jmp    0x402757
401746:	6a ef                	push   $0xffffffef
401748:	e8 df 13 00 00       	call   0x402b2c
40174d:	50                   	push   %eax
40174e:	56                   	push   %esi
40174f:	e8 4e 44 00 00       	call   0x405ba2
401754:	e9 55 fe ff ff       	jmp    0x4015ae
401759:	6a 31                	push   $0x31
40175b:	e8 cc 13 00 00       	call   0x402b2c
401760:	8b f0                	mov    %eax,%esi
401762:	8b 45 cc             	mov    -0x34(%ebp),%eax
401765:	83 e0 07             	and    $0x7,%eax
401768:	56                   	push   %esi
401769:	89 75 f8             	mov    %esi,-0x8(%ebp)
40176c:	89 45 08             	mov    %eax,0x8(%ebp)
40176f:	e8 6b 42 00 00       	call   0x4059df
401774:	56                   	push   %esi
401775:	be e8 93 40 00       	mov    $0x4093e8,%esi
40177a:	85 c0                	test   %eax,%eax
40177c:	74 08                	je     0x401786
40177e:	56                   	push   %esi
40177f:	e8 56 48 00 00       	call   0x405fda
401784:	eb 17                	jmp    0x40179d
401786:	68 00 98 42 00       	push   $0x429800
40178b:	56                   	push   %esi
40178c:	e8 49 48 00 00       	call   0x405fda
401791:	50                   	push   %eax
401792:	e8 db 41 00 00       	call   0x405972
401797:	50                   	push   %eax
401798:	e8 59 48 00 00       	call   0x405ff6
40179d:	56                   	push   %esi
40179e:	e8 a1 4a 00 00       	call   0x406244
4017a3:	bf e8 9b 40 00       	mov    $0x409be8,%edi
4017a8:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4017ac:	7c 31                	jl     0x4017df
4017ae:	56                   	push   %esi
4017af:	e8 29 4b 00 00       	call   0x4062dd
4017b4:	33 c9                	xor    %ecx,%ecx
4017b6:	3b c3                	cmp    %ebx,%eax
4017b8:	74 10                	je     0x4017ca
4017ba:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4017bd:	83 c0 14             	add    $0x14,%eax
4017c0:	51                   	push   %ecx
4017c1:	50                   	push   %eax
4017c2:	ff 15 f4 70 40 00    	call   *0x4070f4
4017c8:	8b c8                	mov    %eax,%ecx
4017ca:	8b 45 08             	mov    0x8(%ebp),%eax
4017cd:	83 c0 fd             	add    $0xfffffffd,%eax
4017d0:	0d 00 00 00 80       	or     $0x80000000,%eax
4017d5:	23 c1                	and    %ecx,%eax
4017d7:	f7 d8                	neg    %eax
4017d9:	1b c0                	sbb    %eax,%eax
4017db:	40                   	inc    %eax
4017dc:	89 45 08             	mov    %eax,0x8(%ebp)
4017df:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4017e2:	75 06                	jne    0x4017ea
4017e4:	56                   	push   %esi
4017e5:	e8 64 43 00 00       	call   0x405b4e
4017ea:	33 c0                	xor    %eax,%eax
4017ec:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4017f0:	0f 95 c0             	setne  %al
4017f3:	40                   	inc    %eax
4017f4:	50                   	push   %eax
4017f5:	68 00 00 00 40       	push   $0x40000000
4017fa:	56                   	push   %esi
4017fb:	e8 73 43 00 00       	call   0x405b73
401800:	83 f8 ff             	cmp    $0xffffffff,%eax