464934:	85 c0                	test   %eax,%eax
464936:	7e 34                	jle    0x46496c
464938:	8b 45 fc             	mov    -0x4(%ebp),%eax
46493b:	6a 24                	push   $0x24
46493d:	59                   	pop    %ecx
46493e:	66 39 08             	cmp    %cx,(%eax)
464941:	75 29                	jne    0x46496c
464943:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
464949:	75 15                	jne    0x464960
46494b:	68 40 06 00 00       	push   $0x640
464950:	8d 86 64 04 00 00    	lea    0x464(%esi),%eax
464956:	57                   	push   %edi
464957:	50                   	push   %eax
464958:	e8 03 f5 fd ff       	call   0x443e60
46495d:	83 c4 0c             	add    $0xc,%esp
464960:	c7 86 5c 04 00 00 02 	movl   $0x2,0x45c(%esi)
464967:	00 00 00
46496a:	eb 06                	jmp    0x464972
46496c:	89 9e 5c 04 00 00    	mov    %ebx,0x45c(%esi)
464972:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464979:	75 51                	jne    0x4649cc
46497b:	6a 0a                	push   $0xa
46497d:	8d 45 f8             	lea    -0x8(%ebp),%eax
464980:	89 7d f8             	mov    %edi,-0x8(%ebp)
464983:	50                   	push   %eax
464984:	ff 76 10             	push   0x10(%esi)
464987:	e8 08 2a 01 00       	call   0x477394
46498c:	8b 55 f8             	mov    -0x8(%ebp),%edx
46498f:	83 c4 0c             	add    $0xc,%esp
464992:	8d 48 ff             	lea    -0x1(%eax),%ecx
464995:	8d 42 02             	lea    0x2(%edx),%eax
464998:	89 8e a8 0a 00 00    	mov    %ecx,0xaa8(%esi)
46499e:	89 46 10             	mov    %eax,0x10(%esi)
4649a1:	39 9e 58 04 00 00    	cmp    %ebx,0x458(%esi)
4649a7:	75 23                	jne    0x4649cc
4649a9:	85 c9                	test   %ecx,%ecx
4649ab:	78 28                	js     0x4649d5
4649ad:	6a 24                	push   $0x24
4649af:	58                   	pop    %eax
4649b0:	66 39 02             	cmp    %ax,(%edx)
4649b3:	75 20                	jne    0x4649d5
4649b5:	83 f9 64             	cmp    $0x64,%ecx
4649b8:	7d 1b                	jge    0x4649d5
4649ba:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
4649c0:	3b c8                	cmp    %eax,%ecx
4649c2:	7f 02                	jg     0x4649c6
4649c4:	8b c8                	mov    %eax,%ecx
4649c6:	89 8e a4 0a 00 00    	mov    %ecx,0xaa4(%esi)
4649cc:	8a c3                	mov    %bl,%al
4649ce:	5f                   	pop    %edi
4649cf:	5e                   	pop    %esi
4649d0:	5b                   	pop    %ebx
4649d1:	8b e5                	mov    %ebp,%esp
4649d3:	5d                   	pop    %ebp
4649d4:	c3                   	ret
4649d5:	e8 55 84 fe ff       	call   0x44ce2f
4649da:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4649e0:	e8 f1 82 fe ff       	call   0x44ccd6
4649e5:	32 c0                	xor    %al,%al
4649e7:	eb e5                	jmp    0x4649ce
4649e9:	b0 01                	mov    $0x1,%al
4649eb:	c3                   	ret
4649ec:	b0 01                	mov    $0x1,%al
4649ee:	c3                   	ret
4649ef:	b0 01                	mov    $0x1,%al
4649f1:	c3                   	ret
4649f2:	b0 01                	mov    $0x1,%al
4649f4:	c3                   	ret
4649f5:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
4649f9:	74 19                	je     0x464a14
4649fb:	83 79 1c 07          	cmpl   $0x7,0x1c(%ecx)
4649ff:	74 13                	je     0x464a14
464a01:	e8 29 84 fe ff       	call   0x44ce2f
464a06:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464a0c:	e8 c5 82 fe ff       	call   0x44ccd6
464a11:	32 c0                	xor    %al,%al
464a13:	c3                   	ret
464a14:	b0 01                	mov    $0x1,%al
464a16:	c3                   	ret
464a17:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
464a1b:	74 19                	je     0x464a36
464a1d:	83 79 1c 07          	cmpl   $0x7,0x1c(%ecx)
464a21:	74 13                	je     0x464a36
464a23:	e8 07 84 fe ff       	call   0x44ce2f
464a28:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464a2e:	e8 a3 82 fe ff       	call   0x44ccd6
464a33:	32 c0                	xor    %al,%al
464a35:	c3                   	ret
464a36:	b0 01                	mov    $0x1,%al
464a38:	c3                   	ret
464a39:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
464a3d:	74 19                	je     0x464a58
464a3f:	83 79 1c 07          	cmpl   $0x7,0x1c(%ecx)
464a43:	74 13                	je     0x464a58
464a45:	e8 e5 83 fe ff       	call   0x44ce2f
464a4a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464a50:	e8 81 82 fe ff       	call   0x44ccd6
464a55:	32 c0                	xor    %al,%al
464a57:	c3                   	ret
464a58:	b0 01                	mov    $0x1,%al
464a5a:	c3                   	ret
464a5b:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
464a5f:	74 19                	je     0x464a7a
464a61:	83 79 1c 07          	cmpl   $0x7,0x1c(%ecx)
464a65:	74 13                	je     0x464a7a
464a67:	e8 c3 83 fe ff       	call   0x44ce2f
464a6c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464a72:	e8 5f 82 fe ff       	call   0x44ccd6
464a77:	32 c0                	xor    %al,%al
464a79:	c3                   	ret
464a7a:	b0 01                	mov    $0x1,%al
464a7c:	c3                   	ret
464a7d:	8b ff                	mov    %edi,%edi
464a7f:	56                   	push   %esi
464a80:	8b f1                	mov    %ecx,%esi
464a82:	e8 6e ff ff ff       	call   0x4649f5
464a87:	84 c0                	test   %al,%al
464a89:	75 04                	jne    0x464a8f
464a8b:	32 c0                	xor    %al,%al
464a8d:	5e                   	pop    %esi
464a8e:	c3                   	ret
464a8f:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464a96:	75 4f                	jne    0x464ae7
464a98:	83 be 58 04 00 00 01 	cmpl   $0x1,0x458(%esi)
464a9f:	75 46                	jne    0x464ae7
464aa1:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
464aa7:	8d 96 74 04 00 00    	lea    0x474(%esi),%edx
464aad:	c1 e0 04             	shl    $0x4,%eax
464ab0:	8d 8e 64 04 00 00    	lea    0x464(%esi),%ecx
464ab6:	03 d0                	add    %eax,%edx
464ab8:	eb 29                	jmp    0x464ae3
464aba:	8b 46 14             	mov    0x14(%esi),%eax
464abd:	89 41 08             	mov    %eax,0x8(%ecx)
464ac0:	8b 01                	mov    (%ecx),%eax
464ac2:	83 e8 01             	sub    $0x1,%eax
464ac5:	74 15                	je     0x464adc
464ac7:	83 e8 01             	sub    $0x1,%eax
464aca:	74 0a                	je     0x464ad6
464acc:	83 e8 01             	sub    $0x1,%eax
464acf:	74 0b                	je     0x464adc
464ad1:	83 e8 01             	sub    $0x1,%eax
464ad4:	75 15                	jne    0x464aeb
464ad6:	83 46 14 08          	addl   $0x8,0x14(%esi)
464ada:	eb 04                	jmp    0x464ae0
464adc:	83 46 14 04          	addl   $0x4,0x14(%esi)
464ae0:	83 c1 10             	add    $0x10,%ecx
464ae3:	3b ca                	cmp    %edx,%ecx
464ae5:	75 d3                	jne    0x464aba
464ae7:	b0 01                	mov    $0x1,%al
464ae9:	5e                   	pop    %esi
464aea:	c3                   	ret
464aeb:	e8 3f 83 fe ff       	call   0x44ce2f
464af0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464af6:	e8 db 81 fe ff       	call   0x44ccd6
464afb:	eb 8e                	jmp    0x464a8b
464afd:	8b ff                	mov    %edi,%edi
464aff:	56                   	push   %esi
464b00:	8b f1                	mov    %ecx,%esi
464b02:	e8 10 ff ff ff       	call   0x464a17
464b07:	84 c0                	test   %al,%al
464b09:	75 04                	jne    0x464b0f
464b0b:	32 c0                	xor    %al,%al
464b0d:	5e                   	pop    %esi
464b0e:	c3                   	ret
464b0f:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464b16:	75 4f                	jne    0x464b67
464b18:	83 be 58 04 00 00 01 	cmpl   $0x1,0x458(%esi)
464b1f:	75 46                	jne    0x464b67
464b21:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
464b27:	8d 96 74 04 00 00    	lea    0x474(%esi),%edx
464b2d:	c1 e0 04             	shl    $0x4,%eax
464b30:	8d 8e 64 04 00 00    	lea    0x464(%esi),%ecx
464b36:	03 d0                	add    %eax,%edx
464b38:	eb 29                	jmp    0x464b63
464b3a:	8b 46 14             	mov    0x14(%esi),%eax
464b3d:	89 41 08             	mov    %eax,0x8(%ecx)
464b40:	8b 01                	mov    (%ecx),%eax
464b42:	83 e8 01             	sub    $0x1,%eax
464b45:	74 15                	je     0x464b5c
464b47:	83 e8 01             	sub    $0x1,%eax
464b4a:	74 0a                	je     0x464b56
464b4c:	83 e8 01             	sub    $0x1,%eax
464b4f:	74 0b                	je     0x464b5c
464b51:	83 e8 01             	sub    $0x1,%eax
464b54:	75 15                	jne    0x464b6b
464b56:	83 46 14 08          	addl   $0x8,0x14(%esi)
464b5a:	eb 04                	jmp    0x464b60
464b5c:	83 46 14 04          	addl   $0x4,0x14(%esi)
464b60:	83 c1 10             	add    $0x10,%ecx
464b63:	3b ca                	cmp    %edx,%ecx
464b65:	75 d3                	jne    0x464b3a
464b67:	b0 01                	mov    $0x1,%al
464b69:	5e                   	pop    %esi
464b6a:	c3                   	ret
464b6b:	e8 bf 82 fe ff       	call   0x44ce2f
464b70:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464b76:	e8 5b 81 fe ff       	call   0x44ccd6
464b7b:	eb 8e                	jmp    0x464b0b
464b7d:	8b ff                	mov    %edi,%edi
464b7f:	56                   	push   %esi
464b80:	8b f1                	mov    %ecx,%esi
464b82:	e8 b2 fe ff ff       	call   0x464a39
464b87:	84 c0                	test   %al,%al
464b89:	75 04                	jne    0x464b8f
464b8b:	32 c0                	xor    %al,%al
464b8d:	5e                   	pop    %esi
464b8e:	c3                   	ret
464b8f:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464b96:	75 4f                	jne    0x464be7
464b98:	83 be 58 04 00 00 01 	cmpl   $0x1,0x458(%esi)
464b9f:	75 46                	jne    0x464be7
464ba1:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
464ba7:	8d 96 74 04 00 00    	lea    0x474(%esi),%edx
464bad:	c1 e0 04             	shl    $0x4,%eax
464bb0:	8d 8e 64 04 00 00    	lea    0x464(%esi),%ecx
464bb6:	03 d0                	add    %eax,%edx
464bb8:	eb 29                	jmp    0x464be3
464bba:	8b 46 14             	mov    0x14(%esi),%eax
464bbd:	89 41 08             	mov    %eax,0x8(%ecx)
464bc0:	8b 01                	mov    (%ecx),%eax
464bc2:	83 e8 01             	sub    $0x1,%eax
464bc5:	74 15                	je     0x464bdc
464bc7:	83 e8 01             	sub    $0x1,%eax
464bca:	74 0a                	je     0x464bd6
464bcc:	83 e8 01             	sub    $0x1,%eax
464bcf:	74 0b                	je     0x464bdc
464bd1:	83 e8 01             	sub    $0x1,%eax
464bd4:	75 15                	jne    0x464beb
464bd6:	83 46 14 08          	addl   $0x8,0x14(%esi)
464bda:	eb 04                	jmp    0x464be0
464bdc:	83 46 14 04          	addl   $0x4,0x14(%esi)
464be0:	83 c1 10             	add    $0x10,%ecx
464be3:	3b ca                	cmp    %edx,%ecx
464be5:	75 d3                	jne    0x464bba
464be7:	b0 01                	mov    $0x1,%al
464be9:	5e                   	pop    %esi
464bea:	c3                   	ret
464beb:	e8 3f 82 fe ff       	call   0x44ce2f
464bf0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464bf6:	e8 db 80 fe ff       	call   0x44ccd6
464bfb:	eb 8e                	jmp    0x464b8b
464bfd:	8b ff                	mov    %edi,%edi
464bff:	56                   	push   %esi
464c00:	8b f1                	mov    %ecx,%esi
464c02:	e8 54 fe ff ff       	call   0x464a5b
464c07:	84 c0                	test   %al,%al
464c09:	75 04                	jne    0x464c0f
464c0b:	32 c0                	xor    %al,%al
464c0d:	5e                   	pop    %esi
464c0e:	c3                   	ret
464c0f:	83 be 5c 04 00 00 02 	cmpl   $0x2,0x45c(%esi)
464c16:	75 4f                	jne    0x464c67
464c18:	83 be 58 04 00 00 01 	cmpl   $0x1,0x458(%esi)
464c1f:	75 46                	jne    0x464c67
464c21:	8b 86 a4 0a 00 00    	mov    0xaa4(%esi),%eax
464c27:	8d 96 74 04 00 00    	lea    0x474(%esi),%edx
464c2d:	c1 e0 04             	shl    $0x4,%eax
464c30:	8d 8e 64 04 00 00    	lea    0x464(%esi),%ecx
464c36:	03 d0                	add    %eax,%edx
464c38:	eb 29                	jmp    0x464c63
464c3a:	8b 46 14             	mov    0x14(%esi),%eax
464c3d:	89 41 08             	mov    %eax,0x8(%ecx)
464c40:	8b 01                	mov    (%ecx),%eax
464c42:	83 e8 01             	sub    $0x1,%eax
464c45:	74 15                	je     0x464c5c
464c47:	83 e8 01             	sub    $0x1,%eax
464c4a:	74 0a                	je     0x464c56
464c4c:	83 e8 01             	sub    $0x1,%eax
464c4f:	74 0b                	je     0x464c5c
464c51:	83 e8 01             	sub    $0x1,%eax
464c54:	75 15                	jne    0x464c6b
464c56:	83 46 14 08          	addl   $0x8,0x14(%esi)
464c5a:	eb 04                	jmp    0x464c60
464c5c:	83 46 14 04          	addl   $0x4,0x14(%esi)
464c60:	83 c1 10             	add    $0x10,%ecx
464c63:	3b ca                	cmp    %edx,%ecx
464c65:	75 d3                	jne    0x464c3a
464c67:	b0 01                	mov    $0x1,%al
464c69:	5e                   	pop    %esi
464c6a:	c3                   	ret
464c6b:	e8 bf 81 fe ff       	call   0x44ce2f
464c70:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464c76:	e8 5b 80 fe ff       	call   0x44ccd6
464c7b:	eb 8e                	jmp    0x464c0b
464c7d:	b0 01                	mov    $0x1,%al
464c7f:	c3                   	ret
464c80:	b0 01                	mov    $0x1,%al
464c82:	c3                   	ret
464c83:	b0 01                	mov    $0x1,%al
464c85:	c3                   	ret
464c86:	b0 01                	mov    $0x1,%al
464c88:	c3                   	ret
464c89:	83 b9 5c 04 00 00 02 	cmpl   $0x2,0x45c(%ecx)
464c90:	75 47                	jne    0x464cd9
464c92:	83 b9 58 04 00 00 01 	cmpl   $0x1,0x458(%ecx)
464c99:	75 3e                	jne    0x464cd9
464c9b:	8b 91 a8 0a 00 00    	mov    0xaa8(%ecx),%edx
464ca1:	85 d2                	test   %edx,%edx
464ca3:	78 21                	js     0x464cc6
464ca5:	83 fa 64             	cmp    $0x64,%edx
464ca8:	7d 1c                	jge    0x464cc6
464caa:	ff 71 2c             	push   0x2c(%ecx)
464cad:	0f b6 41 31          	movzbl 0x31(%ecx),%eax
464cb1:	50                   	push   %eax
464cb2:	c1 e2 04             	shl    $0x4,%edx
464cb5:	8d 81 64 04 00 00    	lea    0x464(%ecx),%eax
464cbb:	6a 04                	push   $0x4
464cbd:	03 c2                	add    %edx,%eax
464cbf:	50                   	push   %eax
464cc0:	e8 00 f8 ff ff       	call   0x4644c5
464cc5:	c3                   	ret
464cc6:	e8 64 81 fe ff       	call   0x44ce2f
464ccb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464cd1:	e8 00 80 fe ff       	call   0x44ccd6
464cd6:	32 c0                	xor    %al,%al
464cd8:	c3                   	ret
464cd9:	b0 01                	mov    $0x1,%al
464cdb:	c3                   	ret
464cdc:	83 b9 5c 04 00 00 02 	cmpl   $0x2,0x45c(%ecx)
464ce3:	75 47                	jne    0x464d2c
464ce5:	83 b9 58 04 00 00 01 	cmpl   $0x1,0x458(%ecx)
464cec:	75 3e                	jne    0x464d2c
464cee:	8b 91 a8 0a 00 00    	mov    0xaa8(%ecx),%edx
464cf4:	85 d2                	test   %edx,%edx
464cf6:	78 21                	js     0x464d19
464cf8:	83 fa 64             	cmp    $0x64,%edx
464cfb:	7d 1c                	jge    0x464d19
464cfd:	ff 71 2c             	push   0x2c(%ecx)
464d00:	0f b6 41 31          	movzbl 0x31(%ecx),%eax
464d04:	50                   	push   %eax
464d05:	c1 e2 04             	shl    $0x4,%edx
464d08:	8d 81 64 04 00 00    	lea    0x464(%ecx),%eax
464d0e:	6a 04                	push   $0x4
464d10:	03 c2                	add    %edx,%eax
464d12:	50                   	push   %eax
464d13:	e8 f8 f7 ff ff       	call   0x464510
464d18:	c3                   	ret
464d19:	e8 11 81 fe ff       	call   0x44ce2f
464d1e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
464d24:	e8 ad 7f fe ff       	call   0x44ccd6
464d29:	32 c0                	xor    %al,%al
464d2b:	c3                   	ret
464d2c:	b0 01                	mov    $0x1,%al
464d2e:	c3                   	ret
464d2f:	83 b9 5c 04 00 00 02 	cmpl   $0x2,0x45c(%ecx)
464d36:	75 47                	jne    0x464d7f
464d38:	83 b9 58 04 00 00 01 	cmpl   $0x1,0x458(%ecx)
464d3f:	75 3e                	jne    0x464d7f
464d41:	8b 91 a8 0a 00 00    	mov    0xaa8(%ecx),%edx
464d47:	85 d2                	test   %edx,%edx