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
46613f:	66 0f db e8          	pand   %xmm0,%xmm5
466143:	f3 0f 7e 05 a0 73 4b 	movq   0x4b73a0,%xmm0
46614a:	00
46614b:	66 0f db f0          	pand   %xmm0,%xmm6
46614f:	66 0f 6e c6          	movd   %esi,%xmm0
466153:	0f 11 4c 24 60       	movups %xmm1,0x60(%esp)
466158:	0f 11 74 24 40       	movups %xmm6,0x40(%esp)
46615d:	0f 28 f7             	movaps %xmm7,%xmm6
466160:	0f 28 fc             	movaps %xmm4,%xmm7
466163:	66 0f d2 f0          	psrld  %xmm0,%xmm6
466167:	f3 0f 7e 44 24 50    	movq   0x50(%esp),%xmm0
46616d:	66 0f f2 f8          	pslld  %xmm0,%xmm7
466171:	66 0f 6e c2          	movd   %edx,%xmm0
466175:	66 0f ef 7c 24 20    	pxor   0x20(%esp),%xmm7
46617b:	66 0f f2 f8          	pslld  %xmm0,%xmm7
46617f:	f3 0f 7e 05 30 74 4b 	movq   0x4b7430,%xmm0
466186:	00
466187:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
46618c:	66 0f ef f9          	pxor   %xmm1,%xmm7
466190:	f3 0f 7e c0          	movq   %xmm0,%xmm0
466194:	0f 28 ca             	movaps %xmm2,%xmm1
466197:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
46619c:	f3 0f 7e 05 30 74 4b 	movq   0x4b7430,%xmm0
4661a3:	00
4661a4:	66 0f ef f9          	pxor   %xmm1,%xmm7
4661a8:	0f 28 cb             	movaps %xmm3,%xmm1
4661ab:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4661b0:	66 0f ef f9          	pxor   %xmm1,%xmm7
4661b4:	f3 0f 7e c0          	movq   %xmm0,%xmm0
4661b8:	0f 28 cd             	movaps %xmm5,%xmm1
4661bb:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4661c0:	f3 0f 7e 05 30 74 4b 	movq   0x4b7430,%xmm0
4661c7:	00
4661c8:	66 0f ef f9          	pxor   %xmm1,%xmm7
4661cc:	0f 28 4c 24 40       	movaps 0x40(%esp),%xmm1
4661d1:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4661d6:	66 0f ef f9          	pxor   %xmm1,%xmm7
4661da:	f3 0f 7e c0          	movq   %xmm0,%xmm0
4661de:	0f 28 ce             	movaps %xmm6,%xmm1
4661e1:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4661e6:	66 0f 6e c7          	movd   %edi,%xmm0
4661ea:	66 0f ef f9          	pxor   %xmm1,%xmm7
4661ee:	0f 28 4c 24 60       	movaps 0x60(%esp),%xmm1
4661f3:	66 0f f2 e0          	pslld  %xmm0,%xmm4
4661f7:	66 0f 6e c3          	movd   %ebx,%xmm0
4661fb:	66 0f ef 64 24 20    	pxor   0x20(%esp),%xmm4
466201:	66 0f f2 e0          	pslld  %xmm0,%xmm4
466205:	0f 28 05 f0 73 4b 00 	movaps 0x4b73f0,%xmm0
46620c:	f3 0f 7e c0          	movq   %xmm0,%xmm0
466210:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
466215:	66 0f ef e1          	pxor   %xmm1,%xmm4
466219:	0f 28 0d f0 73 4b 00 	movaps 0x4b73f0,%xmm1
466220:	f3 0f 7e c1          	movq   %xmm1,%xmm0
466224:	66 0f 38 40 d0       	pmulld %xmm0,%xmm2
466229:	f3 0f 7e c1          	movq   %xmm1,%xmm0
46622d:	66 0f ef e2          	pxor   %xmm2,%xmm4
466231:	66 0f 38 40 d8       	pmulld %xmm0,%xmm3
466236:	f3 0f 7e c1          	movq   %xmm1,%xmm0
46623a:	66 0f ef e3          	pxor   %xmm3,%xmm4
46623e:	0f 28 cd             	movaps %xmm5,%xmm1
466241:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
466246:	0f 28 05 f0 73 4b 00 	movaps 0x4b73f0,%xmm0
46624d:	66 0f ef e1          	pxor   %xmm1,%xmm4
466251:	0f 28 4c 24 40       	movaps 0x40(%esp),%xmm1
466256:	f3 0f 7e c0          	movq   %xmm0,%xmm0
46625a:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
46625f:	0f 28 54 24 20       	movaps 0x20(%esp),%xmm2
466264:	66 0f ef e1          	pxor   %xmm1,%xmm4
466268:	0f 10 5c 24 60       	movups 0x60(%esp),%xmm3
46626d:	b8 03 00 00 00       	mov    $0x3,%eax
466272:	66 0f eb fc          	por    %xmm4,%xmm7
466276:	0f 28 25 10 74 4b 00 	movaps 0x4b7410,%xmm4
46627d:	0f 28 cb             	movaps %xmm3,%xmm1
466280:	66 0f 6e c0          	movd   %eax,%xmm0
466284:	b8 10 00 00 00       	mov    $0x10,%eax
466289:	66 0f f2 d0          	pslld  %xmm0,%xmm2
46628d:	66 0f ef 54 24 20    	pxor   0x20(%esp),%xmm2
466293:	66 0f 6e c0          	movd   %eax,%xmm0
466297:	b8 20 00 00 00       	mov    $0x20,%eax
46629c:	66 0f f2 d0          	pslld  %xmm0,%xmm2
4662a0:	f3 0f 7e c4          	movq   %xmm4,%xmm0
4662a4:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4662a9:	66 0f ef d1          	pxor   %xmm1,%xmm2
4662ad:	f3 0f 7e c4          	movq   %xmm4,%xmm0
4662b1:	0f 28 cd             	movaps %xmm5,%xmm1
4662b4:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4662b9:	66 0f ef d1          	pxor   %xmm1,%xmm2
4662bd:	f3 0f 7e c4          	movq   %xmm4,%xmm0
4662c1:	0f 10 64 24 40       	movups 0x40(%esp),%xmm4
4662c6:	0f 28 cc             	movaps %xmm4,%xmm1
4662c9:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
4662ce:	66 0f ef d1          	pxor   %xmm1,%xmm2
4662d2:	66 0f 6e c7          	movd   %edi,%xmm0
4662d6:	66 0f eb fa          	por    %xmm2,%xmm7
4662da:	0f 28 54 24 20       	movaps 0x20(%esp),%xmm2
4662df:	0f 28 ca             	movaps %xmm2,%xmm1
4662e2:	66 0f f2 c8          	pslld  %xmm0,%xmm1
4662e6:	f3 0f 7e 44 24 50    	movq   0x50(%esp),%xmm0
4662ec:	66 0f ef ca          	pxor   %xmm2,%xmm1
4662f0:	66 0f f2 c8          	pslld  %xmm0,%xmm1
4662f4:	f3 0f 7e 05 d0 73 4b 	movq   0x4b73d0,%xmm0
4662fb:	00
4662fc:	66 0f 38 40 d8       	pmulld %xmm0,%xmm3
466301:	66 0f ef cb          	pxor   %xmm3,%xmm1
466305:	0f 28 1d d0 73 4b 00 	movaps 0x4b73d0,%xmm3
46630c:	f3 0f 7e c3          	movq   %xmm3,%xmm0
466310:	66 0f 38 40 e8       	pmulld %xmm0,%xmm5
466315:	66 0f ef cd          	pxor   %xmm5,%xmm1
466319:	f3 0f 7e c3          	movq   %xmm3,%xmm0
46631d:	66 0f 38 40 e0       	pmulld %xmm0,%xmm4
466322:	66 0f ef cc          	pxor   %xmm4,%xmm1
466326:	f3 0f 7e c3          	movq   %xmm3,%xmm0
46632a:	66 0f 38 40 f0       	pmulld %xmm0,%xmm6
46632f:	66 0f ef ce          	pxor   %xmm6,%xmm1
466333:	66 0f 6e c0          	movd   %eax,%xmm0
466337:	0f b7 81 62 e9 4a 00 	movzwl 0x4ae962(%ecx),%eax
46633e:	66 0f ef ca          	pxor   %xmm2,%xmm1
466342:	66 0f eb cf          	por    %xmm7,%xmm1
466346:	66 0f eb fa          	por    %xmm2,%xmm7
46634a:	66 0f 38 35 c9       	pmovzxdq %xmm1,%xmm1
46634f:	66 0f f3 c8          	psllq  %xmm0,%xmm1
466353:	66 0f 38 35 c7       	pmovzxdq %xmm7,%xmm0
466358:	66 0f eb c8          	por    %xmm0,%xmm1
46635c:	0f 28 3d a0 73 4b 00 	movaps 0x4b73a0,%xmm7
466363:	66 0f 6e c0          	movd   %eax,%xmm0
466367:	0f 11 0c cd 48 96 4c 	movups %xmm1,0x4c9648(,%ecx,8)
46636e:	00
46636f:	66 0f 38 31 c8       	pmovzxbd %xmm0,%xmm1
466374:	f3 0f 7e 44 24 50    	movq   0x50(%esp),%xmm0
46637a:	0f 28 e9             	movaps %xmm1,%xmm5
46637d:	66 0f f2 e8          	pslld  %xmm0,%xmm5
466381:	f3 0f 7e 44 24 70    	movq   0x70(%esp),%xmm0
466387:	0f 28 d1             	movaps %xmm1,%xmm2
46638a:	66 0f d2 d0          	psrld  %xmm0,%xmm2
46638e:	f3 0f 7e 05 c0 73 4b 	movq   0x4b73c0,%xmm0
466395:	00
466396:	66 0f ef e9          	pxor   %xmm1,%xmm5
46639a:	66 0f db c2          	pand   %xmm2,%xmm0
46639e:	0f 11 44 24 60       	movups %xmm0,0x60(%esp)
4663a3:	f3 0f 7e 84 24 80 00 	movq   0x80(%esp),%xmm0
4663aa:	00 00
4663ac:	0f 11 4c 24 40       	movups %xmm1,0x40(%esp)
4663b1:	66 0f d2 c8          	psrld  %xmm0,%xmm1
4663b5:	0f 28 05 b0 73 4b 00 	movaps 0x4b73b0,%xmm0
4663bc:	f3 0f 7e d8          	movq   %xmm0,%xmm3
4663c0:	66 0f db d9          	pand   %xmm1,%xmm3
4663c4:	f3 0f 7e f0          	movq   %xmm0,%xmm6
4663c8:	f3 0f 7e e7          	movq   %xmm7,%xmm4
4663cc:	66 0f db e1          	pand   %xmm1,%xmm4
4663d0:	66 0f 6e c6          	movd   %esi,%xmm0
4663d4:	66 0f db f2          	pand   %xmm2,%xmm6
4663d8:	0f 28 cd             	movaps %xmm5,%xmm1
4663db:	f3 0f 7e ff          	movq   %xmm7,%xmm7
4663df:	66 0f db fa          	pand   %xmm2,%xmm7
4663e3:	0f 28 54 24 40       	movaps 0x40(%esp),%xmm2
4663e8:	66 0f d2 d0          	psrld  %xmm0,%xmm2
4663ec:	f3 0f 7e 44 24 50    	movq   0x50(%esp),%xmm0
4663f2:	66 0f f2 c8          	pslld  %xmm0,%xmm1
4663f6:	66 0f 6e c2          	movd   %edx,%xmm0
4663fa:	66 0f ef 4c 24 40    	pxor   0x40(%esp),%xmm1
466400:	66 0f f2 c8          	pslld  %xmm0,%xmm1
466404:	f3 0f 7e 05 30 74 4b 	movq   0x4b7430,%xmm0
46640b:	00
46640c:	0f 11 4c 24 20       	movups %xmm1,0x20(%esp)
466411:	0f 28 4c 24 60       	movaps 0x60(%esp),%xmm1
466416:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1
46641b:	0f 10 44 24 20       	movups 0x20(%esp),%xmm0
466420:	0f 11 94 24 90 00 00 	movups %xmm2,0x90(%esp)
466427:	00
466428:	66 0f ef c1          	pxor   %xmm1,%xmm0
46642c:	0f 28 cb             	movaps %xmm3,%xmm1
46642f:	0f 11 44 24 20       	movups %xmm0,0x20(%esp)
466434:	f3 0f 7e 05 30 74 4b 	movq   0x4b7430,%xmm0
46643b:	00
46643c:	66 0f 38 40 c8       	pmulld %xmm0,%xmm1