4698a4:	50                   	push   %eax
4698a5:	33 de                	xor    %esi,%ebx
4698a7:	e8 bf b7 f9 ff       	call   0x40506b
4698ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
4698af:	8b cf                	mov    %edi,%ecx
4698b1:	ff 37                	push   (%edi)
4698b3:	33 c6                	xor    %esi,%eax
4698b5:	8b 75 10             	mov    0x10(%ebp),%esi
4698b8:	6a 01                	push   $0x1
4698ba:	6a 04                	push   $0x4
4698bc:	89 06                	mov    %eax,(%esi)
4698be:	8d 45 f8             	lea    -0x8(%ebp),%eax
4698c1:	50                   	push   %eax
4698c2:	e8 a4 b7 f9 ff       	call   0x40506b
4698c7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4698ca:	8b 7d f8             	mov    -0x8(%ebp),%edi
4698cd:	6a 01                	push   $0x1
4698cf:	6a 10                	push   $0x10
4698d1:	ff 31                	push   (%ecx)
4698d3:	81 f7 85 a6 00 00    	xor    $0xa685,%edi
4698d9:	e8 67 b7 f9 ff       	call   0x405045
4698de:	ff 36                	push   (%esi)
4698e0:	e8 67 c0 fb ff       	call   0x42594c
4698e5:	59                   	pop    %ecx
4698e6:	53                   	push   %ebx
4698e7:	89 45 08             	mov    %eax,0x8(%ebp)
4698ea:	e8 5d c0 fb ff       	call   0x42594c
4698ef:	8b 75 f4             	mov    -0xc(%ebp),%esi
4698f2:	59                   	pop    %ecx
4698f3:	8b ce                	mov    %esi,%ecx
4698f5:	89 45 10             	mov    %eax,0x10(%ebp)
4698f8:	ff 36                	push   (%esi)
4698fa:	6a 01                	push   $0x1
4698fc:	53                   	push   %ebx
4698fd:	50                   	push   %eax
4698fe:	e8 68 b7 f9 ff       	call   0x40506b
469903:	8b 4e 08             	mov    0x8(%esi),%ecx
469906:	81 c1 77 24 00 00    	add    $0x2477,%ecx
46990c:	51                   	push   %ecx
46990d:	53                   	push   %ebx
46990e:	ff 75 10             	push   0x10(%ebp)
469911:	e8 7d fa ff ff       	call   0x469393
469916:	53                   	push   %ebx
469917:	8b 5d 10             	mov    0x10(%ebp),%ebx
46991a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46991d:	53                   	push   %ebx
46991e:	e8 ba f2 ff ff       	call   0x468bdd
469923:	8b 75 08             	mov    0x8(%ebp),%esi
469926:	3b 7d f0             	cmp    -0x10(%ebp),%edi
469929:	74 15                	je     0x469940
46992b:	56                   	push   %esi
46992c:	e8 64 96 fb ff       	call   0x422f95
469931:	59                   	pop    %ecx
469932:	53                   	push   %ebx
469933:	e8 5d 96 fb ff       	call   0x422f95
469938:	59                   	pop    %ecx
469939:	6a 0a                	push   $0xa
46993b:	e9 2c ff ff ff       	jmp    0x46986c
469940:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
469944:	75 5f                	jne    0x4699a5
469946:	33 c9                	xor    %ecx,%ecx
469948:	89 9d 8c fb ff ff    	mov    %ebx,-0x474(%ebp)
46994e:	33 c0                	xor    %eax,%eax
469950:	89 8d 90 fb ff ff    	mov    %ecx,-0x470(%ebp)
469956:	66 89 85 ac fb ff ff 	mov    %ax,-0x454(%ebp)
46995d:	66 89 85 b4 fd ff ff 	mov    %ax,-0x24c(%ebp)
469964:	40                   	inc    %eax
469965:	89 8d 94 fb ff ff    	mov    %ecx,-0x46c(%ebp)
46996b:	89 8d 98 fb ff ff    	mov    %ecx,-0x468(%ebp)
469971:	89 8d a4 fb ff ff    	mov    %ecx,-0x45c(%ebp)
469977:	89 8d a8 fb ff ff    	mov    %ecx,-0x458(%ebp)
46997d:	89 4d d8             	mov    %ecx,-0x28(%ebp)
469980:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
469986:	89 85 9c fb ff ff    	mov    %eax,-0x464(%ebp)
46998c:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
469992:	89 b5 88 fb ff ff    	mov    %esi,-0x478(%ebp)
469998:	e8 f3 f3 ff ff       	call   0x468d90
46999d:	53                   	push   %ebx
46999e:	e8 f2 95 fb ff       	call   0x422f95
4699a3:	eb 08                	jmp    0x4699ad
4699a5:	56                   	push   %esi
4699a6:	e8 ea 95 fb ff       	call   0x422f95
4699ab:	8b f3                	mov    %ebx,%esi
4699ad:	8b 45 0c             	mov    0xc(%ebp),%eax
4699b0:	59                   	pop    %ecx
4699b1:	89 30                	mov    %esi,(%eax)
4699b3:	33 c0                	xor    %eax,%eax
4699b5:	5f                   	pop    %edi
4699b6:	5e                   	pop    %esi
4699b7:	5b                   	pop    %ebx
4699b8:	8b e5                	mov    %ebp,%esp
4699ba:	5d                   	pop    %ebp
4699bb:	c2 0c 00             	ret    $0xc
4699be:	55                   	push   %ebp
4699bf:	8b ec                	mov    %esp,%ebp
4699c1:	81 ec 28 02 00 00    	sub    $0x228,%esp
4699c7:	53                   	push   %ebx
4699c8:	56                   	push   %esi
4699c9:	57                   	push   %edi
4699ca:	8b d9                	mov    %ecx,%ebx
4699cc:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
4699d0:	33 f6                	xor    %esi,%esi
4699d2:	ff 33                	push   (%ebx)
4699d4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4699d7:	8b cb                	mov    %ebx,%ecx
4699d9:	6a 04                	push   $0x4
4699db:	6a 01                	push   $0x1
4699dd:	50                   	push   %eax
4699de:	e8 88 b6 f9 ff       	call   0x40506b
4699e3:	68 ee 18 00 00       	push   $0x18ee
4699e8:	6a 04                	push   $0x4
4699ea:	8d 45 ec             	lea    -0x14(%ebp),%eax
4699ed:	50                   	push   %eax
4699ee:	e8 a0 f9 ff ff       	call   0x469393
4699f3:	8d 45 ec             	lea    -0x14(%ebp),%eax
4699f6:	c6 45 f0 00          	movb   $0x0,-0x10(%ebp)
4699fa:	68 04 a5 4b 00       	push   $0x4ba504
4699ff:	50                   	push   %eax
469a00:	e8 bb be fb ff       	call   0x4258c0
469a05:	59                   	pop    %ecx
469a06:	59                   	pop    %ecx
469a07:	85 c0                	test   %eax,%eax
469a09:	0f 85 00 01 00 00    	jne    0x469b0f
469a0f:	ff 33                	push   (%ebx)
469a11:	8d 45 f4             	lea    -0xc(%ebp),%eax
469a14:	46                   	inc    %esi
469a15:	6a 01                	push   $0x1
469a17:	6a 04                	push   $0x4
469a19:	50                   	push   %eax
469a1a:	8b cb                	mov    %ebx,%ecx
469a1c:	89 75 e8             	mov    %esi,-0x18(%ebp)
469a1f:	e8 47 b6 f9 ff       	call   0x40506b
469a24:	8b 75 f4             	mov    -0xc(%ebp),%esi
469a27:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
469a2d:	ff 33                	push   (%ebx)
469a2f:	81 f6 bc ad 00 00    	xor    $0xadbc,%esi
469a35:	8b cb                	mov    %ebx,%ecx
469a37:	8d 3c 36             	lea    (%esi,%esi,1),%edi
469a3a:	57                   	push   %edi
469a3b:	6a 01                	push   $0x1
469a3d:	50                   	push   %eax
469a3e:	e8 28 b6 f9 ff       	call   0x40506b
469a43:	8d 86 3f b3 00 00    	lea    0xb33f(%esi),%eax
469a49:	50                   	push   %eax
469a4a:	57                   	push   %edi
469a4b:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
469a51:	50                   	push   %eax
469a52:	e8 3c f9 ff ff       	call   0x469393
469a57:	ff 33                	push   (%ebx)
469a59:	33 c0                	xor    %eax,%eax
469a5b:	8b cb                	mov    %ebx,%ecx
469a5d:	6a 01                	push   $0x1
469a5f:	66 89 84 3d dc fd ff 	mov    %ax,-0x224(%ebp,%edi,1)
469a66:	ff
469a67:	8d 45 f4             	lea    -0xc(%ebp),%eax
469a6a:	6a 04                	push   $0x4
469a6c:	50                   	push   %eax
469a6d:	e8 f9 b5 f9 ff       	call   0x40506b
469a72:	8b 75 f4             	mov    -0xc(%ebp),%esi
469a75:	8b cb                	mov    %ebx,%ecx
469a77:	ff 33                	push   (%ebx)
469a79:	81 f6 20 f8 00 00    	xor    $0xf820,%esi
469a7f:	8d 3c 36             	lea    (%esi,%esi,1),%edi
469a82:	57                   	push   %edi
469a83:	6a 01                	push   $0x1
469a85:	ff 75 0c             	push   0xc(%ebp)
469a88:	e8 de b5 f9 ff       	call   0x40506b
469a8d:	8d 86 79 f4 00 00    	lea    0xf479(%esi),%eax
469a93:	8b 75 0c             	mov    0xc(%ebp),%esi
469a96:	50                   	push   %eax
469a97:	57                   	push   %edi
469a98:	56                   	push   %esi
469a99:	e8 f5 f8 ff ff       	call   0x469393
469a9e:	ff 75 08             	push   0x8(%ebp)
469aa1:	33 c0                	xor    %eax,%eax
469aa3:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
469aa7:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
469aad:	50                   	push   %eax
469aae:	e8 d9 9c fb ff       	call   0x42378c
469ab3:	59                   	pop    %ecx
469ab4:	59                   	pop    %ecx
469ab5:	85 c0                	test   %eax,%eax
469ab7:	74 6f                	je     0x469b28
469ab9:	68 18 9e 4b 00       	push   $0x4b9e18
469abe:	ff 75 08             	push   0x8(%ebp)
469ac1:	e8 c6 9c fb ff       	call   0x42378c
469ac6:	8b 75 e8             	mov    -0x18(%ebp),%esi
469ac9:	59                   	pop    %ecx
469aca:	59                   	pop    %ecx
469acb:	85 c0                	test   %eax,%eax
469acd:	75 04                	jne    0x469ad3
469acf:	85 f6                	test   %esi,%esi
469ad1:	74 55                	je     0x469b28
469ad3:	33 ff                	xor    %edi,%edi
469ad5:	8b cb                	mov    %ebx,%ecx
469ad7:	47                   	inc    %edi
469ad8:	57                   	push   %edi
469ad9:	57                   	push   %edi
469ada:	ff 33                	push   (%ebx)
469adc:	e8 64 b5 f9 ff       	call   0x405045
469ae1:	ff 33                	push   (%ebx)
469ae3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
469ae6:	8b cb                	mov    %ebx,%ecx
469ae8:	57                   	push   %edi
469ae9:	6a 04                	push   $0x4
469aeb:	50                   	push   %eax
469aec:	e8 7a b5 f9 ff       	call   0x40506b
469af1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
469af4:	8b cb                	mov    %ebx,%ecx
469af6:	35 bc 87 00 00       	xor    $0x87bc,%eax
469afb:	89 45 e4             	mov    %eax,-0x1c(%ebp)
469afe:	83 c0 18             	add    $0x18,%eax
469b01:	57                   	push   %edi
469b02:	50                   	push   %eax
469b03:	ff 33                	push   (%ebx)
469b05:	e8 3b b5 f9 ff       	call   0x405045
469b0a:	8a 45 fb             	mov    -0x5(%ebp),%al
469b0d:	eb 05                	jmp    0x469b14
469b0f:	32 c0                	xor    %al,%al
469b11:	88 45 fb             	mov    %al,-0x5(%ebp)
469b14:	3c 01                	cmp    $0x1,%al
469b16:	0f 84 b6 fe ff ff    	je     0x4699d2
469b1c:	6a 06                	push   $0x6
469b1e:	58                   	pop    %eax
469b1f:	5f                   	pop    %edi
469b20:	5e                   	pop    %esi
469b21:	5b                   	pop    %ebx
469b22:	8b e5                	mov    %ebp,%esp
469b24:	5d                   	pop    %ebp
469b25:	c2 0c 00             	ret    $0xc
469b28:	33 c0                	xor    %eax,%eax
469b2a:	eb f3                	jmp    0x469b1f
469b2c:	55                   	push   %ebp
469b2d:	8b ec                	mov    %esp,%ebp
469b2f:	56                   	push   %esi
469b30:	6a 00                	push   $0x0
469b32:	68 80 00 00 00       	push   $0x80
469b37:	6a 03                	push   $0x3
469b39:	6a 00                	push   $0x0
469b3b:	6a 01                	push   $0x1
469b3d:	68 00 00 00 40       	push   $0x40000000
469b42:	ff 75 08             	push   0x8(%ebp)
469b45:	ff 15 d4 f1 48 00    	call   *0x48f1d4
469b4b:	8b f0                	mov    %eax,%esi
469b4d:	83 fe ff             	cmp    $0xffffffff,%esi
469b50:	74 16                	je     0x469b68
469b52:	ff 75 10             	push   0x10(%ebp)
469b55:	6a 00                	push   $0x0
469b57:	ff 75 0c             	push   0xc(%ebp)
469b5a:	56                   	push   %esi
469b5b:	ff 15 fc f1 48 00    	call   *0x48f1fc
469b61:	56                   	push   %esi
469b62:	ff 15 5c f3 48 00    	call   *0x48f35c
469b68:	5e                   	pop    %esi
469b69:	5d                   	pop    %ebp
469b6a:	c2 0c 00             	ret    $0xc
469b6d:	55                   	push   %ebp
469b6e:	8b ec                	mov    %esp,%ebp
469b70:	81 ec 08 02 00 00    	sub    $0x208,%esp
469b76:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
469b7c:	50                   	push   %eax
469b7d:	68 04 01 00 00       	push   $0x104
469b82:	ff 15 4c f2 48 00    	call   *0x48f24c
469b88:	ff 75 08             	push   0x8(%ebp)
469b8b:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
469b91:	6a 00                	push   $0x0
469b93:	68 f4 a4 4b 00       	push   $0x4ba4f4
469b98:	50                   	push   %eax
469b99:	ff 15 50 f2 48 00    	call   *0x48f250
469b9f:	8b e5                	mov    %ebp,%esp
469ba1:	5d                   	pop    %ebp
469ba2:	c2 04 00             	ret    $0x4
469ba5:	55                   	push   %ebp
469ba6:	8b ec                	mov    %esp,%ebp
469ba8:	81 ec 64 01 00 00    	sub    $0x164,%esp
469bae:	53                   	push   %ebx
469baf:	56                   	push   %esi
469bb0:	57                   	push   %edi
469bb1:	33 ff                	xor    %edi,%edi
469bb3:	8b f1                	mov    %ecx,%esi
469bb5:	57                   	push   %edi
469bb6:	57                   	push   %edi
469bb7:	ff 36                	push   (%esi)
469bb9:	e8 87 b4 f9 ff       	call   0x405045
469bbe:	ff 36                	push   (%esi)
469bc0:	33 db                	xor    %ebx,%ebx
469bc2:	8d 45 80             	lea    -0x80(%ebp),%eax
469bc5:	43                   	inc    %ebx
469bc6:	8b ce                	mov    %esi,%ecx
469bc8:	53                   	push   %ebx
469bc9:	6a 40                	push   $0x40
469bcb:	50                   	push   %eax
469bcc:	e8 9a b4 f9 ff       	call   0x40506b
469bd1:	57                   	push   %edi
469bd2:	ff 75 bc             	push   -0x44(%ebp)
469bd5:	8b ce                	mov    %esi,%ecx
469bd7:	ff 36                	push   (%esi)
469bd9:	e8 67 b4 f9 ff       	call   0x405045
469bde:	53                   	push   %ebx
469bdf:	6a 04                	push   $0x4
469be1:	ff 36                	push   (%esi)
469be3:	8b ce                	mov    %esi,%ecx
469be5:	e8 5b b4 f9 ff       	call   0x405045
469bea:	ff 36                	push   (%esi)
469bec:	8d 45 ec             	lea    -0x14(%ebp),%eax
469bef:	8b ce                	mov    %esi,%ecx
469bf1:	53                   	push   %ebx
469bf2:	6a 14                	push   $0x14
469bf4:	50                   	push   %eax
469bf5:	e8 71 b4 f9 ff       	call   0x40506b
469bfa:	ff 36                	push   (%esi)
469bfc:	0f b7 7d ee          	movzwl -0x12(%ebp),%edi
469c00:	8d 85 a0 fe ff ff    	lea    -0x160(%ebp),%eax
469c06:	53                   	push   %ebx
469c07:	6a 60                	push   $0x60
469c09:	50                   	push   %eax
469c0a:	8b ce                	mov    %esi,%ecx
469c0c:	e8 5a b4 f9 ff       	call   0x40506b
469c11:	b8 0b 02 00 00       	mov    $0x20b,%eax
469c16:	66 39 85 a0 fe ff ff 	cmp    %ax,-0x160(%ebp)
469c1d:	75 0c                	jne    0x469c2b
469c1f:	53                   	push   %ebx
469c20:	6a 10                	push   $0x10
469c22:	ff 36                	push   (%esi)
469c24:	8b ce                	mov    %esi,%ecx
469c26:	e8 1a b4 f9 ff       	call   0x405045
469c2b:	53                   	push   %ebx
469c2c:	68 80 00 00 00       	push   $0x80
469c31:	ff 36                	push   (%esi)
469c33:	8b ce                	mov    %esi,%ecx
469c35:	e8 0b b4 f9 ff       	call   0x405045
469c3a:	6b ff 28             	imul   $0x28,%edi,%edi
469c3d:	8b ce                	mov    %esi,%ecx
469c3f:	53                   	push   %ebx
469c40:	83 ef 28             	sub    $0x28,%edi
469c43:	57                   	push   %edi
469c44:	ff 36                	push   (%esi)
469c46:	e8 fa b3 f9 ff       	call   0x405045
469c4b:	ff 36                	push   (%esi)
469c4d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
469c50:	8b ce                	mov    %esi,%ecx
469c52:	53                   	push   %ebx
469c53:	6a 28                	push   $0x28
469c55:	50                   	push   %eax
469c56:	e8 10 b4 f9 ff       	call   0x40506b
469c5b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
469c5e:	8b ce                	mov    %esi,%ecx
469c60:	03 45 d8             	add    -0x28(%ebp),%eax
469c63:	6a 00                	push   $0x0
469c65:	50                   	push   %eax