465ab9:	33 db                	xor    %ebx,%ebx
465abb:	85 d2                	test   %edx,%edx
465abd:	78 3f                	js     0x465afe
465abf:	0f b7 04 57          	movzwl (%edi,%edx,2),%eax
465ac3:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
465ac7:	72 0a                	jb     0x465ad3
465ac9:	83 f8 39             	cmp    $0x39,%eax
465acc:	77 05                	ja     0x465ad3
465ace:	83 e8 30             	sub    $0x30,%eax
465ad1:	eb 1c                	jmp    0x465aef
465ad3:	83 f8 41             	cmp    $0x41,%eax
465ad6:	72 0a                	jb     0x465ae2
465ad8:	83 f8 46             	cmp    $0x46,%eax
465adb:	77 05                	ja     0x465ae2
465add:	83 e8 37             	sub    $0x37,%eax
465ae0:	eb 0d                	jmp    0x465aef
465ae2:	83 f8 61             	cmp    $0x61,%eax
465ae5:	72 3b                	jb     0x465b22
465ae7:	83 f8 66             	cmp    $0x66,%eax
465aea:	77 36                	ja     0x465b22
465aec:	83 e8 57             	sub    $0x57,%eax
465aef:	0f af c1             	imul   %ecx,%eax
465af2:	c1 e1 04             	shl    $0x4,%ecx
465af5:	01 06                	add    %eax,(%esi)
465af7:	4a                   	dec    %edx
465af8:	43                   	inc    %ebx
465af9:	83 fb 08             	cmp    $0x8,%ebx
465afc:	7c bd                	jl     0x465abb
465afe:	83 fa ff             	cmp    $0xffffffff,%edx
465b01:	74 16                	je     0x465b19
465b03:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
465b07:	83 f9 78             	cmp    $0x78,%ecx
465b0a:	74 05                	je     0x465b11
465b0c:	83 f9 58             	cmp    $0x58,%ecx
465b0f:	75 11                	jne    0x465b22
465b11:	6a 30                	push   $0x30
465b13:	58                   	pop    %eax
465b14:	66 39 07             	cmp    %ax,(%edi)
465b17:	75 09                	jne    0x465b22
465b19:	b0 01                	mov    $0x1,%al
465b1b:	5f                   	pop    %edi
465b1c:	5e                   	pop    %esi
465b1d:	5b                   	pop    %ebx
465b1e:	8b e5                	mov    %ebp,%esp
465b20:	5d                   	pop    %ebp
465b21:	c3                   	ret
465b22:	83 26 00             	andl   $0x0,(%esi)
465b25:	32 c0                	xor    %al,%al
465b27:	eb f2                	jmp    0x465b1b
465b29:	55                   	push   %ebp
465b2a:	8b ec                	mov    %esp,%ebp
465b2c:	51                   	push   %ecx
465b2d:	56                   	push   %esi
465b2e:	57                   	push   %edi
465b2f:	8b f9                	mov    %ecx,%edi
465b31:	8b f2                	mov    %edx,%esi
465b33:	85 ff                	test   %edi,%edi
465b35:	75 04                	jne    0x465b3b
465b37:	33 c0                	xor    %eax,%eax
465b39:	eb 4b                	jmp    0x465b86
465b3b:	83 fe ff             	cmp    $0xffffffff,%esi
465b3e:	75 0a                	jne    0x465b4a
465b40:	57                   	push   %edi
465b41:	e8 f6 d2 fb ff       	call   0x422e3c
465b46:	59                   	pop    %ecx
465b47:	8d 70 01             	lea    0x1(%eax),%esi
465b4a:	53                   	push   %ebx
465b4b:	33 c0                	xor    %eax,%eax
465b4d:	50                   	push   %eax
465b4e:	50                   	push   %eax
465b4f:	50                   	push   %eax
465b50:	50                   	push   %eax
465b51:	56                   	push   %esi
465b52:	57                   	push   %edi
465b53:	50                   	push   %eax
465b54:	50                   	push   %eax
465b55:	ff 15 ac f1 48 00    	call   *0x48f1ac
465b5b:	8b d8                	mov    %eax,%ebx
465b5d:	85 db                	test   %ebx,%ebx
465b5f:	74 24                	je     0x465b85
465b61:	3b de                	cmp    %esi,%ebx
465b63:	7d 03                	jge    0x465b68
465b65:	56                   	push   %esi
465b66:	eb 01                	jmp    0x465b69
465b68:	53                   	push   %ebx
465b69:	e8 88 b4 fb ff       	call   0x420ff6
465b6e:	59                   	pop    %ecx
465b6f:	33 c9                	xor    %ecx,%ecx
465b71:	89 45 fc             	mov    %eax,-0x4(%ebp)
465b74:	51                   	push   %ecx
465b75:	51                   	push   %ecx
465b76:	53                   	push   %ebx
465b77:	50                   	push   %eax
465b78:	56                   	push   %esi
465b79:	57                   	push   %edi
465b7a:	51                   	push   %ecx
465b7b:	51                   	push   %ecx
465b7c:	ff 15 ac f1 48 00    	call   *0x48f1ac
465b82:	8b 45 fc             	mov    -0x4(%ebp),%eax
465b85:	5b                   	pop    %ebx
465b86:	5f                   	pop    %edi
465b87:	5e                   	pop    %esi
465b88:	8b e5                	mov    %ebp,%esp
465b8a:	5d                   	pop    %ebp
465b8b:	c3                   	ret
465b8c:	53                   	push   %ebx
465b8d:	57                   	push   %edi
465b8e:	33 c0                	xor    %eax,%eax
465b90:	8b d9                	mov    %ecx,%ebx
465b92:	50                   	push   %eax
465b93:	50                   	push   %eax
465b94:	6a ff                	push   $0xffffffff
465b96:	53                   	push   %ebx
465b97:	50                   	push   %eax
465b98:	68 e9 fd 00 00       	push   $0xfde9
465b9d:	ff 15 84 f1 48 00    	call   *0x48f184
465ba3:	8b f8                	mov    %eax,%edi
465ba5:	85 ff                	test   %edi,%edi
465ba7:	74 2d                	je     0x465bd6
465ba9:	56                   	push   %esi
465baa:	33 c9                	xor    %ecx,%ecx
465bac:	6a 02                	push   $0x2
465bae:	5a                   	pop    %edx
465baf:	f7 e2                	mul    %edx
465bb1:	0f 90 c1             	seto   %cl
465bb4:	f7 d9                	neg    %ecx
465bb6:	0b c8                	or     %eax,%ecx
465bb8:	51                   	push   %ecx
465bb9:	e8 38 b4 fb ff       	call   0x420ff6
465bbe:	59                   	pop    %ecx
465bbf:	57                   	push   %edi
465bc0:	8b f0                	mov    %eax,%esi
465bc2:	56                   	push   %esi
465bc3:	6a ff                	push   $0xffffffff
465bc5:	53                   	push   %ebx
465bc6:	6a 00                	push   $0x0
465bc8:	68 e9 fd 00 00       	push   $0xfde9
465bcd:	ff 15 84 f1 48 00    	call   *0x48f184
465bd3:	8b c6                	mov    %esi,%eax
465bd5:	5e                   	pop    %esi
465bd6:	5f                   	pop    %edi
465bd7:	5b                   	pop    %ebx
465bd8:	c3                   	ret
465bd9:	55                   	push   %ebp
465bda:	8b ec                	mov    %esp,%ebp
465bdc:	8b 45 14             	mov    0x14(%ebp),%eax
465bdf:	48                   	dec    %eax
465be0:	74 13                	je     0x465bf5
465be2:	48                   	dec    %eax
465be3:	75 3d                	jne    0x465c22
465be5:	ff 75 10             	push   0x10(%ebp)
465be8:	b9 70 72 4c 00       	mov    $0x4c7270,%ecx
465bed:	ff 75 0c             	push   0xc(%ebp)
465bf0:	ff 75 08             	push   0x8(%ebp)
465bf3:	eb 24                	jmp    0x465c19
465bf5:	83 3d 80 72 4c 00 00 	cmpl   $0x0,0x4c7280
465bfc:	74 24                	je     0x465c22
465bfe:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
465c02:	74 1e                	je     0x465c22
465c04:	ff 75 10             	push   0x10(%ebp)
465c07:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
465c0c:	ff 75 0c             	push   0xc(%ebp)
465c0f:	ff 75 08             	push   0x8(%ebp)
465c12:	e8 f6 0a ff ff       	call   0x45670d
465c17:	8b c8                	mov    %eax,%ecx
465c19:	e8 82 1a 00 00       	call   0x4676a0
465c1e:	b0 01                	mov    $0x1,%al
465c20:	eb 02                	jmp    0x465c24
465c22:	32 c0                	xor    %al,%al
465c24:	5d                   	pop    %ebp
465c25:	c2 10 00             	ret    $0x10
465c28:	55                   	push   %ebp
465c29:	8b ec                	mov    %esp,%ebp
465c2b:	51                   	push   %ecx
465c2c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
465c30:	83 3d 80 72 4c 00 00 	cmpl   $0x0,0x4c7280
465c37:	74 21                	je     0x465c5a
465c39:	8d 45 fc             	lea    -0x4(%ebp),%eax
465c3c:	b9 80 72 4c 00       	mov    $0x4c7280,%ecx
465c41:	50                   	push   %eax
465c42:	ff 75 08             	push   0x8(%ebp)
465c45:	e8 c3 0a ff ff       	call   0x45670d
465c4a:	8b c8                	mov    %eax,%ecx
465c4c:	e8 61 2f fa ff       	call   0x408bb2
465c51:	85 c0                	test   %eax,%eax
465c53:	74 05                	je     0x465c5a
465c55:	83 c8 ff             	or     $0xffffffff,%eax
465c58:	eb 17                	jmp    0x465c71
465c5a:	8d 45 fc             	lea    -0x4(%ebp),%eax
465c5d:	b9 70 72 4c 00       	mov    $0x4c7270,%ecx
465c62:	50                   	push   %eax
465c63:	ff 75 08             	push   0x8(%ebp)
465c66:	e8 47 2f fa ff       	call   0x408bb2
465c6b:	f7 d8                	neg    %eax
465c6d:	1b c0                	sbb    %eax,%eax
465c6f:	f7 d8                	neg    %eax
465c71:	8b e5                	mov    %ebp,%esp
465c73:	5d                   	pop    %ebp
465c74:	c2 04 00             	ret    $0x4
465c77:	55                   	push   %ebp
465c78:	8b ec                	mov    %esp,%ebp
465c7a:	83 ec 0c             	sub    $0xc,%esp
465c7d:	53                   	push   %ebx
465c7e:	8b d9                	mov    %ecx,%ebx
465c80:	8b 4d 08             	mov    0x8(%ebp),%ecx
465c83:	56                   	push   %esi
465c84:	33 f6                	xor    %esi,%esi
465c86:	57                   	push   %edi
465c87:	89 73 04             	mov    %esi,0x4(%ebx)
465c8a:	89 73 08             	mov    %esi,0x8(%ebx)
465c8d:	8b 41 10             	mov    0x10(%ecx),%eax
465c90:	89 75 fc             	mov    %esi,-0x4(%ebp)
465c93:	89 43 10             	mov    %eax,0x10(%ebx)
465c96:	85 c0                	test   %eax,%eax
465c98:	74 02                	je     0x465c9c
465c9a:	ff 00                	incl   (%eax)
465c9c:	8b 41 08             	mov    0x8(%ecx),%eax
465c9f:	89 43 08             	mov    %eax,0x8(%ebx)
465ca2:	8b 41 0c             	mov    0xc(%ecx),%eax
465ca5:	89 43 0c             	mov    %eax,0xc(%ebx)
465ca8:	8b 39                	mov    (%ecx),%edi
465caa:	89 3b                	mov    %edi,(%ebx)
465cac:	85 ff                	test   %edi,%edi
465cae:	0f 84 99 00 00 00    	je     0x465d4d
465cb4:	33 c9                	xor    %ecx,%ecx
465cb6:	8b c7                	mov    %edi,%eax
465cb8:	6a 20                	push   $0x20
465cba:	5a                   	pop    %edx
465cbb:	f7 e2                	mul    %edx
465cbd:	0f 90 c1             	seto   %cl
465cc0:	f7 d9                	neg    %ecx
465cc2:	0b c8                	or     %eax,%ecx
465cc4:	33 c0                	xor    %eax,%eax
465cc6:	83 c1 04             	add    $0x4,%ecx
465cc9:	0f 92 c0             	setb   %al
465ccc:	f7 d8                	neg    %eax
465cce:	0b c1                	or     %ecx,%eax
465cd0:	50                   	push   %eax
465cd1:	e8 20 b3 fb ff       	call   0x420ff6
465cd6:	59                   	pop    %ecx
465cd7:	85 c0                	test   %eax,%eax
465cd9:	74 21                	je     0x465cfc
465cdb:	89 38                	mov    %edi,(%eax)
465cdd:	83 c0 04             	add    $0x4,%eax
465ce0:	4f                   	dec    %edi
465ce1:	89 45 f4             	mov    %eax,-0xc(%ebp)
465ce4:	78 18                	js     0x465cfe
465ce6:	8b f0                	mov    %eax,%esi
465ce8:	8b ce                	mov    %esi,%ecx
465cea:	e8 69 00 00 00       	call   0x465d58
465cef:	83 c6 20             	add    $0x20,%esi
465cf2:	4f                   	dec    %edi
465cf3:	79 f3                	jns    0x465ce8
465cf5:	8b 45 f4             	mov    -0xc(%ebp),%eax
465cf8:	33 f6                	xor    %esi,%esi
465cfa:	eb 02                	jmp    0x465cfe
465cfc:	8b c6                	mov    %esi,%eax
465cfe:	89 43 04             	mov    %eax,0x4(%ebx)
465d01:	39 33                	cmp    %esi,(%ebx)
465d03:	7e 48                	jle    0x465d4d
465d05:	8b ce                	mov    %esi,%ecx
465d07:	89 75 f8             	mov    %esi,-0x8(%ebp)
465d0a:	8b 45 08             	mov    0x8(%ebp),%eax
465d0d:	8b 73 04             	mov    0x4(%ebx),%esi
465d10:	03 f1                	add    %ecx,%esi
465d12:	8b 78 04             	mov    0x4(%eax),%edi
465d15:	03 f9                	add    %ecx,%edi
465d17:	8d 4e 0c             	lea    0xc(%esi),%ecx
465d1a:	8b 07                	mov    (%edi),%eax
465d1c:	89 06                	mov    %eax,(%esi)
465d1e:	8b 47 04             	mov    0x4(%edi),%eax
465d21:	89 46 04             	mov    %eax,0x4(%esi)
465d24:	8b 47 08             	mov    0x8(%edi),%eax
465d27:	89 46 08             	mov    %eax,0x8(%esi)
465d2a:	8d 47 0c             	lea    0xc(%edi),%eax
465d2d:	50                   	push   %eax
465d2e:	e8 74 24 fa ff       	call   0x4081a7
465d33:	8b 47 1c             	mov    0x1c(%edi),%eax
465d36:	8b 4d f8             	mov    -0x8(%ebp),%ecx
465d39:	89 46 1c             	mov    %eax,0x1c(%esi)
465d3c:	83 c1 20             	add    $0x20,%ecx
465d3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
465d42:	40                   	inc    %eax
465d43:	89 4d f8             	mov    %ecx,-0x8(%ebp)
465d46:	89 45 fc             	mov    %eax,-0x4(%ebp)
465d49:	3b 03                	cmp    (%ebx),%eax
465d4b:	7c bd                	jl     0x465d0a
465d4d:	5f                   	pop    %edi
465d4e:	5e                   	pop    %esi
465d4f:	8b c3                	mov    %ebx,%eax
465d51:	5b                   	pop    %ebx
465d52:	8b e5                	mov    %ebp,%esp
465d54:	5d                   	pop    %ebp
465d55:	c2 04 00             	ret    $0x4
465d58:	56                   	push   %esi
465d59:	8b f1                	mov    %ecx,%esi
465d5b:	8d 4e 0c             	lea    0xc(%esi),%ecx
465d5e:	e8 64 1a fa ff       	call   0x4077c7
465d63:	8b c6                	mov    %esi,%eax
465d65:	5e                   	pop    %esi
465d66:	c3                   	ret
465d67:	83 c1 0c             	add    $0xc,%ecx
465d6a:	e9 f5 fc f9 ff       	jmp    0x405a64
465d6f:	55                   	push   %ebp
465d70:	8b ec                	mov    %esp,%ebp
465d72:	56                   	push   %esi
465d73:	8b f1                	mov    %ecx,%esi
465d75:	8b 4e 0c             	mov    0xc(%esi),%ecx
465d78:	8b 01                	mov    (%ecx),%eax
465d7a:	83 f8 01             	cmp    $0x1,%eax
465d7d:	7e 27                	jle    0x465da6
465d7f:	48                   	dec    %eax
465d80:	89 01                	mov    %eax,(%ecx)
465d82:	8b ce                	mov    %esi,%ecx
465d84:	e8 00 24 fa ff       	call   0x408189
465d89:	6a 08                	push   $0x8
465d8b:	58                   	pop    %eax
465d8c:	33 c9                	xor    %ecx,%ecx
465d8e:	89 46 08             	mov    %eax,0x8(%esi)
465d91:	6a 02                	push   $0x2
465d93:	5a                   	pop    %edx
465d94:	f7 e2                	mul    %edx
465d96:	0f 90 c1             	seto   %cl
465d99:	f7 d9                	neg    %ecx
465d9b:	0b c8                	or     %eax,%ecx
465d9d:	51                   	push   %ecx
465d9e:	e8 53 b2 fb ff       	call   0x420ff6
465da3:	59                   	pop    %ecx
465da4:	89 06                	mov    %eax,(%esi)
465da6:	8b 0e                	mov    (%esi),%ecx
465da8:	66 8b 45 08          	mov    0x8(%ebp),%ax
465dac:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
465db3:	66 89 01             	mov    %ax,(%ecx)
465db6:	33 c9                	xor    %ecx,%ecx
465db8:	8b 06                	mov    (%esi),%eax
465dba:	66 89 48 02          	mov    %cx,0x2(%eax)
465dbe:	8b c6                	mov    %esi,%eax
465dc0:	5e                   	pop    %esi
465dc1:	5d                   	pop    %ebp
465dc2:	c2 04 00             	ret    $0x4
465dc5:	56                   	push   %esi
465dc6:	68 67 5d 46 00       	push   $0x465d67
465dcb:	8d 71 fc             	lea    -0x4(%ecx),%esi
465dce:	ff 36                	push   (%esi)
465dd0:	6a 20                	push   $0x20
465dd2:	51                   	push   %ecx
465dd3:	e8 fb e8 f9 ff       	call   0x4046d3
465dd8:	56                   	push   %esi
465dd9:	e8 8e b2 fb ff       	call   0x42106c
465dde:	59                   	pop    %ecx