464cc5:	8b ce                	mov    %esi,%ecx
464cc7:	0f b6 f8             	movzbl %al,%edi
464cca:	e8 51 df fa ff       	call   0x412c20
464ccf:	89 3e                	mov    %edi,(%esi)
464cd1:	5f                   	pop    %edi
464cd2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
464cd9:	33 c0                	xor    %eax,%eax
464cdb:	5e                   	pop    %esi
464cdc:	5d                   	pop    %ebp
464cdd:	c2 08 00             	ret    $0x8
464ce0:	55                   	push   %ebp
464ce1:	8b ec                	mov    %esp,%ebp
464ce3:	8b 45 08             	mov    0x8(%ebp),%eax
464ce6:	53                   	push   %ebx
464ce7:	8b 40 04             	mov    0x4(%eax),%eax
464cea:	56                   	push   %esi
464ceb:	8b 30                	mov    (%eax),%esi
464ced:	57                   	push   %edi
464cee:	8b ce                	mov    %esi,%ecx
464cf0:	e8 77 46 fa ff       	call   0x40936c
464cf5:	8b 46 08             	mov    0x8(%esi),%eax
464cf8:	8b 75 0c             	mov    0xc(%ebp),%esi
464cfb:	8b 38                	mov    (%eax),%edi
464cfd:	8b ce                	mov    %esi,%ecx
464cff:	e8 1c df fa ff       	call   0x412c20
464d04:	83 26 00             	andl   $0x0,(%esi)
464d07:	33 db                	xor    %ebx,%ebx
464d09:	43                   	inc    %ebx
464d0a:	89 5e 0c             	mov    %ebx,0xc(%esi)
464d0d:	0f b7 07             	movzwl (%edi),%eax
464d10:	66 85 c0             	test   %ax,%ax
464d13:	74 22                	je     0x464d37
464d15:	50                   	push   %eax
464d16:	ff 15 d0 d4 48 00    	call   *0x48d4d0
464d1c:	85 c0                	test   %eax,%eax
464d1e:	74 17                	je     0x464d37
464d20:	83 c7 02             	add    $0x2,%edi
464d23:	0f b7 07             	movzwl (%edi),%eax
464d26:	66 85 c0             	test   %ax,%ax
464d29:	75 ea                	jne    0x464d15
464d2b:	8b ce                	mov    %esi,%ecx
464d2d:	e8 ee de fa ff       	call   0x412c20
464d32:	89 5e 0c             	mov    %ebx,0xc(%esi)
464d35:	89 1e                	mov    %ebx,(%esi)
464d37:	5f                   	pop    %edi
464d38:	5e                   	pop    %esi
464d39:	33 c0                	xor    %eax,%eax
464d3b:	5b                   	pop    %ebx
464d3c:	5d                   	pop    %ebp
464d3d:	c2 08 00             	ret    $0x8
464d40:	55                   	push   %ebp
464d41:	8b ec                	mov    %esp,%ebp
464d43:	8b 45 08             	mov    0x8(%ebp),%eax
464d46:	53                   	push   %ebx
464d47:	8b 40 04             	mov    0x4(%eax),%eax
464d4a:	56                   	push   %esi
464d4b:	8b 30                	mov    (%eax),%esi
464d4d:	57                   	push   %edi
464d4e:	8b ce                	mov    %esi,%ecx
464d50:	e8 17 46 fa ff       	call   0x40936c
464d55:	8b 46 08             	mov    0x8(%esi),%eax
464d58:	8b 75 0c             	mov    0xc(%ebp),%esi
464d5b:	8b 58 04             	mov    0x4(%eax),%ebx
464d5e:	8b ce                	mov    %esi,%ecx
464d60:	89 45 08             	mov    %eax,0x8(%ebp)
464d63:	e8 b8 de fa ff       	call   0x412c20
464d68:	33 ff                	xor    %edi,%edi
464d6a:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
464d71:	89 3e                	mov    %edi,(%esi)
464d73:	85 db                	test   %ebx,%ebx
464d75:	74 1a                	je     0x464d91
464d77:	8b 4d 08             	mov    0x8(%ebp),%ecx
464d7a:	57                   	push   %edi
464d7b:	e8 06 d3 f9 ff       	call   0x402086
464d80:	66 8b 08             	mov    (%eax),%cx
464d83:	e8 59 25 fe ff       	call   0x4472e1
464d88:	85 c0                	test   %eax,%eax
464d8a:	74 14                	je     0x464da0
464d8c:	47                   	inc    %edi
464d8d:	3b fb                	cmp    %ebx,%edi
464d8f:	72 e6                	jb     0x464d77
464d91:	8b ce                	mov    %esi,%ecx
464d93:	e8 88 de fa ff       	call   0x412c20
464d98:	33 c0                	xor    %eax,%eax
464d9a:	40                   	inc    %eax
464d9b:	89 46 0c             	mov    %eax,0xc(%esi)
464d9e:	89 06                	mov    %eax,(%esi)
464da0:	5f                   	pop    %edi
464da1:	5e                   	pop    %esi
464da2:	33 c0                	xor    %eax,%eax
464da4:	5b                   	pop    %ebx
464da5:	5d                   	pop    %ebp
464da6:	c2 08 00             	ret    $0x8
464da9:	55                   	push   %ebp
464daa:	8b ec                	mov    %esp,%ebp
464dac:	8b 45 08             	mov    0x8(%ebp),%eax
464daf:	53                   	push   %ebx
464db0:	8b 40 04             	mov    0x4(%eax),%eax
464db3:	56                   	push   %esi
464db4:	8b 30                	mov    (%eax),%esi
464db6:	57                   	push   %edi
464db7:	8b ce                	mov    %esi,%ecx
464db9:	e8 ae 45 fa ff       	call   0x40936c
464dbe:	8b 46 08             	mov    0x8(%esi),%eax
464dc1:	8b 75 0c             	mov    0xc(%ebp),%esi
464dc4:	8b 38                	mov    (%eax),%edi
464dc6:	8b ce                	mov    %esi,%ecx
464dc8:	e8 53 de fa ff       	call   0x412c20
464dcd:	83 26 00             	andl   $0x0,(%esi)
464dd0:	33 db                	xor    %ebx,%ebx
464dd2:	43                   	inc    %ebx
464dd3:	89 5e 0c             	mov    %ebx,0xc(%esi)
464dd6:	0f b7 07             	movzwl (%edi),%eax
464dd9:	66 85 c0             	test   %ax,%ax
464ddc:	74 22                	je     0x464e00
464dde:	50                   	push   %eax
464ddf:	ff 15 d4 d4 48 00    	call   *0x48d4d4
464de5:	85 c0                	test   %eax,%eax
464de7:	74 17                	je     0x464e00
464de9:	83 c7 02             	add    $0x2,%edi
464dec:	0f b7 07             	movzwl (%edi),%eax
464def:	66 85 c0             	test   %ax,%ax
464df2:	75 ea                	jne    0x464dde
464df4:	8b ce                	mov    %esi,%ecx
464df6:	e8 25 de fa ff       	call   0x412c20
464dfb:	89 5e 0c             	mov    %ebx,0xc(%esi)
464dfe:	89 1e                	mov    %ebx,(%esi)
464e00:	5f                   	pop    %edi
464e01:	5e                   	pop    %esi
464e02:	33 c0                	xor    %eax,%eax
464e04:	5b                   	pop    %ebx
464e05:	5d                   	pop    %ebp
464e06:	c2 08 00             	ret    $0x8
464e09:	55                   	push   %ebp
464e0a:	8b ec                	mov    %esp,%ebp
464e0c:	8b 45 08             	mov    0x8(%ebp),%eax
464e0f:	53                   	push   %ebx
464e10:	8b 40 04             	mov    0x4(%eax),%eax
464e13:	56                   	push   %esi
464e14:	8b 30                	mov    (%eax),%esi
464e16:	57                   	push   %edi
464e17:	8b ce                	mov    %esi,%ecx
464e19:	e8 4e 45 fa ff       	call   0x40936c
464e1e:	8b 46 08             	mov    0x8(%esi),%eax
464e21:	8b 75 0c             	mov    0xc(%ebp),%esi
464e24:	8b 38                	mov    (%eax),%edi
464e26:	8b ce                	mov    %esi,%ecx
464e28:	e8 f3 dd fa ff       	call   0x412c20
464e2d:	83 26 00             	andl   $0x0,(%esi)
464e30:	33 db                	xor    %ebx,%ebx
464e32:	43                   	inc    %ebx
464e33:	89 5e 0c             	mov    %ebx,0xc(%esi)
464e36:	0f b7 07             	movzwl (%edi),%eax
464e39:	66 85 c0             	test   %ax,%ax
464e3c:	74 22                	je     0x464e60
464e3e:	50                   	push   %eax
464e3f:	e8 9d c8 fb ff       	call   0x4216e1
464e44:	59                   	pop    %ecx
464e45:	85 c0                	test   %eax,%eax
464e47:	74 17                	je     0x464e60
464e49:	83 c7 02             	add    $0x2,%edi
464e4c:	0f b7 07             	movzwl (%edi),%eax
464e4f:	66 85 c0             	test   %ax,%ax
464e52:	75 ea                	jne    0x464e3e
464e54:	8b ce                	mov    %esi,%ecx
464e56:	e8 c5 dd fa ff       	call   0x412c20
464e5b:	89 5e 0c             	mov    %ebx,0xc(%esi)
464e5e:	89 1e                	mov    %ebx,(%esi)
464e60:	5f                   	pop    %edi
464e61:	5e                   	pop    %esi
464e62:	33 c0                	xor    %eax,%eax
464e64:	5b                   	pop    %ebx
464e65:	5d                   	pop    %ebp
464e66:	c2 08 00             	ret    $0x8
464e69:	55                   	push   %ebp
464e6a:	8b ec                	mov    %esp,%ebp
464e6c:	83 ec 10             	sub    $0x10,%esp
464e6f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
464e72:	53                   	push   %ebx
464e73:	56                   	push   %esi
464e74:	57                   	push   %edi
464e75:	e8 7d 89 fa ff       	call   0x40d7f7
464e7a:	8b 5d 08             	mov    0x8(%ebp),%ebx
464e7d:	8b 43 04             	mov    0x4(%ebx),%eax
464e80:	8b 30                	mov    (%eax),%esi
464e82:	8b ce                	mov    %esi,%ecx
464e84:	e8 e3 44 fa ff       	call   0x40936c
464e89:	8b 46 08             	mov    0x8(%esi),%eax
464e8c:	8b 70 04             	mov    0x4(%eax),%esi
464e8f:	8b 43 04             	mov    0x4(%ebx),%eax
464e92:	8b 48 04             	mov    0x4(%eax),%ecx
464e95:	e8 ec 83 fa ff       	call   0x40d286
464e9a:	8b f8                	mov    %eax,%edi
464e9c:	85 ff                	test   %edi,%edi
464e9e:	78 20                	js     0x464ec0
464ea0:	3b fe                	cmp    %esi,%edi
464ea2:	7e 02                	jle    0x464ea6
464ea4:	8b fe                	mov    %esi,%edi
464ea6:	8b 43 04             	mov    0x4(%ebx),%eax
464ea9:	8b 30                	mov    (%eax),%esi
464eab:	8b ce                	mov    %esi,%ecx
464ead:	e8 ba 44 fa ff       	call   0x40936c
464eb2:	57                   	push   %edi
464eb3:	6a 00                	push   $0x0
464eb5:	ff 76 08             	push   0x8(%esi)
464eb8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
464ebb:	e8 29 1b fa ff       	call   0x4069e9
464ec0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464ec3:	8d 45 f0             	lea    -0x10(%ebp),%eax
464ec6:	50                   	push   %eax
464ec7:	e8 9c 1c fa ff       	call   0x406b68
464ecc:	8d 4d f0             	lea    -0x10(%ebp),%ecx
464ecf:	e8 63 7c fa ff       	call   0x40cb37
464ed4:	5f                   	pop    %edi
464ed5:	5e                   	pop    %esi
464ed6:	33 c0                	xor    %eax,%eax
464ed8:	5b                   	pop    %ebx
464ed9:	c9                   	leave
464eda:	c2 08 00             	ret    $0x8
464edd:	55                   	push   %ebp
464ede:	8b ec                	mov    %esp,%ebp
464ee0:	8b 45 08             	mov    0x8(%ebp),%eax
464ee3:	56                   	push   %esi
464ee4:	8b 40 04             	mov    0x4(%eax),%eax
464ee7:	57                   	push   %edi
464ee8:	8b 30                	mov    (%eax),%esi
464eea:	8b ce                	mov    %esi,%ecx
464eec:	e8 7b 44 fa ff       	call   0x40936c
464ef1:	8b 46 08             	mov    0x8(%esi),%eax
464ef4:	8b 75 0c             	mov    0xc(%ebp),%esi
464ef7:	8b 78 04             	mov    0x4(%eax),%edi
464efa:	8b ce                	mov    %esi,%ecx
464efc:	e8 1f dd fa ff       	call   0x412c20
464f01:	89 3e                	mov    %edi,(%esi)
464f03:	5f                   	pop    %edi
464f04:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
464f0b:	33 c0                	xor    %eax,%eax
464f0d:	5e                   	pop    %esi
464f0e:	5d                   	pop    %ebp
464f0f:	c2 08 00             	ret    $0x8
464f12:	55                   	push   %ebp
464f13:	8b ec                	mov    %esp,%ebp
464f15:	83 ec 10             	sub    $0x10,%esp
464f18:	8b 45 08             	mov    0x8(%ebp),%eax
464f1b:	56                   	push   %esi
464f1c:	8b 40 04             	mov    0x4(%eax),%eax
464f1f:	8b 30                	mov    (%eax),%esi
464f21:	8b ce                	mov    %esi,%ecx
464f23:	e8 44 44 fa ff       	call   0x40936c
464f28:	8b 4e 08             	mov    0x8(%esi),%ecx
464f2b:	8b 01                	mov    (%ecx),%eax
464f2d:	89 45 f0             	mov    %eax,-0x10(%ebp)
464f30:	8b 41 04             	mov    0x4(%ecx),%eax
464f33:	89 45 f4             	mov    %eax,-0xc(%ebp)
464f36:	8b 41 08             	mov    0x8(%ecx),%eax
464f39:	89 45 f8             	mov    %eax,-0x8(%ebp)
464f3c:	8b 41 0c             	mov    0xc(%ecx),%eax
464f3f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
464f42:	ff 00                	incl   (%eax)
464f44:	89 45 fc             	mov    %eax,-0x4(%ebp)
464f47:	e8 ae 6e fa ff       	call   0x40bdfa
464f4c:	ff 75 f4             	push   -0xc(%ebp)
464f4f:	ff 75 f0             	push   -0x10(%ebp)
464f52:	ff 15 2c d7 48 00    	call   *0x48d72c
464f58:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464f5b:	8d 45 f0             	lea    -0x10(%ebp),%eax
464f5e:	50                   	push   %eax
464f5f:	e8 04 1c fa ff       	call   0x406b68
464f64:	8d 4d f0             	lea    -0x10(%ebp),%ecx
464f67:	e8 cb 7b fa ff       	call   0x40cb37
464f6c:	33 c0                	xor    %eax,%eax
464f6e:	5e                   	pop    %esi
464f6f:	c9                   	leave
464f70:	c2 08 00             	ret    $0x8
464f73:	55                   	push   %ebp
464f74:	8b ec                	mov    %esp,%ebp
464f76:	83 e4 f8             	and    $0xfffffff8,%esp
464f79:	83 ec 34             	sub    $0x34,%esp
464f7c:	53                   	push   %ebx
464f7d:	56                   	push   %esi
464f7e:	57                   	push   %edi
464f7f:	8b f9                	mov    %ecx,%edi
464f81:	8d 4c 24 30          	lea    0x30(%esp),%ecx
464f85:	e8 6d 88 fa ff       	call   0x40d7f7
464f8a:	8b 5d 08             	mov    0x8(%ebp),%ebx
464f8d:	8b 43 04             	mov    0x4(%ebx),%eax
464f90:	8b 30                	mov    (%eax),%esi
464f92:	8b ce                	mov    %esi,%ecx
464f94:	e8 d3 43 fa ff       	call   0x40936c
464f99:	8b 46 08             	mov    0x8(%esi),%eax
464f9c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
464fa0:	ff 70 04             	push   0x4(%eax)
464fa3:	89 44 24 18          	mov    %eax,0x18(%esp)
464fa7:	e8 63 1b fa ff       	call   0x406b0f
464fac:	8b 43 04             	mov    0x4(%ebx),%eax
464faf:	8b 70 08             	mov    0x8(%eax),%esi
464fb2:	8b ce                	mov    %esi,%ecx
464fb4:	e8 b3 43 fa ff       	call   0x40936c
464fb9:	8b 46 08             	mov    0x8(%esi),%eax
464fbc:	89 44 24 10          	mov    %eax,0x10(%esp)
464fc0:	8b 43 04             	mov    0x4(%ebx),%eax
464fc3:	8b 70 04             	mov    0x4(%eax),%esi
464fc6:	8b ce                	mov    %esi,%ecx
464fc8:	e8 c1 84 fa ff       	call   0x40d48e
464fcd:	8b ce                	mov    %esi,%ecx
464fcf:	84 c0                	test   %al,%al
464fd1:	74 74                	je     0x465047
464fd3:	e8 ae 82 fa ff       	call   0x40d286
464fd8:	8b f0                	mov    %eax,%esi
464fda:	4e                   	dec    %esi
464fdb:	78 59                	js     0x465036
464fdd:	8b 44 24 10          	mov    0x10(%esp),%eax
464fe1:	8b 5c 24 14          	mov    0x14(%esp),%ebx
464fe5:	8b 48 04             	mov    0x4(%eax),%ecx
464fe8:	03 ce                	add    %esi,%ecx
464fea:	3b 4b 04             	cmp    0x4(%ebx),%ecx
464fed:	77 47                	ja     0x465036
464fef:	56                   	push   %esi
464ff0:	6a 00                	push   $0x0
464ff2:	53                   	push   %ebx
464ff3:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
464ff7:	e8 ed 19 fa ff       	call   0x4069e9
464ffc:	8b 7c 24 10          	mov    0x10(%esp),%edi
465000:	57                   	push   %edi
465001:	8d 4c 24 24          	lea    0x24(%esp),%ecx
465005:	e8 03 01 fa ff       	call   0x40510d
46500a:	8b 4f 04             	mov    0x4(%edi),%ecx
46500d:	8b 43 04             	mov    0x4(%ebx),%eax
465010:	2b c1                	sub    %ecx,%eax
465012:	2b c6                	sub    %esi,%eax
465014:	50                   	push   %eax
465015:	8d 04 31             	lea    (%ecx,%esi,1),%eax
465018:	50                   	push   %eax
465019:	53                   	push   %ebx
46501a:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
46501e:	e8 c6 19 fa ff       	call   0x4069e9
465023:	8d 44 24 30          	lea    0x30(%esp),%eax
465027:	50                   	push   %eax
465028:	8d 4c 24 24          	lea    0x24(%esp),%ecx
46502c:	e8 dc 00 fa ff       	call   0x40510d
465031:	e9 ac 00 00 00       	jmp    0x4650e2
465036:	8b 4d 0c             	mov    0xc(%ebp),%ecx
465039:	68 00 dc 49 00       	push   $0x49dc00
46503e:	e8 76 7d fa ff       	call   0x40cdb9
465043:	6a 00                	push   $0x0
465045:	eb 21                	jmp    0x465068
465047:	e8 20 43 fa ff       	call   0x40936c
46504c:	8b 46 08             	mov    0x8(%esi),%eax
46504f:	33 f6                	xor    %esi,%esi
465051:	89 44 24 1c          	mov    %eax,0x1c(%esp)