468bf6:	56                   	push   %esi
468bf7:	ff 75 08             	push   0x8(%ebp)
468bfa:	8b f1                	mov    %ecx,%esi
468bfc:	e8 a9 00 00 00       	call   0x468caa
468c01:	51                   	push   %ecx
468c02:	8d 45 08             	lea    0x8(%ebp),%eax
468c05:	50                   	push   %eax
468c06:	8b 06                	mov    (%esi),%eax
468c08:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
468c0f:	8b 48 04             	mov    0x4(%eax),%ecx
468c12:	03 ce                	add    %esi,%ecx
468c14:	e8 cf a6 f9 ff       	call   0x4032e8
468c19:	6a 00                	push   $0x0
468c1b:	8b ce                	mov    %esi,%ecx
468c1d:	c7 86 fc 00 00 00 06 	movl   $0x6,0xfc(%esi)
468c24:	00 00 00
468c27:	e8 a4 5c fa ff       	call   0x40e8d0
468c2c:	8b 06                	mov    (%esi),%eax
468c2e:	8d 4e 04             	lea    0x4(%esi),%ecx
468c31:	8b 40 04             	mov    0x4(%eax),%eax
468c34:	03 c8                	add    %eax,%ecx
468c36:	e8 1e a7 f9 ff       	call   0x403359
468c3b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
468c3e:	50                   	push   %eax
468c3f:	e8 6a 50 fa ff       	call   0x40dcae
468c44:	33 c0                	xor    %eax,%eax
468c46:	5e                   	pop    %esi
468c47:	5d                   	pop    %ebp
468c48:	c2 08 00             	ret    $0x8
468c4b:	53                   	push   %ebx
468c4c:	56                   	push   %esi
468c4d:	57                   	push   %edi
468c4e:	6a 00                	push   $0x0
468c50:	8b f9                	mov    %ecx,%edi
468c52:	e8 22 a0 f9 ff       	call   0x402c79
468c57:	8b f0                	mov    %eax,%esi
468c59:	85 f6                	test   %esi,%esi
468c5b:	7f 19                	jg     0x468c76
468c5d:	79 13                	jns    0x468c72
468c5f:	8b 07                	mov    (%edi),%eax
468c61:	8b ce                	mov    %esi,%ecx
468c63:	f7 d9                	neg    %ecx
468c65:	6a 00                	push   $0x0
468c67:	51                   	push   %ecx
468c68:	8b 48 04             	mov    0x4(%eax),%ecx
468c6b:	03 cf                	add    %edi,%ecx
468c6d:	e8 da 42 fe ff       	call   0x44cf4c
468c72:	8b c6                	mov    %esi,%eax
468c74:	eb 2b                	jmp    0x468ca1
468c76:	ff 15 1c d7 48 00    	call   *0x48d71c
468c7c:	8b b7 08 03 00 00    	mov    0x308(%edi),%esi
468c82:	33 d2                	xor    %edx,%edx
468c84:	42                   	inc    %edx
468c85:	8b d8                	mov    %eax,%ebx
468c87:	3b f2                	cmp    %edx,%esi
468c89:	7c 14                	jl     0x468c9f
468c8b:	8b 8f 04 03 00 00    	mov    0x304(%edi),%ecx
468c91:	8b 01                	mov    (%ecx),%eax
468c93:	39 18                	cmp    %ebx,(%eax)
468c95:	74 0e                	je     0x468ca5
468c97:	42                   	inc    %edx
468c98:	83 c1 04             	add    $0x4,%ecx
468c9b:	3b d6                	cmp    %esi,%edx
468c9d:	7e f2                	jle    0x468c91
468c9f:	33 c0                	xor    %eax,%eax
468ca1:	5f                   	pop    %edi
468ca2:	5e                   	pop    %esi
468ca3:	5b                   	pop    %ebx
468ca4:	c3                   	ret
468ca5:	33 c0                	xor    %eax,%eax
468ca7:	40                   	inc    %eax
468ca8:	eb f7                	jmp    0x468ca1
468caa:	55                   	push   %ebp
468cab:	8b ec                	mov    %esp,%ebp
468cad:	56                   	push   %esi
468cae:	57                   	push   %edi
468caf:	8b 7d 08             	mov    0x8(%ebp),%edi
468cb2:	57                   	push   %edi
468cb3:	8b f1                	mov    %ecx,%esi
468cb5:	e8 9a 9d f9 ff       	call   0x402a54
468cba:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
468cbe:	75 19                	jne    0x468cd9
468cc0:	8b 47 04             	mov    0x4(%edi),%eax
468cc3:	8b 48 08             	mov    0x8(%eax),%ecx
468cc6:	e8 bb 45 fa ff       	call   0x40d286
468ccb:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
468cd1:	89 86 10 03 00 00    	mov    %eax,0x310(%esi)
468cd7:	eb 07                	jmp    0x468ce0
468cd9:	83 a6 10 03 00 00 00 	andl   $0x0,0x310(%esi)
468ce0:	ff 15 a0 d7 48 00    	call   *0x48d7a0
468ce6:	5f                   	pop    %edi
468ce7:	89 86 18 03 00 00    	mov    %eax,0x318(%esi)
468ced:	5e                   	pop    %esi
468cee:	5d                   	pop    %ebp
468cef:	c2 04 00             	ret    $0x4
468cf2:	55                   	push   %ebp
468cf3:	8b ec                	mov    %esp,%ebp
468cf5:	56                   	push   %esi
468cf6:	8b f1                	mov    %ecx,%esi
468cf8:	57                   	push   %edi
468cf9:	33 ff                	xor    %edi,%edi
468cfb:	6a 14                	push   $0x14
468cfd:	89 7e 04             	mov    %edi,0x4(%esi)
468d00:	89 7e 08             	mov    %edi,0x8(%esi)
468d03:	e8 e2 67 fb ff       	call   0x41f4ea
468d08:	59                   	pop    %ecx
468d09:	85 c0                	test   %eax,%eax
468d0b:	74 0c                	je     0x468d19
468d0d:	ff 75 08             	push   0x8(%ebp)
468d10:	8b c8                	mov    %eax,%ecx
468d12:	e8 a7 6a ff ff       	call   0x45f7be
468d17:	8b f8                	mov    %eax,%edi
468d19:	89 3e                	mov    %edi,(%esi)
468d1b:	5f                   	pop    %edi
468d1c:	8b c6                	mov    %esi,%eax
468d1e:	5e                   	pop    %esi
468d1f:	5d                   	pop    %ebp
468d20:	c2 04 00             	ret    $0x4
468d23:	55                   	push   %ebp
468d24:	8b ec                	mov    %esp,%ebp
468d26:	56                   	push   %esi
468d27:	8b 75 08             	mov    0x8(%ebp),%esi
468d2a:	57                   	push   %edi
468d2b:	8b 06                	mov    (%esi),%eax
468d2d:	8b f9                	mov    %ecx,%edi
468d2f:	89 07                	mov    %eax,(%edi)
468d31:	8d 46 04             	lea    0x4(%esi),%eax
468d34:	50                   	push   %eax
468d35:	8d 4f 04             	lea    0x4(%edi),%ecx
468d38:	e8 b0 e1 f9 ff       	call   0x406eed
468d3d:	8b 46 14             	mov    0x14(%esi),%eax
468d40:	89 47 14             	mov    %eax,0x14(%edi)
468d43:	8b 46 18             	mov    0x18(%esi),%eax
468d46:	89 47 18             	mov    %eax,0x18(%edi)
468d49:	8b 46 1c             	mov    0x1c(%esi),%eax
468d4c:	89 47 1c             	mov    %eax,0x1c(%edi)
468d4f:	8b 46 20             	mov    0x20(%esi),%eax
468d52:	89 47 20             	mov    %eax,0x20(%edi)
468d55:	8b c7                	mov    %edi,%eax
468d57:	5f                   	pop    %edi
468d58:	5e                   	pop    %esi
468d59:	5d                   	pop    %ebp
468d5a:	c2 04 00             	ret    $0x4
468d5d:	55                   	push   %ebp
468d5e:	8b ec                	mov    %esp,%ebp
468d60:	56                   	push   %esi
468d61:	8b f1                	mov    %ecx,%esi
468d63:	e8 c1 a9 f9 ff       	call   0x403729
468d68:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
468d6c:	74 07                	je     0x468d75
468d6e:	56                   	push   %esi
468d6f:	e8 ea 67 fb ff       	call   0x41f55e
468d74:	59                   	pop    %ecx
468d75:	8b c6                	mov    %esi,%eax
468d77:	5e                   	pop    %esi
468d78:	5d                   	pop    %ebp
468d79:	c2 04 00             	ret    $0x4
468d7c:	56                   	push   %esi
468d7d:	8b f1                	mov    %ecx,%esi
468d7f:	e8 70 52 fd ff       	call   0x43dff4
468d84:	56                   	push   %esi
468d85:	e8 d4 67 fb ff       	call   0x41f55e
468d8a:	59                   	pop    %ecx
468d8b:	8b c6                	mov    %esi,%eax
468d8d:	5e                   	pop    %esi
468d8e:	c2 04 00             	ret    $0x4
468d91:	56                   	push   %esi
468d92:	8b f1                	mov    %ecx,%esi
468d94:	8b 0e                	mov    (%esi),%ecx
468d96:	85 c9                	test   %ecx,%ecx
468d98:	74 06                	je     0x468da0
468d9a:	51                   	push   %ecx
468d9b:	e8 60 bc fd ff       	call   0x444a00
468da0:	56                   	push   %esi
468da1:	e8 b8 67 fb ff       	call   0x41f55e
468da6:	59                   	pop    %ecx
468da7:	8b c6                	mov    %esi,%eax
468da9:	5e                   	pop    %esi
468daa:	c2 04 00             	ret    $0x4
468dad:	55                   	push   %ebp
468dae:	8b ec                	mov    %esp,%ebp
468db0:	51                   	push   %ecx
468db1:	53                   	push   %ebx
468db2:	57                   	push   %edi
468db3:	8b 7d 0c             	mov    0xc(%ebp),%edi
468db6:	8b d9                	mov    %ecx,%ebx
468db8:	8b 87 c4 01 00 00    	mov    0x1c4(%edi),%eax
468dbe:	85 c0                	test   %eax,%eax
468dc0:	7e 20                	jle    0x468de2
468dc2:	ff 75 18             	push   0x18(%ebp)
468dc5:	83 a7 c4 01 00 00 00 	andl   $0x0,0x1c4(%edi)
468dcc:	ff 75 14             	push   0x14(%ebp)
468dcf:	ff 75 10             	push   0x10(%ebp)
468dd2:	57                   	push   %edi
468dd3:	50                   	push   %eax
468dd4:	e8 c4 be fb ff       	call   0x424c9d
468dd9:	59                   	pop    %ecx
468dda:	50                   	push   %eax
468ddb:	8b cb                	mov    %ebx,%ecx
468ddd:	e8 cb ff ff ff       	call   0x468dad
468de2:	8d 45 fc             	lea    -0x4(%ebp),%eax
468de5:	50                   	push   %eax
468de6:	8d 45 0c             	lea    0xc(%ebp),%eax
468de9:	50                   	push   %eax
468dea:	ff 75 08             	push   0x8(%ebp)
468ded:	8b cb                	mov    %ebx,%ecx
468def:	e8 0a 46 fa ff       	call   0x40d3fe
468df4:	84 c0                	test   %al,%al
468df6:	74 5e                	je     0x468e56
468df8:	56                   	push   %esi
468df9:	6a 24                	push   $0x24
468dfb:	e8 ea 66 fb ff       	call   0x41f4ea
468e00:	8b f0                	mov    %eax,%esi
468e02:	59                   	pop    %ecx
468e03:	85 f6                	test   %esi,%esi
468e05:	74 0a                	je     0x468e11
468e07:	8d 4e 04             	lea    0x4(%esi),%ecx
468e0a:	e8 e8 49 fa ff       	call   0x40d7f7
468e0f:	eb 02                	jmp    0x468e13
468e11:	33 f6                	xor    %esi,%esi
468e13:	8b 4b 74             	mov    0x74(%ebx),%ecx
468e16:	8b 45 fc             	mov    -0x4(%ebp),%eax
468e19:	89 75 0c             	mov    %esi,0xc(%ebp)
468e1c:	8b 04 81             	mov    (%ecx,%eax,4),%eax
468e1f:	8d 4e 04             	lea    0x4(%esi),%ecx
468e22:	8b 00                	mov    (%eax),%eax
468e24:	83 c0 14             	add    $0x14,%eax
468e27:	50                   	push   %eax
468e28:	e8 c0 e0 f9 ff       	call   0x406eed
468e2d:	8b 45 08             	mov    0x8(%ebp),%eax
468e30:	89 06                	mov    %eax,(%esi)
468e32:	8b 07                	mov    (%edi),%eax
468e34:	89 46 14             	mov    %eax,0x14(%esi)
468e37:	8b 45 10             	mov    0x10(%ebp),%eax
468e3a:	89 46 18             	mov    %eax,0x18(%esi)
468e3d:	8b 45 14             	mov    0x14(%ebp),%eax
468e40:	89 46 1c             	mov    %eax,0x1c(%esi)
468e43:	8b 45 18             	mov    0x18(%ebp),%eax
468e46:	89 46 20             	mov    %eax,0x20(%esi)
468e49:	8d 45 0c             	lea    0xc(%ebp),%eax
468e4c:	50                   	push   %eax
468e4d:	8d 4b 2c             	lea    0x2c(%ebx),%ecx
468e50:	e8 4c 5a 00 00       	call   0x46e8a1
468e55:	5e                   	pop    %esi
468e56:	5f                   	pop    %edi
468e57:	5b                   	pop    %ebx
468e58:	c9                   	leave
468e59:	c2 14 00             	ret    $0x14
468e5c:	55                   	push   %ebp
468e5d:	8b ec                	mov    %esp,%ebp
468e5f:	51                   	push   %ecx
468e60:	51                   	push   %ecx
468e61:	53                   	push   %ebx
468e62:	56                   	push   %esi
468e63:	57                   	push   %edi
468e64:	6a 24                	push   $0x24
468e66:	89 4d f8             	mov    %ecx,-0x8(%ebp)
468e69:	e8 7c 66 fb ff       	call   0x41f4ea
468e6e:	8b d8                	mov    %eax,%ebx
468e70:	59                   	pop    %ecx
468e71:	85 db                	test   %ebx,%ebx
468e73:	74 0a                	je     0x468e7f
468e75:	8d 4b 04             	lea    0x4(%ebx),%ecx
468e78:	e8 7a 49 fa ff       	call   0x40d7f7
468e7d:	eb 02                	jmp    0x468e81
468e7f:	33 db                	xor    %ebx,%ebx
468e81:	8b 7d 08             	mov    0x8(%ebp),%edi
468e84:	8b 75 0c             	mov    0xc(%ebp),%esi
468e87:	8b c7                	mov    %edi,%eax
468e89:	c1 e0 04             	shl    $0x4,%eax
468e8c:	05 5c 01 00 00       	add    $0x15c,%eax
468e91:	03 c6                	add    %esi,%eax
468e93:	50                   	push   %eax
468e94:	8d 4b 04             	lea    0x4(%ebx),%ecx
468e97:	89 5d fc             	mov    %ebx,-0x4(%ebp)
468e9a:	e8 4e e0 f9 ff       	call   0x406eed
468e9f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
468ea2:	89 3b                	mov    %edi,(%ebx)
468ea4:	8b 06                	mov    (%esi),%eax
468ea6:	89 43 14             	mov    %eax,0x14(%ebx)
468ea9:	83 63 18 00          	andl   $0x0,0x18(%ebx)
468ead:	8b 45 10             	mov    0x10(%ebp),%eax
468eb0:	89 43 1c             	mov    %eax,0x1c(%ebx)
468eb3:	8b 45 14             	mov    0x14(%ebp),%eax
468eb6:	89 43 20             	mov    %eax,0x20(%ebx)
468eb9:	8d 45 fc             	lea    -0x4(%ebp),%eax
468ebc:	50                   	push   %eax
468ebd:	83 c1 2c             	add    $0x2c,%ecx
468ec0:	e8 dc 59 00 00       	call   0x46e8a1
468ec5:	5f                   	pop    %edi
468ec6:	5e                   	pop    %esi
468ec7:	5b                   	pop    %ebx
468ec8:	c9                   	leave
468ec9:	c2 10 00             	ret    $0x10
468ecc:	55                   	push   %ebp
468ecd:	8b ec                	mov    %esp,%ebp
468ecf:	51                   	push   %ecx
468ed0:	53                   	push   %ebx
468ed1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
468ed4:	56                   	push   %esi
468ed5:	83 7b 44 00          	cmpl   $0x0,0x44(%ebx)
468ed9:	8b 03                	mov    (%ebx),%eax
468edb:	57                   	push   %edi
468edc:	89 45 0c             	mov    %eax,0xc(%ebp)
468edf:	74 09                	je     0x468eea
468ee1:	ff 73 44             	push   0x44(%ebx)
468ee4:	ff 15 c8 d0 48 00    	call   *0x48d0c8
468eea:	6a 00                	push   $0x0
468eec:	ff 15 10 d6 48 00    	call   *0x48d610
468ef2:	8b f0                	mov    %eax,%esi
468ef4:	6a 5a                	push   $0x5a
468ef6:	56                   	push   %esi
468ef7:	ff 15 dc d0 48 00    	call   *0x48d0dc
468efd:	56                   	push   %esi
468efe:	33 f6                	xor    %esi,%esi
468f00:	56                   	push   %esi
468f01:	8b f8                	mov    %eax,%edi
468f03:	ff 15 0c d6 48 00    	call   *0x48d60c
468f09:	0f af 7d 14          	imul   0x14(%ebp),%edi
468f0d:	8b 4d 10             	mov    0x10(%ebp),%ecx
468f10:	ff 31                	push   (%ecx)
468f12:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
468f15:	56                   	push   %esi
468f16:	ff 75 20             	push   0x20(%ebp)
468f19:	8b c1                	mov    %ecx,%eax
468f1b:	56                   	push   %esi
468f1c:	6a 04                	push   $0x4
468f1e:	6a 01                	push   $0x1
468f20:	83 e0 08             	and    $0x8,%eax
468f23:	50                   	push   %eax
468f24:	8b c1                	mov    %ecx,%eax
468f26:	83 e0 04             	and    $0x4,%eax
468f29:	50                   	push   %eax
468f2a:	83 e1 02             	and    $0x2,%ecx
468f2d:	51                   	push   %ecx
468f2e:	8b c7                	mov    %edi,%eax
468f30:	99                   	cltd
468f31:	b9 30 fd ff ff       	mov    $0xfffffd30,%ecx
468f36:	f7 f9                	idiv   %ecx
468f38:	ff 75 18             	push   0x18(%ebp)
468f3b:	56                   	push   %esi
468f3c:	56                   	push   %esi
468f3d:	56                   	push   %esi
468f3e:	50                   	push   %eax
468f3f:	ff 15 44 d1 48 00    	call   *0x48d144
468f45:	8b 75 0c             	mov    0xc(%ebp),%esi
468f48:	6a 01                	push   $0x1
468f4a:	8b f8                	mov    %eax,%edi
468f4c:	57                   	push   %edi
468f4d:	6a 30                	push   $0x30