409730:	c3                   	ret
409731:	6a 0c                	push   $0xc
409733:	e8 df 33 00 00       	call   0x40cb17
409738:	59                   	pop    %ecx
409739:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40973d:	8d 46 6c             	lea    0x6c(%esi),%eax
409740:	8b 3d 20 d2 41 00    	mov    0x41d220,%edi
409746:	e8 69 ff ff ff       	call   0x4096b4
40974b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40974e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409755:	e8 02 00 00 00       	call   0x40975c
40975a:	eb c1                	jmp    0x40971d
40975c:	6a 0c                	push   $0xc
40975e:	e8 dc 32 00 00       	call   0x40ca3f
409763:	59                   	pop    %ecx
409764:	8b 75 e4             	mov    -0x1c(%ebp),%esi
409767:	c3                   	ret
409768:	a1 20 d2 41 00       	mov    0x41d220,%eax
40976d:	8b 48 04             	mov    0x4(%eax),%ecx
409770:	89 0d 58 e3 41 00    	mov    %ecx,0x41e358
409776:	8b 48 08             	mov    0x8(%eax),%ecx
409779:	89 0d 5c e3 41 00    	mov    %ecx,0x41e35c
40977f:	8b 88 a8 00 00 00    	mov    0xa8(%eax),%ecx
409785:	89 0d 24 d2 41 00    	mov    %ecx,0x41d224
40978b:	8b 88 d4 00 00 00    	mov    0xd4(%eax),%ecx
409791:	89 0d e8 d2 41 00    	mov    %ecx,0x41d2e8
409797:	8b 88 bc 00 00 00    	mov    0xbc(%eax),%ecx
40979d:	89 0d 20 d3 41 00    	mov    %ecx,0x41d320
4097a3:	8b 88 c8 00 00 00    	mov    0xc8(%eax),%ecx
4097a9:	89 0d e8 c7 41 00    	mov    %ecx,0x41c7e8
4097af:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
4097b5:	a3 24 d3 41 00       	mov    %eax,0x41d324
4097ba:	c3                   	ret
4097bb:	6a 08                	push   $0x8
4097bd:	68 78 ab 41 00       	push   $0x41ab78
4097c2:	e8 81 3e 00 00       	call   0x40d648
4097c7:	8b 75 08             	mov    0x8(%ebp),%esi
4097ca:	33 ff                	xor    %edi,%edi
4097cc:	3b f7                	cmp    %edi,%esi
4097ce:	74 6f                	je     0x40983f
4097d0:	8b 46 04             	mov    0x4(%esi),%eax
4097d3:	3b c7                	cmp    %edi,%eax
4097d5:	74 1c                	je     0x4097f3
4097d7:	50                   	push   %eax
4097d8:	ff 15 98 70 41 00    	call   *0x417098
4097de:	85 c0                	test   %eax,%eax
4097e0:	75 11                	jne    0x4097f3
4097e2:	8b 46 04             	mov    0x4(%esi),%eax
4097e5:	3d 18 cc 41 00       	cmp    $0x41cc18,%eax
4097ea:	74 07                	je     0x4097f3
4097ec:	50                   	push   %eax
4097ed:	e8 61 cc ff ff       	call   0x406453
4097f2:	59                   	pop    %ecx
4097f3:	39 3e                	cmp    %edi,(%esi)
4097f5:	74 37                	je     0x40982e
4097f7:	6a 0c                	push   $0xc
4097f9:	e8 19 33 00 00       	call   0x40cb17
4097fe:	59                   	pop    %ecx
4097ff:	89 7d fc             	mov    %edi,-0x4(%ebp)
409802:	ff 36                	push   (%esi)
409804:	e8 fb fd ff ff       	call   0x409604
409809:	59                   	pop    %ecx
40980a:	8b 06                	mov    (%esi),%eax
40980c:	3b c7                	cmp    %edi,%eax
40980e:	74 12                	je     0x409822
409810:	39 38                	cmp    %edi,(%eax)
409812:	75 0e                	jne    0x409822
409814:	3d 48 d1 41 00       	cmp    $0x41d148,%eax
409819:	74 07                	je     0x409822
40981b:	50                   	push   %eax
40981c:	e8 1d fc ff ff       	call   0x40943e
409821:	59                   	pop    %ecx
409822:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409829:	e8 1a 00 00 00       	call   0x409848
40982e:	b8 0d f0 ad ba       	mov    $0xbaadf00d,%eax
409833:	89 06                	mov    %eax,(%esi)
409835:	89 46 04             	mov    %eax,0x4(%esi)
409838:	56                   	push   %esi
409839:	e8 15 cc ff ff       	call   0x406453
40983e:	59                   	pop    %ecx
40983f:	e8 49 3e 00 00       	call   0x40d68d
409844:	c3                   	ret
409845:	8b 75 08             	mov    0x8(%ebp),%esi
409848:	6a 0c                	push   $0xc
40984a:	e8 f0 31 00 00       	call   0x40ca3f
40984f:	59                   	pop    %ecx
409850:	c3                   	ret
409851:	53                   	push   %ebx
409852:	57                   	push   %edi
409853:	8b 7c 24 14          	mov    0x14(%esp),%edi
409857:	33 db                	xor    %ebx,%ebx
409859:	3b fb                	cmp    %ebx,%edi
40985b:	7e 2f                	jle    0x40988c
40985d:	56                   	push   %esi
40985e:	8d 74 24 18          	lea    0x18(%esp),%esi
409862:	83 c6 04             	add    $0x4,%esi
409865:	ff 36                	push   (%esi)
409867:	ff 74 24 18          	push   0x18(%esp)
40986b:	ff 74 24 18          	push   0x18(%esp)
40986f:	e8 c4 80 00 00       	call   0x411938
409874:	83 c4 0c             	add    $0xc,%esp
409877:	85 c0                	test   %eax,%eax
409879:	74 0d                	je     0x409888
40987b:	53                   	push   %ebx
40987c:	53                   	push   %ebx
40987d:	53                   	push   %ebx
40987e:	53                   	push   %ebx
40987f:	53                   	push   %ebx
409880:	e8 cf dc ff ff       	call   0x407554
409885:	83 c4 14             	add    $0x14,%esp
409888:	4f                   	dec    %edi
409889:	75 d7                	jne    0x409862
40988b:	5e                   	pop    %esi
40988c:	5f                   	pop    %edi
40988d:	5b                   	pop    %ebx
40988e:	c3                   	ret
40988f:	55                   	push   %ebp
409890:	8b ec                	mov    %esp,%ebp
409892:	53                   	push   %ebx
409893:	56                   	push   %esi
409894:	57                   	push   %edi
409895:	8b 7d 08             	mov    0x8(%ebp),%edi
409898:	68 90 00 00 00       	push   $0x90
40989d:	33 db                	xor    %ebx,%ebx
40989f:	53                   	push   %ebx
4098a0:	57                   	push   %edi
4098a1:	e8 aa c2 ff ff       	call   0x405b50
4098a6:	8b 75 0c             	mov    0xc(%ebp),%esi
4098a9:	8a 06                	mov    (%esi),%al
4098ab:	83 c4 0c             	add    $0xc,%esp
4098ae:	84 c0                	test   %al,%al
4098b0:	75 07                	jne    0x4098b9
4098b2:	33 c0                	xor    %eax,%eax
4098b4:	e9 fa 00 00 00       	jmp    0x4099b3
4098b9:	3c 2e                	cmp    $0x2e,%al
4098bb:	75 34                	jne    0x4098f1
4098bd:	8d 46 01             	lea    0x1(%esi),%eax
4098c0:	38 18                	cmp    %bl,(%eax)
4098c2:	74 2d                	je     0x4098f1
4098c4:	6a 0f                	push   $0xf
4098c6:	50                   	push   %eax
4098c7:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
4098cd:	6a 10                	push   $0x10
4098cf:	50                   	push   %eax
4098d0:	e8 21 81 00 00       	call   0x4119f6
4098d5:	83 c4 10             	add    $0x10,%esp
4098d8:	85 c0                	test   %eax,%eax
4098da:	74 0d                	je     0x4098e9
4098dc:	53                   	push   %ebx
4098dd:	53                   	push   %ebx
4098de:	53                   	push   %ebx
4098df:	53                   	push   %ebx
4098e0:	53                   	push   %ebx
4098e1:	e8 6e dc ff ff       	call   0x407554
4098e6:	83 c4 14             	add    $0x14,%esp
4098e9:	88 9f 8f 00 00 00    	mov    %bl,0x8f(%edi)
4098ef:	eb c1                	jmp    0x4098b2
4098f1:	68 a0 7f 41 00       	push   $0x417fa0
4098f6:	56                   	push   %esi
4098f7:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4098fa:	e8 b1 80 00 00       	call   0x4119b0
4098ff:	3b c3                	cmp    %ebx,%eax
409901:	e9 a2 00 00 00       	jmp    0x4099a8
409906:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40990a:	8d 3c 30             	lea    (%eax,%esi,1),%edi
40990d:	8a 1f                	mov    (%edi),%bl
40990f:	75 1b                	jne    0x40992c
409911:	83 f8 40             	cmp    $0x40,%eax
409914:	0f 83 96 00 00 00    	jae    0x4099b0
40991a:	80 fb 2e             	cmp    $0x2e,%bl
40991d:	0f 84 8d 00 00 00    	je     0x4099b0
409923:	50                   	push   %eax
409924:	56                   	push   %esi
409925:	6a 40                	push   $0x40
409927:	ff 75 08             	push   0x8(%ebp)
40992a:	eb 3d                	jmp    0x409969
40992c:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
409930:	75 16                	jne    0x409948
409932:	83 f8 40             	cmp    $0x40,%eax
409935:	73 79                	jae    0x4099b0
409937:	80 fb 5f             	cmp    $0x5f,%bl
40993a:	74 74                	je     0x4099b0
40993c:	50                   	push   %eax
40993d:	8b 45 08             	mov    0x8(%ebp),%eax
409940:	56                   	push   %esi
409941:	6a 40                	push   $0x40
409943:	83 c0 40             	add    $0x40,%eax
409946:	eb 20                	jmp    0x409968
409948:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
40994c:	75 62                	jne    0x4099b0
40994e:	83 f8 10             	cmp    $0x10,%eax
409951:	73 5d                	jae    0x4099b0
409953:	84 db                	test   %bl,%bl
409955:	74 05                	je     0x40995c
409957:	80 fb 2c             	cmp    $0x2c,%bl
40995a:	75 54                	jne    0x4099b0
40995c:	50                   	push   %eax
40995d:	8b 45 08             	mov    0x8(%ebp),%eax
409960:	56                   	push   %esi
409961:	6a 10                	push   $0x10
409963:	05 80 00 00 00       	add    $0x80,%eax
409968:	50                   	push   %eax
409969:	e8 88 80 00 00       	call   0x4119f6
40996e:	83 c4 10             	add    $0x10,%esp
409971:	85 c0                	test   %eax,%eax
409973:	74 0f                	je     0x409984
409975:	33 c0                	xor    %eax,%eax
409977:	50                   	push   %eax
409978:	50                   	push   %eax
409979:	50                   	push   %eax
40997a:	50                   	push   %eax
40997b:	50                   	push   %eax
40997c:	e8 d3 db ff ff       	call   0x407554
409981:	83 c4 14             	add    $0x14,%esp
409984:	80 fb 2c             	cmp    $0x2c,%bl
409987:	0f 84 25 ff ff ff    	je     0x4098b2
40998d:	84 db                	test   %bl,%bl
40998f:	0f 84 1d ff ff ff    	je     0x4098b2
409995:	ff 45 0c             	incl   0xc(%ebp)
409998:	8d 77 01             	lea    0x1(%edi),%esi
40999b:	68 a0 7f 41 00       	push   $0x417fa0
4099a0:	56                   	push   %esi
4099a1:	e8 0a 80 00 00       	call   0x4119b0
4099a6:	85 c0                	test   %eax,%eax
4099a8:	59                   	pop    %ecx
4099a9:	59                   	pop    %ecx
4099aa:	0f 85 56 ff ff ff    	jne    0x409906
4099b0:	83 c8 ff             	or     $0xffffffff,%eax
4099b3:	5f                   	pop    %edi
4099b4:	5e                   	pop    %esi
4099b5:	5b                   	pop    %ebx
4099b6:	5d                   	pop    %ebp
4099b7:	c3                   	ret
4099b8:	55                   	push   %ebp
4099b9:	8b ec                	mov    %esp,%ebp
4099bb:	53                   	push   %ebx
4099bc:	56                   	push   %esi
4099bd:	8b 75 10             	mov    0x10(%ebp),%esi
4099c0:	56                   	push   %esi
4099c1:	ff 75 0c             	push   0xc(%ebp)
4099c4:	ff 75 08             	push   0x8(%ebp)
4099c7:	e8 cf 12 00 00       	call   0x40ac9b
4099cc:	83 c4 0c             	add    $0xc,%esp
4099cf:	33 db                	xor    %ebx,%ebx
4099d1:	85 c0                	test   %eax,%eax
4099d3:	74 0d                	je     0x4099e2
4099d5:	53                   	push   %ebx
4099d6:	53                   	push   %ebx
4099d7:	53                   	push   %ebx
4099d8:	53                   	push   %ebx
4099d9:	53                   	push   %ebx
4099da:	e8 75 db ff ff       	call   0x407554
4099df:	83 c4 14             	add    $0x14,%esp
4099e2:	8d 46 40             	lea    0x40(%esi),%eax
4099e5:	38 18                	cmp    %bl,(%eax)
4099e7:	74 16                	je     0x4099ff
4099e9:	50                   	push   %eax
4099ea:	68 a8 7f 41 00       	push   $0x417fa8
4099ef:	6a 02                	push   $0x2
4099f1:	ff 75 0c             	push   0xc(%ebp)
4099f4:	ff 75 08             	push   0x8(%ebp)
4099f7:	e8 55 fe ff ff       	call   0x409851
4099fc:	83 c4 14             	add    $0x14,%esp
4099ff:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
409a05:	38 18                	cmp    %bl,(%eax)
409a07:	5e                   	pop    %esi
409a08:	5b                   	pop    %ebx
409a09:	74 16                	je     0x409a21
409a0b:	50                   	push   %eax
409a0c:	68 a4 7f 41 00       	push   $0x417fa4
409a11:	6a 02                	push   $0x2
409a13:	ff 75 0c             	push   0xc(%ebp)
409a16:	ff 75 08             	push   0x8(%ebp)
409a19:	e8 33 fe ff ff       	call   0x409851
409a1e:	83 c4 14             	add    $0x14,%esp
409a21:	5d                   	pop    %ebp
409a22:	c3                   	ret
409a23:	83 ec 10             	sub    $0x10,%esp
409a26:	53                   	push   %ebx
409a27:	33 db                	xor    %ebx,%ebx
409a29:	43                   	inc    %ebx
409a2a:	68 55 03 00 00       	push   $0x355
409a2f:	89 5c 24 10          	mov    %ebx,0x10(%esp)
409a33:	e8 b4 f8 ff ff       	call   0x4092ec
409a38:	85 c0                	test   %eax,%eax
409a3a:	59                   	pop    %ecx
409a3b:	89 44 24 10          	mov    %eax,0x10(%esp)
409a3f:	0f 84 4a 01 00 00    	je     0x409b8f
409a45:	55                   	push   %ebp
409a46:	57                   	push   %edi
409a47:	8d 78 04             	lea    0x4(%eax),%edi
409a4a:	c6 07 00             	movb   $0x0,(%edi)
409a4d:	89 18                	mov    %ebx,(%eax)
409a4f:	8d 6e 10             	lea    0x10(%esi),%ebp
409a52:	89 5c 24 10          	mov    %ebx,0x10(%esp)
409a56:	8d 5d 48             	lea    0x48(%ebp),%ebx
409a59:	ff 33                	push   (%ebx)
409a5b:	68 b0 7f 41 00       	push   $0x417fb0
409a60:	ff 35 e4 7e 41 00    	push   0x417ee4
409a66:	6a 03                	push   $0x3
409a68:	68 51 03 00 00       	push   $0x351
409a6d:	57                   	push   %edi
409a6e:	e8 de fd ff ff       	call   0x409851
409a73:	83 c4 18             	add    $0x18,%esp
409a76:	c7 44 24 0c e4 7e 41 	movl   $0x417ee4,0xc(%esp)
409a7d:	00
409a7e:	68 ac 7f 41 00       	push   $0x417fac
409a83:	68 51 03 00 00       	push   $0x351
409a88:	57                   	push   %edi
409a89:	e8 aa 7e 00 00       	call   0x411938
409a8e:	83 c4 0c             	add    $0xc,%esp
409a91:	85 c0                	test   %eax,%eax
409a93:	74 0f                	je     0x409aa4
409a95:	33 c0                	xor    %eax,%eax
409a97:	50                   	push   %eax
409a98:	50                   	push   %eax
409a99:	50                   	push   %eax
409a9a:	50                   	push   %eax
409a9b:	50                   	push   %eax
409a9c:	e8 b3 da ff ff       	call   0x407554
409aa1:	83 c4 14             	add    $0x14,%esp
409aa4:	ff 75 58             	push   0x58(%ebp)
409aa7:	ff 33                	push   (%ebx)
409aa9:	e8 e2 13 00 00       	call   0x40ae90
409aae:	85 c0                	test   %eax,%eax
409ab0:	59                   	pop    %ecx
409ab1:	59                   	pop    %ecx
409ab2:	74 05                	je     0x409ab9
409ab4:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
409ab9:	ff 44 24 10          	incl   0x10(%esp)
409abd:	8b 44 24 10          	mov    0x10(%esp),%eax
409ac1:	83 44 24 0c 0c       	addl   $0xc,0xc(%esp)
409ac6:	c1 e0 04             	shl    $0x4,%eax
409ac9:	8d 2c 30             	lea    (%eax,%esi,1),%ebp
409acc:	8b 44 24 0c          	mov    0xc(%esp),%eax
409ad0:	8d 5d 48             	lea    0x48(%ebp),%ebx
409ad3:	ff 33                	push   (%ebx)
409ad5:	68 b0 7f 41 00       	push   $0x417fb0
409ada:	ff 30                	push   (%eax)
409adc:	6a 03                	push   $0x3
409ade:	68 51 03 00 00       	push   $0x351
409ae3:	57                   	push   %edi
409ae4:	e8 68 fd ff ff       	call   0x409851
409ae9:	83 c4 18             	add    $0x18,%esp
409aec:	81 7c 24 0c 14 7f 41 	cmpl   $0x417f14,0xc(%esp)
409af3:	00
409af4:	7c 88                	jl     0x409a7e
409af6:	33 ed                	xor    %ebp,%ebp
409af8:	39 6c 24 14          	cmp    %ebp,0x14(%esp)
409afc:	75 42                	jne    0x409b40