460de6:	2b c2                	sub    %edx,%eax
460de8:	83 c0 fc             	add    $0xfffffffc,%eax
460deb:	83 f8 1f             	cmp    $0x1f,%eax
460dee:	77 76                	ja     0x460e66
460df0:	51                   	push   %ecx
460df1:	52                   	push   %edx
460df2:	e8 5e 04 17 00       	call   0x5d1255
460df7:	83 c4 08             	add    $0x8,%esp
460dfa:	b0 01                	mov    $0x1,%al
460dfc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
460dff:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
460e06:	59                   	pop    %ecx
460e07:	5f                   	pop    %edi
460e08:	5e                   	pop    %esi
460e09:	8b e5                	mov    %ebp,%esp
460e0b:	5d                   	pop    %ebp
460e0c:	c2 04 00             	ret    $0x4
460e0f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
460e12:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
460e19:	e8 62 f9 ff ff       	call   0x460780
460e1e:	8b 55 e8             	mov    -0x18(%ebp),%edx
460e21:	85 d2                	test   %edx,%edx
460e23:	74 2c                	je     0x460e51
460e25:	8b 4d f0             	mov    -0x10(%ebp),%ecx
460e28:	8b c2                	mov    %edx,%eax
460e2a:	2b ca                	sub    %edx,%ecx
460e2c:	83 e1 f0             	and    $0xfffffff0,%ecx
460e2f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
460e35:	72 10                	jb     0x460e47
460e37:	8b 52 fc             	mov    -0x4(%edx),%edx
460e3a:	83 c1 23             	add    $0x23,%ecx
460e3d:	2b c2                	sub    %edx,%eax
460e3f:	83 c0 fc             	add    $0xfffffffc,%eax
460e42:	83 f8 1f             	cmp    $0x1f,%eax
460e45:	77 1f                	ja     0x460e66
460e47:	51                   	push   %ecx
460e48:	52                   	push   %edx
460e49:	e8 07 04 17 00       	call   0x5d1255
460e4e:	83 c4 08             	add    $0x8,%esp
460e51:	32 c0                	xor    %al,%al
460e53:	8b 4d f4             	mov    -0xc(%ebp),%ecx
460e56:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
460e5d:	59                   	pop    %ecx
460e5e:	5f                   	pop    %edi
460e5f:	5e                   	pop    %esi
460e60:	8b e5                	mov    %ebp,%esp
460e62:	5d                   	pop    %ebp
460e63:	c2 04 00             	ret    $0x4
460e66:	e8 85 53 17 00       	call   0x5d61f0
460e6b:	cc                   	int3
460e6c:	cc                   	int3
460e6d:	cc                   	int3
460e6e:	cc                   	int3
460e6f:	cc                   	int3
460e70:	55                   	push   %ebp
460e71:	8b ec                	mov    %esp,%ebp
460e73:	6a ff                	push   $0xffffffff
460e75:	68 8d 8e 5f 00       	push   $0x5f8e8d
460e7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
460e80:	50                   	push   %eax
460e81:	83 ec 38             	sub    $0x38,%esp
460e84:	53                   	push   %ebx
460e85:	56                   	push   %esi
460e86:	a1 c0 14 69 00       	mov    0x6914c0,%eax
460e8b:	33 c5                	xor    %ebp,%eax
460e8d:	50                   	push   %eax
460e8e:	8d 45 f4             	lea    -0xc(%ebp),%eax
460e91:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
460e97:	8b f1                	mov    %ecx,%esi
460e99:	8b 45 08             	mov    0x8(%ebp),%eax
460e9c:	8d 4d bc             	lea    -0x44(%ebp),%ecx
460e9f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
460ea2:	a1 ec d4 68 00       	mov    0x68d4ec,%eax
460ea7:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
460eae:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
460eb5:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
460ebc:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
460ec3:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
460eca:	66 c7 45 d4 00 00    	movw   $0x0,-0x2c(%ebp)
460ed0:	c7 45 d8 ff ff ff 7f 	movl   $0x7fffffff,-0x28(%ebp)
460ed7:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
460ede:	c7 45 e0 ff ff ff 7f 	movl   $0x7fffffff,-0x20(%ebp)
460ee5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
460ee8:	89 45 e8             	mov    %eax,-0x18(%ebp)
460eeb:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
460ef2:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
460ef9:	e8 82 98 ff ff       	call   0x45a780
460efe:	8d 45 bc             	lea    -0x44(%ebp),%eax
460f01:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
460f08:	50                   	push   %eax
460f09:	8b ce                	mov    %esi,%ecx
460f0b:	e8 c0 fd ff ff       	call   0x460cd0
460f10:	84 c0                	test   %al,%al
460f12:	74 0a                	je     0x460f1e
460f14:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
460f18:	74 04                	je     0x460f1e
460f1a:	b3 01                	mov    $0x1,%bl
460f1c:	eb 02                	jmp    0x460f20
460f1e:	32 db                	xor    %bl,%bl
460f20:	8d 4d bc             	lea    -0x44(%ebp),%ecx
460f23:	e8 58 85 ff ff       	call   0x459480
460f28:	8a c3                	mov    %bl,%al
460f2a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
460f2d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
460f34:	59                   	pop    %ecx
460f35:	5e                   	pop    %esi
460f36:	5b                   	pop    %ebx
460f37:	8b e5                	mov    %ebp,%esp
460f39:	5d                   	pop    %ebp
460f3a:	c2 04 00             	ret    $0x4
460f3d:	cc                   	int3
460f3e:	cc                   	int3
460f3f:	cc                   	int3
460f40:	53                   	push   %ebx
460f41:	8b 59 04             	mov    0x4(%ecx),%ebx
460f44:	56                   	push   %esi
460f45:	8b 31                	mov    (%ecx),%esi
460f47:	3b f3                	cmp    %ebx,%esi
460f49:	75 05                	jne    0x460f50
460f4b:	5e                   	pop    %esi
460f4c:	33 c0                	xor    %eax,%eax
460f4e:	5b                   	pop    %ebx
460f4f:	c3                   	ret
460f50:	57                   	push   %edi
460f51:	8b fb                	mov    %ebx,%edi
460f53:	2b fe                	sub    %esi,%edi
460f55:	83 e7 f0             	and    $0xfffffff0,%edi
460f58:	83 c7 0c             	add    $0xc,%edi
460f5b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
460f60:	8b 46 04             	mov    0x4(%esi),%eax
460f63:	83 e8 03             	sub    $0x3,%eax
460f66:	74 18                	je     0x460f80
460f68:	83 e8 01             	sub    $0x1,%eax
460f6b:	75 23                	jne    0x460f90
460f6d:	8b 4e 08             	mov    0x8(%esi),%ecx
460f70:	e8 cb ff ff ff       	call   0x460f40
460f75:	50                   	push   %eax
460f76:	e8 25 00 00 00       	call   0x460fa0
460f7b:	83 c7 0c             	add    $0xc,%edi
460f7e:	eb 0b                	jmp    0x460f8b
460f80:	ff 76 08             	push   0x8(%esi)
460f83:	e8 28 84 ff ff       	call   0x4593b0
460f88:	83 c7 18             	add    $0x18,%edi
460f8b:	83 c4 04             	add    $0x4,%esp
460f8e:	03 f8                	add    %eax,%edi
460f90:	83 c6 10             	add    $0x10,%esi
460f93:	3b f3                	cmp    %ebx,%esi
460f95:	75 c9                	jne    0x460f60
460f97:	8b c7                	mov    %edi,%eax
460f99:	5f                   	pop    %edi
460f9a:	5e                   	pop    %esi
460f9b:	5b                   	pop    %ebx
460f9c:	c3                   	ret
460f9d:	cc                   	int3
460f9e:	cc                   	int3
460f9f:	cc                   	int3
460fa0:	55                   	push   %ebp
460fa1:	8b ec                	mov    %esp,%ebp
460fa3:	8b 45 08             	mov    0x8(%ebp),%eax
460fa6:	5d                   	pop    %ebp
460fa7:	c3                   	ret
460fa8:	cc                   	int3
460fa9:	cc                   	int3
460faa:	cc                   	int3
460fab:	cc                   	int3
460fac:	cc                   	int3
460fad:	cc                   	int3
460fae:	cc                   	int3
460faf:	cc                   	int3
460fb0:	55                   	push   %ebp
460fb1:	8b ec                	mov    %esp,%ebp
460fb3:	ff 75 18             	push   0x18(%ebp)
460fb6:	8b 45 10             	mov    0x10(%ebp),%eax
460fb9:	ff 75 14             	push   0x14(%ebp)
460fbc:	89 45 10             	mov    %eax,0x10(%ebp)
460fbf:	8d 45 10             	lea    0x10(%ebp),%eax
460fc2:	50                   	push   %eax
460fc3:	ff 75 0c             	push   0xc(%ebp)
460fc6:	ff 75 08             	push   0x8(%ebp)
460fc9:	e8 c2 ee ff ff       	call   0x45fe90
460fce:	83 c4 14             	add    $0x14,%esp
460fd1:	5d                   	pop    %ebp
460fd2:	c3                   	ret
460fd3:	cc                   	int3
460fd4:	cc                   	int3
460fd5:	cc                   	int3
460fd6:	cc                   	int3
460fd7:	cc                   	int3
460fd8:	cc                   	int3
460fd9:	cc                   	int3
460fda:	cc                   	int3
460fdb:	cc                   	int3
460fdc:	cc                   	int3
460fdd:	cc                   	int3
460fde:	cc                   	int3
460fdf:	cc                   	int3
460fe0:	55                   	push   %ebp
460fe1:	8b ec                	mov    %esp,%ebp
460fe3:	56                   	push   %esi
460fe4:	8b f1                	mov    %ecx,%esi
460fe6:	8b 06                	mov    (%esi),%eax
460fe8:	85 c0                	test   %eax,%eax
460fea:	74 2c                	je     0x461018
460fec:	8b 4e 08             	mov    0x8(%esi),%ecx
460fef:	2b c8                	sub    %eax,%ecx
460ff1:	83 e1 f0             	and    $0xfffffff0,%ecx
460ff4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
460ffa:	72 12                	jb     0x46100e
460ffc:	8b 50 fc             	mov    -0x4(%eax),%edx
460fff:	83 c1 23             	add    $0x23,%ecx
461002:	2b c2                	sub    %edx,%eax
461004:	83 c0 fc             	add    $0xfffffffc,%eax
461007:	83 f8 1f             	cmp    $0x1f,%eax
46100a:	77 2c                	ja     0x461038
46100c:	8b c2                	mov    %edx,%eax
46100e:	51                   	push   %ecx
46100f:	50                   	push   %eax
461010:	e8 40 02 17 00       	call   0x5d1255
461015:	83 c4 08             	add    $0x8,%esp
461018:	8b 45 0c             	mov    0xc(%ebp),%eax
46101b:	8b 4d 08             	mov    0x8(%ebp),%ecx
46101e:	c1 e0 04             	shl    $0x4,%eax
461021:	03 c1                	add    %ecx,%eax
461023:	89 0e                	mov    %ecx,(%esi)
461025:	89 46 04             	mov    %eax,0x4(%esi)
461028:	8b 45 10             	mov    0x10(%ebp),%eax
46102b:	c1 e0 04             	shl    $0x4,%eax
46102e:	03 c1                	add    %ecx,%eax
461030:	89 46 08             	mov    %eax,0x8(%esi)
461033:	5e                   	pop    %esi
461034:	5d                   	pop    %ebp
461035:	c2 0c 00             	ret    $0xc
461038:	e8 b3 51 17 00       	call   0x5d61f0
46103d:	cc                   	int3
46103e:	cc                   	int3
46103f:	cc                   	int3
461040:	55                   	push   %ebp
461041:	8b ec                	mov    %esp,%ebp
461043:	51                   	push   %ecx
461044:	8b c1                	mov    %ecx,%eax
461046:	53                   	push   %ebx
461047:	56                   	push   %esi
461048:	ff 75 08             	push   0x8(%ebp)
46104b:	8b 58 04             	mov    0x4(%eax),%ebx
46104e:	2b 18                	sub    (%eax),%ebx
461050:	89 45 fc             	mov    %eax,-0x4(%ebp)
461053:	c1 fb 04             	sar    $0x4,%ebx
461056:	e8 95 00 00 00       	call   0x4610f0
46105b:	8b f0                	mov    %eax,%esi
46105d:	8b 45 fc             	mov    -0x4(%ebp),%eax
461060:	8b 10                	mov    (%eax),%edx
461062:	8b 48 04             	mov    0x4(%eax),%ecx
461065:	2b ca                	sub    %edx,%ecx
461067:	51                   	push   %ecx
461068:	52                   	push   %edx
461069:	56                   	push   %esi
46106a:	e8 61 1d 17 00       	call   0x5d2dd0
46106f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
461072:	83 c4 0c             	add    $0xc,%esp
461075:	ff 75 08             	push   0x8(%ebp)
461078:	53                   	push   %ebx
461079:	56                   	push   %esi
46107a:	e8 61 ff ff ff       	call   0x460fe0
46107f:	5e                   	pop    %esi
461080:	5b                   	pop    %ebx
461081:	8b e5                	mov    %ebp,%esp
461083:	5d                   	pop    %ebp
461084:	c2 04 00             	ret    $0x4
461087:	cc                   	int3
461088:	cc                   	int3
461089:	cc                   	int3
46108a:	cc                   	int3
46108b:	cc                   	int3
46108c:	cc                   	int3
46108d:	cc                   	int3
46108e:	cc                   	int3
46108f:	cc                   	int3
461090:	56                   	push   %esi
461091:	8b f1                	mov    %ecx,%esi
461093:	8b 06                	mov    (%esi),%eax
461095:	85 c0                	test   %eax,%eax
461097:	74 40                	je     0x4610d9
461099:	8b 4e 08             	mov    0x8(%esi),%ecx
46109c:	2b c8                	sub    %eax,%ecx
46109e:	83 e1 f0             	and    $0xfffffff0,%ecx
4610a1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4610a7:	72 12                	jb     0x4610bb
4610a9:	8b 50 fc             	mov    -0x4(%eax),%edx
4610ac:	83 c1 23             	add    $0x23,%ecx
4610af:	2b c2                	sub    %edx,%eax
4610b1:	83 c0 fc             	add    $0xfffffffc,%eax
4610b4:	83 f8 1f             	cmp    $0x1f,%eax
4610b7:	77 22                	ja     0x4610db
4610b9:	8b c2                	mov    %edx,%eax
4610bb:	51                   	push   %ecx
4610bc:	50                   	push   %eax
4610bd:	e8 93 01 17 00       	call   0x5d1255
4610c2:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4610c8:	83 c4 08             	add    $0x8,%esp
4610cb:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4610d2:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4610d9:	5e                   	pop    %esi
4610da:	c3                   	ret
4610db:	e8 10 51 17 00       	call   0x5d61f0
4610e0:	cc                   	int3
4610e1:	cc                   	int3
4610e2:	cc                   	int3
4610e3:	cc                   	int3
4610e4:	cc                   	int3
4610e5:	cc                   	int3
4610e6:	cc                   	int3
4610e7:	cc                   	int3
4610e8:	cc                   	int3
4610e9:	cc                   	int3
4610ea:	cc                   	int3
4610eb:	cc                   	int3
4610ec:	cc                   	int3
4610ed:	cc                   	int3
4610ee:	cc                   	int3
4610ef:	cc                   	int3
4610f0:	55                   	push   %ebp
4610f1:	8b ec                	mov    %esp,%ebp
4610f3:	8b 45 08             	mov    0x8(%ebp),%eax
4610f6:	3d ff ff ff 0f       	cmp    $0xfffffff,%eax
4610fb:	77 44                	ja     0x461141
4610fd:	c1 e0 04             	shl    $0x4,%eax
461100:	3d 00 10 00 00       	cmp    $0x1000,%eax
461105:	72 23                	jb     0x46112a
461107:	8d 48 23             	lea    0x23(%eax),%ecx
46110a:	3b c8                	cmp    %eax,%ecx
46110c:	76 33                	jbe    0x461141
46110e:	51                   	push   %ecx
46110f:	e8 11 01 17 00       	call   0x5d1225
461114:	8b c8                	mov    %eax,%ecx
461116:	83 c4 04             	add    $0x4,%esp
461119:	85 c9                	test   %ecx,%ecx
46111b:	74 29                	je     0x461146
46111d:	8d 41 23             	lea    0x23(%ecx),%eax
461120:	83 e0 e0             	and    $0xffffffe0,%eax
461123:	89 48 fc             	mov    %ecx,-0x4(%eax)
461126:	5d                   	pop    %ebp
461127:	c2 04 00             	ret    $0x4
46112a:	85 c0                	test   %eax,%eax
46112c:	74 0d                	je     0x46113b
46112e:	50                   	push   %eax
46112f:	e8 f1 00 17 00       	call   0x5d1225
461134:	83 c4 04             	add    $0x4,%esp
461137:	5d                   	pop    %ebp
461138:	c2 04 00             	ret    $0x4
46113b:	33 c0                	xor    %eax,%eax