1800860af:	0f 57 c0             	xorps  %xmm0,%xmm0
1800860b2:	0f b6 46 03          	movzbl 0x3(%rsi),%eax
1800860b6:	c1 e2 08             	shl    $0x8,%edx
1800860b9:	0b d1                	or     %ecx,%edx
1800860bb:	0f b7 4e 06          	movzwl 0x6(%rsi),%ecx
1800860bf:	0b d0                	or     %eax,%edx
1800860c1:	66 c1 e1 08          	shl    $0x8,%cx
1800860c5:	0f b6 46 05          	movzbl 0x5(%rsi),%eax
1800860c9:	89 16                	mov    %edx,(%rsi)
1800860cb:	0f b7 56 04          	movzwl 0x4(%rsi),%edx
1800860cf:	66 c1 e2 08          	shl    $0x8,%dx
1800860d3:	66 0b d0             	or     %ax,%dx
1800860d6:	0f b6 46 07          	movzbl 0x7(%rsi),%eax
1800860da:	66 0b c8             	or     %ax,%cx
1800860dd:	66 89 56 04          	mov    %dx,0x4(%rsi)
1800860e1:	0f b6 46 09          	movzbl 0x9(%rsi),%eax
1800860e5:	66 89 4e 06          	mov    %cx,0x6(%rsi)
1800860e9:	0f b7 4e 08          	movzwl 0x8(%rsi),%ecx
1800860ed:	66 c1 e1 08          	shl    $0x8,%cx
1800860f1:	66 0b c8             	or     %ax,%cx
1800860f4:	0f b6 46 0b          	movzbl 0xb(%rsi),%eax
1800860f8:	66 89 4e 08          	mov    %cx,0x8(%rsi)
1800860fc:	0f b7 4e 0a          	movzwl 0xa(%rsi),%ecx
180086100:	66 c1 e1 08          	shl    $0x8,%cx
180086104:	66 0b c8             	or     %ax,%cx
180086107:	66 89 4e 0a          	mov    %cx,0xa(%rsi)
18008610b:	33 c9                	xor    %ecx,%ecx
18008610d:	44 8b f9             	mov    %ecx,%r15d
180086110:	8b d9                	mov    %ecx,%ebx
180086112:	44 8b f1             	mov    %ecx,%r14d
180086115:	0f 11 45 e7          	movups %xmm0,-0x19(%rbp)
180086119:	66 3b ca             	cmp    %dx,%cx
18008611c:	0f 83 37 01 00 00    	jae    0x180086259
180086122:	45 8b ce             	mov    %r14d,%r9d
180086125:	49 c1 e1 04          	shl    $0x4,%r9
180086129:	4c 03 ce             	add    %rsi,%r9
18008612c:	41 8b 49 10          	mov    0x10(%r9),%ecx
180086130:	44 8b d9             	mov    %ecx,%r11d
180086133:	8b c1                	mov    %ecx,%eax
180086135:	41 c1 e3 10          	shl    $0x10,%r11d
180086139:	41 23 c2             	and    %r10d,%eax
18008613c:	c1 e9 08             	shr    $0x8,%ecx
18008613f:	41 23 ca             	and    %r10d,%ecx
180086142:	44 0b d8             	or     %eax,%r11d
180086145:	41 0f b6 41 13       	movzbl 0x13(%r9),%eax
18008614a:	41 c1 e3 08          	shl    $0x8,%r11d
18008614e:	44 0b d9             	or     %ecx,%r11d
180086151:	41 8b 49 14          	mov    0x14(%r9),%ecx
180086155:	44 0b d8             	or     %eax,%r11d
180086158:	8b d1                	mov    %ecx,%edx
18008615a:	8b c1                	mov    %ecx,%eax
18008615c:	c1 e2 10             	shl    $0x10,%edx
18008615f:	41 23 c2             	and    %r10d,%eax
180086162:	c1 e9 08             	shr    $0x8,%ecx
180086165:	41 23 ca             	and    %r10d,%ecx
180086168:	45 89 59 10          	mov    %r11d,0x10(%r9)
18008616c:	0b d0                	or     %eax,%edx
18008616e:	41 0f b6 41 17       	movzbl 0x17(%r9),%eax
180086173:	c1 e2 08             	shl    $0x8,%edx
180086176:	0b d1                	or     %ecx,%edx
180086178:	41 8b 49 18          	mov    0x18(%r9),%ecx
18008617c:	0b d0                	or     %eax,%edx
18008617e:	44 8b d1             	mov    %ecx,%r10d
180086181:	41 c1 e2 10          	shl    $0x10,%r10d
180086185:	8b c1                	mov    %ecx,%eax
180086187:	c1 e9 08             	shr    $0x8,%ecx
18008618a:	41 89 51 14          	mov    %edx,0x14(%r9)
18008618e:	ba 00 ff 00 00       	mov    $0xff00,%edx
180086193:	23 c2                	and    %edx,%eax
180086195:	23 ca                	and    %edx,%ecx
180086197:	44 0b d0             	or     %eax,%r10d
18008619a:	41 0f b6 41 1b       	movzbl 0x1b(%r9),%eax
18008619f:	41 c1 e2 08          	shl    $0x8,%r10d
1800861a3:	44 0b d1             	or     %ecx,%r10d
1800861a6:	33 c9                	xor    %ecx,%ecx
1800861a8:	44 0b d0             	or     %eax,%r10d
1800861ab:	45 89 51 18          	mov    %r10d,0x18(%r9)
1800861af:	4d 85 ff             	test   %r15,%r15
1800861b2:	74 64                	je     0x180086218
1800861b4:	41 8b 0f             	mov    (%r15),%ecx
1800861b7:	44 8b c1             	mov    %ecx,%r8d
1800861ba:	41 8b 51 0c          	mov    0xc(%r9),%edx
1800861be:	8b c1                	mov    %ecx,%eax
1800861c0:	c1 e9 08             	shr    $0x8,%ecx
1800861c3:	25 00 ff 00 00       	and    $0xff00,%eax
1800861c8:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
1800861ce:	41 c1 e0 10          	shl    $0x10,%r8d
1800861d2:	44 0b c0             	or     %eax,%r8d
1800861d5:	41 0f b6 47 03       	movzbl 0x3(%r15),%eax
1800861da:	41 c1 e0 08          	shl    $0x8,%r8d
1800861de:	41 bf 00 ff 00 00    	mov    $0xff00,%r15d
1800861e4:	44 0b c1             	or     %ecx,%r8d
1800861e7:	8b ca                	mov    %edx,%ecx
1800861e9:	c1 e1 10             	shl    $0x10,%ecx
1800861ec:	44 0b c0             	or     %eax,%r8d
1800861ef:	8b c2                	mov    %edx,%eax
1800861f1:	c1 ea 08             	shr    $0x8,%edx
1800861f4:	41 23 c7             	and    %r15d,%eax
1800861f7:	41 23 d7             	and    %r15d,%edx
1800861fa:	0b c8                	or     %eax,%ecx
1800861fc:	41 0f b6 41 0f       	movzbl 0xf(%r9),%eax
180086201:	c1 e1 08             	shl    $0x8,%ecx
180086204:	0b ca                	or     %edx,%ecx
180086206:	0b c8                	or     %eax,%ecx
180086208:	44 3b c1             	cmp    %ecx,%r8d
18008620b:	0f 83 c7 06 00 00    	jae    0x1800868d8
180086211:	44 8b 44 24 34       	mov    0x34(%rsp),%r8d
180086216:	33 c9                	xor    %ecx,%ecx
180086218:	41 81 79 0c 44 53 49 	cmpl   $0x47495344,0xc(%r9)
18008621f:	47
180086220:	75 0a                	jne    0x18008622c
180086222:	41 0f 10 41 0c       	movups 0xc(%r9),%xmm0
180086227:	f3 0f 7f 45 e7       	movdqu %xmm0,-0x19(%rbp)
18008622c:	0f b7 46 04          	movzwl 0x4(%rsi),%eax
180086230:	4d 8d 79 0c          	lea    0xc(%r9),%r15
180086234:	41 3b da             	cmp    %r10d,%ebx
180086237:	44 0f 43 d3          	cmovae %ebx,%r10d
18008623b:	45 03 c3             	add    %r11d,%r8d
18008623e:	41 ff c6             	inc    %r14d
180086241:	44 89 44 24 34       	mov    %r8d,0x34(%rsp)
180086246:	41 8b da             	mov    %r10d,%ebx
180086249:	44 3b f0             	cmp    %eax,%r14d
18008624c:	73 0b                	jae    0x180086259
18008624e:	41 ba 00 ff 00 00    	mov    $0xff00,%r10d
180086254:	e9 c9 fe ff ff       	jmp    0x180086122
180086259:	0f 10 06             	movups (%rsi),%xmm0
18008625c:	41 be 01 00 00 00    	mov    $0x1,%r14d
180086262:	0f 11 45 87          	movups %xmm0,-0x79(%rbp)
180086266:	f2 0f 10 4e 10       	movsd  0x10(%rsi),%xmm1
18008626b:	f2 0f 11 4d 97       	movsd  %xmm1,-0x69(%rbp)
180086270:	8b 46 18             	mov    0x18(%rsi),%eax
180086273:	89 45 9f             	mov    %eax,-0x61(%rbp)
180086276:	48 8b 45 ef          	mov    -0x11(%rbp),%rax
18008627a:	48 c1 e8 20          	shr    $0x20,%rax
18008627e:	85 c0                	test   %eax,%eax
180086280:	74 55                	je     0x1800862d7
180086282:	48 8b 45 87          	mov    -0x79(%rbp),%rax
180086286:	44 0f b7 c1          	movzwl %cx,%r8d
18008628a:	48 c1 e8 20          	shr    $0x20,%rax
18008628e:	66 41 2b c6          	sub    %r14w,%ax
180086292:	66 89 4d 8f          	mov    %cx,-0x71(%rbp)
180086296:	44 0f b7 d8          	movzwl %ax,%r11d
18008629a:	41 83 fb 02          	cmp    $0x2,%r11d
18008629e:	72 19                	jb     0x1800862b9
1800862a0:	66 45 03 c6          	add    %r14w,%r8w
1800862a4:	41 8b c6             	mov    %r14d,%eax
1800862a7:	41 0f b7 c8          	movzwl %r8w,%ecx
1800862ab:	ff c1                	inc    %ecx
1800862ad:	d3 e0                	shl    %cl,%eax
1800862af:	41 3b c3             	cmp    %r11d,%eax
1800862b2:	76 ec                	jbe    0x1800862a0
1800862b4:	66 44 89 45 8f       	mov    %r8w,-0x71(%rbp)
1800862b9:	8b 4d 8f             	mov    -0x71(%rbp),%ecx
1800862bc:	45 8b ce             	mov    %r14d,%r9d
1800862bf:	66 41 d3 e1          	shl    %cl,%r9w
1800862c3:	45 0f b7 d3          	movzwl %r11w,%r10d
1800862c7:	66 41 c1 e1 04       	shl    $0x4,%r9w
1800862cc:	66 41 c1 e2 04       	shl    $0x4,%r10w
1800862d1:	66 45 2b d1          	sub    %r9w,%r10w
1800862d5:	eb 14                	jmp    0x1800862eb
1800862d7:	44 0f b7 55 91       	movzwl -0x6f(%rbp),%r10d
1800862dc:	44 0f b7 45 8f       	movzwl -0x71(%rbp),%r8d
1800862e1:	44 0f b7 4d 8d       	movzwl -0x73(%rbp),%r9d
1800862e6:	44 0f b7 5d 8b       	movzwl -0x75(%rbp),%r11d
1800862eb:	8b 4d 87             	mov    -0x79(%rbp),%ecx
1800862ee:	8b d1                	mov    %ecx,%edx
1800862f0:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
1800862f6:	66 41 c1 c3 08       	rol    $0x8,%r11w
1800862fb:	66 41 c1 c1 08       	rol    $0x8,%r9w
180086300:	8b c1                	mov    %ecx,%eax
180086302:	c1 e8 10             	shr    $0x10,%eax
180086305:	0b d0                	or     %eax,%edx
180086307:	66 41 c1 c0 08       	rol    $0x8,%r8w
18008630c:	c1 ea 08             	shr    $0x8,%edx
18008630f:	8b c1                	mov    %ecx,%eax
180086311:	c1 e0 10             	shl    $0x10,%eax
180086314:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
18008631a:	0b c1                	or     %ecx,%eax
18008631c:	66 41 c1 c2 08       	rol    $0x8,%r10w
180086321:	c1 e0 08             	shl    $0x8,%eax
180086324:	0b d0                	or     %eax,%edx
180086326:	66 44 89 55 91       	mov    %r10w,-0x6f(%rbp)
18008632b:	45 33 d2             	xor    %r10d,%r10d
18008632e:	66 44 89 5d 8b       	mov    %r11w,-0x75(%rbp)
180086333:	89 55 87             	mov    %edx,-0x79(%rbp)
180086336:	45 8b fa             	mov    %r10d,%r15d
180086339:	66 44 89 4d 8d       	mov    %r9w,-0x73(%rbp)
18008633e:	48 8d 55 87          	lea    -0x79(%rbp),%rdx
180086342:	66 44 89 45 8f       	mov    %r8w,-0x71(%rbp)
180086347:	45 8b c2             	mov    %r10d,%r8d
18008634a:	45 8d 5a 0c          	lea    0xc(%r10),%r11d
18008634e:	45 8b cb             	mov    %r11d,%r9d
180086351:	41 8a c8             	mov    %r8b,%cl
180086354:	b8 03 00 00 00       	mov    $0x3,%eax
180086359:	80 e1 03             	and    $0x3,%cl
18008635c:	4d 03 c6             	add    %r14,%r8
18008635f:	2a c1                	sub    %cl,%al
180086361:	8a c8                	mov    %al,%cl
180086363:	0f b6 02             	movzbl (%rdx),%eax
180086366:	c0 e1 03             	shl    $0x3,%cl
180086369:	49 03 d6             	add    %r14,%rdx
18008636c:	d3 e0                	shl    %cl,%eax
18008636e:	44 03 f8             	add    %eax,%r15d
180086371:	4d 2b ce             	sub    %r14,%r9
180086374:	75 db                	jne    0x180086351
180086376:	44 89 7d 83          	mov    %r15d,-0x7d(%rbp)
18008637a:	45 39 55 08          	cmp    %r10d,0x8(%r13)
18008637e:	74 0a                	je     0x18008638a
180086380:	bb 02 00 00 c0       	mov    $0xc0000002,%ebx
180086385:	e9 53 05 00 00       	jmp    0x1800868dd
18008638a:	49 8d 45 10          	lea    0x10(%r13),%rax
18008638e:	45 8b c3             	mov    %r11d,%r8d
180086391:	48 8b c8             	mov    %rax,%rcx
180086394:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
180086398:	48 8d 55 87          	lea    -0x79(%rbp),%rdx
18008639c:	e8 9b a4 f9 ff       	call   0x18002083c
1800863a1:	45 33 db             	xor    %r11d,%r11d
1800863a4:	45 8b f3             	mov    %r11d,%r14d
1800863a7:	66 44 3b 5e 04       	cmp    0x4(%rsi),%r11w
1800863ac:	0f 83 ea 00 00 00    	jae    0x18008649c
1800863b2:	44 8b 6d f3          	mov    -0xd(%rbp),%r13d
1800863b6:	41 8b c6             	mov    %r14d,%eax
1800863b9:	48 03 c0             	add    %rax,%rax
1800863bc:	0f 10 44 c6 0c       	movups 0xc(%rsi,%rax,8),%xmm0
1800863c1:	66 0f 7e c0          	movd   %xmm0,%eax
1800863c5:	0f 11 45 af          	movups %xmm0,-0x51(%rbp)
1800863c9:	3d 44 53 49 47       	cmp    $0x47495344,%eax
1800863ce:	0f 84 b8 00 00 00    	je     0x18008648c
1800863d4:	8b 4d b7             	mov    -0x49(%rbp),%ecx
1800863d7:	3b 4d ef             	cmp    -0x11(%rbp),%ecx
1800863da:	76 09                	jbe    0x1800863e5
1800863dc:	41 8d 45 03          	lea    0x3(%r13),%eax
1800863e0:	83 e0 fc             	and    $0xfffffffc,%eax
1800863e3:	2b c8                	sub    %eax,%ecx
1800863e5:	48 8b 45 af          	mov    -0x51(%rbp),%rax
1800863e9:	4c 8d 45 af          	lea    -0x51(%rbp),%r8
1800863ed:	48 c1 e8 20          	shr    $0x20,%rax
1800863f1:	41 ba 10 00 00 00    	mov    $0x10,%r10d
1800863f7:	44 03 f8             	add    %eax,%r15d
1800863fa:	4d 8b cb             	mov    %r11,%r9
1800863fd:	0f c8                	bswap  %eax
1800863ff:	89 45 b3             	mov    %eax,-0x4d(%rbp)
180086402:	8d 41 f0             	lea    -0x10(%rcx),%eax
180086405:	8b 4d bb             	mov    -0x45(%rbp),%ecx
180086408:	8b d1                	mov    %ecx,%edx
18008640a:	0f c8                	bswap  %eax
18008640c:	89 45 b7             	mov    %eax,-0x49(%rbp)
18008640f:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
180086415:	8b c1                	mov    %ecx,%eax
180086417:	c1 e8 10             	shr    $0x10,%eax
18008641a:	0b d0                	or     %eax,%edx
18008641c:	8b c1                	mov    %ecx,%eax
18008641e:	c1 e0 10             	shl    $0x10,%eax
180086421:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
180086427:	0b c1                	or     %ecx,%eax
180086429:	c1 ea 08             	shr    $0x8,%edx
18008642c:	c1 e0 08             	shl    $0x8,%eax
18008642f:	0b d0                	or     %eax,%edx
180086431:	89 55 bb             	mov    %edx,-0x45(%rbp)
180086434:	41 8b d3             	mov    %r11d,%edx
180086437:	45 8d 5a f1          	lea    -0xf(%r10),%r11d
18008643b:	41 8a c9             	mov    %r9b,%cl
18008643e:	b8 03 00 00 00       	mov    $0x3,%eax
180086443:	80 e1 03             	and    $0x3,%cl
180086446:	4d 03 cb             	add    %r11,%r9
180086449:	2a c1                	sub    %cl,%al
18008644b:	8a c8                	mov    %al,%cl
18008644d:	41 0f b6 00          	movzbl (%r8),%eax
180086451:	c0 e1 03             	shl    $0x3,%cl
180086454:	4d 03 c3             	add    %r11,%r8
180086457:	d3 e0                	shl    %cl,%eax
180086459:	03 d0                	add    %eax,%edx
18008645b:	4d 2b d3             	sub    %r11,%r10
18008645e:	75 db                	jne    0x18008643b
180086460:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
180086464:	44 03 fa             	add    %edx,%r15d
180086467:	45 33 db             	xor    %r11d,%r11d
18008646a:	44 89 7d 83          	mov    %r15d,-0x7d(%rbp)
18008646e:	44 39 58 08          	cmp    %r11d,0x8(%rax)
180086472:	0f 85 08 ff ff ff    	jne    0x180086380
180086478:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
18008647c:	45 8d 42 10          	lea    0x10(%r10),%r8d
180086480:	48 8d 55 af          	lea    -0x51(%rbp),%rdx
180086484:	e8 b3 a3 f9 ff       	call   0x18002083c
180086489:	45 33 db             	xor    %r11d,%r11d
18008648c:	0f b7 46 04          	movzwl 0x4(%rsi),%eax
180086490:	41 ff c6             	inc    %r14d
180086493:	44 3b f0             	cmp    %eax,%r14d
180086496:	0f 82 1a ff ff ff    	jb     0x1800863b6
18008649c:	85 db                	test   %ebx,%ebx
18008649e:	0f 84 34 04 00 00    	je     0x1800868d8
1800864a4:	8b c3                	mov    %ebx,%eax
1800864a6:	48 8d 48 03          	lea    0x3(%rax),%rcx
1800864aa:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
1800864ae:	48 3b c8             	cmp    %rax,%rcx
1800864b1:	0f 82 21 04 00 00    	jb     0x1800868d8
1800864b7:	e8 94 39 01 00       	call   0x180099e50
1800864bc:	48 8b f8             	mov    %rax,%rdi
1800864bf:	48 85 c0             	test   %rax,%rax
1800864c2:	75 0a                	jne    0x1800864ce
1800864c4:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
1800864c9:	e9 0f 04 00 00       	jmp    0x1800868dd
1800864ce:	0f b7 56 04          	movzwl 0x4(%rsi),%edx
1800864d2:	4c 8d 0d a7 f9 ff ff 	lea    -0x659(%rip),%r9        # 0x180085e80
1800864d9:	41 b8 10 00 00 00    	mov    $0x10,%r8d
1800864df:	48 8d 4e 0c          	lea    0xc(%rsi),%rcx
1800864e3:	e8 68 4d 0a 00       	call   0x18012b250
1800864e8:	45 33 db             	xor    %r11d,%r11d
1800864eb:	45 8b cb             	mov    %r11d,%r9d
1800864ee:	45 8b eb             	mov    %r11d,%r13d
1800864f1:	66 44 3b 5e 04       	cmp    0x4(%rsi),%r11w
1800864f6:	0f 83 dc 03 00 00    	jae    0x1800868d8
1800864fc:	41 8b c5             	mov    %r13d,%eax
1800864ff:	4c 8d 76 0c          	lea    0xc(%rsi),%r14
180086503:	48 c1 e0 04          	shl    $0x4,%rax
180086507:	4c 03 f0             	add    %rax,%r14
18008650a:	45 8b 46 08          	mov    0x8(%r14),%r8d
18008650e:	49 8d 40 03          	lea    0x3(%r8),%rax
180086512:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180086516:	4c 3b c0             	cmp    %rax,%r8
180086519:	0f 85 b9 03 00 00    	jne    0x1800868d8
18008651f:	41 8b 56 0c          	mov    0xc(%r14),%edx
180086523:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
180086527:	41 3b c0             	cmp    %r8d,%eax
18008652a:	0f 86 a8 03 00 00    	jbe    0x1800868d8
180086530:	48 3b 45 f7          	cmp    -0x9(%rbp),%rax
180086534:	0f 87 9e 03 00 00    	ja     0x1800868d8
18008653a:	4d 85 c9             	test   %r9,%r9
18008653d:	74 18                	je     0x180086557
18008653f:	41 8b 49 0c          	mov    0xc(%r9),%ecx
180086543:	41 8b 41 08          	mov    0x8(%r9),%eax
180086547:	48 83 c1 03          	add    $0x3,%rcx
18008654b:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
18008654f:	48 03 c8             	add    %rax,%rcx
180086552:	4c 3b c1             	cmp    %rcx,%r8
180086555:	eb 04                	jmp    0x18008655b
180086557:	44 3b 45 bf          	cmp    -0x41(%rbp),%r8d
18008655b:	0f 85 77 03 00 00    	jne    0x1800868d8
180086561:	8b 4d 67             	mov    0x67(%rbp),%ecx
180086564:	44 8d 7a 03          	lea    0x3(%rdx),%r15d
180086568:	44 89 5c 24 28       	mov    %r11d,0x28(%rsp)
18008656d:	4c 8b cf             	mov    %rdi,%r9
180086570:	41 83 e7 fc          	and    $0xfffffffc,%r15d
180086574:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
180086579:	e8 d2 29 fe ff       	call   0x180068f50
18008657e:	8b d8                	mov    %eax,%ebx
180086580:	85 c0                	test   %eax,%eax
180086582:	0f 88 55 03 00 00    	js     0x1800868dd
180086588:	41 8b 4e 0c          	mov    0xc(%r14),%ecx
18008658c:	45 8b c7             	mov    %r15d,%r8d