465d6a:	5d                   	pop    %ebp
465d6b:	5b                   	pop    %ebx
465d6c:	83 c4 0c             	add    $0xc,%esp
465d6f:	c3                   	ret
465d70:	8d 14 0f             	lea    (%edi,%ecx,1),%edx
465d73:	8b c2                	mov    %edx,%eax
465d75:	89 56 04             	mov    %edx,0x4(%esi)
465d78:	c1 e8 05             	shr    $0x5,%eax
465d7b:	c1 e0 02             	shl    $0x2,%eax
465d7e:	01 06                	add    %eax,(%esi)
465d80:	83 e2 1f             	and    $0x1f,%edx
465d83:	89 56 04             	mov    %edx,0x4(%esi)
465d86:	8b c6                	mov    %esi,%eax
465d88:	5f                   	pop    %edi
465d89:	5e                   	pop    %esi
465d8a:	5d                   	pop    %ebp
465d8b:	5b                   	pop    %ebx
465d8c:	83 c4 0c             	add    $0xc,%esp
465d8f:	c3                   	ret
465d90:	8b 44 24 28          	mov    0x28(%esp),%eax
465d94:	89 06                	mov    %eax,(%esi)
465d96:	8b 44 24 2c          	mov    0x2c(%esp),%eax
465d9a:	5f                   	pop    %edi
465d9b:	89 46 04             	mov    %eax,0x4(%esi)
465d9e:	8b c6                	mov    %esi,%eax
465da0:	5e                   	pop    %esi
465da1:	5d                   	pop    %ebp
465da2:	5b                   	pop    %ebx
465da3:	83 c4 0c             	add    $0xc,%esp
465da6:	c3                   	ret
465da7:	cc                   	int3
465da8:	cc                   	int3
465da9:	cc                   	int3
465daa:	cc                   	int3
465dab:	cc                   	int3
465dac:	cc                   	int3
465dad:	cc                   	int3
465dae:	cc                   	int3
465daf:	cc                   	int3
465db0:	83 ec 0c             	sub    $0xc,%esp
465db3:	55                   	push   %ebp
465db4:	8b 6c 24 14          	mov    0x14(%esp),%ebp
465db8:	57                   	push   %edi
465db9:	8b f9                	mov    %ecx,%edi
465dbb:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
465dbf:	8b 17                	mov    (%edi),%edx
465dc1:	2b ea                	sub    %edx,%ebp
465dc3:	8b 47 04             	mov    0x4(%edi),%eax
465dc6:	2b c2                	sub    %edx,%eax
465dc8:	d1 fd                	sar    $1,%ebp
465dca:	d1 f8                	sar    $1,%eax
465dcc:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
465dd1:	0f 84 26 01 00 00    	je     0x465efd
465dd7:	8b 4f 08             	mov    0x8(%edi),%ecx
465dda:	2b ca                	sub    %edx,%ecx
465ddc:	d1 f9                	sar    $1,%ecx
465dde:	53                   	push   %ebx
465ddf:	56                   	push   %esi
465de0:	8d 70 01             	lea    0x1(%eax),%esi
465de3:	8b d1                	mov    %ecx,%edx
465de5:	d1 ea                	shr    $1,%edx
465de7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
465dec:	2b c2                	sub    %edx,%eax
465dee:	89 74 24 18          	mov    %esi,0x18(%esp)
465df2:	3b c8                	cmp    %eax,%ecx
465df4:	0f 87 fe 00 00 00    	ja     0x465ef8
465dfa:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
465dfd:	8b de                	mov    %esi,%ebx
465dff:	3b c6                	cmp    %esi,%eax
465e01:	0f 43 d8             	cmovae %eax,%ebx
465e04:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
465e0a:	0f 87 e8 00 00 00    	ja     0x465ef8
465e10:	03 db                	add    %ebx,%ebx
465e12:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
465e18:	72 27                	jb     0x465e41
465e1a:	8d 43 23             	lea    0x23(%ebx),%eax
465e1d:	3b c3                	cmp    %ebx,%eax
465e1f:	0f 86 d3 00 00 00    	jbe    0x465ef8
465e25:	50                   	push   %eax
465e26:	e8 ad 3b 00 00       	call   0x4699d8
465e2b:	83 c4 04             	add    $0x4,%esp
465e2e:	85 c0                	test   %eax,%eax
465e30:	0f 84 cc 00 00 00    	je     0x465f02
465e36:	8d 70 23             	lea    0x23(%eax),%esi
465e39:	83 e6 e0             	and    $0xffffffe0,%esi
465e3c:	89 46 fc             	mov    %eax,-0x4(%esi)
465e3f:	eb 13                	jmp    0x465e54
465e41:	85 db                	test   %ebx,%ebx
465e43:	74 0d                	je     0x465e52
465e45:	53                   	push   %ebx
465e46:	e8 8d 3b 00 00       	call   0x4699d8
465e4b:	83 c4 04             	add    $0x4,%esp
465e4e:	8b f0                	mov    %eax,%esi
465e50:	eb 02                	jmp    0x465e54
465e52:	33 f6                	xor    %esi,%esi
465e54:	8b 44 24 24          	mov    0x24(%esp),%eax
465e58:	8d 0c 6e             	lea    (%esi,%ebp,2),%ecx
465e5b:	8b 6c 24 14          	mov    0x14(%esp),%ebp
465e5f:	89 4c 24 10          	mov    %ecx,0x10(%esp)
465e63:	66 8b 00             	mov    (%eax),%ax
465e66:	66 89 01             	mov    %ax,(%ecx)
465e69:	8b 47 04             	mov    0x4(%edi),%eax
465e6c:	8b 0f                	mov    (%edi),%ecx
465e6e:	3b e8                	cmp    %eax,%ebp
465e70:	75 13                	jne    0x465e85
465e72:	2b c1                	sub    %ecx,%eax
465e74:	50                   	push   %eax
465e75:	51                   	push   %ecx
465e76:	56                   	push   %esi
465e77:	e8 a4 57 00 00       	call   0x46b620
465e7c:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
465e80:	83 c4 0c             	add    $0xc,%esp
465e83:	eb 23                	jmp    0x465ea8
465e85:	8b c5                	mov    %ebp,%eax
465e87:	2b c1                	sub    %ecx,%eax
465e89:	50                   	push   %eax
465e8a:	51                   	push   %ecx
465e8b:	56                   	push   %esi
465e8c:	e8 8f 57 00 00       	call   0x46b620
465e91:	8b 47 04             	mov    0x4(%edi),%eax
465e94:	2b c5                	sub    %ebp,%eax
465e96:	50                   	push   %eax
465e97:	55                   	push   %ebp
465e98:	8b 6c 24 24          	mov    0x24(%esp),%ebp
465e9c:	8d 45 02             	lea    0x2(%ebp),%eax
465e9f:	50                   	push   %eax
465ea0:	e8 7b 57 00 00       	call   0x46b620
465ea5:	83 c4 18             	add    $0x18,%esp
465ea8:	8b 07                	mov    (%edi),%eax
465eaa:	85 c0                	test   %eax,%eax
465eac:	74 2c                	je     0x465eda
465eae:	8b 4f 08             	mov    0x8(%edi),%ecx
465eb1:	2b c8                	sub    %eax,%ecx
465eb3:	83 e1 fe             	and    $0xfffffffe,%ecx
465eb6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
465ebc:	72 12                	jb     0x465ed0
465ebe:	8b 50 fc             	mov    -0x4(%eax),%edx
465ec1:	83 c1 23             	add    $0x23,%ecx
465ec4:	2b c2                	sub    %edx,%eax
465ec6:	83 c0 fc             	add    $0xfffffffc,%eax
465ec9:	83 f8 1f             	cmp    $0x1f,%eax
465ecc:	77 34                	ja     0x465f02
465ece:	8b c2                	mov    %edx,%eax
465ed0:	51                   	push   %ecx
465ed1:	50                   	push   %eax
465ed2:	e8 31 3b 00 00       	call   0x469a08
465ed7:	83 c4 08             	add    $0x8,%esp
465eda:	8b 44 24 18          	mov    0x18(%esp),%eax
465ede:	89 37                	mov    %esi,(%edi)
465ee0:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
465ee3:	8b c5                	mov    %ebp,%eax
465ee5:	89 4f 04             	mov    %ecx,0x4(%edi)
465ee8:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
465eeb:	5e                   	pop    %esi
465eec:	5b                   	pop    %ebx
465eed:	89 4f 08             	mov    %ecx,0x8(%edi)
465ef0:	5f                   	pop    %edi
465ef1:	5d                   	pop    %ebp
465ef2:	83 c4 0c             	add    $0xc,%esp
465ef5:	c2 08 00             	ret    $0x8
465ef8:	e8 43 b4 f9 ff       	call   0x401340
465efd:	e8 ce d5 f9 ff       	call   0x4034d0
465f02:	e8 2a 37 01 00       	call   0x479631
465f07:	cc                   	int3
465f08:	cc                   	int3
465f09:	cc                   	int3
465f0a:	cc                   	int3
465f0b:	cc                   	int3
465f0c:	cc                   	int3
465f0d:	cc                   	int3
465f0e:	cc                   	int3
465f0f:	cc                   	int3
465f10:	83 ec 08             	sub    $0x8,%esp
465f13:	55                   	push   %ebp
465f14:	8b 6c 24 10          	mov    0x10(%esp),%ebp
465f18:	57                   	push   %edi
465f19:	8b f9                	mov    %ecx,%edi
465f1b:	89 7c 24 0c          	mov    %edi,0xc(%esp)
465f1f:	81 fd ff ff ff 3f    	cmp    $0x3fffffff,%ebp
465f25:	0f 87 39 01 00 00    	ja     0x466064
465f2b:	8b 4f 04             	mov    0x4(%edi),%ecx
465f2e:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
465f33:	2b 0f                	sub    (%edi),%ecx
465f35:	c1 f9 02             	sar    $0x2,%ecx
465f38:	89 4c 24 08          	mov    %ecx,0x8(%esp)
465f3c:	8b 4f 08             	mov    0x8(%edi),%ecx
465f3f:	2b 0f                	sub    (%edi),%ecx
465f41:	c1 f9 02             	sar    $0x2,%ecx
465f44:	8b d1                	mov    %ecx,%edx
465f46:	d1 ea                	shr    $1,%edx
465f48:	2b c2                	sub    %edx,%eax
465f4a:	53                   	push   %ebx
465f4b:	56                   	push   %esi
465f4c:	3b c8                	cmp    %eax,%ecx
465f4e:	0f 87 0b 01 00 00    	ja     0x46605f
465f54:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
465f57:	3b dd                	cmp    %ebp,%ebx
465f59:	73 04                	jae    0x465f5f
465f5b:	8b dd                	mov    %ebp,%ebx
465f5d:	eb 0c                	jmp    0x465f6b
465f5f:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
465f65:	0f 87 f4 00 00 00    	ja     0x46605f
465f6b:	c1 e3 02             	shl    $0x2,%ebx
465f6e:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
465f74:	72 27                	jb     0x465f9d
465f76:	8d 43 23             	lea    0x23(%ebx),%eax
465f79:	3b c3                	cmp    %ebx,%eax
465f7b:	0f 86 de 00 00 00    	jbe    0x46605f
465f81:	50                   	push   %eax
465f82:	e8 51 3a 00 00       	call   0x4699d8
465f87:	83 c4 04             	add    $0x4,%esp
465f8a:	85 c0                	test   %eax,%eax
465f8c:	0f 84 d7 00 00 00    	je     0x466069
465f92:	8d 70 23             	lea    0x23(%eax),%esi
465f95:	83 e6 e0             	and    $0xffffffe0,%esi
465f98:	89 46 fc             	mov    %eax,-0x4(%esi)
465f9b:	eb 13                	jmp    0x465fb0
465f9d:	85 db                	test   %ebx,%ebx
465f9f:	74 0d                	je     0x465fae
465fa1:	53                   	push   %ebx
465fa2:	e8 31 3a 00 00       	call   0x4699d8
465fa7:	83 c4 04             	add    $0x4,%esp
465faa:	8b f0                	mov    %eax,%esi
465fac:	eb 02                	jmp    0x465fb0
465fae:	33 f6                	xor    %esi,%esi
465fb0:	8b 44 24 10          	mov    0x10(%esp),%eax
465fb4:	8d 7c 24 10          	lea    0x10(%esp),%edi
465fb8:	8b d5                	mov    %ebp,%edx
465fba:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
465fc1:	00
465fc2:	2b d0                	sub    %eax,%edx
465fc4:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
465fc7:	8b 44 24 20          	mov    0x20(%esp),%eax
465fcb:	8b 00                	mov    (%eax),%eax
465fcd:	3b 07                	cmp    (%edi),%eax
465fcf:	8b 7c 24 14          	mov    0x14(%esp),%edi
465fd3:	75 15                	jne    0x465fea
465fd5:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
465fdc:	50                   	push   %eax
465fdd:	6a 00                	push   $0x0
465fdf:	51                   	push   %ecx
465fe0:	e8 cb 5b 00 00       	call   0x46bbb0
465fe5:	83 c4 0c             	add    $0xc,%esp
465fe8:	eb 19                	jmp    0x466003
465fea:	85 d2                	test   %edx,%edx
465fec:	74 15                	je     0x466003
465fee:	8b 7c 24 20          	mov    0x20(%esp),%edi
465ff2:	8b 07                	mov    (%edi),%eax
465ff4:	8d 49 04             	lea    0x4(%ecx),%ecx
465ff7:	89 41 fc             	mov    %eax,-0x4(%ecx)
465ffa:	83 ea 01             	sub    $0x1,%edx
465ffd:	75 f3                	jne    0x465ff2
465fff:	8b 7c 24 14          	mov    0x14(%esp),%edi
466003:	8b 0f                	mov    (%edi),%ecx
466005:	8b 47 04             	mov    0x4(%edi),%eax
466008:	2b c1                	sub    %ecx,%eax
46600a:	50                   	push   %eax
46600b:	51                   	push   %ecx
46600c:	56                   	push   %esi
46600d:	e8 0e 56 00 00       	call   0x46b620
466012:	8b 07                	mov    (%edi),%eax
466014:	83 c4 0c             	add    $0xc,%esp
466017:	85 c0                	test   %eax,%eax
466019:	74 2c                	je     0x466047
46601b:	8b 4f 08             	mov    0x8(%edi),%ecx
46601e:	2b c8                	sub    %eax,%ecx
466020:	83 e1 fc             	and    $0xfffffffc,%ecx
466023:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
466029:	72 12                	jb     0x46603d
46602b:	8b 50 fc             	mov    -0x4(%eax),%edx
46602e:	83 c1 23             	add    $0x23,%ecx
466031:	2b c2                	sub    %edx,%eax
466033:	83 c0 fc             	add    $0xfffffffc,%eax
466036:	83 f8 1f             	cmp    $0x1f,%eax
466039:	77 2e                	ja     0x466069
46603b:	8b c2                	mov    %edx,%eax
46603d:	51                   	push   %ecx
46603e:	50                   	push   %eax
46603f:	e8 c4 39 00 00       	call   0x469a08
466044:	83 c4 08             	add    $0x8,%esp
466047:	8d 04 ae             	lea    (%esi,%ebp,4),%eax
46604a:	89 37                	mov    %esi,(%edi)
46604c:	89 47 04             	mov    %eax,0x4(%edi)
46604f:	8d 04 33             	lea    (%ebx,%esi,1),%eax
466052:	5e                   	pop    %esi
466053:	5b                   	pop    %ebx
466054:	89 47 08             	mov    %eax,0x8(%edi)
466057:	5f                   	pop    %edi
466058:	5d                   	pop    %ebp
466059:	83 c4 08             	add    $0x8,%esp
46605c:	c2 08 00             	ret    $0x8
46605f:	e8 dc b2 f9 ff       	call   0x401340
466064:	e8 67 d4 f9 ff       	call   0x4034d0
466069:	e8 c3 35 01 00       	call   0x479631
46606e:	cc                   	int3
46606f:	cc                   	int3
466070:	55                   	push   %ebp
466071:	8b ec                	mov    %esp,%ebp
466073:	83 e4 f0             	and    $0xfffffff0,%esp
466076:	81 ec 94 00 00 00    	sub    $0x94,%esp
46607c:	33 c0                	xor    %eax,%eax
46607e:	83 3d fc 82 4c 00 02 	cmpl   $0x2,0x4c82fc
466085:	53                   	push   %ebx
466086:	56                   	push   %esi
466087:	57                   	push   %edi
466088:	0f 8c d2 05 00 00    	jl     0x466660
46608e:	b8 01 00 00 00       	mov    $0x1,%eax
466093:	33 c9                	xor    %ecx,%ecx
466095:	66 0f 6e c8          	movd   %eax,%xmm1
466099:	8d 51 19             	lea    0x19(%ecx),%edx
46609c:	b8 05 00 00 00       	mov    $0x5,%eax
4660a1:	0f 29 4c 24 50       	movaps %xmm1,0x50(%esp)
4660a6:	8d 71 07             	lea    0x7(%ecx),%esi
4660a9:	8d 79 02             	lea    0x2(%ecx),%edi
4660ac:	8d 59 08             	lea    0x8(%ecx),%ebx
4660af:	66 0f 6e d0          	movd   %eax,%xmm2
4660b3:	b8 06 00 00 00       	mov    $0x6,%eax
4660b8:	0f 29 54 24 70       	movaps %xmm2,0x70(%esp)
4660bd:	66 0f 6e e8          	movd   %eax,%xmm5
4660c1:	0f 29 ac 24 80 00 00 	movaps %xmm5,0x80(%esp)
4660c8:	00
4660c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4660d0:	0f b7 81 60 e9 4a 00 	movzwl 0x4ae960(%ecx),%eax
4660d7:	66 0f 6e c0          	movd   %eax,%xmm0
4660db:	66 0f 38 31 f8       	pmovzxbd %xmm0,%xmm7
4660e0:	f3 0f 7e c1          	movq   %xmm1,%xmm0
4660e4:	0f 29 7c 24 20       	movaps %xmm7,0x20(%esp)
4660e9:	0f 28 e7             	movaps %xmm7,%xmm4
4660ec:	0f 28 f7             	movaps %xmm7,%xmm6
4660ef:	66 0f f2 e0          	pslld  %xmm0,%xmm4
4660f3:	f3 0f 7e c2          	movq   %xmm2,%xmm0
4660f7:	0f 28 df             	movaps %xmm7,%xmm3
4660fa:	66 0f d2 f0          	psrld  %xmm0,%xmm6
4660fe:	f3 0f 7e 05 c0 73 4b 	movq   0x4b73c0,%xmm0
466105:	00
466106:	66 0f ef e7          	pxor   %xmm7,%xmm4
46610a:	0f 28 ce             	movaps %xmm6,%xmm1
46610d:	66 0f db c8          	pand   %xmm0,%xmm1
466111:	f3 0f 7e c5          	movq   %xmm5,%xmm0
466115:	66 0f d2 d8          	psrld  %xmm0,%xmm3
466119:	f3 0f 7e 05 b0 73 4b 	movq   0x4b73b0,%xmm0
466120:	00
466121:	0f 28 ee             	movaps %xmm6,%xmm5
466124:	0f 28 d3             	movaps %xmm3,%xmm2
466127:	66 0f db d0          	pand   %xmm0,%xmm2
46612b:	f3 0f 7e 05 a0 73 4b 	movq   0x4b73a0,%xmm0
466132:	00
466133:	66 0f db d8          	pand   %xmm0,%xmm3
466137:	f3 0f 7e 05 b0 73 4b 	movq   0x4b73b0,%xmm0
46613e:	00