481dff:	8b 06                	mov    (%esi),%eax
481e01:	6a 00                	push   $0x0
481e03:	6a 01                	push   $0x1
481e05:	8b 48 04             	mov    0x4(%eax),%ecx
481e08:	03 ce                	add    %esi,%ecx
481e0a:	e8 94 4c fd ff       	call   0x456aa3
481e0f:	5f                   	pop    %edi
481e10:	5e                   	pop    %esi
481e11:	33 c0                	xor    %eax,%eax
481e13:	5b                   	pop    %ebx
481e14:	8b e5                	mov    %ebp,%esp
481e16:	5d                   	pop    %ebp
481e17:	c2 08 00             	ret    $0x8
481e1a:	55                   	push   %ebp
481e1b:	8b ec                	mov    %esp,%ebp
481e1d:	83 ec 18             	sub    $0x18,%esp
481e20:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
481e24:	83 c8 ff             	or     $0xffffffff,%eax
481e27:	89 45 f8             	mov    %eax,-0x8(%ebp)
481e2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
481e2d:	8b 45 08             	mov    0x8(%ebp),%eax
481e30:	53                   	push   %ebx
481e31:	56                   	push   %esi
481e32:	57                   	push   %edi
481e33:	8b 40 04             	mov    0x4(%eax),%eax
481e36:	8b f9                	mov    %ecx,%edi
481e38:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
481e3f:	33 db                	xor    %ebx,%ebx
481e41:	8b 30                	mov    (%eax),%esi
481e43:	8b ce                	mov    %esi,%ecx
481e45:	e8 4d 7b f8 ff       	call   0x409997
481e4a:	8b 46 08             	mov    0x8(%esi),%eax
481e4d:	89 45 f0             	mov    %eax,-0x10(%ebp)
481e50:	8b 45 08             	mov    0x8(%ebp),%eax
481e53:	8b 40 04             	mov    0x4(%eax),%eax
481e56:	8b 70 04             	mov    0x4(%eax),%esi
481e59:	8b ce                	mov    %esi,%ecx
481e5b:	e8 37 7b f8 ff       	call   0x409997
481e60:	8b 46 08             	mov    0x8(%esi),%eax
481e63:	8b 75 08             	mov    0x8(%ebp),%esi
481e66:	89 45 ec             	mov    %eax,-0x14(%ebp)
481e69:	8b 46 08             	mov    0x8(%esi),%eax
481e6c:	48                   	dec    %eax
481e6d:	48                   	dec    %eax
481e6e:	0f 84 83 00 00 00    	je     0x481ef7
481e74:	48                   	dec    %eax
481e75:	74 68                	je     0x481edf
481e77:	48                   	dec    %eax
481e78:	74 53                	je     0x481ecd
481e7a:	48                   	dec    %eax
481e7b:	74 3f                	je     0x481ebc
481e7d:	48                   	dec    %eax
481e7e:	0f 85 93 00 00 00    	jne    0x481f17
481e84:	8b 46 04             	mov    0x4(%esi),%eax
481e87:	8b 48 14             	mov    0x14(%eax),%ecx
481e8a:	e8 0d 7e f8 ff       	call   0x409c9c
481e8f:	89 45 fc             	mov    %eax,-0x4(%ebp)
481e92:	85 c0                	test   %eax,%eax
481e94:	7f 26                	jg     0x481ebc
481e96:	8b 75 0c             	mov    0xc(%ebp),%esi
481e99:	8b ce                	mov    %esi,%ecx
481e9b:	e8 80 7b f8 ff       	call   0x409a20
481ea0:	21 1e                	and    %ebx,(%esi)
481ea2:	33 c0                	xor    %eax,%eax
481ea4:	40                   	inc    %eax
481ea5:	6a 00                	push   $0x0
481ea7:	89 46 0c             	mov    %eax,0xc(%esi)
481eaa:	50                   	push   %eax
481eab:	8b 07                	mov    (%edi),%eax
481ead:	8b 48 04             	mov    0x4(%eax),%ecx
481eb0:	03 cf                	add    %edi,%ecx
481eb2:	e8 ec 4b fd ff       	call   0x456aa3
481eb7:	e9 8b 00 00 00       	jmp    0x481f47
481ebc:	8b 46 04             	mov    0x4(%esi),%eax
481ebf:	8b 48 10             	mov    0x10(%eax),%ecx
481ec2:	e8 d5 7d f8 ff       	call   0x409c9c
481ec7:	48                   	dec    %eax
481ec8:	89 45 f8             	mov    %eax,-0x8(%ebp)
481ecb:	78 c9                	js     0x481e96
481ecd:	8b 46 04             	mov    0x4(%esi),%eax
481ed0:	8b 48 0c             	mov    0xc(%eax),%ecx
481ed3:	e8 c4 7d f8 ff       	call   0x409c9c
481ed8:	89 45 f4             	mov    %eax,-0xc(%ebp)
481edb:	85 c0                	test   %eax,%eax
481edd:	74 b7                	je     0x481e96
481edf:	8b 46 04             	mov    0x4(%esi),%eax
481ee2:	8b 48 08             	mov    0x8(%eax),%ecx
481ee5:	e8 b2 7d f8 ff       	call   0x409c9c
481eea:	8b d8                	mov    %eax,%ebx
481eec:	85 db                	test   %ebx,%ebx
481eee:	78 05                	js     0x481ef5
481ef0:	83 fb 03             	cmp    $0x3,%ebx
481ef3:	7e 02                	jle    0x481ef7
481ef5:	33 db                	xor    %ebx,%ebx
481ef7:	ff 75 fc             	push   -0x4(%ebp)
481efa:	8b 45 ec             	mov    -0x14(%ebp),%eax
481efd:	ff 75 f8             	push   -0x8(%ebp)
481f00:	8b 75 f0             	mov    -0x10(%ebp),%esi
481f03:	8b ce                	mov    %esi,%ecx
481f05:	ff 70 04             	push   0x4(%eax)
481f08:	ff 75 f4             	push   -0xc(%ebp)
481f0b:	53                   	push   %ebx
481f0c:	ff 30                	push   (%eax)
481f0e:	e8 45 d7 fd ff       	call   0x45f658
481f13:	8b d8                	mov    %eax,%ebx
481f15:	eb 06                	jmp    0x481f1d
481f17:	8b 5d e8             	mov    -0x18(%ebp),%ebx
481f1a:	8b 75 f0             	mov    -0x10(%ebp),%esi
481f1d:	3b 5e 04             	cmp    0x4(%esi),%ebx
481f20:	8b 75 0c             	mov    0xc(%ebp),%esi
481f23:	8b ce                	mov    %esi,%ecx
481f25:	75 10                	jne    0x481f37
481f27:	e8 f4 7a f8 ff       	call   0x409a20
481f2c:	33 c0                	xor    %eax,%eax
481f2e:	40                   	inc    %eax
481f2f:	83 26 00             	andl   $0x0,(%esi)
481f32:	89 46 0c             	mov    %eax,0xc(%esi)
481f35:	eb 10                	jmp    0x481f47
481f37:	e8 e4 7a f8 ff       	call   0x409a20
481f3c:	33 c0                	xor    %eax,%eax
481f3e:	40                   	inc    %eax
481f3f:	89 46 0c             	mov    %eax,0xc(%esi)
481f42:	8d 43 01             	lea    0x1(%ebx),%eax
481f45:	89 06                	mov    %eax,(%esi)
481f47:	5f                   	pop    %edi
481f48:	5e                   	pop    %esi
481f49:	33 c0                	xor    %eax,%eax
481f4b:	5b                   	pop    %ebx
481f4c:	8b e5                	mov    %ebp,%esp
481f4e:	5d                   	pop    %ebp
481f4f:	c2 08 00             	ret    $0x8
481f52:	55                   	push   %ebp
481f53:	8b ec                	mov    %esp,%ebp
481f55:	8b 45 08             	mov    0x8(%ebp),%eax
481f58:	53                   	push   %ebx
481f59:	56                   	push   %esi
481f5a:	57                   	push   %edi
481f5b:	8b 40 04             	mov    0x4(%eax),%eax
481f5e:	8b 30                	mov    (%eax),%esi
481f60:	8b ce                	mov    %esi,%ecx
481f62:	e8 30 7a f8 ff       	call   0x409997
481f67:	8b 46 08             	mov    0x8(%esi),%eax
481f6a:	8b 75 0c             	mov    0xc(%ebp),%esi
481f6d:	8b ce                	mov    %esi,%ecx
481f6f:	8b 38                	mov    (%eax),%edi
481f71:	e8 aa 7a f8 ff       	call   0x409a20
481f76:	83 26 00             	andl   $0x0,(%esi)
481f79:	33 db                	xor    %ebx,%ebx
481f7b:	43                   	inc    %ebx
481f7c:	89 5e 0c             	mov    %ebx,0xc(%esi)
481f7f:	0f b7 07             	movzwl (%edi),%eax
481f82:	66 85 c0             	test   %ax,%ax
481f85:	74 22                	je     0x481fa9
481f87:	50                   	push   %eax
481f88:	e8 cd 18 fa ff       	call   0x42385a
481f8d:	59                   	pop    %ecx
481f8e:	85 c0                	test   %eax,%eax
481f90:	74 17                	je     0x481fa9
481f92:	83 c7 02             	add    $0x2,%edi
481f95:	0f b7 07             	movzwl (%edi),%eax
481f98:	66 85 c0             	test   %ax,%ax
481f9b:	75 ea                	jne    0x481f87
481f9d:	8b ce                	mov    %esi,%ecx
481f9f:	e8 7c 7a f8 ff       	call   0x409a20
481fa4:	89 5e 0c             	mov    %ebx,0xc(%esi)
481fa7:	89 1e                	mov    %ebx,(%esi)
481fa9:	5f                   	pop    %edi
481faa:	5e                   	pop    %esi
481fab:	33 c0                	xor    %eax,%eax
481fad:	5b                   	pop    %ebx
481fae:	5d                   	pop    %ebp
481faf:	c2 08 00             	ret    $0x8
481fb2:	55                   	push   %ebp
481fb3:	8b ec                	mov    %esp,%ebp
481fb5:	8b 45 08             	mov    0x8(%ebp),%eax
481fb8:	53                   	push   %ebx
481fb9:	56                   	push   %esi
481fba:	57                   	push   %edi
481fbb:	8b 40 04             	mov    0x4(%eax),%eax
481fbe:	8b 30                	mov    (%eax),%esi
481fc0:	8b ce                	mov    %esi,%ecx
481fc2:	e8 d0 79 f8 ff       	call   0x409997
481fc7:	8b 46 08             	mov    0x8(%esi),%eax
481fca:	8b 75 0c             	mov    0xc(%ebp),%esi
481fcd:	8b ce                	mov    %esi,%ecx
481fcf:	8b 38                	mov    (%eax),%edi
481fd1:	e8 4a 7a f8 ff       	call   0x409a20
481fd6:	83 26 00             	andl   $0x0,(%esi)
481fd9:	33 db                	xor    %ebx,%ebx
481fdb:	43                   	inc    %ebx
481fdc:	89 5e 0c             	mov    %ebx,0xc(%esi)
481fdf:	0f b7 07             	movzwl (%edi),%eax
481fe2:	66 85 c0             	test   %ax,%ax
481fe5:	74 22                	je     0x482009
481fe7:	50                   	push   %eax
481fe8:	ff 15 ec f4 48 00    	call   *0x48f4ec
481fee:	85 c0                	test   %eax,%eax
481ff0:	74 17                	je     0x482009
481ff2:	83 c7 02             	add    $0x2,%edi
481ff5:	0f b7 07             	movzwl (%edi),%eax
481ff8:	66 85 c0             	test   %ax,%ax
481ffb:	75 ea                	jne    0x481fe7
481ffd:	8b ce                	mov    %esi,%ecx
481fff:	e8 1c 7a f8 ff       	call   0x409a20
482004:	89 5e 0c             	mov    %ebx,0xc(%esi)
482007:	89 1e                	mov    %ebx,(%esi)
482009:	5f                   	pop    %edi
48200a:	5e                   	pop    %esi
48200b:	33 c0                	xor    %eax,%eax
48200d:	5b                   	pop    %ebx
48200e:	5d                   	pop    %ebp
48200f:	c2 08 00             	ret    $0x8
482012:	55                   	push   %ebp
482013:	8b ec                	mov    %esp,%ebp
482015:	8b 45 08             	mov    0x8(%ebp),%eax
482018:	53                   	push   %ebx
482019:	56                   	push   %esi
48201a:	57                   	push   %edi
48201b:	8b 40 04             	mov    0x4(%eax),%eax
48201e:	8b 30                	mov    (%eax),%esi
482020:	8b ce                	mov    %esi,%ecx
482022:	e8 70 79 f8 ff       	call   0x409997
482027:	8b 46 08             	mov    0x8(%esi),%eax
48202a:	8b 75 0c             	mov    0xc(%ebp),%esi
48202d:	8b ce                	mov    %esi,%ecx
48202f:	8b 38                	mov    (%eax),%edi
482031:	e8 ea 79 f8 ff       	call   0x409a20
482036:	83 26 00             	andl   $0x0,(%esi)
482039:	33 db                	xor    %ebx,%ebx
48203b:	43                   	inc    %ebx
48203c:	89 5e 0c             	mov    %ebx,0xc(%esi)
48203f:	0f b7 07             	movzwl (%edi),%eax
482042:	66 85 c0             	test   %ax,%ax
482045:	74 22                	je     0x482069
482047:	50                   	push   %eax
482048:	ff 15 e8 f4 48 00    	call   *0x48f4e8
48204e:	85 c0                	test   %eax,%eax
482050:	74 17                	je     0x482069
482052:	83 c7 02             	add    $0x2,%edi
482055:	0f b7 07             	movzwl (%edi),%eax
482058:	66 85 c0             	test   %ax,%ax
48205b:	75 ea                	jne    0x482047
48205d:	8b ce                	mov    %esi,%ecx
48205f:	e8 bc 79 f8 ff       	call   0x409a20
482064:	89 5e 0c             	mov    %ebx,0xc(%esi)
482067:	89 1e                	mov    %ebx,(%esi)
482069:	5f                   	pop    %edi
48206a:	5e                   	pop    %esi
48206b:	33 c0                	xor    %eax,%eax
48206d:	5b                   	pop    %ebx
48206e:	5d                   	pop    %ebp
48206f:	c2 08 00             	ret    $0x8
482072:	55                   	push   %ebp
482073:	8b ec                	mov    %esp,%ebp
482075:	8b 45 08             	mov    0x8(%ebp),%eax
482078:	53                   	push   %ebx
482079:	56                   	push   %esi
48207a:	57                   	push   %edi
48207b:	8b 40 04             	mov    0x4(%eax),%eax
48207e:	8b 30                	mov    (%eax),%esi
482080:	8b ce                	mov    %esi,%ecx
482082:	e8 10 79 f8 ff       	call   0x409997
482087:	8b 46 08             	mov    0x8(%esi),%eax
48208a:	8b 75 0c             	mov    0xc(%ebp),%esi
48208d:	8b ce                	mov    %esi,%ecx
48208f:	8b 38                	mov    (%eax),%edi
482091:	e8 8a 79 f8 ff       	call   0x409a20
482096:	83 26 00             	andl   $0x0,(%esi)
482099:	33 db                	xor    %ebx,%ebx
48209b:	43                   	inc    %ebx
48209c:	89 5e 0c             	mov    %ebx,0xc(%esi)
48209f:	0f b7 07             	movzwl (%edi),%eax
4820a2:	66 85 c0             	test   %ax,%ax
4820a5:	74 22                	je     0x4820c9
4820a7:	50                   	push   %eax
4820a8:	e8 bf 17 fa ff       	call   0x42386c
4820ad:	59                   	pop    %ecx
4820ae:	85 c0                	test   %eax,%eax
4820b0:	74 17                	je     0x4820c9
4820b2:	83 c7 02             	add    $0x2,%edi
4820b5:	0f b7 07             	movzwl (%edi),%eax
4820b8:	66 85 c0             	test   %ax,%ax
4820bb:	75 ea                	jne    0x4820a7
4820bd:	8b ce                	mov    %esi,%ecx
4820bf:	e8 5c 79 f8 ff       	call   0x409a20
4820c4:	89 5e 0c             	mov    %ebx,0xc(%esi)
4820c7:	89 1e                	mov    %ebx,(%esi)
4820c9:	5f                   	pop    %edi
4820ca:	5e                   	pop    %esi
4820cb:	33 c0                	xor    %eax,%eax
4820cd:	5b                   	pop    %ebx
4820ce:	5d                   	pop    %ebp
4820cf:	c2 08 00             	ret    $0x8
4820d2:	55                   	push   %ebp
4820d3:	8b ec                	mov    %esp,%ebp
4820d5:	8b 45 08             	mov    0x8(%ebp),%eax
4820d8:	56                   	push   %esi
4820d9:	57                   	push   %edi
4820da:	8b 40 04             	mov    0x4(%eax),%eax
4820dd:	ff 30                	push   (%eax)
4820df:	e8 17 0c 00 00       	call   0x482cfb
4820e4:	8b 75 0c             	mov    0xc(%ebp),%esi
4820e7:	8b ce                	mov    %esi,%ecx
4820e9:	0f b6 f8             	movzbl %al,%edi
4820ec:	e8 2f 79 f8 ff       	call   0x409a20
4820f1:	89 3e                	mov    %edi,(%esi)
4820f3:	33 c0                	xor    %eax,%eax
4820f5:	5f                   	pop    %edi
4820f6:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4820fd:	5e                   	pop    %esi
4820fe:	5d                   	pop    %ebp
4820ff:	c2 08 00             	ret    $0x8
482102:	55                   	push   %ebp
482103:	8b ec                	mov    %esp,%ebp
482105:	8b 45 08             	mov    0x8(%ebp),%eax
482108:	56                   	push   %esi
482109:	57                   	push   %edi
48210a:	8b 40 04             	mov    0x4(%eax),%eax
48210d:	ff 30                	push   (%eax)
48210f:	e8 e1 0c 00 00       	call   0x482df5
482114:	8b 75 0c             	mov    0xc(%ebp),%esi
482117:	8b ce                	mov    %esi,%ecx
482119:	0f b6 f8             	movzbl %al,%edi
48211c:	e8 ff 78 f8 ff       	call   0x409a20
482121:	89 3e                	mov    %edi,(%esi)
482123:	33 c0                	xor    %eax,%eax
482125:	5f                   	pop    %edi
482126:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
48212d:	5e                   	pop    %esi
48212e:	5d                   	pop    %ebp
48212f:	c2 08 00             	ret    $0x8
482132:	55                   	push   %ebp
482133:	8b ec                	mov    %esp,%ebp
482135:	8b 45 08             	mov    0x8(%ebp),%eax
482138:	53                   	push   %ebx
482139:	56                   	push   %esi
48213a:	57                   	push   %edi
48213b:	8b 40 04             	mov    0x4(%eax),%eax
48213e:	8b 30                	mov    (%eax),%esi
482140:	8b ce                	mov    %esi,%ecx
482142:	e8 50 78 f8 ff       	call   0x409997
482147:	8b 46 08             	mov    0x8(%esi),%eax
48214a:	8b 75 0c             	mov    0xc(%ebp),%esi
48214d:	8b ce                	mov    %esi,%ecx
48214f:	8b 38                	mov    (%eax),%edi
482151:	e8 ca 78 f8 ff       	call   0x409a20
482156:	83 26 00             	andl   $0x0,(%esi)
482159:	33 db                	xor    %ebx,%ebx
48215b:	43                   	inc    %ebx
48215c:	89 5e 0c             	mov    %ebx,0xc(%esi)