4046c8:	39 9d 9c fe ff ff    	cmp    %ebx,-0x164(%ebp)
4046ce:	0f 86 14 06 00 00    	jbe    0x404ce8
4046d4:	83 c7 22             	add    $0x22,%edi
4046d7:	89 bd 8c fe ff ff    	mov    %edi,-0x174(%ebp)
4046dd:	ff 77 02             	push   0x2(%edi)
4046e0:	0f b6 47 01          	movzbl 0x1(%edi),%eax
4046e4:	8d 5f de             	lea    -0x22(%edi),%ebx
4046e7:	50                   	push   %eax
4046e8:	0f b6 07             	movzbl (%edi),%eax
4046eb:	50                   	push   %eax
4046ec:	0f b6 47 ff          	movzbl -0x1(%edi),%eax
4046f0:	50                   	push   %eax
4046f1:	0f b6 47 fe          	movzbl -0x2(%edi),%eax
4046f5:	50                   	push   %eax
4046f6:	0f b6 47 fd          	movzbl -0x3(%edi),%eax
4046fa:	50                   	push   %eax
4046fb:	0f b6 47 fc          	movzbl -0x4(%edi),%eax
4046ff:	50                   	push   %eax
404700:	0f b6 47 fb          	movzbl -0x5(%edi),%eax
404704:	50                   	push   %eax
404705:	0f b6 47 fa          	movzbl -0x6(%edi),%eax
404709:	50                   	push   %eax
40470a:	ff 77 f6             	push   -0xa(%edi)
40470d:	ff 77 f2             	push   -0xe(%edi)
404710:	ff 77 ee             	push   -0x12(%edi)
404713:	ff 77 ea             	push   -0x16(%edi)
404716:	ff 77 e6             	push   -0x1a(%edi)
404719:	ff 73 04             	push   0x4(%ebx)
40471c:	ff 33                	push   (%ebx)
40471e:	68 42 04 00 00       	push   $0x442
404723:	e8 67 e2 ff ff       	call   0x40298f
404728:	8b 47 02             	mov    0x2(%edi),%eax
40472b:	83 c4 44             	add    $0x44,%esp
40472e:	85 c0                	test   %eax,%eax
404730:	74 32                	je     0x404764
404732:	68 58 16 40 00       	push   $0x401658
404737:	e8 7e e1 ff ff       	call   0x4028ba
40473c:	c7 04 24 44 04 00 00 	movl   $0x444,(%esp)
404743:	e8 47 e2 ff ff       	call   0x40298f
404748:	c7 04 24 c4 13 40 00 	movl   $0x4013c4,(%esp)
40474f:	e8 66 e1 ff ff       	call   0x4028ba
404754:	c7 04 24 c4 13 40 00 	movl   $0x4013c4,(%esp)
40475b:	e8 5a e1 ff ff       	call   0x4028ba
404760:	8b 47 02             	mov    0x2(%edi),%eax
404763:	59                   	pop    %ecx
404764:	33 c9                	xor    %ecx,%ecx
404766:	85 c0                	test   %eax,%eax
404768:	74 4d                	je     0x4047b7
40476a:	8b d9                	mov    %ecx,%ebx
40476c:	8b f1                	mov    %ecx,%esi
40476e:	8b 4f 06             	mov    0x6(%edi),%ecx
404771:	03 cb                	add    %ebx,%ecx
404773:	0f b6 41 1d          	movzbl 0x1d(%ecx),%eax
404777:	50                   	push   %eax
404778:	0f b6 41 1c          	movzbl 0x1c(%ecx),%eax
40477c:	50                   	push   %eax
40477d:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
404781:	50                   	push   %eax
404782:	ff 71 14             	push   0x14(%ecx)
404785:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
404789:	50                   	push   %eax
40478a:	ff 71 10             	push   0x10(%ecx)
40478d:	ff 71 0c             	push   0xc(%ecx)
404790:	ff 71 08             	push   0x8(%ecx)
404793:	ff 71 04             	push   0x4(%ecx)
404796:	ff 31                	push   (%ecx)
404798:	68 45 04 00 00       	push   $0x445
40479d:	e8 ed e1 ff ff       	call   0x40298f
4047a2:	83 c4 2c             	add    $0x2c,%esp
4047a5:	83 c3 20             	add    $0x20,%ebx
4047a8:	46                   	inc    %esi
4047a9:	3b 77 02             	cmp    0x2(%edi),%esi
4047ac:	72 c0                	jb     0x40476e
4047ae:	8b b5 ac fe ff ff    	mov    -0x154(%ebp),%esi
4047b4:	8d 5f de             	lea    -0x22(%edi),%ebx
4047b7:	68 c4 13 40 00       	push   $0x4013c4
4047bc:	e8 f9 e0 ff ff       	call   0x4028ba
4047c1:	80 bd b7 fe ff ff 00 	cmpb   $0x0,-0x149(%ebp)
4047c8:	59                   	pop    %ecx
4047c9:	0f 84 f7 04 00 00    	je     0x404cc6
4047cf:	6a 00                	push   $0x0
4047d1:	8d 85 a4 fe ff ff    	lea    -0x15c(%ebp),%eax
4047d7:	50                   	push   %eax
4047d8:	53                   	push   %ebx
4047d9:	ff 15 40 f0 40 00    	call   *0x40f040
4047df:	83 f8 7a             	cmp    $0x7a,%eax
4047e2:	0f 85 d4 04 00 00    	jne    0x404cbc
4047e8:	69 85 a4 fe ff ff f8 	imul   $0x7f8,-0x15c(%ebp),%eax
4047ef:	07 00 00
4047f2:	50                   	push   %eax
4047f3:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4047f9:	8b f0                	mov    %eax,%esi
4047fb:	89 b5 84 fe ff ff    	mov    %esi,-0x17c(%ebp)
404801:	85 f6                	test   %esi,%esi
404803:	0f 84 b3 04 00 00    	je     0x404cbc
404809:	56                   	push   %esi
40480a:	8d 85 a4 fe ff ff    	lea    -0x15c(%ebp),%eax
404810:	50                   	push   %eax
404811:	53                   	push   %ebx
404812:	ff 15 40 f0 40 00    	call   *0x40f040
404818:	85 c0                	test   %eax,%eax
40481a:	0f 85 95 04 00 00    	jne    0x404cb5
404820:	39 85 a4 fe ff ff    	cmp    %eax,-0x15c(%ebp)
404826:	0f 86 89 04 00 00    	jbe    0x404cb5
40482c:	8d 85 a0 fe ff ff    	lea    -0x160(%ebp),%eax
404832:	33 db                	xor    %ebx,%ebx
404834:	50                   	push   %eax
404835:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
40483b:	50                   	push   %eax
40483c:	53                   	push   %ebx
40483d:	68 e0 42 40 00       	push   $0x4042e0
404842:	68 ac 24 40 00       	push   $0x4024ac
404847:	ff 15 9c f0 40 00    	call   *0x40f09c
40484d:	85 c0                	test   %eax,%eax
40484f:	74 0c                	je     0x40485d
404851:	89 9d 98 fe ff ff    	mov    %ebx,-0x168(%ebp)
404857:	89 9d a0 fe ff ff    	mov    %ebx,-0x160(%ebp)
40485d:	68 04 14 40 00       	push   $0x401404
404862:	e8 53 e0 ff ff       	call   0x4028ba
404867:	c7 04 24 47 04 00 00 	movl   $0x447,(%esp)
40486e:	e8 1c e1 ff ff       	call   0x40298f
404873:	c7 04 24 c4 13 40 00 	movl   $0x4013c4,(%esp)
40487a:	e8 3b e0 ff ff       	call   0x4028ba
40487f:	59                   	pop    %ecx
404880:	89 9d ac fe ff ff    	mov    %ebx,-0x154(%ebp)
404886:	39 9d a4 fe ff ff    	cmp    %ebx,-0x15c(%ebp)
40488c:	0f 86 08 04 00 00    	jbe    0x404c9a
404892:	81 c6 f0 07 00 00    	add    $0x7f0,%esi
404898:	8d 9e d8 fb ff ff    	lea    -0x428(%esi),%ebx
40489e:	51                   	push   %ecx
40489f:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
4048a5:	8b cb                	mov    %ebx,%ecx
4048a7:	e8 a1 fb ff ff       	call   0x40444d
4048ac:	50                   	push   %eax
4048ad:	68 48 04 00 00       	push   $0x448
4048b2:	e8 d8 e0 ff ff       	call   0x40298f
4048b7:	ff 76 fc             	push   -0x4(%esi)
4048ba:	68 49 04 00 00       	push   $0x449
4048bf:	e8 cb e0 ff ff       	call   0x40298f
4048c4:	ff 76 f8             	push   -0x8(%esi)
4048c7:	68 4a 04 00 00       	push   $0x44a
4048cc:	e8 be e0 ff ff       	call   0x40298f
4048d1:	ff 36                	push   (%esi)
4048d3:	68 4b 04 00 00       	push   $0x44b
4048d8:	e8 b2 e0 ff ff       	call   0x40298f
4048dd:	8b 4e 04             	mov    0x4(%esi),%ecx
4048e0:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4048e6:	83 c4 20             	add    $0x20,%esp
4048e9:	50                   	push   %eax
4048ea:	6a 0d                	push   $0xd
4048ec:	5a                   	pop    %edx
4048ed:	e8 4d fc ff ff       	call   0x40453f
4048f2:	85 c0                	test   %eax,%eax
4048f4:	75 47                	jne    0x40493d
4048f6:	6a 20                	push   $0x20
4048f8:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4048fe:	50                   	push   %eax
4048ff:	68 4c 04 00 00       	push   $0x44c
404904:	6a 00                	push   $0x0
404906:	ff 15 20 f1 40 00    	call   *0x40f120
40490c:	85 c0                	test   %eax,%eax
40490e:	75 07                	jne    0x404917
404910:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
404917:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
40491d:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404923:	50                   	push   %eax
404924:	68 64 16 40 00       	push   $0x401664
404929:	e8 8c df ff ff       	call   0x4028ba
40492e:	83 c4 0c             	add    $0xc,%esp
404931:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404937:	ff 15 b0 f0 40 00    	call   *0x40f0b0
40493d:	8b 4e 04             	mov    0x4(%esi),%ecx
404940:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
404946:	33 d2                	xor    %edx,%edx
404948:	50                   	push   %eax
404949:	42                   	inc    %edx
40494a:	e8 f0 fb ff ff       	call   0x40453f
40494f:	85 c0                	test   %eax,%eax
404951:	75 47                	jne    0x40499a
404953:	6a 20                	push   $0x20
404955:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40495b:	50                   	push   %eax
40495c:	68 4d 04 00 00       	push   $0x44d
404961:	6a 00                	push   $0x0
404963:	ff 15 20 f1 40 00    	call   *0x40f120
404969:	85 c0                	test   %eax,%eax
40496b:	75 07                	jne    0x404974
40496d:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
404974:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
40497a:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404980:	50                   	push   %eax
404981:	68 9c 16 40 00       	push   $0x40169c
404986:	e8 2f df ff ff       	call   0x4028ba
40498b:	83 c4 0c             	add    $0xc,%esp
40498e:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404994:	ff 15 b0 f0 40 00    	call   *0x40f0b0
40499a:	6a 20                	push   $0x20
40499c:	8d 45 b8             	lea    -0x48(%ebp),%eax
40499f:	50                   	push   %eax
4049a0:	68 52 04 00 00       	push   $0x452
4049a5:	6a 00                	push   $0x0
4049a7:	ff 15 20 f1 40 00    	call   *0x40f120
4049ad:	85 c0                	test   %eax,%eax
4049af:	75 04                	jne    0x4049b5
4049b1:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
4049b5:	6a 20                	push   $0x20
4049b7:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
4049bd:	50                   	push   %eax
4049be:	68 51 04 00 00       	push   $0x451
4049c3:	6a 00                	push   $0x0
4049c5:	ff 15 20 f1 40 00    	call   *0x40f120
4049cb:	85 c0                	test   %eax,%eax
4049cd:	75 07                	jne    0x4049d6
4049cf:	66 89 85 38 ff ff ff 	mov    %ax,-0xc8(%ebp)
4049d6:	6a 20                	push   $0x20
4049d8:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4049de:	50                   	push   %eax
4049df:	68 50 04 00 00       	push   $0x450
4049e4:	6a 00                	push   $0x0
4049e6:	ff 15 20 f1 40 00    	call   *0x40f120
4049ec:	85 c0                	test   %eax,%eax
4049ee:	75 07                	jne    0x4049f7
4049f0:	66 89 85 f8 fe ff ff 	mov    %ax,-0x108(%ebp)
4049f7:	6a 20                	push   $0x20
4049f9:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
4049ff:	50                   	push   %eax
404a00:	68 4f 04 00 00       	push   $0x44f
404a05:	6a 00                	push   $0x0
404a07:	ff 15 20 f1 40 00    	call   *0x40f120
404a0d:	85 c0                	test   %eax,%eax
404a0f:	75 07                	jne    0x404a18
404a11:	66 89 85 b8 fe ff ff 	mov    %ax,-0x148(%ebp)
404a18:	6a 20                	push   $0x20
404a1a:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404a20:	50                   	push   %eax
404a21:	68 4e 04 00 00       	push   $0x44e
404a26:	6a 00                	push   $0x0
404a28:	ff 15 20 f1 40 00    	call   *0x40f120
404a2e:	85 c0                	test   %eax,%eax
404a30:	75 07                	jne    0x404a39
404a32:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
404a39:	0f b6 86 d7 fb ff ff 	movzbl -0x429(%esi),%eax
404a40:	50                   	push   %eax
404a41:	8d 45 b8             	lea    -0x48(%ebp),%eax
404a44:	50                   	push   %eax
404a45:	0f b6 86 d6 fb ff ff 	movzbl -0x42a(%esi),%eax
404a4c:	50                   	push   %eax
404a4d:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
404a53:	50                   	push   %eax
404a54:	0f b6 86 d5 fb ff ff 	movzbl -0x42b(%esi),%eax
404a5b:	50                   	push   %eax
404a5c:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
404a62:	50                   	push   %eax
404a63:	0f b6 86 d4 fb ff ff 	movzbl -0x42c(%esi),%eax
404a6a:	50                   	push   %eax
404a6b:	8d 85 b8 fe ff ff    	lea    -0x148(%ebp),%eax
404a71:	50                   	push   %eax
404a72:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
404a78:	50                   	push   %eax
404a79:	68 d0 16 40 00       	push   $0x4016d0
404a7e:	e8 37 de ff ff       	call   0x4028ba
404a83:	8b 4e 04             	mov    0x4(%esi),%ecx
404a86:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
404a8c:	83 c4 28             	add    $0x28,%esp
404a8f:	50                   	push   %eax
404a90:	6a 0e                	push   $0xe
404a92:	5a                   	pop    %edx
404a93:	e8 a7 fa ff ff       	call   0x40453f
404a98:	85 c0                	test   %eax,%eax
404a9a:	75 3e                	jne    0x404ada
404a9c:	6a 20                	push   $0x20
404a9e:	8d 45 b8             	lea    -0x48(%ebp),%eax
404aa1:	50                   	push   %eax
404aa2:	68 53 04 00 00       	push   $0x453
404aa7:	6a 00                	push   $0x0
404aa9:	ff 15 20 f1 40 00    	call   *0x40f120
404aaf:	85 c0                	test   %eax,%eax
404ab1:	75 04                	jne    0x404ab7
404ab3:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404ab7:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404abd:	8d 45 b8             	lea    -0x48(%ebp),%eax
404ac0:	50                   	push   %eax
404ac1:	68 38 17 40 00       	push   $0x401738
404ac6:	e8 ef dd ff ff       	call   0x4028ba
404acb:	83 c4 0c             	add    $0xc,%esp
404ace:	ff b5 b0 fe ff ff    	push   -0x150(%ebp)
404ad4:	ff 15 b0 f0 40 00    	call   *0x40f0b0
404ada:	6a 20                	push   $0x20
404adc:	8d 45 b8             	lea    -0x48(%ebp),%eax
404adf:	50                   	push   %eax
404ae0:	68 54 04 00 00       	push   $0x454
404ae5:	6a 00                	push   $0x0
404ae7:	ff 15 20 f1 40 00    	call   *0x40f120
404aed:	85 c0                	test   %eax,%eax
404aef:	75 04                	jne    0x404af5
404af1:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404af5:	8d 86 10 f8 ff ff    	lea    -0x7f0(%esi),%eax
404afb:	50                   	push   %eax
404afc:	8d 45 b8             	lea    -0x48(%ebp),%eax
404aff:	50                   	push   %eax
404b00:	68 7c 17 40 00       	push   $0x40177c
404b05:	e8 b0 dd ff ff       	call   0x4028ba
404b0a:	83 c4 0c             	add    $0xc,%esp
404b0d:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b10:	6a 20                	push   $0x20
404b12:	50                   	push   %eax
404b13:	68 25 04 00 00       	push   $0x425
404b18:	6a 00                	push   $0x0
404b1a:	ff 15 20 f1 40 00    	call   *0x40f120
404b20:	85 c0                	test   %eax,%eax
404b22:	75 04                	jne    0x404b28
404b24:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404b28:	8d 86 10 fa ff ff    	lea    -0x5f0(%esi),%eax
404b2e:	50                   	push   %eax
404b2f:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b32:	50                   	push   %eax
404b33:	68 b4 17 40 00       	push   $0x4017b4
404b38:	e8 7d dd ff ff       	call   0x4028ba
404b3d:	83 c4 0c             	add    $0xc,%esp
404b40:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b43:	6a 20                	push   $0x20
404b45:	50                   	push   %eax
404b46:	68 56 04 00 00       	push   $0x456
404b4b:	6a 00                	push   $0x0
404b4d:	ff 15 20 f1 40 00    	call   *0x40f120
404b53:	85 c0                	test   %eax,%eax
404b55:	75 04                	jne    0x404b5b
404b57:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404b5b:	8d 86 e8 fb ff ff    	lea    -0x418(%esi),%eax
404b61:	50                   	push   %eax
404b62:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b65:	50                   	push   %eax
404b66:	68 f0 17 40 00       	push   $0x4017f0
404b6b:	e8 4a dd ff ff       	call   0x4028ba
404b70:	83 c4 0c             	add    $0xc,%esp
404b73:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b76:	6a 20                	push   $0x20
404b78:	50                   	push   %eax
404b79:	68 6d 04 00 00       	push   $0x46d
404b7e:	6a 00                	push   $0x0
404b80:	ff 15 20 f1 40 00    	call   *0x40f120
404b86:	85 c0                	test   %eax,%eax
404b88:	75 04                	jne    0x404b8e
404b8a:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
404b8e:	8d 86 f0 fd ff ff    	lea    -0x210(%esi),%eax
404b94:	50                   	push   %eax
404b95:	8d 45 b8             	lea    -0x48(%ebp),%eax
404b98:	50                   	push   %eax
404b99:	68 9c 16 40 00       	push   $0x40169c
404b9e:	e8 17 dd ff ff       	call   0x4028ba