461e3e:	8b cf                	mov    %edi,%ecx
461e40:	e8 1b 00 00 00       	call   0x461e60
461e45:	eb 0e                	jmp    0x461e55
461e47:	e8 fa 7e fa ff       	call   0x409d46
461e4c:	52                   	push   %edx
461e4d:	50                   	push   %eax
461e4e:	8b cf                	mov    %edi,%ecx
461e50:	e8 75 00 00 00       	call   0x461eca
461e55:	85 c0                	test   %eax,%eax
461e57:	5f                   	pop    %edi
461e58:	0f 95 c0             	setne  %al
461e5b:	5e                   	pop    %esi
461e5c:	5d                   	pop    %ebp
461e5d:	c2 04 00             	ret    $0x4
461e60:	55                   	push   %ebp
461e61:	8b ec                	mov    %esp,%ebp
461e63:	51                   	push   %ecx
461e64:	51                   	push   %ecx
461e65:	8d 45 fc             	lea    -0x4(%ebp),%eax
461e68:	50                   	push   %eax
461e69:	8d 45 f8             	lea    -0x8(%ebp),%eax
461e6c:	50                   	push   %eax
461e6d:	ff 75 08             	push   0x8(%ebp)
461e70:	e8 06 00 00 00       	call   0x461e7b
461e75:	8b e5                	mov    %ebp,%esp
461e77:	5d                   	pop    %ebp
461e78:	c2 04 00             	ret    $0x4
461e7b:	55                   	push   %ebp
461e7c:	8b ec                	mov    %esp,%ebp
461e7e:	56                   	push   %esi
461e7f:	57                   	push   %edi
461e80:	ff 75 08             	push   0x8(%ebp)
461e83:	8b f1                	mov    %ecx,%esi
461e85:	e8 ce 3f fb ff       	call   0x415e58
461e8a:	8b 55 10             	mov    0x10(%ebp),%edx
461e8d:	25 ff 03 00 00       	and    $0x3ff,%eax
461e92:	8b 4e 14             	mov    0x14(%esi),%ecx
461e95:	8b 7d 0c             	mov    0xc(%ebp),%edi
461e98:	89 02                	mov    %eax,(%edx)
461e9a:	8b 34 81             	mov    (%ecx,%eax,4),%esi
461e9d:	83 27 00             	andl   $0x0,(%edi)
461ea0:	eb 15                	jmp    0x461eb7
461ea2:	8b 4e 08             	mov    0x8(%esi),%ecx
461ea5:	8b 55 08             	mov    0x8(%ebp),%edx
461ea8:	83 c1 04             	add    $0x4,%ecx
461eab:	e8 39 40 fb ff       	call   0x415ee9
461eb0:	84 c0                	test   %al,%al
461eb2:	75 0f                	jne    0x461ec3
461eb4:	8b 76 04             	mov    0x4(%esi),%esi
461eb7:	85 f6                	test   %esi,%esi
461eb9:	75 e7                	jne    0x461ea2
461ebb:	33 c0                	xor    %eax,%eax
461ebd:	5f                   	pop    %edi
461ebe:	5e                   	pop    %esi
461ebf:	5d                   	pop    %ebp
461ec0:	c2 0c 00             	ret    $0xc
461ec3:	8b 46 08             	mov    0x8(%esi),%eax
461ec6:	89 37                	mov    %esi,(%edi)
461ec8:	eb f3                	jmp    0x461ebd
461eca:	55                   	push   %ebp
461ecb:	8b ec                	mov    %esp,%ebp
461ecd:	51                   	push   %ecx
461ece:	51                   	push   %ecx
461ecf:	8d 45 fc             	lea    -0x4(%ebp),%eax
461ed2:	50                   	push   %eax
461ed3:	8d 45 f8             	lea    -0x8(%ebp),%eax
461ed6:	50                   	push   %eax
461ed7:	ff 75 0c             	push   0xc(%ebp)
461eda:	ff 75 08             	push   0x8(%ebp)
461edd:	e8 06 00 00 00       	call   0x461ee8
461ee2:	8b e5                	mov    %ebp,%esp
461ee4:	5d                   	pop    %ebp
461ee5:	c2 08 00             	ret    $0x8
461ee8:	55                   	push   %ebp
461ee9:	8b ec                	mov    %esp,%ebp
461eeb:	8b 45 14             	mov    0x14(%ebp),%eax
461eee:	56                   	push   %esi
461eef:	57                   	push   %edi
461ef0:	8b 7d 08             	mov    0x8(%ebp),%edi
461ef3:	8b d7                	mov    %edi,%edx
461ef5:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
461efb:	89 10                	mov    %edx,(%eax)
461efd:	8b 41 14             	mov    0x14(%ecx),%eax
461f00:	8b 4d 10             	mov    0x10(%ebp),%ecx
461f03:	8b 04 90             	mov    (%eax,%edx,4),%eax
461f06:	83 21 00             	andl   $0x0,(%ecx)
461f09:	85 c0                	test   %eax,%eax
461f0b:	74 17                	je     0x461f24
461f0d:	8b 75 0c             	mov    0xc(%ebp),%esi
461f10:	8b 50 08             	mov    0x8(%eax),%edx
461f13:	39 7a 18             	cmp    %edi,0x18(%edx)
461f16:	75 05                	jne    0x461f1d
461f18:	39 72 1c             	cmp    %esi,0x1c(%edx)
461f1b:	74 0f                	je     0x461f2c
461f1d:	8b 40 04             	mov    0x4(%eax),%eax
461f20:	85 c0                	test   %eax,%eax
461f22:	75 ec                	jne    0x461f10
461f24:	33 c0                	xor    %eax,%eax
461f26:	5f                   	pop    %edi
461f27:	5e                   	pop    %esi
461f28:	5d                   	pop    %ebp
461f29:	c2 10 00             	ret    $0x10
461f2c:	89 01                	mov    %eax,(%ecx)
461f2e:	8b c2                	mov    %edx,%eax
461f30:	eb f4                	jmp    0x461f26
461f32:	55                   	push   %ebp
461f33:	8b ec                	mov    %esp,%ebp
461f35:	51                   	push   %ecx
461f36:	57                   	push   %edi
461f37:	ff 75 0c             	push   0xc(%ebp)
461f3a:	8b f9                	mov    %ecx,%edi
461f3c:	e8 44 fc ff ff       	call   0x461b85
461f41:	ff 75 08             	push   0x8(%ebp)
461f44:	8b cf                	mov    %edi,%ecx
461f46:	e8 15 ff ff ff       	call   0x461e60
461f4b:	85 c0                	test   %eax,%eax
461f4d:	74 05                	je     0x461f54
461f4f:	8b 40 20             	mov    0x20(%eax),%eax
461f52:	eb 31                	jmp    0x461f85
461f54:	83 7d 0c 08          	cmpl   $0x8,0xc(%ebp)
461f58:	74 17                	je     0x461f71
461f5a:	83 7d 0c 20          	cmpl   $0x20,0xc(%ebp)
461f5e:	74 11                	je     0x461f71
461f60:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
461f64:	75 07                	jne    0x461f6d
461f66:	e8 77 04 00 00       	call   0x4623e2
461f6b:	eb 18                	jmp    0x461f85
461f6d:	33 c0                	xor    %eax,%eax
461f6f:	eb 14                	jmp    0x461f85
461f71:	6a 01                	push   $0x1
461f73:	51                   	push   %ecx
461f74:	e8 69 04 00 00       	call   0x4623e2
461f79:	59                   	pop    %ecx
461f7a:	50                   	push   %eax
461f7b:	ff 75 08             	push   0x8(%ebp)
461f7e:	8b cf                	mov    %edi,%ecx
461f80:	e8 e7 05 00 00       	call   0x46256c
461f85:	5f                   	pop    %edi
461f86:	59                   	pop    %ecx
461f87:	5d                   	pop    %ebp
461f88:	c2 08 00             	ret    $0x8
461f8b:	55                   	push   %ebp
461f8c:	8b ec                	mov    %esp,%ebp
461f8e:	57                   	push   %edi
461f8f:	ff 75 10             	push   0x10(%ebp)
461f92:	8b f9                	mov    %ecx,%edi
461f94:	e8 ec fb ff ff       	call   0x461b85
461f99:	ff 75 0c             	push   0xc(%ebp)
461f9c:	8b cf                	mov    %edi,%ecx
461f9e:	ff 75 08             	push   0x8(%ebp)
461fa1:	e8 24 ff ff ff       	call   0x461eca
461fa6:	85 c0                	test   %eax,%eax
461fa8:	74 05                	je     0x461faf
461faa:	8b 40 20             	mov    0x20(%eax),%eax
461fad:	eb 33                	jmp    0x461fe2
461faf:	83 7d 10 08          	cmpl   $0x8,0x10(%ebp)
461fb3:	74 17                	je     0x461fcc
461fb5:	83 7d 10 20          	cmpl   $0x20,0x10(%ebp)
461fb9:	74 11                	je     0x461fcc
461fbb:	83 7d 10 02          	cmpl   $0x2,0x10(%ebp)
461fbf:	75 07                	jne    0x461fc8
461fc1:	e8 1c 04 00 00       	call   0x4623e2
461fc6:	eb 1a                	jmp    0x461fe2
461fc8:	33 c0                	xor    %eax,%eax
461fca:	eb 16                	jmp    0x461fe2
461fcc:	51                   	push   %ecx
461fcd:	51                   	push   %ecx
461fce:	e8 0f 04 00 00       	call   0x4623e2
461fd3:	59                   	pop    %ecx
461fd4:	50                   	push   %eax
461fd5:	ff 75 0c             	push   0xc(%ebp)
461fd8:	8b cf                	mov    %edi,%ecx
461fda:	ff 75 08             	push   0x8(%ebp)
461fdd:	e8 24 06 00 00       	call   0x462606
461fe2:	5f                   	pop    %edi
461fe3:	5d                   	pop    %ebp
461fe4:	c2 0c 00             	ret    $0xc
461fe7:	55                   	push   %ebp
461fe8:	8b ec                	mov    %esp,%ebp
461fea:	56                   	push   %esi
461feb:	ff 75 0c             	push   0xc(%ebp)
461fee:	8b f1                	mov    %ecx,%esi
461ff0:	e8 90 fb ff ff       	call   0x461b85
461ff5:	8b 46 10             	mov    0x10(%esi),%eax
461ff8:	8b 4d 08             	mov    0x8(%ebp),%ecx
461ffb:	5e                   	pop    %esi
461ffc:	3b 48 08             	cmp    0x8(%eax),%ecx
461fff:	7e 04                	jle    0x462005
462001:	33 c0                	xor    %eax,%eax
462003:	eb 0e                	jmp    0x462013
462005:	8b 40 04             	mov    0x4(%eax),%eax
462008:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46200b:	8b 00                	mov    (%eax),%eax
46200d:	8b 40 08             	mov    0x8(%eax),%eax
462010:	8b 40 20             	mov    0x20(%eax),%eax
462013:	5d                   	pop    %ebp
462014:	c2 08 00             	ret    $0x8
462017:	55                   	push   %ebp
462018:	8b ec                	mov    %esp,%ebp
46201a:	83 ec 10             	sub    $0x10,%esp
46201d:	8b 4d 08             	mov    0x8(%ebp),%ecx
462020:	53                   	push   %ebx
462021:	8b 01                	mov    (%ecx),%eax
462023:	89 45 f0             	mov    %eax,-0x10(%ebp)
462026:	8b 41 04             	mov    0x4(%ecx),%eax
462029:	89 45 f4             	mov    %eax,-0xc(%ebp)
46202c:	8b 41 08             	mov    0x8(%ecx),%eax
46202f:	89 45 f8             	mov    %eax,-0x8(%ebp)
462032:	8b 41 0c             	mov    0xc(%ecx),%eax
462035:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462038:	89 45 fc             	mov    %eax,-0x4(%ebp)
46203b:	ff 00                	incl   (%eax)
46203d:	e8 6d 5f fa ff       	call   0x407faf
462042:	ff 75 f4             	push   -0xc(%ebp)
462045:	ff 75 f0             	push   -0x10(%ebp)
462048:	ff 15 7c f6 48 00    	call   *0x48f67c
46204e:	ba b0 a1 4b 00       	mov    $0x4ba1b0,%edx
462053:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462056:	e8 cc ec fb ff       	call   0x420d27
46205b:	84 c0                	test   %al,%al
46205d:	75 37                	jne    0x462096
46205f:	ba c0 a1 4b 00       	mov    $0x4ba1c0,%edx
462064:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462067:	e8 bb ec fb ff       	call   0x420d27
46206c:	84 c0                	test   %al,%al
46206e:	75 26                	jne    0x462096
462070:	ba cc a1 4b 00       	mov    $0x4ba1cc,%edx
462075:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462078:	e8 aa ec fb ff       	call   0x420d27
46207d:	84 c0                	test   %al,%al
46207f:	75 15                	jne    0x462096
462081:	ba dc a1 4b 00       	mov    $0x4ba1dc,%edx
462086:	8d 4d f0             	lea    -0x10(%ebp),%ecx
462089:	e8 99 ec fb ff       	call   0x420d27
46208e:	84 c0                	test   %al,%al
462090:	75 04                	jne    0x462096
462092:	32 db                	xor    %bl,%bl
462094:	eb 02                	jmp    0x462098
462096:	b3 01                	mov    $0x1,%bl
462098:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46209b:	e8 c4 39 fa ff       	call   0x405a64
4620a0:	8a c3                	mov    %bl,%al
4620a2:	5b                   	pop    %ebx
4620a3:	8b e5                	mov    %ebp,%esp
4620a5:	5d                   	pop    %ebp
4620a6:	c2 04 00             	ret    $0x4
4620a9:	55                   	push   %ebp
4620aa:	8b ec                	mov    %esp,%ebp
4620ac:	83 e4 f8             	and    $0xfffffff8,%esp
4620af:	83 ec 24             	sub    $0x24,%esp
4620b2:	53                   	push   %ebx
4620b3:	56                   	push   %esi
4620b4:	8b 75 0c             	mov    0xc(%ebp),%esi
4620b7:	8b d9                	mov    %ecx,%ebx
4620b9:	57                   	push   %edi
4620ba:	8b ce                	mov    %esi,%ecx
4620bc:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
4620c0:	e8 d2 78 fa ff       	call   0x409997
4620c5:	8b 56 08             	mov    0x8(%esi),%edx
4620c8:	33 f6                	xor    %esi,%esi
4620ca:	46                   	inc    %esi
4620cb:	8b 02                	mov    (%edx),%eax
4620cd:	89 44 24 20          	mov    %eax,0x20(%esp)
4620d1:	8b 42 04             	mov    0x4(%edx),%eax
4620d4:	89 44 24 24          	mov    %eax,0x24(%esp)
4620d8:	8b 42 08             	mov    0x8(%edx),%eax
4620db:	89 44 24 28          	mov    %eax,0x28(%esp)
4620df:	8b 42 0c             	mov    0xc(%edx),%eax
4620e2:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4620e6:	ff 00                	incl   (%eax)
4620e8:	39 75 08             	cmp    %esi,0x8(%ebp)
4620eb:	0f 85 d1 01 00 00    	jne    0x4622c2
4620f1:	68 b0 a1 4b 00       	push   $0x4ba1b0
4620f6:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4620fa:	e8 42 5e fa ff       	call   0x407f41
4620ff:	33 ff                	xor    %edi,%edi
462101:	8d 44 24 10          	lea    0x10(%esp),%eax
462105:	57                   	push   %edi
462106:	50                   	push   %eax
462107:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46210b:	e8 58 59 fa ff       	call   0x407a68
462110:	8b d8                	mov    %eax,%ebx
462112:	8d 4c 24 10          	lea    0x10(%esp),%ecx
462116:	f7 db                	neg    %ebx
462118:	1a db                	sbb    %bl,%bl
46211a:	e8 45 39 fa ff       	call   0x405a64
46211f:	fe c3                	inc    %bl
462121:	74 56                	je     0x462179
462123:	8b 45 10             	mov    0x10(%ebp),%eax
462126:	39 70 08             	cmp    %esi,0x8(%eax)
462129:	75 46                	jne    0x462171
46212b:	8b 40 04             	mov    0x4(%eax),%eax
46212e:	8b 00                	mov    (%eax),%eax
462130:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
462134:	75 02                	jne    0x462138
462136:	8b 00                	mov    (%eax),%eax
462138:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46213c:	50                   	push   %eax
46213d:	e8 20 03 00 00       	call   0x462462
462142:	84 c0                	test   %al,%al
462144:	8b 45 14             	mov    0x14(%ebp),%eax
462147:	8b 30                	mov    (%eax),%esi
462149:	8b ce                	mov    %esi,%ecx
46214b:	74 12                	je     0x46215f
46214d:	e8 ce 78 fa ff       	call   0x409a20
462152:	33 c0                	xor    %eax,%eax
462154:	40                   	inc    %eax
462155:	89 46 0c             	mov    %eax,0xc(%esi)
462158:	89 06                	mov    %eax,(%esi)
46215a:	e9 c9 01 00 00       	jmp    0x462328
46215f:	e8 bc 78 fa ff       	call   0x409a20
462164:	33 c0                	xor    %eax,%eax
462166:	89 3e                	mov    %edi,(%esi)
462168:	40                   	inc    %eax
462169:	89 46 0c             	mov    %eax,0xc(%esi)
46216c:	e9 b7 01 00 00       	jmp    0x462328
462171:	6a 03                	push   $0x3
462173:	5f                   	pop    %edi
462174:	e9 af 01 00 00       	jmp    0x462328
462179:	68 c0 a1 4b 00       	push   $0x4ba1c0
46217e:	8d 4c 24 14          	lea    0x14(%esp),%ecx
462182:	e8 ba 5d fa ff       	call   0x407f41
462187:	57                   	push   %edi
462188:	8d 44 24 14          	lea    0x14(%esp),%eax
46218c:	50                   	push   %eax
46218d:	8d 4c 24 28          	lea    0x28(%esp),%ecx
462191:	e8 d2 58 fa ff       	call   0x407a68
462196:	8b d8                	mov    %eax,%ebx
462198:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46219c:	f7 db                	neg    %ebx
46219e:	1a db                	sbb    %bl,%bl
4621a0:	e8 bf 38 fa ff       	call   0x405a64
4621a5:	fe c3                	inc    %bl
4621a7:	74 3f                	je     0x4621e8
4621a9:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4621ad:	8d 44 24 10          	lea    0x10(%esp),%eax
4621b1:	50                   	push   %eax
4621b2:	c7 44 24 14 84 fb 48 	movl   $0x48fb84,0x14(%esp)
4621b9:	00
4621ba:	89 7c 24 18          	mov    %edi,0x18(%esp)
4621be:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4621c2:	89 7c 24 20          	mov    %edi,0x20(%esp)
4621c6:	e8 71 01 00 00       	call   0x46233c
4621cb:	8b 4d 14             	mov    0x14(%ebp),%ecx
4621ce:	8d 44 24 10          	lea    0x10(%esp),%eax
4621d2:	50                   	push   %eax
4621d3:	8b 09                	mov    (%ecx),%ecx
4621d5:	e8 96 55 00 00       	call   0x467770
4621da:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4621de:	e8 11 45 ff ff       	call   0x4566f4