18008c381:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18008c386:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
18008c38b:	55                   	push   %rbp
18008c38c:	41 54                	push   %r12
18008c38e:	41 55                	push   %r13
18008c390:	41 56                	push   %r14
18008c392:	41 57                	push   %r15
18008c394:	48 8b ec             	mov    %rsp,%rbp
18008c397:	48 83 ec 40          	sub    $0x40,%rsp
18008c39b:	33 c0                	xor    %eax,%eax
18008c39d:	8b fa                	mov    %edx,%edi
18008c39f:	44 8b f9             	mov    %ecx,%r15d
18008c3a2:	89 45 e4             	mov    %eax,-0x1c(%rbp)
18008c3a5:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
18008c3a9:	89 45 e0             	mov    %eax,-0x20(%rbp)
18008c3ac:	48 8d 4d e4          	lea    -0x1c(%rbp),%rcx
18008c3b0:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18008c3b4:	8b d8                	mov    %eax,%ebx
18008c3b6:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
18008c3ba:	4d 8b e1             	mov    %r9,%r12
18008c3bd:	4d 8b e8             	mov    %r8,%r13
18008c3c0:	e8 57 fa ff ff       	call   0x18008be1c
18008c3c5:	44 8b 75 e4          	mov    -0x1c(%rbp),%r14d
18008c3c9:	8b f0                	mov    %eax,%esi
18008c3cb:	85 c0                	test   %eax,%eax
18008c3cd:	0f 88 35 01 00 00    	js     0x18008c508
18008c3d3:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
18008c3d7:	8b d7                	mov    %edi,%edx
18008c3d9:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18008c3dd:	41 8b cf             	mov    %r15d,%ecx
18008c3e0:	e8 c7 fd ff ff       	call   0x18008c1ac
18008c3e5:	b9 00 00 00 80       	mov    $0x80000000,%ecx
18008c3ea:	8b f0                	mov    %eax,%esi
18008c3ec:	03 c1                	add    %ecx,%eax
18008c3ee:	85 c1                	test   %eax,%ecx
18008c3f0:	75 10                	jne    0x18008c402
18008c3f2:	81 fe 25 02 00 c0    	cmp    $0xc0000225,%esi
18008c3f8:	74 08                	je     0x18008c402
18008c3fa:	8b 5d e0             	mov    -0x20(%rbp),%ebx
18008c3fd:	e9 06 01 00 00       	jmp    0x18008c508
18008c402:	8b 5d e0             	mov    -0x20(%rbp),%ebx
18008c405:	33 f6                	xor    %esi,%esi
18008c407:	85 db                	test   %ebx,%ebx
18008c409:	75 13                	jne    0x18008c41e
18008c40b:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
18008c40f:	33 ff                	xor    %edi,%edi
18008c411:	49 89 04 24          	mov    %rax,(%r12)
18008c415:	45 89 75 00          	mov    %r14d,0x0(%r13)
18008c419:	e9 ee 00 00 00       	jmp    0x18008c50c
18008c41e:	46 8d 3c 33          	lea    (%rbx,%r14,1),%r15d
18008c422:	44 3b fb             	cmp    %ebx,%r15d
18008c425:	0f 82 d8 00 00 00    	jb     0x18008c503
18008c42b:	41 6b cf 38          	imul   $0x38,%r15d,%ecx
18008c42f:	e8 10 ea ff ff       	call   0x18008ae44
18008c434:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
18008c438:	48 8b d0             	mov    %rax,%rdx
18008c43b:	48 85 c0             	test   %rax,%rax
18008c43e:	75 0a                	jne    0x18008c44a
18008c440:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
18008c445:	e9 c2 00 00 00       	jmp    0x18008c50c
18008c44a:	45 85 f6             	test   %r14d,%r14d
18008c44d:	74 52                	je     0x18008c4a1
18008c44f:	4c 8b c7             	mov    %rdi,%r8
18008c452:	4c 8b ca             	mov    %rdx,%r9
18008c455:	4c 2b c2             	sub    %rdx,%r8
18008c458:	48 8b cf             	mov    %rdi,%rcx
18008c45b:	4c 2b cf             	sub    %rdi,%r9
18008c45e:	4d 8b d6             	mov    %r14,%r10
18008c461:	0f 10 01             	movups (%rcx),%xmm0
18008c464:	49 8d 04 09          	lea    (%r9,%rcx,1),%rax
18008c468:	45 33 db             	xor    %r11d,%r11d
18008c46b:	0f 11 00             	movups %xmm0,(%rax)
18008c46e:	0f 10 49 10          	movups 0x10(%rcx),%xmm1
18008c472:	0f 11 48 10          	movups %xmm1,0x10(%rax)
18008c476:	0f 10 41 20          	movups 0x20(%rcx),%xmm0
18008c47a:	0f 11 40 20          	movups %xmm0,0x20(%rax)
18008c47e:	f2 0f 10 49 30       	movsd  0x30(%rcx),%xmm1
18008c483:	0f 57 c0             	xorps  %xmm0,%xmm0
18008c486:	f2 0f 11 48 30       	movsd  %xmm1,0x30(%rax)
18008c48b:	0f 11 01             	movups %xmm0,(%rcx)
18008c48e:	4c 89 59 10          	mov    %r11,0x10(%rcx)
18008c492:	48 8d 49 38          	lea    0x38(%rcx),%rcx
18008c496:	4a 21 74 00 28       	and    %rsi,0x28(%rax,%r8,1)
18008c49b:	49 83 ea 01          	sub    $0x1,%r10
18008c49f:	75 c0                	jne    0x18008c461
18008c4a1:	45 33 c9             	xor    %r9d,%r9d
18008c4a4:	85 db                	test   %ebx,%ebx
18008c4a6:	74 51                	je     0x18008c4f9
18008c4a8:	4c 8b 45 f0          	mov    -0x10(%rbp),%r8
18008c4ac:	41 0f 10 00          	movups (%r8),%xmm0
18008c4b0:	43 8d 0c 31          	lea    (%r9,%r14,1),%ecx
18008c4b4:	41 ff c1             	inc    %r9d
18008c4b7:	48 6b c1 38          	imul   $0x38,%rcx,%rax
18008c4bb:	0f 11 04 10          	movups %xmm0,(%rax,%rdx,1)
18008c4bf:	41 0f 10 48 10       	movups 0x10(%r8),%xmm1
18008c4c4:	0f 11 4c 10 10       	movups %xmm1,0x10(%rax,%rdx,1)
18008c4c9:	41 0f 10 40 20       	movups 0x20(%r8),%xmm0
18008c4ce:	0f 11 44 10 20       	movups %xmm0,0x20(%rax,%rdx,1)
18008c4d3:	f2 41 0f 10 48 30    	movsd  0x30(%r8),%xmm1
18008c4d9:	0f 57 c0             	xorps  %xmm0,%xmm0
18008c4dc:	f2 0f 11 4c 10 30    	movsd  %xmm1,0x30(%rax,%rdx,1)
18008c4e2:	33 c0                	xor    %eax,%eax
18008c4e4:	41 0f 11 00          	movups %xmm0,(%r8)
18008c4e8:	49 89 40 10          	mov    %rax,0x10(%r8)
18008c4ec:	49 21 40 28          	and    %rax,0x28(%r8)
18008c4f0:	4d 8d 40 38          	lea    0x38(%r8),%r8
18008c4f4:	44 3b cb             	cmp    %ebx,%r9d
18008c4f7:	72 b3                	jb     0x18008c4ac
18008c4f9:	45 89 7d 00          	mov    %r15d,0x0(%r13)
18008c4fd:	49 89 14 24          	mov    %rdx,(%r12)
18008c501:	eb 09                	jmp    0x18008c50c
18008c503:	be 95 00 00 c0       	mov    $0xc0000095,%esi
18008c508:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
18008c50c:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
18008c510:	8b d3                	mov    %ebx,%edx
18008c512:	e8 51 9c 06 00       	call   0x1800f6168
18008c517:	41 8b d6             	mov    %r14d,%edx
18008c51a:	48 8b cf             	mov    %rdi,%rcx
18008c51d:	e8 46 9c 06 00       	call   0x1800f6168
18008c522:	42 8d 14 33          	lea    (%rbx,%r14,1),%edx
18008c526:	33 c9                	xor    %ecx,%ecx
18008c528:	e8 3b 9c 06 00       	call   0x1800f6168
18008c52d:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
18008c532:	8b c6                	mov    %esi,%eax
18008c534:	49 8b 5b 30          	mov    0x30(%r11),%rbx
18008c538:	49 8b 73 38          	mov    0x38(%r11),%rsi
18008c53c:	49 8b 7b 40          	mov    0x40(%r11),%rdi
18008c540:	49 8b e3             	mov    %r11,%rsp
18008c543:	41 5f                	pop    %r15
18008c545:	41 5e                	pop    %r14
18008c547:	41 5d                	pop    %r13
18008c549:	41 5c                	pop    %r12
18008c54b:	5d                   	pop    %rbp
18008c54c:	c3                   	ret
18008c54d:	cc                   	int3
18008c54e:	cc                   	int3
18008c54f:	cc                   	int3
18008c550:	33 d2                	xor    %edx,%edx
18008c552:	83 f9 01             	cmp    $0x1,%ecx
18008c555:	77 33                	ja     0x18008c58a
18008c557:	44 8b 0d 5a 90 10 00 	mov    0x10905a(%rip),%r9d        # 0x1801955b8
18008c55e:	8b ca                	mov    %edx,%ecx
18008c560:	45 85 c9             	test   %r9d,%r9d
18008c563:	74 25                	je     0x18008c58a
18008c565:	4c 8b 05 54 90 10 00 	mov    0x109054(%rip),%r8        # 0x1801955c0
18008c56c:	49 8b 00             	mov    (%r8),%rax
18008c56f:	f7 40 2c 00 00 80 00 	testl  $0x800000,0x2c(%rax)
18008c576:	74 0d                	je     0x18008c585
18008c578:	ff c1                	inc    %ecx
18008c57a:	49 83 c0 08          	add    $0x8,%r8
18008c57e:	41 3b c9             	cmp    %r9d,%ecx
18008c581:	72 e9                	jb     0x18008c56c
18008c583:	eb 05                	jmp    0x18008c58a
18008c585:	ba bb 00 00 c0       	mov    $0xc00000bb,%edx
18008c58a:	8b c2                	mov    %edx,%eax
18008c58c:	c3                   	ret
18008c58d:	cc                   	int3
18008c58e:	cc                   	int3
18008c58f:	cc                   	int3
18008c590:	48 8b c4             	mov    %rsp,%rax
18008c593:	48 89 58 08          	mov    %rbx,0x8(%rax)
18008c597:	48 89 78 10          	mov    %rdi,0x10(%rax)
18008c59b:	4c 89 60 18          	mov    %r12,0x18(%rax)
18008c59f:	55                   	push   %rbp
18008c5a0:	41 56                	push   %r14
18008c5a2:	41 57                	push   %r15
18008c5a4:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
18008c5a8:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
18008c5af:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
18008c5b5:	4c 8d 4d 27          	lea    0x27(%rbp),%r9
18008c5b9:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
18008c5bf:	4c 8b fa             	mov    %rdx,%r15
18008c5c2:	83 65 17 00          	andl   $0x0,0x17(%rbp)
18008c5c6:	4d 8b e0             	mov    %r8,%r12
18008c5c9:	48 83 65 2f 00       	andq   $0x0,0x2f(%rbp)
18008c5ce:	8b d9                	mov    %ecx,%ebx
18008c5d0:	48 83 65 1f 00       	andq   $0x0,0x1f(%rbp)
18008c5d5:	49 8b cf             	mov    %r15,%rcx
18008c5d8:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18008c5de:	45 33 c0             	xor    %r8d,%r8d
18008c5e1:	33 d2                	xor    %edx,%edx
18008c5e3:	e8 9c 69 06 00       	call   0x1800f2f84
18008c5e8:	8b f8                	mov    %eax,%edi
18008c5ea:	85 c0                	test   %eax,%eax
18008c5ec:	0f 88 e7 00 00 00    	js     0x18008c6d9
18008c5f2:	48 8b 55 27          	mov    0x27(%rbp),%rdx
18008c5f6:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
18008c5fa:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18008c5ff:	8b cb                	mov    %ebx,%ecx
18008c601:	48 8d 45 2f          	lea    0x2f(%rbp),%rax
18008c605:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18008c60a:	e8 d1 e9 ff ff       	call   0x18008afe0
18008c60f:	4c 8b 75 2f          	mov    0x2f(%rbp),%r14
18008c613:	8b f8                	mov    %eax,%edi
18008c615:	85 c0                	test   %eax,%eax
18008c617:	0f 88 af 00 00 00    	js     0x18008c6cc
18008c61d:	8b 45 7f             	mov    0x7f(%rbp),%eax
18008c620:	45 33 c9             	xor    %r9d,%r9d
18008c623:	89 45 2f             	mov    %eax,0x2f(%rbp)
18008c626:	45 33 c0             	xor    %r8d,%r8d
18008c629:	48 8d 45 1f          	lea    0x1f(%rbp),%rax
18008c62d:	4c 89 75 33          	mov    %r14,0x33(%rbp)
18008c631:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
18008c638:	00
18008c639:	33 d2                	xor    %edx,%edx
18008c63b:	48 83 64 24 78 00    	andq   $0x0,0x78(%rsp)
18008c641:	48 8d 45 17          	lea    0x17(%rbp),%rax
18008c645:	48 83 64 24 70 00    	andq   $0x0,0x70(%rsp)
18008c64b:	b1 01                	mov    $0x1,%cl
18008c64d:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
18008c652:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
18008c656:	c6 44 24 60 00       	movb   $0x0,0x60(%rsp)
18008c65b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
18008c660:	48 8d 45 2f          	lea    0x2f(%rbp),%rax
18008c664:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18008c669:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
18008c66e:	4c 89 7c 24 40       	mov    %r15,0x40(%rsp)
18008c673:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
18008c679:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
18008c67e:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
18008c683:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
18008c688:	e8 cf 8e 06 00       	call   0x1800f555c
18008c68d:	48 8b 5d 1f          	mov    0x1f(%rbp),%rbx
18008c691:	8b f8                	mov    %eax,%edi
18008c693:	85 c0                	test   %eax,%eax
18008c695:	78 28                	js     0x18008c6bf
18008c697:	4c 39 63 20          	cmp    %r12,0x20(%rbx)
18008c69b:	73 07                	jae    0x18008c6a4
18008c69d:	bf 01 00 e9 c0       	mov    $0xc0e90001,%edi
18008c6a2:	eb 1b                	jmp    0x18008c6bf
18008c6a4:	48 8b d3             	mov    %rbx,%rdx
18008c6a7:	49 8b cf             	mov    %r15,%rcx
18008c6aa:	e8 51 3a 06 00       	call   0x1800f0100
18008c6af:	8b f8                	mov    %eax,%edi
18008c6b1:	85 c0                	test   %eax,%eax
18008c6b3:	78 0a                	js     0x18008c6bf
18008c6b5:	48 8b cb             	mov    %rbx,%rcx
18008c6b8:	e8 ef f2 ff ff       	call   0x18008b9ac
18008c6bd:	33 db                	xor    %ebx,%ebx
18008c6bf:	48 85 db             	test   %rbx,%rbx
18008c6c2:	74 08                	je     0x18008c6cc
18008c6c4:	48 8b cb             	mov    %rbx,%rcx
18008c6c7:	e8 5c 37 06 00       	call   0x1800efe28
18008c6cc:	4d 85 f6             	test   %r14,%r14
18008c6cf:	74 08                	je     0x18008c6d9
18008c6d1:	49 8b ce             	mov    %r14,%rcx
18008c6d4:	e8 23 d9 00 00       	call   0x180099ffc
18008c6d9:	48 83 7d 27 00       	cmpq   $0x0,0x27(%rbp)
18008c6de:	74 09                	je     0x18008c6e9
18008c6e0:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
18008c6e4:	e8 13 d9 00 00       	call   0x180099ffc
18008c6e9:	4c 8d 9c 24 c0 00 00 	lea    0xc0(%rsp),%r11
18008c6f0:	00
18008c6f1:	8b c7                	mov    %edi,%eax
18008c6f3:	49 8b 5b 20          	mov    0x20(%r11),%rbx
18008c6f7:	49 8b 7b 28          	mov    0x28(%r11),%rdi
18008c6fb:	4d 8b 63 30          	mov    0x30(%r11),%r12
18008c6ff:	49 8b e3             	mov    %r11,%rsp
18008c702:	41 5f                	pop    %r15
18008c704:	41 5e                	pop    %r14
18008c706:	5d                   	pop    %rbp
18008c707:	c3                   	ret
18008c708:	cc                   	int3
18008c709:	cc                   	int3
18008c70a:	cc                   	int3
18008c70b:	cc                   	int3
18008c70c:	48 8b c4             	mov    %rsp,%rax
18008c70f:	48 89 58 08          	mov    %rbx,0x8(%rax)
18008c713:	48 89 68 10          	mov    %rbp,0x10(%rax)
18008c717:	48 89 70 18          	mov    %rsi,0x18(%rax)
18008c71b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18008c71f:	41 56                	push   %r14
18008c721:	48 83 ec 20          	sub    $0x20,%rsp
18008c725:	0f b7 1a             	movzwl (%rdx),%ebx
18008c728:	44 8b f1             	mov    %ecx,%r14d
18008c72b:	83 c3 0a             	add    $0xa,%ebx
18008c72e:	48 8b f2             	mov    %rdx,%rsi
18008c731:	8b cb                	mov    %ebx,%ecx
18008c733:	8b eb                	mov    %ebx,%ebp
18008c735:	e8 16 d7 00 00       	call   0x180099e50
18008c73a:	48 8b f8             	mov    %rax,%rdi
18008c73d:	48 85 c0             	test   %rax,%rax
18008c740:	74 3f                	je     0x18008c781
18008c742:	44 8b c5             	mov    %ebp,%r8d
18008c745:	33 d2                	xor    %edx,%edx
18008c747:	48 8b c8             	mov    %rax,%rcx
18008c74a:	e8 31 95 0a 00       	call   0x180135c80
18008c74f:	89 1f                	mov    %ebx,(%rdi)
18008c751:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
18008c755:	44 89 77 04          	mov    %r14d,0x4(%rdi)
18008c759:	44 0f b7 06          	movzwl (%rsi),%r8d
18008c75d:	48 8b 56 08          	mov    0x8(%rsi),%rdx
18008c761:	e8 5a 92 0a 00       	call   0x1801359c0
18008c766:	ba 56 00 00 00       	mov    $0x56,%edx
18008c76b:	44 8b cb             	mov    %ebx,%r9d
18008c76e:	4c 8b c7             	mov    %rdi,%r8
18008c771:	8d 4a ab             	lea    -0x55(%rdx),%ecx
18008c774:	e8 5b 1f ff ff       	call   0x18007e6d4
18008c779:	48 8b cf             	mov    %rdi,%rcx
18008c77c:	e8 7b d8 00 00       	call   0x180099ffc
18008c781:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18008c786:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18008c78b:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18008c790:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18008c795:	48 83 c4 20          	add    $0x20,%rsp
18008c799:	41 5e                	pop    %r14
18008c79b:	c3                   	ret
18008c79c:	cc                   	int3
18008c79d:	cc                   	int3
18008c79e:	cc                   	int3
18008c79f:	cc                   	int3
18008c7a0:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
18008c7a5:	c3                   	ret
18008c7a6:	cc                   	int3
18008c7a7:	cc                   	int3
18008c7a8:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
18008c7ad:	c3                   	ret
18008c7ae:	cc                   	int3
18008c7af:	cc                   	int3
18008c7b0:	4c 8b dc             	mov    %rsp,%r11
18008c7b3:	48 83 ec 68          	sub    $0x68,%rsp
18008c7b7:	4d 89 4b d8          	mov    %r9,-0x28(%r11)
18008c7bb:	49 8d 43 28          	lea    0x28(%r11),%rax
18008c7bf:	83 64 24 4c 00       	andl   $0x0,0x4c(%rsp)
18008c7c4:	48 8d 15 dd 8a 0b 00 	lea    0xb8add(%rip),%rdx        # 0x1801452a8
18008c7cb:	c7 44 24 48 10 00 00 	movl   $0x10,0x48(%rsp)
18008c7d2:	00
18008c7d3:	41 b9 03 00 00 00    	mov    $0x3,%r9d
18008c7d9:	49 89 43 e8          	mov    %rax,-0x18(%r11)
18008c7dd:	49 8d 43 c8          	lea    -0x38(%r11),%rax
18008c7e1:	83 64 24 5c 00       	andl   $0x0,0x5c(%rsp)
18008c7e6:	49 89 43 b8          	mov    %rax,-0x48(%r11)
18008c7ea:	c7 44 24 58 04 00 00 	movl   $0x4,0x58(%rsp)
18008c7f1:	00
18008c7f2:	e8 99 50 f7 ff       	call   0x180001890
18008c7f7:	48 83 c4 68          	add    $0x68,%rsp
18008c7fb:	c3                   	ret
18008c7fc:	cc                   	int3
18008c7fd:	cc                   	int3
18008c7fe:	cc                   	int3
18008c7ff:	cc                   	int3
18008c800:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18008c805:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18008c80a:	55                   	push   %rbp
18008c80b:	57                   	push   %rdi
18008c80c:	41 56                	push   %r14
18008c80e:	48 8b ec             	mov    %rsp,%rbp
18008c811:	48 83 ec 40          	sub    $0x40,%rsp
18008c815:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18008c819:	c7 45 e0 93 29 83 6f 	movl   $0x6f832993,-0x20(%rbp)