40752f:	c1 f8 04             	sar    $0x4,%eax
407532:	83 f8 07             	cmp    $0x7,%eax
407535:	89 45 d0             	mov    %eax,-0x30(%ebp)
407538:	0f 87 9a 06 00 00    	ja     0x407bd8
40753e:	ff 24 85 f1 7b 40 00 	jmp    *0x407bf1(,%eax,4)
407545:	83 4d f0 ff          	orl    $0xffffffff,-0x10(%ebp)
407549:	89 55 cc             	mov    %edx,-0x34(%ebp)
40754c:	89 55 d8             	mov    %edx,-0x28(%ebp)
40754f:	89 55 e0             	mov    %edx,-0x20(%ebp)
407552:	89 55 e4             	mov    %edx,-0x1c(%ebp)
407555:	89 55 fc             	mov    %edx,-0x4(%ebp)
407558:	89 55 dc             	mov    %edx,-0x24(%ebp)
40755b:	e9 78 06 00 00       	jmp    0x407bd8
407560:	0f be c3             	movsbl %bl,%eax
407563:	83 e8 20             	sub    $0x20,%eax
407566:	74 3b                	je     0x4075a3
407568:	83 e8 03             	sub    $0x3,%eax
40756b:	74 2d                	je     0x40759a
40756d:	83 e8 08             	sub    $0x8,%eax
407570:	74 1f                	je     0x407591
407572:	48                   	dec    %eax
407573:	48                   	dec    %eax
407574:	74 12                	je     0x407588
407576:	83 e8 03             	sub    $0x3,%eax
407579:	0f 85 59 06 00 00    	jne    0x407bd8
40757f:	83 4d fc 08          	orl    $0x8,-0x4(%ebp)
407583:	e9 50 06 00 00       	jmp    0x407bd8
407588:	83 4d fc 04          	orl    $0x4,-0x4(%ebp)
40758c:	e9 47 06 00 00       	jmp    0x407bd8
407591:	83 4d fc 01          	orl    $0x1,-0x4(%ebp)
407595:	e9 3e 06 00 00       	jmp    0x407bd8
40759a:	80 4d fc 80          	orb    $0x80,-0x4(%ebp)
40759e:	e9 35 06 00 00       	jmp    0x407bd8
4075a3:	83 4d fc 02          	orl    $0x2,-0x4(%ebp)
4075a7:	e9 2c 06 00 00       	jmp    0x407bd8
4075ac:	80 fb 2a             	cmp    $0x2a,%bl
4075af:	75 23                	jne    0x4075d4
4075b1:	8d 45 10             	lea    0x10(%ebp),%eax
4075b4:	50                   	push   %eax
4075b5:	e8 f5 06 00 00       	call   0x407caf
4075ba:	85 c0                	test   %eax,%eax
4075bc:	59                   	pop    %ecx
4075bd:	89 45 e0             	mov    %eax,-0x20(%ebp)
4075c0:	0f 8d 12 06 00 00    	jge    0x407bd8
4075c6:	83 4d fc 04          	orl    $0x4,-0x4(%ebp)
4075ca:	f7 d8                	neg    %eax
4075cc:	89 45 e0             	mov    %eax,-0x20(%ebp)
4075cf:	e9 04 06 00 00       	jmp    0x407bd8
4075d4:	8b 45 e0             	mov    -0x20(%ebp),%eax
4075d7:	0f be cb             	movsbl %bl,%ecx
4075da:	8d 04 80             	lea    (%eax,%eax,4),%eax
4075dd:	8d 44 41 d0          	lea    -0x30(%ecx,%eax,2),%eax
4075e1:	eb e9                	jmp    0x4075cc
4075e3:	89 55 f0             	mov    %edx,-0x10(%ebp)
4075e6:	e9 ed 05 00 00       	jmp    0x407bd8
4075eb:	80 fb 2a             	cmp    $0x2a,%bl
4075ee:	75 1e                	jne    0x40760e
4075f0:	8d 45 10             	lea    0x10(%ebp),%eax
4075f3:	50                   	push   %eax
4075f4:	e8 b6 06 00 00       	call   0x407caf
4075f9:	85 c0                	test   %eax,%eax
4075fb:	59                   	pop    %ecx
4075fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4075ff:	0f 8d d3 05 00 00    	jge    0x407bd8
407605:	83 4d f0 ff          	orl    $0xffffffff,-0x10(%ebp)
407609:	e9 ca 05 00 00       	jmp    0x407bd8
40760e:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
407611:	0f be cb             	movsbl %bl,%ecx
407614:	8d 44 41 d0          	lea    -0x30(%ecx,%eax,2),%eax
407618:	89 45 f0             	mov    %eax,-0x10(%ebp)
40761b:	e9 b8 05 00 00       	jmp    0x407bd8
407620:	80 fb 49             	cmp    $0x49,%bl
407623:	74 2e                	je     0x407653
407625:	80 fb 68             	cmp    $0x68,%bl
407628:	74 20                	je     0x40764a
40762a:	80 fb 6c             	cmp    $0x6c,%bl
40762d:	74 12                	je     0x407641
40762f:	80 fb 77             	cmp    $0x77,%bl
407632:	0f 85 a0 05 00 00    	jne    0x407bd8
407638:	80 4d fd 08          	orb    $0x8,-0x3(%ebp)
40763c:	e9 97 05 00 00       	jmp    0x407bd8
407641:	83 4d fc 10          	orl    $0x10,-0x4(%ebp)
407645:	e9 8e 05 00 00       	jmp    0x407bd8
40764a:	83 4d fc 20          	orl    $0x20,-0x4(%ebp)
40764e:	e9 85 05 00 00       	jmp    0x407bd8
407653:	80 3f 36             	cmpb   $0x36,(%edi)
407656:	75 14                	jne    0x40766c
407658:	80 7f 01 34          	cmpb   $0x34,0x1(%edi)
40765c:	75 0e                	jne    0x40766c
40765e:	47                   	inc    %edi
40765f:	47                   	inc    %edi
407660:	80 4d fd 80          	orb    $0x80,-0x3(%ebp)
407664:	89 7d 0c             	mov    %edi,0xc(%ebp)
407667:	e9 6c 05 00 00       	jmp    0x407bd8
40766c:	89 55 d0             	mov    %edx,-0x30(%ebp)
40766f:	8b 0d ec 09 41 00    	mov    0x4109ec,%ecx
407675:	89 55 dc             	mov    %edx,-0x24(%ebp)
407678:	0f b6 c3             	movzbl %bl,%eax
40767b:	f6 44 41 01 80       	testb  $0x80,0x1(%ecx,%eax,2)
407680:	74 19                	je     0x40769b
407682:	8d 45 ec             	lea    -0x14(%ebp),%eax
407685:	50                   	push   %eax
407686:	ff 75 08             	push   0x8(%ebp)
407689:	0f be c3             	movsbl %bl,%eax
40768c:	50                   	push   %eax
40768d:	e8 7f 05 00 00       	call   0x407c11
407692:	8a 1f                	mov    (%edi),%bl
407694:	83 c4 0c             	add    $0xc,%esp
407697:	47                   	inc    %edi
407698:	89 7d 0c             	mov    %edi,0xc(%ebp)
40769b:	8d 45 ec             	lea    -0x14(%ebp),%eax
40769e:	50                   	push   %eax
40769f:	ff 75 08             	push   0x8(%ebp)
4076a2:	0f be c3             	movsbl %bl,%eax
4076a5:	50                   	push   %eax
4076a6:	e8 66 05 00 00       	call   0x407c11
4076ab:	83 c4 0c             	add    $0xc,%esp
4076ae:	e9 25 05 00 00       	jmp    0x407bd8
4076b3:	0f be c3             	movsbl %bl,%eax
4076b6:	83 f8 67             	cmp    $0x67,%eax
4076b9:	0f 8f 1c 02 00 00    	jg     0x4078db
4076bf:	83 f8 65             	cmp    $0x65,%eax
4076c2:	0f 8d 96 00 00 00    	jge    0x40775e
4076c8:	83 f8 58             	cmp    $0x58,%eax
4076cb:	0f 8f eb 00 00 00    	jg     0x4077bc
4076d1:	0f 84 78 02 00 00    	je     0x40794f
4076d7:	83 e8 43             	sub    $0x43,%eax
4076da:	0f 84 9f 00 00 00    	je     0x40777f
4076e0:	48                   	dec    %eax
4076e1:	48                   	dec    %eax
4076e2:	74 70                	je     0x407754
4076e4:	48                   	dec    %eax
4076e5:	48                   	dec    %eax
4076e6:	74 6c                	je     0x407754
4076e8:	83 e8 0c             	sub    $0xc,%eax
4076eb:	0f 85 e9 03 00 00    	jne    0x407ada
4076f1:	66 f7 45 fc 30 08    	testw  $0x830,-0x4(%ebp)
4076f7:	75 04                	jne    0x4076fd
4076f9:	80 4d fd 08          	orb    $0x8,-0x3(%ebp)
4076fd:	8b 75 f0             	mov    -0x10(%ebp),%esi
407700:	83 fe ff             	cmp    $0xffffffff,%esi
407703:	75 05                	jne    0x40770a
407705:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
40770a:	8d 45 10             	lea    0x10(%ebp),%eax
40770d:	50                   	push   %eax
40770e:	e8 9c 05 00 00       	call   0x407caf
407713:	66 f7 45 fc 10 08    	testw  $0x810,-0x4(%ebp)
407719:	59                   	pop    %ecx
40771a:	8b c8                	mov    %eax,%ecx
40771c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40771f:	0f 84 fe 01 00 00    	je     0x407923
407725:	85 c9                	test   %ecx,%ecx
407727:	75 09                	jne    0x407732
407729:	8b 0d 70 0d 41 00    	mov    0x410d70,%ecx
40772f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
407732:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
407739:	8b c1                	mov    %ecx,%eax
40773b:	8b d6                	mov    %esi,%edx
40773d:	4e                   	dec    %esi
40773e:	85 d2                	test   %edx,%edx
407740:	0f 84 d4 01 00 00    	je     0x40791a
407746:	66 83 38 00          	cmpw   $0x0,(%eax)
40774a:	0f 84 ca 01 00 00    	je     0x40791a
407750:	40                   	inc    %eax
407751:	40                   	inc    %eax
407752:	eb e7                	jmp    0x40773b
407754:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40775b:	80 c3 20             	add    $0x20,%bl
40775e:	83 4d fc 40          	orl    $0x40,-0x4(%ebp)
407762:	8d bd b8 fd ff ff    	lea    -0x248(%ebp),%edi
407768:	3b ca                	cmp    %edx,%ecx
40776a:	89 7d f8             	mov    %edi,-0x8(%ebp)
40776d:	0f 8d cf 00 00 00    	jge    0x407842
407773:	c7 45 f0 06 00 00 00 	movl   $0x6,-0x10(%ebp)
40777a:	e9 d1 00 00 00       	jmp    0x407850
40777f:	66 f7 45 fc 30 08    	testw  $0x830,-0x4(%ebp)
407785:	75 04                	jne    0x40778b
407787:	80 4d fd 08          	orb    $0x8,-0x3(%ebp)
40778b:	66 f7 45 fc 10 08    	testw  $0x810,-0x4(%ebp)
407791:	8d 45 10             	lea    0x10(%ebp),%eax
407794:	50                   	push   %eax
407795:	74 3b                	je     0x4077d2
407797:	e8 30 05 00 00       	call   0x407ccc
40779c:	50                   	push   %eax
40779d:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
4077a3:	50                   	push   %eax
4077a4:	e8 70 27 00 00       	call   0x409f19
4077a9:	83 c4 0c             	add    $0xc,%esp
4077ac:	89 45 f4             	mov    %eax,-0xc(%ebp)
4077af:	85 c0                	test   %eax,%eax
4077b1:	7d 32                	jge    0x4077e5
4077b3:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
4077ba:	eb 29                	jmp    0x4077e5
4077bc:	83 e8 5a             	sub    $0x5a,%eax
4077bf:	74 32                	je     0x4077f3
4077c1:	83 e8 09             	sub    $0x9,%eax
4077c4:	74 c5                	je     0x40778b
4077c6:	48                   	dec    %eax
4077c7:	0f 84 e8 01 00 00    	je     0x4079b5
4077cd:	e9 08 03 00 00       	jmp    0x407ada
4077d2:	e8 d8 04 00 00       	call   0x407caf
4077d7:	59                   	pop    %ecx
4077d8:	88 85 b8 fd ff ff    	mov    %al,-0x248(%ebp)
4077de:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4077e5:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
4077eb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4077ee:	e9 e7 02 00 00       	jmp    0x407ada
4077f3:	8d 45 10             	lea    0x10(%ebp),%eax
4077f6:	50                   	push   %eax
4077f7:	e8 b3 04 00 00       	call   0x407caf
4077fc:	85 c0                	test   %eax,%eax
4077fe:	59                   	pop    %ecx
4077ff:	74 33                	je     0x407834
407801:	8b 48 04             	mov    0x4(%eax),%ecx
407804:	85 c9                	test   %ecx,%ecx
407806:	74 2c                	je     0x407834
407808:	f6 45 fd 08          	testb  $0x8,-0x3(%ebp)
40780c:	74 17                	je     0x407825
40780e:	0f bf 00             	movswl (%eax),%eax
407811:	d1 e8                	shr    $1,%eax
407813:	89 4d f8             	mov    %ecx,-0x8(%ebp)
407816:	89 45 f4             	mov    %eax,-0xc(%ebp)
407819:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
407820:	e9 b5 02 00 00       	jmp    0x407ada
407825:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
407829:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40782c:	0f bf 00             	movswl (%eax),%eax
40782f:	e9 a3 02 00 00       	jmp    0x407ad7
407834:	a1 6c 0d 41 00       	mov    0x410d6c,%eax
407839:	89 45 f8             	mov    %eax,-0x8(%ebp)
40783c:	50                   	push   %eax
40783d:	e9 8e 00 00 00       	jmp    0x4078d0
407842:	75 0c                	jne    0x407850
407844:	80 fb 67             	cmp    $0x67,%bl
407847:	75 07                	jne    0x407850
407849:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
407850:	8b 45 10             	mov    0x10(%ebp),%eax
407853:	ff 75 cc             	push   -0x34(%ebp)
407856:	83 c0 08             	add    $0x8,%eax
407859:	89 45 10             	mov    %eax,0x10(%ebp)
40785c:	ff 75 f0             	push   -0x10(%ebp)
40785f:	8b 48 f8             	mov    -0x8(%eax),%ecx
407862:	89 4d b8             	mov    %ecx,-0x48(%ebp)
407865:	8b 40 fc             	mov    -0x4(%eax),%eax
407868:	89 45 bc             	mov    %eax,-0x44(%ebp)
40786b:	0f be c3             	movsbl %bl,%eax
40786e:	50                   	push   %eax
40786f:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
407875:	50                   	push   %eax
407876:	8d 45 b8             	lea    -0x48(%ebp),%eax
407879:	50                   	push   %eax
40787a:	ff 15 00 0f 41 00    	call   *0x410f00
407880:	8b 75 fc             	mov    -0x4(%ebp),%esi
407883:	83 c4 14             	add    $0x14,%esp
407886:	81 e6 80 00 00 00    	and    $0x80,%esi
40788c:	74 14                	je     0x4078a2
40788e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
407892:	75 0e                	jne    0x4078a2
407894:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
40789a:	50                   	push   %eax
40789b:	ff 15 0c 0f 41 00    	call   *0x410f0c
4078a1:	59                   	pop    %ecx
4078a2:	80 fb 67             	cmp    $0x67,%bl
4078a5:	75 12                	jne    0x4078b9
4078a7:	85 f6                	test   %esi,%esi
4078a9:	75 0e                	jne    0x4078b9
4078ab:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
4078b1:	50                   	push   %eax
4078b2:	ff 15 04 0f 41 00    	call   *0x410f04
4078b8:	59                   	pop    %ecx
4078b9:	80 bd b8 fd ff ff 2d 	cmpb   $0x2d,-0x248(%ebp)
4078c0:	75 0d                	jne    0x4078cf
4078c2:	80 4d fd 01          	orb    $0x1,-0x3(%ebp)
4078c6:	8d bd b9 fd ff ff    	lea    -0x247(%ebp),%edi
4078cc:	89 7d f8             	mov    %edi,-0x8(%ebp)
4078cf:	57                   	push   %edi
4078d0:	e8 2b f1 ff ff       	call   0x406a00
4078d5:	59                   	pop    %ecx
4078d6:	e9 fc 01 00 00       	jmp    0x407ad7
4078db:	83 e8 69             	sub    $0x69,%eax
4078de:	0f 84 d1 00 00 00    	je     0x4079b5
4078e4:	83 e8 05             	sub    $0x5,%eax
4078e7:	0f 84 9e 00 00 00    	je     0x40798b
4078ed:	48                   	dec    %eax
4078ee:	0f 84 84 00 00 00    	je     0x407978
4078f4:	48                   	dec    %eax
4078f5:	74 51                	je     0x407948
4078f7:	83 e8 03             	sub    $0x3,%eax
4078fa:	0f 84 fd fd ff ff    	je     0x4076fd
407900:	48                   	dec    %eax
407901:	48                   	dec    %eax
407902:	0f 84 b1 00 00 00    	je     0x4079b9
407908:	83 e8 03             	sub    $0x3,%eax
40790b:	0f 85 c9 01 00 00    	jne    0x407ada
407911:	c7 45 d4 27 00 00 00 	movl   $0x27,-0x2c(%ebp)
407918:	eb 3c                	jmp    0x407956
40791a:	2b c1                	sub    %ecx,%eax
40791c:	d1 f8                	sar    $1,%eax
40791e:	e9 b4 01 00 00       	jmp    0x407ad7
407923:	85 c9                	test   %ecx,%ecx
407925:	75 09                	jne    0x407930
407927:	8b 0d 6c 0d 41 00    	mov    0x410d6c,%ecx
40792d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
407930:	8b c1                	mov    %ecx,%eax
407932:	8b d6                	mov    %esi,%edx
407934:	4e                   	dec    %esi
407935:	85 d2                	test   %edx,%edx
407937:	74 08                	je     0x407941
407939:	80 38 00             	cmpb   $0x0,(%eax)
40793c:	74 03                	je     0x407941
40793e:	40                   	inc    %eax
40793f:	eb f1                	jmp    0x407932
407941:	2b c1                	sub    %ecx,%eax
407943:	e9 8f 01 00 00       	jmp    0x407ad7
407948:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
40794f:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
407956:	f6 45 fc 80          	testb  $0x80,-0x4(%ebp)
40795a:	c7 45 f4 10 00 00 00 	movl   $0x10,-0xc(%ebp)
407961:	74 5d                	je     0x4079c0
407963:	8a 45 d4             	mov    -0x2c(%ebp),%al
407966:	c6 45 ea 30          	movb   $0x30,-0x16(%ebp)
40796a:	04 51                	add    $0x51,%al
40796c:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
407973:	88 45 eb             	mov    %al,-0x15(%ebp)
407976:	eb 48                	jmp    0x4079c0
407978:	f6 45 fc 80          	testb  $0x80,-0x4(%ebp)
40797c:	c7 45 f4 08 00 00 00 	movl   $0x8,-0xc(%ebp)
407983:	74 3b                	je     0x4079c0
407985:	80 4d fd 02          	orb    $0x2,-0x3(%ebp)
407989:	eb 35                	jmp    0x4079c0
40798b:	8d 45 10             	lea    0x10(%ebp),%eax
40798e:	50                   	push   %eax
40798f:	e8 1b 03 00 00       	call   0x407caf
407994:	f6 45 fc 20          	testb  $0x20,-0x4(%ebp)
407998:	59                   	pop    %ecx
407999:	74 09                	je     0x4079a4
40799b:	66 8b 4d ec          	mov    -0x14(%ebp),%cx
40799f:	66 89 08             	mov    %cx,(%eax)
4079a2:	eb 05                	jmp    0x4079a9
4079a4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4079a7:	89 08                	mov    %ecx,(%eax)
4079a9:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
4079b0:	e9 23 02 00 00       	jmp    0x407bd8
4079b5:	83 4d fc 40          	orl    $0x40,-0x4(%ebp)
4079b9:	c7 45 f4 0a 00 00 00 	movl   $0xa,-0xc(%ebp)
4079c0:	f6 45 fd 80          	testb  $0x80,-0x3(%ebp)
4079c4:	74 0c                	je     0x4079d2
4079c6:	8d 45 10             	lea    0x10(%ebp),%eax
4079c9:	50                   	push   %eax
4079ca:	e8 ed 02 00 00       	call   0x407cbc