4066f3:	85 c0                	test   %eax,%eax
4066f5:	75 04                	jne    0x4066fb
4066f7:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4066fb:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406701:	50                   	push   %eax
406702:	53                   	push   %ebx
406703:	8d 45 b8             	lea    -0x48(%ebp),%eax
406706:	50                   	push   %eax
406707:	68 30 1c 40 00       	push   $0x401c30
40670c:	e8 a9 c1 ff ff       	call   0x4028ba
406711:	83 c4 10             	add    $0x10,%esp
406714:	8d 56 04             	lea    0x4(%esi),%edx
406717:	8b cb                	mov    %ebx,%ecx
406719:	ff b5 28 fd ff ff    	push   -0x2d8(%ebp)
40671f:	e8 73 fb ff ff       	call   0x406297
406724:	8b 9d 24 fd ff ff    	mov    -0x2dc(%ebp),%ebx
40672a:	eb 0b                	jmp    0x406737
40672c:	68 7a 04 00 00       	push   $0x47a
406731:	e8 59 c2 ff ff       	call   0x40298f
406736:	59                   	pop    %ecx
406737:	56                   	push   %esi
406738:	ff 15 b0 f0 40 00    	call   *0x40f0b0
40673e:	eb 3e                	jmp    0x40677e
406740:	6a 20                	push   $0x20
406742:	8d 45 b8             	lea    -0x48(%ebp),%eax
406745:	50                   	push   %eax
406746:	68 7b 04 00 00       	push   $0x47b
40674b:	6a 00                	push   $0x0
40674d:	ff 15 20 f1 40 00    	call   *0x40f120
406753:	85 c0                	test   %eax,%eax
406755:	75 04                	jne    0x40675b
406757:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
40675b:	56                   	push   %esi
40675c:	ba 04 01 00 00       	mov    $0x104,%edx
406761:	8d 8d 30 fd ff ff    	lea    -0x2d0(%ebp),%ecx
406767:	e8 79 c7 ff ff       	call   0x402ee5
40676c:	50                   	push   %eax
40676d:	8d 45 b8             	lea    -0x48(%ebp),%eax
406770:	50                   	push   %eax
406771:	68 c0 1b 40 00       	push   $0x401bc0
406776:	e8 3f c1 ff ff       	call   0x4028ba
40677b:	83 c4 0c             	add    $0xc,%esp
40677e:	8b 4b 08             	mov    0x8(%ebx),%ecx
406781:	8d 85 2c fd ff ff    	lea    -0x2d4(%ebp),%eax
406787:	50                   	push   %eax
406788:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
40678e:	8b d7                	mov    %edi,%edx
406790:	50                   	push   %eax
406791:	6a 05                	push   $0x5
406793:	e8 87 fa ff ff       	call   0x40621f
406798:	8b f0                	mov    %eax,%esi
40679a:	6a 20                	push   $0x20
40679c:	85 f6                	test   %esi,%esi
40679e:	0f 85 91 00 00 00    	jne    0x406835
4067a4:	39 85 28 fd ff ff    	cmp    %eax,-0x2d8(%ebp)
4067aa:	76 29                	jbe    0x4067d5
4067ac:	8d 45 b8             	lea    -0x48(%ebp),%eax
4067af:	50                   	push   %eax
4067b0:	68 54 04 00 00       	push   $0x454
4067b5:	56                   	push   %esi
4067b6:	ff 15 20 f1 40 00    	call   *0x40f120
4067bc:	85 c0                	test   %eax,%eax
4067be:	75 04                	jne    0x4067c4
4067c0:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4067c4:	ff b5 2c fd ff ff    	push   -0x2d4(%ebp)
4067ca:	8d 45 b8             	lea    -0x48(%ebp),%eax
4067cd:	50                   	push   %eax
4067ce:	68 64 1c 40 00       	push   $0x401c64
4067d3:	eb 4a                	jmp    0x40681f
4067d5:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4067db:	50                   	push   %eax
4067dc:	68 7c 04 00 00       	push   $0x47c
4067e1:	6a 00                	push   $0x0
4067e3:	ff 15 20 f1 40 00    	call   *0x40f120
4067e9:	85 c0                	test   %eax,%eax
4067eb:	75 07                	jne    0x4067f4
4067ed:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
4067f4:	6a 20                	push   $0x20
4067f6:	8d 45 b8             	lea    -0x48(%ebp),%eax
4067f9:	50                   	push   %eax
4067fa:	68 54 04 00 00       	push   $0x454
4067ff:	6a 00                	push   $0x0
406801:	ff 15 20 f1 40 00    	call   *0x40f120
406807:	85 c0                	test   %eax,%eax
406809:	75 04                	jne    0x40680f
40680b:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
40680f:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406815:	50                   	push   %eax
406816:	8d 45 b8             	lea    -0x48(%ebp),%eax
406819:	50                   	push   %eax
40681a:	68 90 1c 40 00       	push   $0x401c90
40681f:	e8 96 c0 ff ff       	call   0x4028ba
406824:	83 c4 0c             	add    $0xc,%esp
406827:	ff b5 2c fd ff ff    	push   -0x2d4(%ebp)
40682d:	ff 15 b0 f0 40 00    	call   *0x40f0b0
406833:	eb 45                	jmp    0x40687a
406835:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40683b:	50                   	push   %eax
40683c:	68 7d 04 00 00       	push   $0x47d
406841:	6a 00                	push   $0x0
406843:	ff 15 20 f1 40 00    	call   *0x40f120
406849:	85 c0                	test   %eax,%eax
40684b:	75 07                	jne    0x406854
40684d:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
406854:	56                   	push   %esi
406855:	ba 04 01 00 00       	mov    $0x104,%edx
40685a:	8d 8d 30 fd ff ff    	lea    -0x2d0(%ebp),%ecx
406860:	e8 80 c6 ff ff       	call   0x402ee5
406865:	50                   	push   %eax
406866:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40686c:	50                   	push   %eax
40686d:	68 c0 1c 40 00       	push   $0x401cc0
406872:	e8 43 c0 ff ff       	call   0x4028ba
406877:	83 c4 0c             	add    $0xc,%esp
40687a:	8b 4b 08             	mov    0x8(%ebx),%ecx
40687d:	8d 85 2c fd ff ff    	lea    -0x2d4(%ebp),%eax
406883:	50                   	push   %eax
406884:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
40688a:	8b d7                	mov    %edi,%edx
40688c:	50                   	push   %eax
40688d:	6a 06                	push   $0x6
40688f:	e8 8b f9 ff ff       	call   0x40621f
406894:	8b f0                	mov    %eax,%esi
406896:	85 f6                	test   %esi,%esi
406898:	75 66                	jne    0x406900
40689a:	83 bd 28 fd ff ff 04 	cmpl   $0x4,-0x2d8(%ebp)
4068a1:	8b b5 2c fd ff ff    	mov    -0x2d4(%ebp),%esi
4068a7:	75 4e                	jne    0x4068f7
4068a9:	8b 1e                	mov    (%esi),%ebx
4068ab:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4068b1:	6a 20                	push   $0x20
4068b3:	50                   	push   %eax
4068b4:	68 7e 04 00 00       	push   $0x47e
4068b9:	6a 00                	push   $0x0
4068bb:	ff 15 20 f1 40 00    	call   *0x40f120
4068c1:	85 c0                	test   %eax,%eax
4068c3:	75 07                	jne    0x4068cc
4068c5:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
4068cc:	53                   	push   %ebx
4068cd:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4068d3:	50                   	push   %eax
4068d4:	68 dc 1c 40 00       	push   $0x401cdc
4068d9:	e8 dc bf ff ff       	call   0x4028ba
4068de:	83 c4 0c             	add    $0xc,%esp
4068e1:	f6 c3 02             	test   $0x2,%bl
4068e4:	74 0b                	je     0x4068f1
4068e6:	68 80 04 00 00       	push   $0x480
4068eb:	e8 9f c0 ff ff       	call   0x40298f
4068f0:	59                   	pop    %ecx
4068f1:	8b 9d 24 fd ff ff    	mov    -0x2dc(%ebp),%ebx
4068f7:	56                   	push   %esi
4068f8:	ff 15 b0 f0 40 00    	call   *0x40f0b0
4068fe:	eb 47                	jmp    0x406947
406900:	6a 20                	push   $0x20
406902:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406908:	50                   	push   %eax
406909:	68 7f 04 00 00       	push   $0x47f
40690e:	6a 00                	push   $0x0
406910:	ff 15 20 f1 40 00    	call   *0x40f120
406916:	85 c0                	test   %eax,%eax
406918:	75 07                	jne    0x406921
40691a:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
406921:	56                   	push   %esi
406922:	ba 04 01 00 00       	mov    $0x104,%edx
406927:	8d 8d 30 fd ff ff    	lea    -0x2d0(%ebp),%ecx
40692d:	e8 b3 c5 ff ff       	call   0x402ee5
406932:	50                   	push   %eax
406933:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406939:	50                   	push   %eax
40693a:	68 10 1c 40 00       	push   $0x401c10
40693f:	e8 76 bf ff ff       	call   0x4028ba
406944:	83 c4 0c             	add    $0xc,%esp
406947:	8b 4b 08             	mov    0x8(%ebx),%ecx
40694a:	8d 85 2c fd ff ff    	lea    -0x2d4(%ebp),%eax
406950:	50                   	push   %eax
406951:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
406957:	8b d7                	mov    %edi,%edx
406959:	50                   	push   %eax
40695a:	6a 07                	push   $0x7
40695c:	e8 be f8 ff ff       	call   0x40621f
406961:	8b f0                	mov    %eax,%esi
406963:	85 f6                	test   %esi,%esi
406965:	75 22                	jne    0x406989
406967:	83 bd 28 fd ff ff 34 	cmpl   $0x34,-0x2d8(%ebp)
40696e:	72 0b                	jb     0x40697b
406970:	8b 95 2c fd ff ff    	mov    -0x2d4(%ebp),%edx
406976:	e8 89 cc ff ff       	call   0x403604
40697b:	ff b5 2c fd ff ff    	push   -0x2d4(%ebp)
406981:	ff 15 b0 f0 40 00    	call   *0x40f0b0
406987:	eb 47                	jmp    0x4069d0
406989:	6a 20                	push   $0x20
40698b:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406991:	50                   	push   %eax
406992:	68 81 04 00 00       	push   $0x481
406997:	6a 00                	push   $0x0
406999:	ff 15 20 f1 40 00    	call   *0x40f120
40699f:	85 c0                	test   %eax,%eax
4069a1:	75 07                	jne    0x4069aa
4069a3:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
4069aa:	56                   	push   %esi
4069ab:	ba 04 01 00 00       	mov    $0x104,%edx
4069b0:	8d 8d 30 fd ff ff    	lea    -0x2d0(%ebp),%ecx
4069b6:	e8 2a c5 ff ff       	call   0x402ee5
4069bb:	50                   	push   %eax
4069bc:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4069c2:	50                   	push   %eax
4069c3:	68 c0 1b 40 00       	push   $0x401bc0
4069c8:	e8 ed be ff ff       	call   0x4028ba
4069cd:	83 c4 0c             	add    $0xc,%esp
4069d0:	8b 4b 08             	mov    0x8(%ebx),%ecx
4069d3:	8d 85 2c fd ff ff    	lea    -0x2d4(%ebp),%eax
4069d9:	50                   	push   %eax
4069da:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
4069e0:	8b d7                	mov    %edi,%edx
4069e2:	50                   	push   %eax
4069e3:	6a 04                	push   $0x4
4069e5:	e8 35 f8 ff ff       	call   0x40621f
4069ea:	8b f0                	mov    %eax,%esi
4069ec:	85 f6                	test   %esi,%esi
4069ee:	75 25                	jne    0x406a15
4069f0:	81 bd 28 fd ff ff e8 	cmpl   $0x5e8,-0x2d8(%ebp)
4069f7:	05 00 00
4069fa:	72 0b                	jb     0x406a07
4069fc:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
406a02:	e8 89 c8 ff ff       	call   0x403290
406a07:	ff b5 2c fd ff ff    	push   -0x2d4(%ebp)
406a0d:	ff 15 b0 f0 40 00    	call   *0x40f0b0
406a13:	eb 47                	jmp    0x406a5c
406a15:	6a 20                	push   $0x20
406a17:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406a1d:	50                   	push   %eax
406a1e:	68 82 04 00 00       	push   $0x482
406a23:	6a 00                	push   $0x0
406a25:	ff 15 20 f1 40 00    	call   *0x40f120
406a2b:	85 c0                	test   %eax,%eax
406a2d:	75 07                	jne    0x406a36
406a2f:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
406a36:	56                   	push   %esi
406a37:	ba 04 01 00 00       	mov    $0x104,%edx
406a3c:	8d 8d 30 fd ff ff    	lea    -0x2d0(%ebp),%ecx
406a42:	e8 9e c4 ff ff       	call   0x402ee5
406a47:	50                   	push   %eax
406a48:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
406a4e:	50                   	push   %eax
406a4f:	68 c0 1b 40 00       	push   $0x401bc0
406a54:	e8 61 be ff ff       	call   0x4028ba
406a59:	83 c4 0c             	add    $0xc,%esp
406a5c:	33 f6                	xor    %esi,%esi
406a5e:	68 c4 13 40 00       	push   $0x4013c4
406a63:	e8 52 be ff ff       	call   0x4028ba
406a68:	59                   	pop    %ecx
406a69:	8b c6                	mov    %esi,%eax
406a6b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406a6e:	5f                   	pop    %edi
406a6f:	5e                   	pop    %esi
406a70:	33 cd                	xor    %ebp,%ecx
406a72:	5b                   	pop    %ebx
406a73:	e8 58 20 00 00       	call   0x408ad0
406a78:	c9                   	leave
406a79:	c3                   	ret
406a7a:	8b ff                	mov    %edi,%edi
406a7c:	55                   	push   %ebp
406a7d:	8b ec                	mov    %esp,%ebp
406a7f:	81 ec 74 04 00 00    	sub    $0x474,%esp
406a85:	a1 04 a0 40 00       	mov    0x40a004,%eax
406a8a:	33 c5                	xor    %ebp,%eax
406a8c:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a8f:	53                   	push   %ebx
406a90:	8b da                	mov    %edx,%ebx
406a92:	56                   	push   %esi
406a93:	57                   	push   %edi
406a94:	83 f9 12             	cmp    $0x12,%ecx
406a97:	0f 85 59 01 00 00    	jne    0x406bf6
406a9d:	8b 4b 08             	mov    0x8(%ebx),%ecx
406aa0:	8d 55 e8             	lea    -0x18(%ebp),%edx
406aa3:	e8 ec cf ff ff       	call   0x403a94
406aa8:	84 c0                	test   %al,%al
406aaa:	0f 84 46 01 00 00    	je     0x406bf6
406ab0:	8b 43 0c             	mov    0xc(%ebx),%eax
406ab3:	33 f6                	xor    %esi,%esi
406ab5:	6a 2a                	push   $0x2a
406ab7:	5a                   	pop    %edx
406ab8:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
406abe:	66 39 10             	cmp    %dx,(%eax)
406ac1:	75 06                	jne    0x406ac9
406ac3:	89 b5 c4 fb ff ff    	mov    %esi,-0x43c(%ebp)
406ac9:	8b 4b 10             	mov    0x10(%ebx),%ecx
406acc:	66 39 11             	cmp    %dx,(%ecx)
406acf:	75 09                	jne    0x406ada
406ad1:	83 8d c8 fb ff ff ff 	orl    $0xffffffff,-0x438(%ebp)
406ad8:	eb 0e                	jmp    0x406ae8
406ada:	e8 97 d1 ff ff       	call   0x403c76
406adf:	6a 2a                	push   $0x2a
406ae1:	89 85 c8 fb ff ff    	mov    %eax,-0x438(%ebp)
406ae7:	5a                   	pop    %edx
406ae8:	8b 7b 14             	mov    0x14(%ebx),%edi
406aeb:	66 39 17             	cmp    %dx,(%edi)
406aee:	74 24                	je     0x406b14
406af0:	8b cf                	mov    %edi,%ecx
406af2:	8d 51 02             	lea    0x2(%ecx),%edx
406af5:	66 8b 01             	mov    (%ecx),%ax
406af8:	83 c1 02             	add    $0x2,%ecx
406afb:	66 3b c6             	cmp    %si,%ax
406afe:	75 f5                	jne    0x406af5
406b00:	2b ca                	sub    %edx,%ecx
406b02:	d1 f9                	sar    $1,%ecx
406b04:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
406b0a:	76 0c                	jbe    0x406b18
406b0c:	6a 57                	push   $0x57
406b0e:	58                   	pop    %eax
406b0f:	e9 ec 00 00 00       	jmp    0x406c00
406b14:	8b fe                	mov    %esi,%edi
406b16:	eb 03                	jmp    0x406b1b
406b18:	6a 2a                	push   $0x2a
406b1a:	5a                   	pop    %edx
406b1b:	85 ff                	test   %edi,%edi
406b1d:	74 32                	je     0x406b51
406b1f:	8b 4b 18             	mov    0x18(%ebx),%ecx
406b22:	66 39 11             	cmp    %dx,(%ecx)
406b25:	74 2a                	je     0x406b51
406b27:	e8 4a d1 ff ff       	call   0x403c76
406b2c:	57                   	push   %edi
406b2d:	ba 00 01 00 00       	mov    $0x100,%edx
406b32:	0f b7 f0             	movzwl %ax,%esi
406b35:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
406b3b:	e8 20 bc ff ff       	call   0x402760
406b40:	33 c0                	xor    %eax,%eax
406b42:	66 89 75 d0          	mov    %si,-0x30(%ebp)
406b46:	66 89 85 d0 fb ff ff 	mov    %ax,-0x430(%ebp)
406b4d:	33 f6                	xor    %esi,%esi
406b4f:	eb 02                	jmp    0x406b53
406b51:	8b fe                	mov    %esi,%edi
406b53:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
406b56:	e8 1b d1 ff ff       	call   0x403c76
406b5b:	6a 08                	push   $0x8
406b5d:	51                   	push   %ecx
406b5e:	8b d3                	mov    %ebx,%edx
406b60:	89 85 c0 fb ff ff    	mov    %eax,-0x440(%ebp)
406b66:	8d 8d 8c fb ff ff    	lea    -0x474(%ebp),%ecx
406b6c:	e8 d5 d1 ff ff       	call   0x403d46
406b71:	8b 4b 44             	mov    0x44(%ebx),%ecx
406b74:	6a 2a                	push   $0x2a
406b76:	58                   	pop    %eax
406b77:	89 b5 cc fb ff ff    	mov    %esi,-0x434(%ebp)
406b7d:	66 39 01             	cmp    %ax,(%ecx)
406b80:	75 04                	jne    0x406b86
406b82:	33 c9                	xor    %ecx,%ecx
406b84:	eb 27                	jmp    0x406bad
406b86:	51                   	push   %ecx
406b87:	8d 95 cc fb ff ff    	lea    -0x434(%ebp),%edx