1401c0370:	41 54                	push   %r12
1401c0372:	41 55                	push   %r13
1401c0374:	41 56                	push   %r14
1401c0376:	41 57                	push   %r15
1401c0378:	48 8b ec             	mov    %rsp,%rbp
1401c037b:	48 83 ec 70          	sub    $0x70,%rsp
1401c037f:	49 8b f9             	mov    %r9,%rdi
1401c0382:	45 8b f8             	mov    %r8d,%r15d
1401c0385:	48 8b f2             	mov    %rdx,%rsi
1401c0388:	45 33 e4             	xor    %r12d,%r12d
1401c038b:	48 85 c9             	test   %rcx,%rcx
1401c038e:	0f 84 19 01 00 00    	je     0x1401c04ad
1401c0394:	48 85 d2             	test   %rdx,%rdx
1401c0397:	0f 84 10 01 00 00    	je     0x1401c04ad
1401c039d:	48 8b 59 f0          	mov    -0x10(%rcx),%rbx
1401c03a1:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
1401c03a5:	48 85 db             	test   %rbx,%rbx
1401c03a8:	74 15                	je     0x1401c03bf
1401c03aa:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c03ae:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c03b2:	48 83 c1 08          	add    $0x8,%rcx
1401c03b6:	48 03 cb             	add    %rbx,%rcx
1401c03b9:	48 8b 01             	mov    (%rcx),%rax
1401c03bc:	ff 10                	call   *(%rax)
1401c03be:	90                   	nop
1401c03bf:	48 8b 03             	mov    (%rbx),%rax
1401c03c2:	4c 8b 70 30          	mov    0x30(%rax),%r14
1401c03c6:	4c 8d 2d 73 a5 16 00 	lea    0x16a573(%rip),%r13        # 0x14032a940
1401c03cd:	4c 89 6d e8          	mov    %r13,-0x18(%rbp)
1401c03d1:	4c 89 65 f0          	mov    %r12,-0x10(%rbp)
1401c03d5:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
1401c03d9:	48 8b 45 50          	mov    0x50(%rbp),%rax
1401c03dd:	48 85 c0             	test   %rax,%rax
1401c03e0:	74 08                	je     0x1401c03ea
1401c03e2:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1401c03e6:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
1401c03ea:	4c 89 6d d0          	mov    %r13,-0x30(%rbp)
1401c03ee:	4c 89 65 d8          	mov    %r12,-0x28(%rbp)
1401c03f2:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
1401c03f6:	48 85 ff             	test   %rdi,%rdi
1401c03f9:	74 08                	je     0x1401c0403
1401c03fb:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
1401c03ff:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
1401c0403:	48 8b d6             	mov    %rsi,%rdx
1401c0406:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
1401c040a:	e8 81 68 ff ff       	call   0x1401b6c90
1401c040f:	8b 4d 58             	mov    0x58(%rbp),%ecx
1401c0412:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
1401c0416:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1401c041a:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1401c041f:	4c 8d 4d d0          	lea    -0x30(%rbp),%r9
1401c0423:	45 8b c7             	mov    %r15d,%r8d
1401c0426:	48 8b d0             	mov    %rax,%rdx
1401c0429:	48 8b cb             	mov    %rbx,%rcx
1401c042c:	41 ff d6             	call   *%r14
1401c042f:	0f b6 f8             	movzbl %al,%edi
1401c0432:	4c 89 6d d0          	mov    %r13,-0x30(%rbp)
1401c0436:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1401c043a:	48 85 c9             	test   %rcx,%rcx
1401c043d:	74 21                	je     0x1401c0460
1401c043f:	80 7d e0 00          	cmpb   $0x0,-0x20(%rbp)
1401c0443:	74 13                	je     0x1401c0458
1401c0445:	e8 b2 d9 f1 ff       	call   0x1400dddfc
1401c044a:	ba 18 00 00 00       	mov    $0x18,%edx
1401c044f:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1401c0453:	e8 2c 9e 13 00       	call   0x1402fa284
1401c0458:	4c 89 65 d8          	mov    %r12,-0x28(%rbp)
1401c045c:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
1401c0460:	4c 89 6d e8          	mov    %r13,-0x18(%rbp)
1401c0464:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401c0468:	48 85 c9             	test   %rcx,%rcx
1401c046b:	74 21                	je     0x1401c048e
1401c046d:	80 7d f8 00          	cmpb   $0x0,-0x8(%rbp)
1401c0471:	74 13                	je     0x1401c0486
1401c0473:	e8 84 d9 f1 ff       	call   0x1400dddfc
1401c0478:	ba 18 00 00 00       	mov    $0x18,%edx
1401c047d:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401c0481:	e8 fe 9d 13 00       	call   0x1402fa284
1401c0486:	4c 89 65 f0          	mov    %r12,-0x10(%rbp)
1401c048a:	c6 45 f8 00          	movb   $0x0,-0x8(%rbp)
1401c048e:	48 85 db             	test   %rbx,%rbx
1401c0491:	74 16                	je     0x1401c04a9
1401c0493:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c0497:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c049b:	48 83 c1 08          	add    $0x8,%rcx
1401c049f:	48 03 cb             	add    %rbx,%rcx
1401c04a2:	48 8b 01             	mov    (%rcx),%rax
1401c04a5:	ff 50 08             	call   *0x8(%rax)
1401c04a8:	90                   	nop
1401c04a9:	8b c7                	mov    %edi,%eax
1401c04ab:	eb 02                	jmp    0x1401c04af
1401c04ad:	33 c0                	xor    %eax,%eax
1401c04af:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1401c04b4:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1401c04b8:	49 8b 73 40          	mov    0x40(%r11),%rsi
1401c04bc:	49 8b 7b 48          	mov    0x48(%r11),%rdi
1401c04c0:	49 8b e3             	mov    %r11,%rsp
1401c04c3:	41 5f                	pop    %r15
1401c04c5:	41 5e                	pop    %r14
1401c04c7:	41 5d                	pop    %r13
1401c04c9:	41 5c                	pop    %r12
1401c04cb:	5d                   	pop    %rbp
1401c04cc:	c3                   	ret
1401c04cd:	cc                   	int3
1401c04ce:	cc                   	int3
1401c04cf:	cc                   	int3
1401c04d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c04d5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1401c04da:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401c04df:	57                   	push   %rdi
1401c04e0:	41 56                	push   %r14
1401c04e2:	41 57                	push   %r15
1401c04e4:	48 83 ec 60          	sub    $0x60,%rsp
1401c04e8:	45 8b f1             	mov    %r9d,%r14d
1401c04eb:	4d 8b f8             	mov    %r8,%r15
1401c04ee:	48 8b ea             	mov    %rdx,%rbp
1401c04f1:	48 85 c9             	test   %rcx,%rcx
1401c04f4:	0f 84 9f 00 00 00    	je     0x1401c0599
1401c04fa:	48 85 d2             	test   %rdx,%rdx
1401c04fd:	0f 84 96 00 00 00    	je     0x1401c0599
1401c0503:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
1401c050a:	00
1401c050b:	48 85 c0             	test   %rax,%rax
1401c050e:	0f 84 85 00 00 00    	je     0x1401c0599
1401c0514:	0f 10 00             	movups (%rax),%xmm0
1401c0517:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
1401c051c:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1401c0520:	0f 11 4c 24 50       	movups %xmm1,0x50(%rsp)
1401c0525:	48 8b 79 f0          	mov    -0x10(%rcx),%rdi
1401c0529:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1401c052e:	48 85 ff             	test   %rdi,%rdi
1401c0531:	74 15                	je     0x1401c0548
1401c0533:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401c0537:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c053b:	48 83 c1 08          	add    $0x8,%rcx
1401c053f:	48 03 cf             	add    %rdi,%rcx
1401c0542:	48 8b 01             	mov    (%rcx),%rax
1401c0545:	ff 10                	call   *(%rax)
1401c0547:	90                   	nop
1401c0548:	48 8b 07             	mov    (%rdi),%rax
1401c054b:	48 8b 58 48          	mov    0x48(%rax),%rbx
1401c054f:	48 8b d5             	mov    %rbp,%rdx
1401c0552:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
1401c0559:	00
1401c055a:	e8 31 67 ff ff       	call   0x1401b6c90
1401c055f:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1401c0564:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1401c0569:	45 8b ce             	mov    %r14d,%r9d
1401c056c:	4d 8b c7             	mov    %r15,%r8
1401c056f:	48 8b d0             	mov    %rax,%rdx
1401c0572:	48 8b cf             	mov    %rdi,%rcx
1401c0575:	ff d3                	call   *%rbx
1401c0577:	0f b6 d8             	movzbl %al,%ebx
1401c057a:	48 85 ff             	test   %rdi,%rdi
1401c057d:	74 16                	je     0x1401c0595
1401c057f:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1401c0583:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401c0587:	48 83 c1 08          	add    $0x8,%rcx
1401c058b:	48 03 cf             	add    %rdi,%rcx
1401c058e:	48 8b 11             	mov    (%rcx),%rdx
1401c0591:	ff 52 08             	call   *0x8(%rdx)
1401c0594:	90                   	nop
1401c0595:	8b c3                	mov    %ebx,%eax
1401c0597:	eb 02                	jmp    0x1401c059b
1401c0599:	33 c0                	xor    %eax,%eax
1401c059b:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1401c05a0:	49 8b 5b 28          	mov    0x28(%r11),%rbx
1401c05a4:	49 8b 6b 30          	mov    0x30(%r11),%rbp
1401c05a8:	49 8b 73 38          	mov    0x38(%r11),%rsi
1401c05ac:	49 8b e3             	mov    %r11,%rsp
1401c05af:	41 5f                	pop    %r15
1401c05b1:	41 5e                	pop    %r14
1401c05b3:	5f                   	pop    %rdi
1401c05b4:	c3                   	ret
1401c05b5:	cc                   	int3
1401c05b6:	cc                   	int3
1401c05b7:	cc                   	int3
1401c05b8:	cc                   	int3
1401c05b9:	cc                   	int3
1401c05ba:	cc                   	int3
1401c05bb:	cc                   	int3
1401c05bc:	cc                   	int3
1401c05bd:	cc                   	int3
1401c05be:	cc                   	int3
1401c05bf:	cc                   	int3
1401c05c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c05c5:	55                   	push   %rbp
1401c05c6:	56                   	push   %rsi
1401c05c7:	57                   	push   %rdi
1401c05c8:	48 83 ec 40          	sub    $0x40,%rsp
1401c05cc:	48 8b ea             	mov    %rdx,%rbp
1401c05cf:	48 8b f9             	mov    %rcx,%rdi
1401c05d2:	33 c0                	xor    %eax,%eax
1401c05d4:	48 85 c9             	test   %rcx,%rcx
1401c05d7:	0f 84 16 01 00 00    	je     0x1401c06f3
1401c05dd:	48 85 d2             	test   %rdx,%rdx
1401c05e0:	0f 84 0d 01 00 00    	je     0x1401c06f3
1401c05e6:	0f 57 c0             	xorps  %xmm0,%xmm0
1401c05e9:	f3 0f 7f 44 24 28    	movdqu %xmm0,0x28(%rsp)
1401c05ef:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1401c05f4:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1401c05f9:	49 8b c8             	mov    %r8,%rcx
1401c05fc:	e8 3f 8a 00 00       	call   0x1401c9040
1401c0601:	48 8b 7f f0          	mov    -0x10(%rdi),%rdi
1401c0605:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
1401c060a:	48 85 ff             	test   %rdi,%rdi
1401c060d:	74 15                	je     0x1401c0624
1401c060f:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401c0613:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c0617:	48 83 c1 08          	add    $0x8,%rcx
1401c061b:	48 03 cf             	add    %rdi,%rcx
1401c061e:	48 8b 01             	mov    (%rcx),%rax
1401c0621:	ff 10                	call   *(%rax)
1401c0623:	90                   	nop
1401c0624:	48 8b 07             	mov    (%rdi),%rax
1401c0627:	48 8b 58 10          	mov    0x10(%rax),%rbx
1401c062b:	48 8b d5             	mov    %rbp,%rdx
1401c062e:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401c0633:	e8 58 66 ff ff       	call   0x1401b6c90
1401c0638:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
1401c063d:	48 8b d0             	mov    %rax,%rdx
1401c0640:	48 8b cf             	mov    %rdi,%rcx
1401c0643:	ff d3                	call   *%rbx
1401c0645:	90                   	nop
1401c0646:	48 85 ff             	test   %rdi,%rdi
1401c0649:	74 16                	je     0x1401c0661
1401c064b:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401c064f:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c0653:	48 83 c1 08          	add    $0x8,%rcx
1401c0657:	48 03 cf             	add    %rdi,%rcx
1401c065a:	48 8b 01             	mov    (%rcx),%rax
1401c065d:	ff 50 08             	call   *0x8(%rax)
1401c0660:	90                   	nop
1401c0661:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
1401c0666:	48 85 db             	test   %rbx,%rbx
1401c0669:	0f 84 84 00 00 00    	je     0x1401c06f3
1401c066f:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1401c0674:	48 3b df             	cmp    %rdi,%rbx
1401c0677:	74 1f                	je     0x1401c0698
1401c0679:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401c0680:	48 8b 03             	mov    (%rbx),%rax
1401c0683:	33 d2                	xor    %edx,%edx
1401c0685:	48 8b cb             	mov    %rbx,%rcx
1401c0688:	ff 10                	call   *(%rax)
1401c068a:	48 83 c3 18          	add    $0x18,%rbx
1401c068e:	48 3b df             	cmp    %rdi,%rbx
1401c0691:	75 ed                	jne    0x1401c0680
1401c0693:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
1401c0698:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401c069d:	48 2b cb             	sub    %rbx,%rcx
1401c06a0:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1401c06a7:	aa aa 2a
1401c06aa:	48 f7 e9             	imul   %rcx
1401c06ad:	48 c1 fa 02          	sar    $0x2,%rdx
1401c06b1:	48 8b c2             	mov    %rdx,%rax
1401c06b4:	48 c1 e8 3f          	shr    $0x3f,%rax
1401c06b8:	48 03 d0             	add    %rax,%rdx
1401c06bb:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1401c06bf:	48 c1 e2 03          	shl    $0x3,%rdx
1401c06c3:	48 8b c3             	mov    %rbx,%rax
1401c06c6:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401c06cd:	72 1c                	jb     0x1401c06eb
1401c06cf:	48 83 c2 27          	add    $0x27,%rdx
1401c06d3:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1401c06d7:	48 2b c3             	sub    %rbx,%rax
1401c06da:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1401c06de:	48 83 f8 1f          	cmp    $0x1f,%rax
1401c06e2:	76 07                	jbe    0x1401c06eb
1401c06e4:	ff 15 0e 99 16 00    	call   *0x16990e(%rip)        # 0x140329ff8
1401c06ea:	cc                   	int3
1401c06eb:	48 8b cb             	mov    %rbx,%rcx
1401c06ee:	e8 91 9b 13 00       	call   0x1402fa284
1401c06f3:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1401c06f8:	48 83 c4 40          	add    $0x40,%rsp
1401c06fc:	5f                   	pop    %rdi
1401c06fd:	5e                   	pop    %rsi
1401c06fe:	5d                   	pop    %rbp
1401c06ff:	c3                   	ret
1401c0700:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c0705:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1401c070a:	56                   	push   %rsi
1401c070b:	57                   	push   %rdi
1401c070c:	41 56                	push   %r14
1401c070e:	48 83 ec 30          	sub    $0x30,%rsp
1401c0712:	45 8b f0             	mov    %r8d,%r14d
1401c0715:	48 8b ea             	mov    %rdx,%rbp
1401c0718:	48 85 c9             	test   %rcx,%rcx
1401c071b:	74 67                	je     0x1401c0784
1401c071d:	48 85 d2             	test   %rdx,%rdx
1401c0720:	74 62                	je     0x1401c0784
1401c0722:	48 8b 79 f0          	mov    -0x10(%rcx),%rdi
1401c0726:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
1401c072b:	48 85 ff             	test   %rdi,%rdi
1401c072e:	74 15                	je     0x1401c0745
1401c0730:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401c0734:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c0738:	48 83 c1 08          	add    $0x8,%rcx
1401c073c:	48 03 cf             	add    %rdi,%rcx
1401c073f:	48 8b 01             	mov    (%rcx),%rax
1401c0742:	ff 10                	call   *(%rax)
1401c0744:	90                   	nop
1401c0745:	48 8b 07             	mov    (%rdi),%rax
1401c0748:	48 8b 58 18          	mov    0x18(%rax),%rbx
1401c074c:	48 8b d5             	mov    %rbp,%rdx
1401c074f:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1401c0754:	e8 37 65 ff ff       	call   0x1401b6c90
1401c0759:	45 85 f6             	test   %r14d,%r14d
1401c075c:	41 0f 95 c0          	setne  %r8b
1401c0760:	48 8b d0             	mov    %rax,%rdx
1401c0763:	48 8b cf             	mov    %rdi,%rcx
1401c0766:	ff d3                	call   *%rbx
1401c0768:	90                   	nop
1401c0769:	48 85 ff             	test   %rdi,%rdi
1401c076c:	74 16                	je     0x1401c0784
1401c076e:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401c0772:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c0776:	48 83 c1 08          	add    $0x8,%rcx
1401c077a:	48 03 cf             	add    %rdi,%rcx
1401c077d:	48 8b 01             	mov    (%rcx),%rax
1401c0780:	ff 50 08             	call   *0x8(%rax)
1401c0783:	90                   	nop
1401c0784:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1401c0789:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1401c078e:	48 83 c4 30          	add    $0x30,%rsp
1401c0792:	41 5e                	pop    %r14
1401c0794:	5f                   	pop    %rdi
1401c0795:	5e                   	pop    %rsi
1401c0796:	c3                   	ret
1401c0797:	cc                   	int3
1401c0798:	cc                   	int3
1401c0799:	cc                   	int3
1401c079a:	cc                   	int3
1401c079b:	cc                   	int3
1401c079c:	cc                   	int3
1401c079d:	cc                   	int3
1401c079e:	cc                   	int3
1401c079f:	cc                   	int3
1401c07a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c07a5:	55                   	push   %rbp
1401c07a6:	56                   	push   %rsi
1401c07a7:	57                   	push   %rdi
1401c07a8:	48 83 ec 40          	sub    $0x40,%rsp
1401c07ac:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
1401c07b1:	0f 28 f2             	movaps %xmm2,%xmm6
1401c07b4:	48 8b ea             	mov    %rdx,%rbp
1401c07b7:	48 85 c9             	test   %rcx,%rcx
1401c07ba:	74 63                	je     0x1401c081f
1401c07bc:	48 85 d2             	test   %rdx,%rdx
1401c07bf:	74 5e                	je     0x1401c081f
1401c07c1:	48 8b 79 f0          	mov    -0x10(%rcx),%rdi