14003119b:	48 8b 3f             	mov    (%rdi),%rdi
14003119e:	48 8b 1b             	mov    (%rbx),%rbx
1400311a1:	4c 89 75 08          	mov    %r14,0x8(%rbp)
1400311a5:	66 83 3c 5f 00       	cmpw   $0x0,(%rdi,%rbx,2)
1400311aa:	0f 84 76 03 00 00    	je     0x140031526
1400311b0:	48 8d 0c 5f          	lea    (%rdi,%rbx,2),%rcx
1400311b4:	48 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rsi
1400311bb:	ff ff 7f
1400311be:	48 83 c1 02          	add    $0x2,%rcx
1400311c2:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
1400311c7:	0f 57 f6             	xorps  %xmm6,%xmm6
1400311ca:	48 8d 7c 24 40       	lea    0x40(%rsp),%rdi
1400311cf:	0f 29 37             	movaps %xmm6,(%rdi)
1400311d2:	48 c7 47 10 00 00 00 	movq   $0x0,0x10(%rdi)
1400311d9:	00
1400311da:	48 8d 1d 3f c4 0b 00 	lea    0xbc43f(%rip),%rbx        # 0x1400ed620
1400311e1:	4c 8d 35 2e 28 0b 00 	lea    0xb282e(%rip),%r14        # 0x1400e3a16
1400311e8:	e9 5e 01 00 00       	jmp    0x14003134b
1400311ed:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
1400311f1:	49 29 cf             	sub    %rcx,%r15
1400311f4:	49 c1 ff 03          	sar    $0x3,%r15
1400311f8:	49 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r8
1400311ff:	aa aa aa
140031202:	4d 0f af f8          	imul   %r8,%r15
140031206:	49 8d 6f 01          	lea    0x1(%r15),%rbp
14003120a:	48 ba aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%rdx
140031211:	aa aa 0a
140031214:	48 39 d5             	cmp    %rdx,%rbp
140031217:	0f 87 fa 03 00 00    	ja     0x140031617
14003121d:	48 29 c8             	sub    %rcx,%rax
140031220:	48 c1 f8 03          	sar    $0x3,%rax
140031224:	49 0f af c0          	imul   %r8,%rax
140031228:	48 8d 0c 00          	lea    (%rax,%rax,1),%rcx
14003122c:	48 39 e9             	cmp    %rbp,%rcx
14003122f:	48 0f 47 e9          	cmova  %rcx,%rbp
140031233:	48 b9 55 55 55 55 55 	movabs $0x555555555555555,%rcx
14003123a:	55 55 05
14003123d:	48 39 c8             	cmp    %rcx,%rax
140031240:	48 0f 43 ea          	cmovae %rdx,%rbp
140031244:	48 85 ed             	test   %rbp,%rbp
140031247:	0f 84 25 03 00 00    	je     0x140031572
14003124d:	48 39 d5             	cmp    %rdx,%rbp
140031250:	0f 87 ab 03 00 00    	ja     0x140031601
140031256:	48 8d 04 ed 00 00 00 	lea    0x0(,%rbp,8),%rax
14003125d:	00
14003125e:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140031262:	e8 2d cc 03 00       	call   0x14006de94
140031267:	49 89 c5             	mov    %rax,%r13
14003126a:	4f 8d 24 7f          	lea    (%r15,%r15,2),%r12
14003126e:	49 c1 e4 03          	shl    $0x3,%r12
140031272:	4d 01 ec             	add    %r13,%r12
140031275:	0f 84 bd 03 00 00    	je     0x140031638
14003127b:	80 7c 24 57 00       	cmpb   $0x0,0x57(%rsp)
140031280:	0f 89 d3 02 00 00    	jns    0x140031559
140031286:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14003128b:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140031290:	4c 89 e1             	mov    %r12,%rcx
140031293:	e8 b8 ad 02 00       	call   0x14005c050
140031298:	48 8d 04 6d 00 00 00 	lea    0x0(,%rbp,2),%rax
14003129f:	00
1400312a0:	48 01 e8             	add    %rbp,%rax
1400312a3:	4d 8d 6c c5 00       	lea    0x0(%r13,%rax,8),%r13
1400312a8:	4d 8d 7c 24 18       	lea    0x18(%r12),%r15
1400312ad:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400312b2:	48 8b 55 00          	mov    0x0(%rbp),%rdx
1400312b6:	4c 8b 45 08          	mov    0x8(%rbp),%r8
1400312ba:	49 29 d0             	sub    %rdx,%r8
1400312bd:	4d 29 c4             	sub    %r8,%r12
1400312c0:	4c 89 e1             	mov    %r12,%rcx
1400312c3:	e8 a8 c8 06 00       	call   0x14009db70
1400312c8:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
1400312cc:	4c 89 65 00          	mov    %r12,0x0(%rbp)
1400312d0:	4c 89 7d 08          	mov    %r15,0x8(%rbp)
1400312d4:	4c 89 6d 10          	mov    %r13,0x10(%rbp)
1400312d8:	48 85 c9             	test   %rcx,%rcx
1400312db:	74 47                	je     0x140031324
1400312dd:	e8 ee cb 03 00       	call   0x14006ded0
1400312e2:	eb 40                	jmp    0x140031324
1400312e4:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400312e9:	4c 8b 7d 08          	mov    0x8(%rbp),%r15
1400312ed:	48 8b 45 10          	mov    0x10(%rbp),%rax
1400312f1:	49 39 c7             	cmp    %rax,%r15
1400312f4:	0f 83 f3 fe ff ff    	jae    0x1400311ed
1400312fa:	4d 85 ff             	test   %r15,%r15
1400312fd:	0f 84 35 03 00 00    	je     0x140031638
140031303:	80 7c 24 57 00       	cmpb   $0x0,0x57(%rsp)
140031308:	0f 89 13 03 00 00    	jns    0x140031621
14003130e:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140031313:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140031318:	4c 89 f9             	mov    %r15,%rcx
14003131b:	e8 30 ad 02 00       	call   0x14005c050
140031320:	49 83 c7 18          	add    $0x18,%r15
140031324:	4c 89 7d 08          	mov    %r15,0x8(%rbp)
140031328:	80 7c 24 57 00       	cmpb   $0x0,0x57(%rsp)
14003132d:	0f 89 d3 02 00 00    	jns    0x140031606
140031333:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140031338:	66 c7 00 00 00       	movw   $0x0,(%rax)
14003133d:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
140031344:	00 00
140031346:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
14003134b:	48 89 da             	mov    %rbx,%rdx
14003134e:	e8 a5 73 05 00       	call   0x1400886f8
140031353:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140031358:	48 8d 0c 41          	lea    (%rcx,%rax,2),%rcx
14003135c:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140031361:	66 83 39 00          	cmpw   $0x0,(%rcx)
140031365:	0f 84 aa 01 00 00    	je     0x140031515
14003136b:	45 31 e4             	xor    %r12d,%r12d
14003136e:	e9 d5 00 00 00       	jmp    0x140031448
140031373:	3c 0a                	cmp    $0xa,%al
140031375:	0f 84 6e 01 00 00    	je     0x1400314e9
14003137b:	8d 48 01             	lea    0x1(%rax),%ecx
14003137e:	80 e1 7f             	and    $0x7f,%cl
140031381:	88 4c 24 57          	mov    %cl,0x57(%rsp)
140031385:	48 89 f9             	mov    %rdi,%rcx
140031388:	e9 a2 00 00 00       	jmp    0x14003142f
14003138d:	44 89 f9             	mov    %r15d,%ecx
140031390:	80 e1 7f             	and    $0x7f,%cl
140031393:	88 4c 24 57          	mov    %cl,0x57(%rsp)
140031397:	eb 28                	jmp    0x1400313c1
140031399:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14003139e:	4a 8d 0c 78          	lea    (%rax,%r15,2),%rcx
1400313a2:	31 d2                	xor    %edx,%edx
1400313a4:	66 c7 04 51 5c 00    	movw   $0x5c,(%rcx,%rdx,2)
1400313aa:	48 ff c2             	inc    %rdx
1400313ad:	49 39 d5             	cmp    %rdx,%r13
1400313b0:	75 f2                	jne    0x1400313a4
1400313b2:	4d 01 ef             	add    %r13,%r15
1400313b5:	80 7c 24 57 00       	cmpb   $0x0,0x57(%rsp)
1400313ba:	79 d1                	jns    0x14003138d
1400313bc:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
1400313c1:	66 42 c7 04 78 00 00 	movw   $0x0,(%rax,%r15,2)
1400313c8:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1400313cd:	0f b7 28             	movzwl (%rax),%ebp
1400313d0:	66 85 ed             	test   %bp,%bp
1400313d3:	0f 84 0b ff ff ff    	je     0x1400312e4
1400313d9:	45 85 e4             	test   %r12d,%r12d
1400313dc:	75 1b                	jne    0x1400313f9
1400313de:	48 89 d9             	mov    %rbx,%rcx
1400313e1:	89 ea                	mov    %ebp,%edx
1400313e3:	e8 98 fb 03 00       	call   0x140070f80
1400313e8:	48 85 c0             	test   %rax,%rax
1400313eb:	0f 85 f3 fe ff ff    	jne    0x1400312e4
1400313f1:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1400313f6:	0f b7 28             	movzwl (%rax),%ebp
1400313f9:	48 0f be 44 24 57    	movsbq 0x57(%rsp),%rax
1400313ff:	48 85 c0             	test   %rax,%rax
140031402:	0f 89 6b ff ff ff    	jns    0x140031373
140031408:	4c 8b 7c 24 50       	mov    0x50(%rsp),%r15
14003140d:	49 21 f7             	and    %rsi,%r15
140031410:	49 ff cf             	dec    %r15
140031413:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140031418:	4c 39 f8             	cmp    %r15,%rax
14003141b:	0f 84 ce 00 00 00    	je     0x1400314ef
140031421:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140031426:	48 8d 50 01          	lea    0x1(%rax),%rdx
14003142a:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
14003142f:	66 89 2c 41          	mov    %bp,(%rcx,%rax,2)
140031433:	66 c7 44 41 02 00 00 	movw   $0x0,0x2(%rcx,%rax,2)
14003143a:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
14003143f:	48 83 c1 02          	add    $0x2,%rcx
140031443:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
140031448:	4c 89 f2             	mov    %r14,%rdx
14003144b:	e8 a8 72 05 00       	call   0x1400886f8
140031450:	49 89 c7             	mov    %rax,%r15
140031453:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140031458:	4d 63 ef             	movslq %r15d,%r13
14003145b:	4a 8d 04 68          	lea    (%rax,%r13,2),%rax
14003145f:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140031464:	0f b7 28             	movzwl (%rax),%ebp
140031467:	66 83 fd 22          	cmp    $0x22,%bp
14003146b:	0f 84 09 01 00 00    	je     0x14003157a
140031471:	49 c1 e7 20          	shl    $0x20,%r15
140031475:	0f 84 55 ff ff ff    	je     0x1400313d0
14003147b:	4c 0f be 7c 24 57    	movsbq 0x57(%rsp),%r15
140031481:	4d 85 ff             	test   %r15,%r15
140031484:	79 59                	jns    0x1400314df
140031486:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
14003148b:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140031490:	48 89 ca             	mov    %rcx,%rdx
140031493:	48 21 f2             	and    %rsi,%rdx
140031496:	48 ff ca             	dec    %rdx
140031499:	48 c1 e9 38          	shr    $0x38,%rcx
14003149d:	48 89 d0             	mov    %rdx,%rax
1400314a0:	4c 29 f8             	sub    %r15,%rax
1400314a3:	4c 39 e8             	cmp    %r13,%rax
1400314a6:	73 27                	jae    0x1400314cf
1400314a8:	4d 89 e8             	mov    %r13,%r8
1400314ab:	49 29 d0             	sub    %rdx,%r8
1400314ae:	4d 01 f8             	add    %r15,%r8
1400314b1:	0f 11 74 24 28       	movups %xmm6,0x28(%rsp)
1400314b6:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1400314bb:	48 89 f9             	mov    %rdi,%rcx
1400314be:	4d 89 f9             	mov    %r15,%r9
1400314c1:	e8 ca bc fe ff       	call   0x14001d190
1400314c6:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
1400314cb:	8a 4c 24 57          	mov    0x57(%rsp),%cl
1400314cf:	48 89 f8             	mov    %rdi,%rax
1400314d2:	84 c9                	test   %cl,%cl
1400314d4:	0f 89 c4 fe ff ff    	jns    0x14003139e
1400314da:	e9 ba fe ff ff       	jmp    0x140031399
1400314df:	ba 0a 00 00 00       	mov    $0xa,%edx
1400314e4:	44 89 f9             	mov    %r15d,%ecx
1400314e7:	eb b4                	jmp    0x14003149d
1400314e9:	41 bf 0a 00 00 00    	mov    $0xa,%r15d
1400314ef:	0f 11 74 24 28       	movups %xmm6,0x28(%rsp)
1400314f4:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1400314f9:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400314ff:	48 89 f9             	mov    %rdi,%rcx
140031502:	4c 89 fa             	mov    %r15,%rdx
140031505:	4d 89 f9             	mov    %r15,%r9
140031508:	e8 83 bc fe ff       	call   0x14001d190
14003150d:	4c 89 f8             	mov    %r15,%rax
140031510:	e9 0c ff ff ff       	jmp    0x140031421
140031515:	80 7c 24 57 00       	cmpb   $0x0,0x57(%rsp)
14003151a:	79 0a                	jns    0x140031526
14003151c:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140031521:	e8 aa c9 03 00       	call   0x14006ded0
140031526:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
14003152b:	48 31 e1             	xor    %rsp,%rcx
14003152e:	48 3b 0d 0b fb 0c 00 	cmp    0xcfb0b(%rip),%rcx        # 0x140101040
140031535:	74 06                	je     0x14003153d
140031537:	e8 94 dd 03 00       	call   0x14006f2d0
14003153c:	cc                   	int3
14003153d:	48 89 e8             	mov    %rbp,%rax
140031540:	0f 28 74 24 70       	movaps 0x70(%rsp),%xmm6
140031545:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
14003154c:	5b                   	pop    %rbx
14003154d:	5d                   	pop    %rbp
14003154e:	5f                   	pop    %rdi
14003154f:	5e                   	pop    %rsi
140031550:	41 5c                	pop    %r12
140031552:	41 5d                	pop    %r13
140031554:	41 5e                	pop    %r14
140031556:	41 5f                	pop    %r15
140031558:	c3                   	ret
140031559:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
14003155e:	49 89 44 24 10       	mov    %rax,0x10(%r12)
140031563:	0f 28 44 24 40       	movaps 0x40(%rsp),%xmm0
140031568:	41 0f 11 04 24       	movups %xmm0,(%r12)
14003156d:	e9 26 fd ff ff       	jmp    0x140031298
140031572:	45 31 ed             	xor    %r13d,%r13d
140031575:	e9 f0 fc ff ff       	jmp    0x14003126a
14003157a:	44 89 f8             	mov    %r15d,%eax
14003157d:	c1 e8 1f             	shr    $0x1f,%eax
140031580:	44 01 f8             	add    %r15d,%eax
140031583:	d1 f8                	sar    $1,%eax
140031585:	48 63 d0             	movslq %eax,%rdx
140031588:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14003158d:	66 41 b8 5c 00       	mov    $0x5c,%r8w
140031592:	e8 89 65 ff ff       	call   0x140027b20
140031597:	41 81 e7 01 00 00 80 	and    $0x80000001,%r15d
14003159e:	41 83 ff 01          	cmp    $0x1,%r15d
1400315a2:	75 13                	jne    0x1400315b7
1400315a4:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400315a9:	66 ba 22 00          	mov    $0x22,%dx
1400315ad:	e8 4e ab 02 00       	call   0x14005c100
1400315b2:	e9 83 fe ff ff       	jmp    0x14003143a
1400315b7:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1400315bc:	66 83 78 02 22       	cmpw   $0x22,0x2(%rax)
1400315c1:	0f 94 c1             	sete   %cl
1400315c4:	41 83 fc 01          	cmp    $0x1,%r12d
1400315c8:	0f 94 c2             	sete   %dl
1400315cb:	20 ca                	and    %cl,%dl
1400315cd:	80 fa 01             	cmp    $0x1,%dl
1400315d0:	74 10                	je     0x1400315e2
1400315d2:	31 c0                	xor    %eax,%eax
1400315d4:	45 85 e4             	test   %r12d,%r12d
1400315d7:	0f 94 c0             	sete   %al
1400315da:	41 89 c4             	mov    %eax,%r12d
1400315dd:	e9 58 fe ff ff       	jmp    0x14003143a
1400315e2:	48 83 c0 02          	add    $0x2,%rax
1400315e6:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1400315eb:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400315f0:	66 ba 22 00          	mov    $0x22,%dx
1400315f4:	e8 07 ab 02 00       	call   0x14005c100
1400315f9:	45 31 e4             	xor    %r12d,%r12d
1400315fc:	e9 39 fe ff ff       	jmp    0x14003143a
140031601:	e8 7a dd 06 00       	call   0x14009f380
140031606:	66 c7 44 24 40 00 00 	movw   $0x0,0x40(%rsp)
14003160d:	c6 44 24 57 00       	movb   $0x0,0x57(%rsp)
140031612:	e9 2f fd ff ff       	jmp    0x140031346
140031617:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14003161c:	e8 8f 18 07 00       	call   0x1400a2eb0
140031621:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140031626:	49 89 47 10          	mov    %rax,0x10(%r15)
14003162a:	0f 28 44 24 40       	movaps 0x40(%rsp),%xmm0
14003162f:	41 0f 11 07          	movups %xmm0,(%r15)
140031633:	e9 e8 fc ff ff       	jmp    0x140031320
140031638:	0f 0b                	ud2
14003163a:	4d 85 f6             	test   %r14,%r14
14003163d:	74 f9                	je     0x140031638
14003163f:	4c 89 f1             	mov    %r14,%rcx
140031642:	48 89 fa             	mov    %rdi,%rdx
140031645:	49 89 d8             	mov    %rbx,%r8
140031648:	e8 63 93 fe ff       	call   0x14001a9b0
14003164d:	49 83 c6 18          	add    $0x18,%r14
140031651:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140031656:	e9 46 fb ff ff       	jmp    0x1400311a1
14003165b:	48 83 c7 02          	add    $0x2,%rdi
14003165f:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
140031664:	48 89 f9             	mov    %rdi,%rcx
140031667:	66 ba 22 00          	mov    $0x22,%dx
14003166b:	e8 10 f9 03 00       	call   0x140070f80
140031670:	41 0f b6 5e 17       	movzbl 0x17(%r14),%ebx
140031675:	48 85 c0             	test   %rax,%rax
140031678:	74 1e                	je     0x140031698
14003167a:	84 db                	test   %bl,%bl
14003167c:	79 03                	jns    0x140031681
14003167e:	4d 8b 36             	mov    (%r14),%r14
140031681:	4c 29 f0             	sub    %r14,%rax
140031684:	48 83 c0 fe          	add    $0xfffffffffffffffe,%rax
140031688:	48 d1 f8             	sar    $1,%rax
14003168b:	48 89 c3             	mov    %rax,%rbx
14003168e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140031693:	e9 d5 fa ff ff       	jmp    0x14003116d
140031698:	84 db                	test   %bl,%bl
14003169a:	79 04                	jns    0x1400316a0
14003169c:	49 8b 5e 08          	mov    0x8(%r14),%rbx
1400316a0:	48 ff cb             	dec    %rbx
1400316a3:	eb e9                	jmp    0x14003168e
1400316a5:	cc                   	int3
1400316a6:	cc                   	int3
1400316a7:	cc                   	int3
1400316a8:	cc                   	int3
1400316a9:	cc                   	int3
1400316aa:	cc                   	int3
1400316ab:	cc                   	int3
1400316ac:	cc                   	int3
1400316ad:	cc                   	int3
1400316ae:	cc                   	int3
1400316af:	cc                   	int3
1400316b0:	41 57                	push   %r15
1400316b2:	41 56                	push   %r14
1400316b4:	41 54                	push   %r12
1400316b6:	56                   	push   %rsi
1400316b7:	57                   	push   %rdi
1400316b8:	53                   	push   %rbx
1400316b9:	48 81 ec 98 00 00 00 	sub    $0x98,%rsp
1400316c0:	4c 89 c7             	mov    %r8,%rdi
1400316c3:	48 89 ce             	mov    %rcx,%rsi
1400316c6:	48 8b 05 73 f9 0c 00 	mov    0xcf973(%rip),%rax        # 0x140101040
1400316cd:	48 31 e0             	xor    %rsp,%rax
1400316d0:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
1400316d7:	00
1400316d8:	48 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rax
1400316df:	aa aa aa
1400316e2:	48 8d 5c 24 70       	lea    0x70(%rsp),%rbx
1400316e7:	48 89 43 10          	mov    %rax,0x10(%rbx)
1400316eb:	0f 28 05 1e f2 0a 00 	movaps 0xaf21e(%rip),%xmm0        # 0x1400e0910