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 8c 36 42 00    	add    %eax,0x42368c
4013d1:	6a 00                	push   $0x0
4013d3:	ff 35 74 36 42 00    	push   0x423674
4013d9:	68 30 75 00 00       	push   $0x7530
4013de:	ff 35 8c 36 42 00    	push   0x42368c
4013e4:	ff 15 30 71 40 00    	call   *0x407130
4013ea:	50                   	push   %eax
4013eb:	68 02 04 00 00       	push   $0x402
4013f0:	ff 74 24 18          	push   0x18(%esp)
4013f4:	ff 15 44 72 40 00    	call   *0x407244
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 b0 3e 42 00    	mov    0x423eb0,%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 70 9f 40 00       	push   $0x409f70
401428:	ff 74 24 08          	push   0x8(%esp)
40142c:	e8 d3 3a 00 00       	call   0x404f04
401431:	c2 04 00             	ret    $0x4
401434:	55                   	push   %ebp
401435:	8b ec                	mov    %esp,%ebp
401437:	81 ec a4 01 00 00    	sub    $0x1a4,%esp
40143d:	a1 a8 3e 42 00       	mov    0x423ea8,%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 d8             	lea    -0x28(%ebp),%edi
40144e:	89 45 cc             	mov    %eax,-0x34(%ebp)
401451:	33 db                	xor    %ebx,%ebx
401453:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
401455:	8b 45 dc             	mov    -0x24(%ebp),%eax
401458:	8b 55 e0             	mov    -0x20(%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 dc             	lea    -0x24(%ebp),%ecx
401474:	89 0d 68 9b 40 00    	mov    %ecx,0x409b68
40147a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40147d:	83 c1 fe             	add    $0xfffffffe,%ecx
401480:	83 f9 41             	cmp    $0x41,%ecx
401483:	0f 87 02 14 00 00    	ja     0x40288b
401489:	ff 24 8d 9d 28 40 00 	jmp    *0x40289d(,%ecx,4)
401490:	53                   	push   %ebx
401491:	50                   	push   %eax
401492:	e8 6d 3a 00 00       	call   0x404f04
401497:	e9 72 0d 00 00       	jmp    0x40220e
40149c:	ff 05 6c 36 42 00    	incl   0x42366c
4014a2:	39 5d cc             	cmp    %ebx,-0x34(%ebp)
4014a5:	0f 84 63 0d 00 00    	je     0x40220e
4014ab:	53                   	push   %ebx
4014ac:	ff 15 f8 71 40 00    	call   *0x4071f8
4014b2:	e9 57 0d 00 00       	jmp    0x40220e
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 cc 13 00 00       	jmp    0x402896
4014ca:	53                   	push   %ebx
4014cb:	50                   	push   %eax
4014cc:	e8 33 3a 00 00       	call   0x404f04
4014d1:	e9 b5 13 00 00       	jmp    0x40288b
4014d6:	53                   	push   %ebx
4014d7:	e8 fd 14 00 00       	call   0x4029d9
4014dc:	83 f8 01             	cmp    $0x1,%eax
4014df:	7f 03                	jg     0x4014e4
4014e1:	33 c0                	xor    %eax,%eax
4014e3:	40                   	inc    %eax
4014e4:	50                   	push   %eax
4014e5:	ff 15 88 70 40 00    	call   *0x407088
4014eb:	e9 9b 13 00 00       	jmp    0x40288b
4014f0:	ff 75 cc             	push   -0x34(%ebp)
4014f3:	ff 15 fc 71 40 00    	call   *0x4071fc
4014f9:	e9 8d 13 00 00       	jmp    0x40288b
4014fe:	c1 e0 02             	shl    $0x2,%eax
401501:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
401504:	75 22                	jne    0x401528
401506:	8b 88 20 3f 42 00    	mov    0x423f20(%eax),%ecx
40150c:	6a 01                	push   $0x1
40150e:	89 88 60 3f 42 00    	mov    %ecx,0x423f60(%eax)
401514:	e8 c0 14 00 00       	call   0x4029d9
401519:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40151c:	89 04 8d 20 3f 42 00 	mov    %eax,0x423f20(,%ecx,4)
401523:	e9 63 13 00 00       	jmp    0x40288b
401528:	8b 88 60 3f 42 00    	mov    0x423f60(%eax),%ecx
40152e:	89 88 20 3f 42 00    	mov    %ecx,0x423f20(%eax)
401534:	e9 52 13 00 00       	jmp    0x40288b
401539:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40153c:	8d 34 85 20 3f 42 00 	lea    0x423f20(,%eax,4),%esi
401543:	33 c0                	xor    %eax,%eax
401545:	8b 0e                	mov    (%esi),%ecx
401547:	3b cb                	cmp    %ebx,%ecx
401549:	0f 94 c0             	sete   %al
40154c:	23 4d e8             	and    -0x18(%ebp),%ecx
40154f:	8b 44 85 dc          	mov    -0x24(%ebp,%eax,4),%eax
401553:	89 0e                	mov    %ecx,(%esi)
401555:	e9 3c 13 00 00       	jmp    0x402896
40155a:	ff 34 95 20 3f 42 00 	push   0x423f20(,%edx,4)
401561:	56                   	push   %esi
401562:	e9 cc 12 00 00       	jmp    0x402833
401567:	8b 0d 70 36 42 00    	mov    0x423670,%ecx
40156d:	8b 35 60 72 40 00    	mov    0x407260,%esi
401573:	3b cb                	cmp    %ebx,%ecx
401575:	74 07                	je     0x40157e
401577:	52                   	push   %edx
401578:	51                   	push   %ecx
401579:	ff d6                	call   *%esi
40157b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40157e:	8b 0d 84 36 42 00    	mov    0x423684,%ecx
401584:	3b cb                	cmp    %ebx,%ecx
401586:	0f 84 ff 12 00 00    	je     0x40288b
40158c:	50                   	push   %eax
40158d:	51                   	push   %ecx
40158e:	ff d6                	call   *%esi
401590:	e9 f6 12 00 00       	jmp    0x40288b
401595:	6a f0                	push   $0xfffffff0
401597:	e8 5a 14 00 00       	call   0x4029f6
40159c:	ff 75 e0             	push   -0x20(%ebp)
40159f:	50                   	push   %eax
4015a0:	ff 15 84 70 40 00    	call   *0x407084
4015a6:	85 c0                	test   %eax,%eax
4015a8:	0f 85 dd 12 00 00    	jne    0x40288b
4015ae:	e9 a9 10 00 00       	jmp    0x40265c
4015b3:	6a f0                	push   $0xfffffff0
4015b5:	e8 3c 14 00 00       	call   0x4029f6
4015ba:	8b f8                	mov    %eax,%edi
4015bc:	57                   	push   %edi
4015bd:	e8 2b 41 00 00       	call   0x4056ed
4015c2:	8b f0                	mov    %eax,%esi
4015c4:	3b f3                	cmp    %ebx,%esi
4015c6:	74 42                	je     0x40160a
4015c8:	6a 5c                	push   $0x5c
4015ca:	56                   	push   %esi
4015cb:	e8 b4 40 00 00       	call   0x405684
4015d0:	8b f0                	mov    %eax,%esi
4015d2:	53                   	push   %ebx
4015d3:	57                   	push   %edi
4015d4:	8a 06                	mov    (%esi),%al
4015d6:	88 1e                	mov    %bl,(%esi)
4015d8:	88 45 0b             	mov    %al,0xb(%ebp)
4015db:	ff 15 80 70 40 00    	call   *0x407080
4015e1:	85 c0                	test   %eax,%eax
4015e3:	75 1b                	jne    0x401600
4015e5:	ff 15 7c 70 40 00    	call   *0x40707c
4015eb:	3d b7 00 00 00       	cmp    $0xb7,%eax
4015f0:	75 0b                	jne    0x4015fd
4015f2:	57                   	push   %edi
4015f3:	ff 15 78 70 40 00    	call   *0x407078
4015f9:	a8 10                	test   $0x10,%al
4015fb:	75 03                	jne    0x401600
4015fd:	ff 45 fc             	incl   -0x4(%ebp)
401600:	8a 45 0b             	mov    0xb(%ebp),%al
401603:	88 06                	mov    %al,(%esi)
401605:	46                   	inc    %esi
401606:	3a c3                	cmp    %bl,%al
401608:	75 be                	jne    0x4015c8
40160a:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
40160d:	74 1e                	je     0x40162d
40160f:	6a e6                	push   $0xffffffe6
401611:	e8 0d fe ff ff       	call   0x401423
401616:	57                   	push   %edi
401617:	68 00 98 42 00       	push   $0x429800
40161c:	e8 45 45 00 00       	call   0x405b66
401621:	57                   	push   %edi
401622:	ff 15 74 70 40 00    	call   *0x407074
401628:	e9 5e 12 00 00       	jmp    0x40288b
40162d:	6a f5                	push   $0xfffffff5
40162f:	e9 30 0b 00 00       	jmp    0x402164
401634:	53                   	push   %ebx
401635:	e8 bc 13 00 00       	call   0x4029f6
40163a:	50                   	push   %eax
40163b:	e8 21 48 00 00       	call   0x405e61
401640:	e9 35 06 00 00       	jmp    0x401c7a
401645:	6a d0                	push   $0xffffffd0
401647:	e8 aa 13 00 00       	call   0x4029f6
40164c:	6a df                	push   $0xffffffdf
40164e:	8b f0                	mov    %eax,%esi
401650:	e8 a1 13 00 00       	call   0x4029f6
401655:	6a 13                	push   $0x13
401657:	8b f8                	mov    %eax,%edi
401659:	e8 98 13 00 00       	call   0x4029f6
40165e:	57                   	push   %edi
40165f:	56                   	push   %esi
401660:	ff 15 70 70 40 00    	call   *0x407070
401666:	85 c0                	test   %eax,%eax
401668:	74 07                	je     0x401671
40166a:	6a e3                	push   $0xffffffe3
40166c:	e9 f3 0a 00 00       	jmp    0x402164
401671:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
401674:	0f 84 e2 0f 00 00    	je     0x40265c
40167a:	56                   	push   %esi
40167b:	e8 e1 47 00 00       	call   0x405e61
401680:	85 c0                	test   %eax,%eax
401682:	0f 84 d4 0f 00 00    	je     0x40265c
401688:	57                   	push   %edi
401689:	56                   	push   %esi
40168a:	e8 25 42 00 00       	call   0x4058b4
40168f:	6a e4                	push   $0xffffffe4
401691:	e9 ce 0a 00 00       	jmp    0x402164
401696:	53                   	push   %ebx
401697:	e8 5a 13 00 00       	call   0x4029f6
40169c:	8b f0                	mov    %eax,%esi
40169e:	8d 45 08             	lea    0x8(%ebp),%eax
4016a1:	50                   	push   %eax
4016a2:	57                   	push   %edi
4016a3:	68 00 04 00 00       	push   $0x400
4016a8:	56                   	push   %esi
4016a9:	ff 15 6c 70 40 00    	call   *0x40706c
4016af:	85 c0                	test   %eax,%eax
4016b1:	74 23                	je     0x4016d6
4016b3:	8b 45 08             	mov    0x8(%ebp),%eax
4016b6:	3b c6                	cmp    %esi,%eax
4016b8:	76 25                	jbe    0x4016df
4016ba:	38 18                	cmp    %bl,(%eax)
4016bc:	74 21                	je     0x4016df
4016be:	56                   	push   %esi
4016bf:	e8 9d 47 00 00       	call   0x405e61
4016c4:	3b c3                	cmp    %ebx,%eax
4016c6:	74 0e                	je     0x4016d6
4016c8:	83 c0 2c             	add    $0x2c,%eax
4016cb:	50                   	push   %eax
4016cc:	ff 75 08             	push   0x8(%ebp)
4016cf:	e8 92 44 00 00       	call   0x405b66
4016d4:	eb 09                	jmp    0x4016df
4016d6:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4016dd:	88 1f                	mov    %bl,(%edi)
4016df:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
4016e2:	0f 85 a3 11 00 00    	jne    0x40288b
4016e8:	68 00 04 00 00       	push   $0x400
4016ed:	57                   	push   %edi
4016ee:	57                   	push   %edi
4016ef:	ff 15 68 70 40 00    	call   *0x407068
4016f5:	e9 91 11 00 00       	jmp    0x40288b
4016fa:	6a ff                	push   $0xffffffff
4016fc:	e8 f5 12 00 00       	call   0x4029f6
401701:	8d 4d 08             	lea    0x8(%ebp),%ecx
401704:	51                   	push   %ecx
401705:	56                   	push   %esi
401706:	68 00 04 00 00       	push   $0x400
40170b:	53                   	push   %ebx
40170c:	50                   	push   %eax
40170d:	53                   	push   %ebx
40170e:	ff 15 64 70 40 00    	call   *0x407064
401714:	85 c0                	test   %eax,%eax
401716:	0f 85 6f 11 00 00    	jne    0x40288b
40171c:	e9 0f 0f 00 00       	jmp    0x402630
401721:	6a ef                	push   $0xffffffef
401723:	e8 ce 12 00 00       	call   0x4029f6
401728:	50                   	push   %eax
401729:	56                   	push   %esi
40172a:	e8 3d 41 00 00       	call   0x40586c
40172f:	e9 72 fe ff ff       	jmp    0x4015a6
401734:	6a 31                	push   $0x31
401736:	e8 bb 12 00 00       	call   0x4029f6
40173b:	8b f0                	mov    %eax,%esi
40173d:	8b 45 dc             	mov    -0x24(%ebp),%eax
401740:	83 e0 07             	and    $0x7,%eax
401743:	56                   	push   %esi
401744:	89 75 f8             	mov    %esi,-0x8(%ebp)
401747:	89 45 08             	mov    %eax,0x8(%ebp)
40174a:	e8 77 3f 00 00       	call   0x4056c6
40174f:	56                   	push   %esi
401750:	be 70 9b 40 00       	mov    $0x409b70,%esi
401755:	85 c0                	test   %eax,%eax
401757:	74 08                	je     0x401761
401759:	56                   	push   %esi
40175a:	e8 07 44 00 00       	call   0x405b66
40175f:	eb 17                	jmp    0x401778
401761:	68 00 98 42 00       	push   $0x429800
401766:	56                   	push   %esi
401767:	e8 fa 43 00 00       	call   0x405b66
40176c:	50                   	push   %eax
40176d:	e8 e7 3e 00 00       	call   0x405659
401772:	50                   	push   %eax
401773:	e8 0a 44 00 00       	call   0x405b82
401778:	56                   	push   %esi
401779:	e8 4a 46 00 00       	call   0x405dc8
40177e:	bf 70 a3 40 00       	mov    $0x40a370,%edi
401783:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
401787:	7c 31                	jl     0x4017ba
401789:	56                   	push   %esi
40178a:	e8 d2 46 00 00       	call   0x405e61
40178f:	33 c9                	xor    %ecx,%ecx
401791:	3b c3                	cmp    %ebx,%eax
401793:	74 10                	je     0x4017a5
401795:	8d 4d e8             	lea    -0x18(%ebp),%ecx
401798:	83 c0 14             	add    $0x14,%eax
40179b:	51                   	push   %ecx
40179c:	50                   	push   %eax
40179d:	ff 15 60 70 40 00    	call   *0x407060
4017a3:	8b c8                	mov    %eax,%ecx
4017a5:	8b 45 08             	mov    0x8(%ebp),%eax
4017a8:	83 c0 fd             	add    $0xfffffffd,%eax
4017ab:	0d 00 00 00 80       	or     $0x80000000,%eax
4017b0:	23 c1                	and    %ecx,%eax
4017b2:	f7 d8                	neg    %eax
4017b4:	1b c0                	sbb    %eax,%eax
4017b6:	40                   	inc    %eax
4017b7:	89 45 08             	mov    %eax,0x8(%ebp)
4017ba:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4017bd:	75 06                	jne    0x4017c5
4017bf:	56                   	push   %esi
4017c0:	e8 59 40 00 00       	call   0x40581e
4017c5:	33 c0                	xor    %eax,%eax
4017c7:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4017cb:	0f 95 c0             	setne  %al
4017ce:	40                   	inc    %eax
4017cf:	50                   	push   %eax
4017d0:	68 00 00 00 40       	push   $0x40000000
4017d5:	56                   	push   %esi
4017d6:	e8 62 40 00 00       	call   0x40583d
4017db:	83 f8 ff             	cmp    $0xffffffff,%eax
4017de:	89 45 cc             	mov    %eax,-0x34(%ebp)
4017e1:	75 76                	jne    0x401859
4017e3:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4017e6:	75 53                	jne    0x40183b
4017e8:	68 00 40 42 00       	push   $0x424000
4017ed:	57                   	push   %edi
4017ee:	e8 73 43 00 00       	call   0x405b66
4017f3:	56                   	push   %esi
4017f4:	68 00 40 42 00       	push   $0x424000
4017f9:	e8 68 43 00 00       	call   0x405b66
4017fe:	ff 75 f0             	push   -0x10(%ebp)
401801:	68 70 9f 40 00       	push   $0x409f70
401806:	e8 7d 43 00 00       	call   0x405b88
40180b:	57                   	push   %edi
40180c:	68 00 40 42 00       	push   $0x424000