18010c39a:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
18010c39e:	48 89 50 08          	mov    %rdx,0x8(%rax)
18010c3a2:	48 89 11             	mov    %rdx,(%rcx)
18010c3a5:	83 79 30 00          	cmpl   $0x0,0x30(%rcx)
18010c3a9:	74 32                	je     0x18010c3dd
18010c3ab:	8b 41 34             	mov    0x34(%rcx),%eax
18010c3ae:	3b 41 30             	cmp    0x30(%rcx),%eax
18010c3b1:	75 31                	jne    0x18010c3e4
18010c3b3:	48 8b 59 08          	mov    0x8(%rcx),%rbx
18010c3b7:	48 39 0b             	cmp    %rcx,(%rbx)
18010c3ba:	75 34                	jne    0x18010c3f0
18010c3bc:	48 8b 43 08          	mov    0x8(%rbx),%rax
18010c3c0:	48 39 18             	cmp    %rbx,(%rax)
18010c3c3:	75 2b                	jne    0x18010c3f0
18010c3c5:	48 89 41 08          	mov    %rax,0x8(%rcx)
18010c3c9:	48 89 08             	mov    %rcx,(%rax)
18010c3cc:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18010c3d0:	e8 27 dc f8 ff       	call   0x180099ffc
18010c3d5:	48 8b cb             	mov    %rbx,%rcx
18010c3d8:	e8 1f dc f8 ff       	call   0x180099ffc
18010c3dd:	48 83 c4 20          	add    $0x20,%rsp
18010c3e1:	5b                   	pop    %rbx
18010c3e2:	c3                   	ret
18010c3e3:	cc                   	int3
18010c3e4:	ff c0                	inc    %eax
18010c3e6:	89 41 34             	mov    %eax,0x34(%rcx)
18010c3e9:	48 83 c4 20          	add    $0x20,%rsp
18010c3ed:	5b                   	pop    %rbx
18010c3ee:	c3                   	ret
18010c3ef:	cc                   	int3
18010c3f0:	b9 03 00 00 00       	mov    $0x3,%ecx
18010c3f5:	cd 29                	int    $0x29
18010c3f7:	cc                   	int3
18010c3f8:	48 8b 01             	mov    (%rcx),%rax
18010c3fb:	45 33 d2             	xor    %r10d,%r10d
18010c3fe:	48 3b c1             	cmp    %rcx,%rax
18010c401:	74 25                	je     0x18010c428
18010c403:	4c 8b 5c 24 28       	mov    0x28(%rsp),%r11
18010c408:	66 39 50 3c          	cmp    %dx,0x3c(%rax)
18010c40c:	75 12                	jne    0x18010c420
18010c40e:	44 39 40 28          	cmp    %r8d,0x28(%rax)
18010c412:	75 0c                	jne    0x18010c420
18010c414:	44 39 48 24          	cmp    %r9d,0x24(%rax)
18010c418:	75 06                	jne    0x18010c420
18010c41a:	4c 39 58 18          	cmp    %r11,0x18(%rax)
18010c41e:	74 12                	je     0x18010c432
18010c420:	48 8b 00             	mov    (%rax),%rax
18010c423:	48 3b c1             	cmp    %rcx,%rax
18010c426:	75 e0                	jne    0x18010c408
18010c428:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
18010c42d:	4c 89 10             	mov    %r10,(%rax)
18010c430:	c3                   	ret
18010c431:	cc                   	int3
18010c432:	48 8b 10             	mov    (%rax),%rdx
18010c435:	4c 8b d0             	mov    %rax,%r10
18010c438:	48 39 42 08          	cmp    %rax,0x8(%rdx)
18010c43c:	75 29                	jne    0x18010c467
18010c43e:	4c 8b 40 08          	mov    0x8(%rax),%r8
18010c442:	49 39 00             	cmp    %rax,(%r8)
18010c445:	75 20                	jne    0x18010c467
18010c447:	49 89 10             	mov    %rdx,(%r8)
18010c44a:	4c 89 42 08          	mov    %r8,0x8(%rdx)
18010c44e:	48 8b 11             	mov    (%rcx),%rdx
18010c451:	48 39 4a 08          	cmp    %rcx,0x8(%rdx)
18010c455:	75 10                	jne    0x18010c467
18010c457:	48 89 10             	mov    %rdx,(%rax)
18010c45a:	48 89 48 08          	mov    %rcx,0x8(%rax)
18010c45e:	48 89 42 08          	mov    %rax,0x8(%rdx)
18010c462:	48 89 01             	mov    %rax,(%rcx)
18010c465:	eb c1                	jmp    0x18010c428
18010c467:	b9 03 00 00 00       	mov    $0x3,%ecx
18010c46c:	cd 29                	int    $0x29
18010c46e:	cc                   	int3
18010c46f:	cc                   	int3
18010c470:	48 8b c4             	mov    %rsp,%rax
18010c473:	48 89 58 10          	mov    %rbx,0x10(%rax)
18010c477:	4c 89 48 20          	mov    %r9,0x20(%rax)
18010c47b:	4c 89 40 18          	mov    %r8,0x18(%rax)
18010c47f:	55                   	push   %rbp
18010c480:	56                   	push   %rsi
18010c481:	57                   	push   %rdi
18010c482:	41 54                	push   %r12
18010c484:	41 55                	push   %r13
18010c486:	41 56                	push   %r14
18010c488:	41 57                	push   %r15
18010c48a:	48 8d 68 b1          	lea    -0x4f(%rax),%rbp
18010c48e:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
18010c495:	4c 8b 75 7f          	mov    0x7f(%rbp),%r14
18010c499:	33 f6                	xor    %esi,%esi
18010c49b:	48 21 75 a7          	and    %rsi,-0x59(%rbp)
18010c49f:	33 ff                	xor    %edi,%edi
18010c4a1:	45 33 c9             	xor    %r9d,%r9d
18010c4a4:	48 89 7d 6f          	mov    %rdi,0x6f(%rbp)
18010c4a8:	33 c0                	xor    %eax,%eax
18010c4aa:	44 89 4d 77          	mov    %r9d,0x77(%rbp)
18010c4ae:	4d 8b 3e             	mov    (%r14),%r15
18010c4b1:	0f 57 c0             	xorps  %xmm0,%xmm0
18010c4b4:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
18010c4b8:	4c 8b ea             	mov    %rdx,%r13
18010c4bb:	44 0f b7 e1          	movzwl %cx,%r12d
18010c4bf:	0f 11 45 af          	movups %xmm0,-0x51(%rbp)
18010c4c3:	66 83 f9 20          	cmp    $0x20,%cx
18010c4c7:	0f 82 ff 00 00 00    	jb     0x18010c5cc
18010c4cd:	48 8b 42 08          	mov    0x8(%rdx),%rax
18010c4d1:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
18010c4d5:	44 8b 42 10          	mov    0x10(%rdx),%r8d
18010c4d9:	41 0f b7 d4          	movzwl %r12w,%edx
18010c4dd:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18010c4e2:	48 8d 0d 57 94 08 00 	lea    0x89457(%rip),%rcx        # 0x180195940
18010c4e9:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
18010c4ed:	44 8b 48 28          	mov    0x28(%rax),%r9d
18010c4f1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18010c4f6:	e8 fd fe ff ff       	call   0x18010c3f8
18010c4fb:	48 8b 5d a7          	mov    -0x59(%rbp),%rbx
18010c4ff:	48 85 db             	test   %rbx,%rbx
18010c502:	0f 85 b8 00 00 00    	jne    0x18010c5c0
18010c508:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
18010c50d:	48 8d 45 57          	lea    0x57(%rbp),%rax
18010c511:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
18010c516:	41 0f b7 d4          	movzwl %r12w,%edx
18010c51a:	48 8d 45 77          	lea    0x77(%rbp),%rax
18010c51e:	49 8b cd             	mov    %r13,%rcx
18010c521:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18010c526:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
18010c52a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18010c52f:	21 74 24 20          	and    %esi,0x20(%rsp)
18010c533:	e8 20 f5 ff ff       	call   0x18010ba58
18010c538:	8b f0                	mov    %eax,%esi
18010c53a:	85 c0                	test   %eax,%eax
18010c53c:	78 1e                	js     0x18010c55c
18010c53e:	4d 85 ff             	test   %r15,%r15
18010c541:	75 23                	jne    0x18010c566
18010c543:	48 8d 55 af          	lea    -0x51(%rbp),%rdx
18010c547:	8d 4f 46             	lea    0x46(%rdi),%ecx
18010c54a:	e8 c1 00 00 00       	call   0x18010c610
18010c54f:	48 8b d8             	mov    %rax,%rbx
18010c552:	48 85 c0             	test   %rax,%rax
18010c555:	75 13                	jne    0x18010c56a
18010c557:	be 17 00 00 c0       	mov    $0xc0000017,%esi
18010c55c:	48 8b 7d 6f          	mov    0x6f(%rbp),%rdi
18010c560:	44 8b 4d 77          	mov    0x77(%rbp),%r9d
18010c564:	eb 66                	jmp    0x18010c5cc
18010c566:	48 8d 5d c7          	lea    -0x39(%rbp),%rbx
18010c56a:	41 8b 45 10          	mov    0x10(%r13),%eax
18010c56e:	49 8b 56 10          	mov    0x10(%r14),%rdx
18010c572:	4c 8b 45 7f          	mov    0x7f(%rbp),%r8
18010c576:	48 8b 7d 6f          	mov    0x6f(%rbp),%rdi
18010c57a:	41 8b 48 28          	mov    0x28(%r8),%ecx
18010c57e:	89 43 28             	mov    %eax,0x28(%rbx)
18010c581:	8b 45 77             	mov    0x77(%rbp),%eax
18010c584:	89 43 2c             	mov    %eax,0x2c(%rbx)
18010c587:	8b 45 57             	mov    0x57(%rbp),%eax
18010c58a:	89 43 30             	mov    %eax,0x30(%rbx)
18010c58d:	b8 04 00 00 00       	mov    $0x4,%eax
18010c592:	89 43 34             	mov    %eax,0x34(%rbx)
18010c595:	89 43 38             	mov    %eax,0x38(%rbx)
18010c598:	66 44 89 63 3c       	mov    %r12w,0x3c(%rbx)
18010c59d:	89 4b 24             	mov    %ecx,0x24(%rbx)
18010c5a0:	4c 89 43 18          	mov    %r8,0x18(%rbx)
18010c5a4:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
18010c5a8:	48 89 53 3e          	mov    %rdx,0x3e(%rbx)
18010c5ac:	4d 85 ff             	test   %r15,%r15
18010c5af:	75 0f                	jne    0x18010c5c0
18010c5b1:	48 8b d3             	mov    %rbx,%rdx
18010c5b4:	48 8d 0d 85 93 08 00 	lea    0x89385(%rip),%rcx        # 0x180195940
18010c5bb:	e8 c8 fd ff ff       	call   0x18010c388
18010c5c0:	48 8b 43 3e          	mov    0x3e(%rbx),%rax
18010c5c4:	44 8b 4b 2c          	mov    0x2c(%rbx),%r9d
18010c5c8:	49 89 46 10          	mov    %rax,0x10(%r14)
18010c5cc:	48 8b 45 67          	mov    0x67(%rbp),%rax
18010c5d0:	44 89 08             	mov    %r9d,(%rax)
18010c5d3:	4d 85 ff             	test   %r15,%r15
18010c5d6:	75 04                	jne    0x18010c5dc
18010c5d8:	85 f6                	test   %esi,%esi
18010c5da:	79 13                	jns    0x18010c5ef
18010c5dc:	48 85 ff             	test   %rdi,%rdi
18010c5df:	74 0e                	je     0x18010c5ef
18010c5e1:	49 83 3e 00          	cmpq   $0x0,(%r14)
18010c5e5:	75 08                	jne    0x18010c5ef
18010c5e7:	48 8b cf             	mov    %rdi,%rcx
18010c5ea:	e8 0d da f8 ff       	call   0x180099ffc
18010c5ef:	48 8b 9c 24 08 01 00 	mov    0x108(%rsp),%rbx
18010c5f6:	00
18010c5f7:	8b c6                	mov    %esi,%eax
18010c5f9:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
18010c600:	41 5f                	pop    %r15
18010c602:	41 5e                	pop    %r14
18010c604:	41 5d                	pop    %r13
18010c606:	41 5c                	pop    %r12
18010c608:	5f                   	pop    %rdi
18010c609:	5e                   	pop    %rsi
18010c60a:	5d                   	pop    %rbp
18010c60b:	c3                   	ret
18010c60c:	cc                   	int3
18010c60d:	cc                   	int3
18010c60e:	cc                   	int3
18010c60f:	cc                   	int3
18010c610:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010c615:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18010c61a:	57                   	push   %rdi
18010c61b:	48 83 ec 20          	sub    $0x20,%rsp
18010c61f:	48 8b 5a 10          	mov    0x10(%rdx),%rbx
18010c623:	48 8b f1             	mov    %rcx,%rsi
18010c626:	48 8b 0a             	mov    (%rdx),%rcx
18010c629:	48 83 c3 0f          	add    $0xf,%rbx
18010c62d:	48 83 e3 f0          	and    $0xfffffffffffffff0,%rbx
18010c631:	48 8b fa             	mov    %rdx,%rdi
18010c634:	48 85 c9             	test   %rcx,%rcx
18010c637:	75 1a                	jne    0x18010c653
18010c639:	48 8b ce             	mov    %rsi,%rcx
18010c63c:	e8 0f d8 f8 ff       	call   0x180099e50
18010c641:	48 8b d0             	mov    %rax,%rdx
18010c644:	48 85 c0             	test   %rax,%rax
18010c647:	74 26                	je     0x18010c66f
18010c649:	48 8d 0c 33          	lea    (%rbx,%rsi,1),%rcx
18010c64d:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
18010c651:	eb 1c                	jmp    0x18010c66f
18010c653:	48 8b 42 08          	mov    0x8(%rdx),%rax
18010c657:	48 2b c3             	sub    %rbx,%rax
18010c65a:	48 3b f0             	cmp    %rax,%rsi
18010c65d:	77 0e                	ja     0x18010c66d
18010c65f:	48 8d 04 33          	lea    (%rbx,%rsi,1),%rax
18010c663:	48 89 47 10          	mov    %rax,0x10(%rdi)
18010c667:	48 8d 14 19          	lea    (%rcx,%rbx,1),%rdx
18010c66b:	eb 02                	jmp    0x18010c66f
18010c66d:	33 d2                	xor    %edx,%edx
18010c66f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18010c674:	48 8b c2             	mov    %rdx,%rax
18010c677:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18010c67c:	48 83 c4 20          	add    $0x20,%rsp
18010c680:	5f                   	pop    %rdi
18010c681:	c3                   	ret
18010c682:	cc                   	int3
18010c683:	cc                   	int3
18010c684:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010c689:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18010c68e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
18010c693:	41 56                	push   %r14
18010c695:	48 83 ec 20          	sub    $0x20,%rsp
18010c699:	8b 59 04             	mov    0x4(%rcx),%ebx
18010c69c:	4d 8b f0             	mov    %r8,%r14
18010c69f:	0f af 19             	imul   (%rcx),%ebx
18010c6a2:	8b f2                	mov    %edx,%esi
18010c6a4:	48 8b f9             	mov    %rcx,%rdi
18010c6a7:	0f af da             	imul   %edx,%ebx
18010c6aa:	83 c3 07             	add    $0x7,%ebx
18010c6ad:	c1 eb 03             	shr    $0x3,%ebx
18010c6b0:	83 c3 48             	add    $0x48,%ebx
18010c6b3:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
18010c6b9:	72 0c                	jb     0x18010c6c7
18010c6bb:	81 c3 ff 0f 00 00    	add    $0xfff,%ebx
18010c6c1:	81 e3 00 f0 ff ff    	and    $0xfffff000,%ebx
18010c6c7:	8b cb                	mov    %ebx,%ecx
18010c6c9:	49 8b d1             	mov    %r9,%rdx
18010c6cc:	e8 3f ff ff ff       	call   0x18010c610
18010c6d1:	4c 8b c0             	mov    %rax,%r8
18010c6d4:	48 85 c0             	test   %rax,%rax
18010c6d7:	75 07                	jne    0x18010c6e0
18010c6d9:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18010c6de:	eb 10                	jmp    0x18010c6f0
18010c6e0:	44 8b cb             	mov    %ebx,%r9d
18010c6e3:	8b d6                	mov    %esi,%edx
18010c6e5:	48 8b cf             	mov    %rdi,%rcx
18010c6e8:	e8 fb b3 ff ff       	call   0x180107ae8
18010c6ed:	4d 89 06             	mov    %r8,(%r14)
18010c6f0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18010c6f5:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18010c6fa:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
18010c6ff:	48 83 c4 20          	add    $0x20,%rsp
18010c703:	41 5e                	pop    %r14
18010c705:	c3                   	ret
18010c706:	cc                   	int3
18010c707:	cc                   	int3
18010c708:	48 83 ec 38          	sub    $0x38,%rsp
18010c70c:	b9 01 00 00 00       	mov    $0x1,%ecx
18010c711:	e8 9e 84 f1 ff       	call   0x180024bb4
18010c716:	84 c0                	test   %al,%al
18010c718:	74 21                	je     0x18010c73b
18010c71a:	33 d2                	xor    %edx,%edx
18010c71c:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
18010c721:	0f 57 c0             	xorps  %xmm0,%xmm0
18010c724:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
18010c729:	8d 4a 01             	lea    0x1(%rdx),%ecx
18010c72c:	e8 6f 74 02 00       	call   0x180133ba0
18010c731:	f7 44 24 28 00 00 00 	testl  $0x80000000,0x28(%rsp)
18010c738:	80
18010c739:	75 1c                	jne    0x18010c757
18010c73b:	81 3d 83 92 08 00 00 	cmpl   $0x400,0x89283(%rip)        # 0x1801959c8
18010c742:	04 00 00
18010c745:	75 10                	jne    0x18010c757
18010c747:	81 3d 73 92 08 00 00 	cmpl   $0x300,0x89273(%rip)        # 0x1801959c4
18010c74e:	03 00 00
18010c751:	75 04                	jne    0x18010c757
18010c753:	b0 01                	mov    $0x1,%al
18010c755:	eb 02                	jmp    0x18010c759
18010c757:	32 c0                	xor    %al,%al
18010c759:	48 83 c4 38          	add    $0x38,%rsp
18010c75d:	c3                   	ret
18010c75e:	cc                   	int3
18010c75f:	cc                   	int3
18010c760:	40 53                	rex push %rbx
18010c762:	48 83 ec 30          	sub    $0x30,%rsp
18010c766:	49 8b d8             	mov    %r8,%rbx
18010c769:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%rsp)
18010c770:	00
18010c771:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18010c777:	4c 8b cb             	mov    %rbx,%r9
18010c77a:	44 8b c2             	mov    %edx,%r8d
18010c77d:	ba 04 00 00 00       	mov    $0x4,%edx
18010c782:	e8 c9 c7 f5 ff       	call   0x180068f50
18010c787:	85 c0                	test   %eax,%eax
18010c789:	78 08                	js     0x18010c793
18010c78b:	8b 03                	mov    (%rbx),%eax
18010c78d:	0f c8                	bswap  %eax
18010c78f:	89 03                	mov    %eax,(%rbx)
18010c791:	33 c0                	xor    %eax,%eax
18010c793:	48 83 c4 30          	add    $0x30,%rsp
18010c797:	5b                   	pop    %rbx
18010c798:	c3                   	ret
18010c799:	cc                   	int3
18010c79a:	cc                   	int3
18010c79b:	cc                   	int3
18010c79c:	40 53                	rex push %rbx
18010c79e:	48 83 ec 30          	sub    $0x30,%rsp
18010c7a2:	49 8b d8             	mov    %r8,%rbx
18010c7a5:	44 8b c2             	mov    %edx,%r8d
18010c7a8:	ba 02 00 00 00       	mov    $0x2,%edx
18010c7ad:	4c 8b cb             	mov    %rbx,%r9
18010c7b0:	89 54 24 28          	mov    %edx,0x28(%rsp)
18010c7b4:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18010c7ba:	e8 91 c7 f5 ff       	call   0x180068f50
18010c7bf:	85 c0                	test   %eax,%eax
18010c7c1:	78 0c                	js     0x18010c7cf
18010c7c3:	0f b7 03             	movzwl (%rbx),%eax
18010c7c6:	66 c1 c8 08          	ror    $0x8,%ax
18010c7ca:	66 89 03             	mov    %ax,(%rbx)
18010c7cd:	33 c0                	xor    %eax,%eax
18010c7cf:	48 83 c4 30          	add    $0x30,%rsp
18010c7d3:	5b                   	pop    %rbx
18010c7d4:	c3                   	ret
18010c7d5:	cc                   	int3
18010c7d6:	cc                   	int3
18010c7d7:	cc                   	int3
18010c7d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010c7dd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18010c7e2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18010c7e7:	57                   	push   %rdi
18010c7e8:	41 54                	push   %r12
18010c7ea:	41 55                	push   %r13
18010c7ec:	41 56                	push   %r14