1401c738b:	48 8b ce             	mov    %rsi,%rcx
1401c738e:	e8 1d 9a f2 ff       	call   0x1400f0db0
1401c7393:	85 c0                	test   %eax,%eax
1401c7395:	74 11                	je     0x1401c73a8
1401c7397:	ba 01 00 00 00       	mov    $0x1,%edx
1401c739c:	48 8b ce             	mov    %rsi,%rcx
1401c739f:	e8 0c 9a f2 ff       	call   0x1400f0db0
1401c73a4:	85 c0                	test   %eax,%eax
1401c73a6:	74 14                	je     0x1401c73bc
1401c73a8:	48 8b ce             	mov    %rsi,%rcx
1401c73ab:	e8 b0 98 f2 ff       	call   0x1400f0c60
1401c73b0:	48 8b f0             	mov    %rax,%rsi
1401c73b3:	48 85 c0             	test   %rax,%rax
1401c73b6:	0f 84 41 01 00 00    	je     0x1401c74fd
1401c73bc:	48 8b 0b             	mov    (%rbx),%rcx
1401c73bf:	e8 8c 95 f2 ff       	call   0x1400f0950
1401c73c4:	48 89 33             	mov    %rsi,(%rbx)
1401c73c7:	48 8b 77 10          	mov    0x10(%rdi),%rsi
1401c73cb:	48 85 f6             	test   %rsi,%rsi
1401c73ce:	74 36                	je     0x1401c7406
1401c73d0:	ba 02 00 00 00       	mov    $0x2,%edx
1401c73d5:	48 8b ce             	mov    %rsi,%rcx
1401c73d8:	e8 d3 99 f2 ff       	call   0x1400f0db0
1401c73dd:	85 c0                	test   %eax,%eax
1401c73df:	74 11                	je     0x1401c73f2
1401c73e1:	ba 01 00 00 00       	mov    $0x1,%edx
1401c73e6:	48 8b ce             	mov    %rsi,%rcx
1401c73e9:	e8 c2 99 f2 ff       	call   0x1400f0db0
1401c73ee:	85 c0                	test   %eax,%eax
1401c73f0:	74 14                	je     0x1401c7406
1401c73f2:	48 8b ce             	mov    %rsi,%rcx
1401c73f5:	e8 66 98 f2 ff       	call   0x1400f0c60
1401c73fa:	48 8b f0             	mov    %rax,%rsi
1401c73fd:	48 85 c0             	test   %rax,%rax
1401c7400:	0f 84 f7 00 00 00    	je     0x1401c74fd
1401c7406:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1401c740a:	e8 41 95 f2 ff       	call   0x1400f0950
1401c740f:	48 89 73 10          	mov    %rsi,0x10(%rbx)
1401c7413:	48 8b 77 08          	mov    0x8(%rdi),%rsi
1401c7417:	48 85 f6             	test   %rsi,%rsi
1401c741a:	74 36                	je     0x1401c7452
1401c741c:	ba 02 00 00 00       	mov    $0x2,%edx
1401c7421:	48 8b ce             	mov    %rsi,%rcx
1401c7424:	e8 87 99 f2 ff       	call   0x1400f0db0
1401c7429:	85 c0                	test   %eax,%eax
1401c742b:	74 11                	je     0x1401c743e
1401c742d:	ba 01 00 00 00       	mov    $0x1,%edx
1401c7432:	48 8b ce             	mov    %rsi,%rcx
1401c7435:	e8 76 99 f2 ff       	call   0x1400f0db0
1401c743a:	85 c0                	test   %eax,%eax
1401c743c:	74 14                	je     0x1401c7452
1401c743e:	48 8b ce             	mov    %rsi,%rcx
1401c7441:	e8 1a 98 f2 ff       	call   0x1400f0c60
1401c7446:	48 8b f0             	mov    %rax,%rsi
1401c7449:	48 85 c0             	test   %rax,%rax
1401c744c:	0f 84 ab 00 00 00    	je     0x1401c74fd
1401c7452:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401c7456:	e8 f5 94 f2 ff       	call   0x1400f0950
1401c745b:	48 89 73 08          	mov    %rsi,0x8(%rbx)
1401c745f:	48 8b 77 18          	mov    0x18(%rdi),%rsi
1401c7463:	48 85 f6             	test   %rsi,%rsi
1401c7466:	74 32                	je     0x1401c749a
1401c7468:	ba 02 00 00 00       	mov    $0x2,%edx
1401c746d:	48 8b ce             	mov    %rsi,%rcx
1401c7470:	e8 3b 99 f2 ff       	call   0x1400f0db0
1401c7475:	85 c0                	test   %eax,%eax
1401c7477:	74 11                	je     0x1401c748a
1401c7479:	ba 01 00 00 00       	mov    $0x1,%edx
1401c747e:	48 8b ce             	mov    %rsi,%rcx
1401c7481:	e8 2a 99 f2 ff       	call   0x1400f0db0
1401c7486:	85 c0                	test   %eax,%eax
1401c7488:	74 10                	je     0x1401c749a
1401c748a:	48 8b ce             	mov    %rsi,%rcx
1401c748d:	e8 ce 97 f2 ff       	call   0x1400f0c60
1401c7492:	48 8b f0             	mov    %rax,%rsi
1401c7495:	48 85 c0             	test   %rax,%rax
1401c7498:	74 63                	je     0x1401c74fd
1401c749a:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1401c749e:	e8 ad 94 f2 ff       	call   0x1400f0950
1401c74a3:	48 89 73 18          	mov    %rsi,0x18(%rbx)
1401c74a7:	48 8d 15 d2 6b 16 00 	lea    0x166bd2(%rip),%rdx        # 0x14032e080
1401c74ae:	48 8b 47 48          	mov    0x48(%rdi),%rax
1401c74b2:	41 b8 bb 00 00 00    	mov    $0xbb,%r8d
1401c74b8:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1401c74bc:	48 89 43 48          	mov    %rax,0x48(%rbx)
1401c74c0:	48 8b 47 50          	mov    0x50(%rdi),%rax
1401c74c4:	48 89 43 50          	mov    %rax,0x50(%rbx)
1401c74c8:	e8 f3 48 f2 ff       	call   0x1400ebdc0
1401c74cd:	48 8b 47 28          	mov    0x28(%rdi),%rax
1401c74d1:	48 89 43 28          	mov    %rax,0x28(%rbx)
1401c74d5:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
1401c74d9:	48 85 c9             	test   %rcx,%rcx
1401c74dc:	74 31                	je     0x1401c750f
1401c74de:	48 8b 57 28          	mov    0x28(%rdi),%rdx
1401c74e2:	4c 8d 05 97 6b 16 00 	lea    0x166b97(%rip),%r8        # 0x14032e080
1401c74e9:	41 b9 be 00 00 00    	mov    $0xbe,%r9d
1401c74ef:	e8 3c 2b f6 ff       	call   0x14012a030
1401c74f4:	48 89 43 20          	mov    %rax,0x20(%rbx)
1401c74f8:	48 85 c0             	test   %rax,%rax
1401c74fb:	75 1a                	jne    0x1401c7517
1401c74fd:	33 c0                	xor    %eax,%eax
1401c74ff:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401c7504:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1401c7509:	48 83 c4 20          	add    $0x20,%rsp
1401c750d:	5f                   	pop    %rdi
1401c750e:	c3                   	ret
1401c750f:	48 c7 43 20 00 00 00 	movq   $0x0,0x20(%rbx)
1401c7516:	00
1401c7517:	8b 4f 34             	mov    0x34(%rdi),%ecx
1401c751a:	b8 01 00 00 00       	mov    $0x1,%eax
1401c751f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1401c7524:	89 4b 34             	mov    %ecx,0x34(%rbx)
1401c7527:	8b 4f 30             	mov    0x30(%rdi),%ecx
1401c752a:	89 4b 30             	mov    %ecx,0x30(%rbx)
1401c752d:	8b 4f 3c             	mov    0x3c(%rdi),%ecx
1401c7530:	89 4b 3c             	mov    %ecx,0x3c(%rbx)
1401c7533:	8b 4f 38             	mov    0x38(%rdi),%ecx
1401c7536:	89 4b 38             	mov    %ecx,0x38(%rbx)
1401c7539:	8b 4f 40             	mov    0x40(%rdi),%ecx
1401c753c:	89 4b 40             	mov    %ecx,0x40(%rbx)
1401c753f:	8b 4f 58             	mov    0x58(%rdi),%ecx
1401c7542:	89 4b 58             	mov    %ecx,0x58(%rbx)
1401c7545:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401c754a:	48 83 c4 20          	add    $0x20,%rsp
1401c754e:	5f                   	pop    %rdi
1401c754f:	c3                   	ret
1401c7550:	8b 41 40             	mov    0x40(%rcx),%eax
1401c7553:	45 85 c0             	test   %r8d,%r8d
1401c7556:	74 06                	je     0x1401c755e
1401c7558:	0b c2                	or     %edx,%eax
1401c755a:	89 41 40             	mov    %eax,0x40(%rcx)
1401c755d:	c3                   	ret
1401c755e:	f7 d2                	not    %edx
1401c7560:	23 d0                	and    %eax,%edx
1401c7562:	89 51 40             	mov    %edx,0x40(%rcx)
1401c7565:	c3                   	ret
1401c7566:	cc                   	int3
1401c7567:	cc                   	int3
1401c7568:	cc                   	int3
1401c7569:	cc                   	int3
1401c756a:	cc                   	int3
1401c756b:	cc                   	int3
1401c756c:	cc                   	int3
1401c756d:	cc                   	int3
1401c756e:	cc                   	int3
1401c756f:	cc                   	int3
1401c7570:	48 85 d2             	test   %rdx,%rdx
1401c7573:	74 06                	je     0x1401c757b
1401c7575:	48 8b 01             	mov    (%rcx),%rax
1401c7578:	48 89 02             	mov    %rax,(%rdx)
1401c757b:	4d 85 c0             	test   %r8,%r8
1401c757e:	74 07                	je     0x1401c7587
1401c7580:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401c7584:	49 89 00             	mov    %rax,(%r8)
1401c7587:	4d 85 c9             	test   %r9,%r9
1401c758a:	74 07                	je     0x1401c7593
1401c758c:	48 8b 41 10          	mov    0x10(%rcx),%rax
1401c7590:	49 89 01             	mov    %rax,(%r9)
1401c7593:	c3                   	ret
1401c7594:	cc                   	int3
1401c7595:	cc                   	int3
1401c7596:	cc                   	int3
1401c7597:	cc                   	int3
1401c7598:	cc                   	int3
1401c7599:	cc                   	int3
1401c759a:	cc                   	int3
1401c759b:	cc                   	int3
1401c759c:	cc                   	int3
1401c759d:	cc                   	int3
1401c759e:	cc                   	int3
1401c759f:	cc                   	int3
1401c75a0:	48 85 d2             	test   %rdx,%rdx
1401c75a3:	74 07                	je     0x1401c75ac
1401c75a5:	48 8b 41 20          	mov    0x20(%rcx),%rax
1401c75a9:	48 89 02             	mov    %rax,(%rdx)
1401c75ac:	4d 85 c0             	test   %r8,%r8
1401c75af:	74 07                	je     0x1401c75b8
1401c75b1:	48 8b 41 28          	mov    0x28(%rcx),%rax
1401c75b5:	49 89 00             	mov    %rax,(%r8)
1401c75b8:	4d 85 c9             	test   %r9,%r9
1401c75bb:	74 06                	je     0x1401c75c3
1401c75bd:	8b 41 30             	mov    0x30(%rcx),%eax
1401c75c0:	41 89 01             	mov    %eax,(%r9)
1401c75c3:	c3                   	ret
1401c75c4:	cc                   	int3
1401c75c5:	cc                   	int3
1401c75c6:	cc                   	int3
1401c75c7:	cc                   	int3
1401c75c8:	cc                   	int3
1401c75c9:	cc                   	int3
1401c75ca:	cc                   	int3
1401c75cb:	cc                   	int3
1401c75cc:	cc                   	int3
1401c75cd:	cc                   	int3
1401c75ce:	cc                   	int3
1401c75cf:	cc                   	int3
1401c75d0:	0f 57 c0             	xorps  %xmm0,%xmm0
1401c75d3:	0f 11 01             	movups %xmm0,(%rcx)
1401c75d6:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
1401c75da:	0f 11 41 20          	movups %xmm0,0x20(%rcx)
1401c75de:	0f 11 41 30          	movups %xmm0,0x30(%rcx)
1401c75e2:	0f 11 41 40          	movups %xmm0,0x40(%rcx)
1401c75e6:	0f 11 41 50          	movups %xmm0,0x50(%rcx)
1401c75ea:	c7 41 30 ff ff ff ff 	movl   $0xffffffff,0x30(%rcx)
1401c75f1:	c7 41 38 ff ff ff ff 	movl   $0xffffffff,0x38(%rcx)
1401c75f8:	c7 41 40 03 00 00 00 	movl   $0x3,0x40(%rcx)
1401c75ff:	c3                   	ret
1401c7600:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401c7605:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401c760a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401c760f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401c7614:	41 54                	push   %r12
1401c7616:	41 56                	push   %r14
1401c7618:	41 57                	push   %r15
1401c761a:	b8 30 00 00 00       	mov    $0x30,%eax
1401c761f:	e8 0c 95 0e 00       	call   0x1402b0b30
1401c7624:	48 2b e0             	sub    %rax,%rsp
1401c7627:	41 8b e8             	mov    %r8d,%ebp
1401c762a:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
1401c762f:	4c 8b 02             	mov    (%rdx),%r8
1401c7632:	48 8b f2             	mov    %rdx,%rsi
1401c7635:	48 8d 15 b4 6a 16 00 	lea    0x166ab4(%rip),%rdx        # 0x14032e0f0
1401c763c:	45 33 c9             	xor    %r9d,%r9d
1401c763f:	48 8b d9             	mov    %rcx,%rbx
1401c7642:	e8 b9 ef 04 00       	call   0x140216600
1401c7647:	85 c0                	test   %eax,%eax
1401c7649:	0f 84 9d 01 00 00    	je     0x1401c77ec
1401c764f:	4c 8b 46 10          	mov    0x10(%rsi),%r8
1401c7653:	48 8d 15 a6 6a 16 00 	lea    0x166aa6(%rip),%rdx        # 0x14032e100
1401c765a:	45 33 c9             	xor    %r9d,%r9d
1401c765d:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
1401c7661:	48 8b cb             	mov    %rbx,%rcx
1401c7664:	e8 97 ef 04 00       	call   0x140216600
1401c7669:	85 c0                	test   %eax,%eax
1401c766b:	0f 84 7b 01 00 00    	je     0x1401c77ec
1401c7671:	4c 8b 46 08          	mov    0x8(%rsi),%r8
1401c7675:	4d 85 c0             	test   %r8,%r8
1401c7678:	74 1e                	je     0x1401c7698
1401c767a:	45 33 c9             	xor    %r9d,%r9d
1401c767d:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
1401c7681:	48 8d 15 88 6a 16 00 	lea    0x166a88(%rip),%rdx        # 0x14032e110
1401c7688:	48 8b cb             	mov    %rbx,%rcx
1401c768b:	e8 70 ef 04 00       	call   0x140216600
1401c7690:	85 c0                	test   %eax,%eax
1401c7692:	0f 84 54 01 00 00    	je     0x1401c77ec
1401c7698:	4c 8b 46 18          	mov    0x18(%rsi),%r8
1401c769c:	4d 85 c0             	test   %r8,%r8
1401c769f:	74 1e                	je     0x1401c76bf
1401c76a1:	45 33 c9             	xor    %r9d,%r9d
1401c76a4:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
1401c76a8:	48 8d 15 79 6a 16 00 	lea    0x166a79(%rip),%rdx        # 0x14032e128
1401c76af:	48 8b cb             	mov    %rbx,%rcx
1401c76b2:	e8 49 ef 04 00       	call   0x140216600
1401c76b7:	85 c0                	test   %eax,%eax
1401c76b9:	0f 84 2d 01 00 00    	je     0x1401c77ec
1401c76bf:	48 83 7e 20 00       	cmpq   $0x0,0x20(%rsi)
1401c76c4:	0f 84 ea 00 00 00    	je     0x1401c77b4
1401c76ca:	41 b8 80 00 00 00    	mov    $0x80,%r8d
1401c76d0:	8b d5                	mov    %ebp,%edx
1401c76d2:	48 8b cb             	mov    %rbx,%rcx
1401c76d5:	e8 c6 52 f2 ff       	call   0x1400ec9a0
1401c76da:	85 c0                	test   %eax,%eax
1401c76dc:	0f 84 0a 01 00 00    	je     0x1401c77ec
1401c76e2:	48 8d 15 53 6a 16 00 	lea    0x166a53(%rip),%rdx        # 0x14032e13c
1401c76e9:	48 8b cb             	mov    %rbx,%rcx
1401c76ec:	e8 1f 58 f2 ff       	call   0x1400ecf10
1401c76f1:	85 c0                	test   %eax,%eax
1401c76f3:	0f 8e f3 00 00 00    	jle    0x1401c77ec
1401c76f9:	33 ff                	xor    %edi,%edi
1401c76fb:	48 39 7e 28          	cmp    %rdi,0x28(%rsi)
1401c76ff:	0f 86 96 00 00 00    	jbe    0x1401c779b
1401c7705:	49 bf 89 88 88 88 88 	movabs $0x8888888888888889,%r15
1401c770c:	88 88 88
1401c770f:	4c 8d 25 77 08 1e 00 	lea    0x1e0877(%rip),%r12        # 0x1403a7f8d
1401c7716:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
1401c771d:	00 00 00
1401c7720:	49 8b c7             	mov    %r15,%rax
1401c7723:	48 f7 e7             	mul    %rdi
1401c7726:	48 c1 ea 03          	shr    $0x3,%rdx
1401c772a:	48 6b ca 0f          	imul   $0xf,%rdx,%rcx
1401c772e:	48 3b f9             	cmp    %rcx,%rdi
1401c7731:	75 30                	jne    0x1401c7763
1401c7733:	48 8d 15 d6 17 12 00 	lea    0x1217d6(%rip),%rdx        # 0x1402e8f10
1401c773a:	48 8b cb             	mov    %rbx,%rcx
1401c773d:	e8 ce 57 f2 ff       	call   0x1400ecf10
1401c7742:	85 c0                	test   %eax,%eax
1401c7744:	0f 8e a2 00 00 00    	jle    0x1401c77ec
1401c774a:	8d 55 04             	lea    0x4(%rbp),%edx
1401c774d:	41 b8 80 00 00 00    	mov    $0x80,%r8d
1401c7753:	48 8b cb             	mov    %rbx,%rcx
1401c7756:	e8 45 52 f2 ff       	call   0x1400ec9a0
1401c775b:	85 c0                	test   %eax,%eax
1401c775d:	0f 84 89 00 00 00    	je     0x1401c77ec
1401c7763:	48 8b 46 20          	mov    0x20(%rsi),%rax
1401c7767:	4c 8d 77 01          	lea    0x1(%rdi),%r14
1401c776b:	4c 3b 76 28          	cmp    0x28(%rsi),%r14
1401c776f:	4c 8d 0d 62 08 1e 00 	lea    0x1e0862(%rip),%r9        # 0x1403a7fd8
1401c7776:	48 8d 15 d7 1c 16 00 	lea    0x161cd7(%rip),%rdx        # 0x140329454
1401c777d:	48 8b cb             	mov    %rbx,%rcx
1401c7780:	4d 0f 44 cc          	cmove  %r12,%r9
1401c7784:	44 0f b6 04 38       	movzbl (%rax,%rdi,1),%r8d
1401c7789:	e8 82 73 f2 ff       	call   0x1400eeb10
1401c778e:	85 c0                	test   %eax,%eax
1401c7790:	7e 5a                	jle    0x1401c77ec
1401c7792:	49 8b fe             	mov    %r14,%rdi
1401c7795:	4c 3b 76 28          	cmp    0x28(%rsi),%r14
1401c7799:	72 85                	jb     0x1401c7720
1401c779b:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401c77a1:	48 8d 15 68 17 12 00 	lea    0x121768(%rip),%rdx        # 0x1402e8f10
1401c77a8:	48 8b cb             	mov    %rbx,%rcx
1401c77ab:	e8 b0 5a f2 ff       	call   0x1400ed260
1401c77b0:	85 c0                	test   %eax,%eax
1401c77b2:	7e 38                	jle    0x1401c77ec
1401c77b4:	83 7e 30 ff          	cmpl   $0xffffffff,0x30(%rsi)
1401c77b8:	74 2b                	je     0x1401c77e5
1401c77ba:	41 b8 80 00 00 00    	mov    $0x80,%r8d
1401c77c0:	8b d5                	mov    %ebp,%edx
1401c77c2:	48 8b cb             	mov    %rbx,%rcx
1401c77c5:	e8 d6 51 f2 ff       	call   0x1400ec9a0
1401c77ca:	85 c0                	test   %eax,%eax
1401c77cc:	74 1e                	je     0x1401c77ec
1401c77ce:	44 8b 46 30          	mov    0x30(%rsi),%r8d
1401c77d2:	48 8d 15 6f 69 16 00 	lea    0x16696f(%rip),%rdx        # 0x14032e148
1401c77d9:	48 8b cb             	mov    %rbx,%rcx
1401c77dc:	e8 2f 73 f2 ff       	call   0x1400eeb10
1401c77e1:	85 c0                	test   %eax,%eax
1401c77e3:	7e 07                	jle    0x1401c77ec
1401c77e5:	b8 01 00 00 00       	mov    $0x1,%eax
1401c77ea:	eb 02                	jmp    0x1401c77ee
1401c77ec:	33 c0                	xor    %eax,%eax
1401c77ee:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1401c77f3:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1401c77f8:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1401c77fd:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1401c7802:	48 83 c4 30          	add    $0x30,%rsp
1401c7806:	41 5f                	pop    %r15
1401c7808:	41 5e                	pop    %r14
1401c780a:	41 5c                	pop    %r12
1401c780c:	c3                   	ret
1401c780d:	cc                   	int3
1401c780e:	cc                   	int3
1401c780f:	cc                   	int3
1401c7810:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401c7815:	57                   	push   %rdi
1401c7816:	b8 20 00 00 00       	mov    $0x20,%eax
1401c781b:	e8 10 93 0e 00       	call   0x1402b0b30
1401c7820:	48 2b e0             	sub    %rax,%rsp
1401c7823:	48 8b d9             	mov    %rcx,%rbx
1401c7826:	48 8b fa             	mov    %rdx,%rdi
1401c7829:	48 8b 49 18          	mov    0x18(%rcx),%rcx