18010a3a3:	00
18010a3a4:	41 8b c5             	mov    %r13d,%eax
18010a3a7:	48 6b f8 19          	imul   $0x19,%rax,%rdi
18010a3ab:	48 8b cf             	mov    %rdi,%rcx
18010a3ae:	e8 5d 22 00 00       	call   0x18010c610
18010a3b3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18010a3b8:	4c 8b f0             	mov    %rax,%r14
18010a3bb:	48 85 c0             	test   %rax,%rax
18010a3be:	75 0a                	jne    0x18010a3ca
18010a3c0:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
18010a3c5:	e9 3b 02 00 00       	jmp    0x18010a605
18010a3ca:	4c 8b c7             	mov    %rdi,%r8
18010a3cd:	33 d2                	xor    %edx,%edx
18010a3cf:	49 8b ce             	mov    %r14,%rcx
18010a3d2:	e8 a9 b8 02 00       	call   0x180135c80
18010a3d7:	8b eb                	mov    %ebx,%ebp
18010a3d9:	49 8d 7e 10          	lea    0x10(%r14),%rdi
18010a3dd:	8b f3                	mov    %ebx,%esi
18010a3df:	44 8d 56 01          	lea    0x1(%rsi),%r10d
18010a3e3:	44 89 94 24 90 00 00 	mov    %r10d,0x90(%rsp)
18010a3ea:	00
18010a3eb:	45 8b fa             	mov    %r10d,%r15d
18010a3ee:	44 8d 4e ff          	lea    -0x1(%rsi),%r9d
18010a3f2:	8d 56 02             	lea    0x2(%rsi),%edx
18010a3f5:	85 f6                	test   %esi,%esi
18010a3f7:	75 07                	jne    0x18010a400
18010a3f9:	45 0f b7 0c 24       	movzwl (%r12),%r9d
18010a3fe:	eb 19                	jmp    0x18010a419
18010a400:	85 ed                	test   %ebp,%ebp
18010a402:	74 15                	je     0x18010a419
18010a404:	8d 45 ff             	lea    -0x1(%rbp),%eax
18010a407:	41 0f b7 04 44       	movzwl (%r12,%rax,2),%eax
18010a40c:	ff c0                	inc    %eax
18010a40e:	3b f0                	cmp    %eax,%esi
18010a410:	75 07                	jne    0x18010a419
18010a412:	8b c5                	mov    %ebp,%eax
18010a414:	45 0f b7 0c 44       	movzwl (%r12,%rax,2),%r9d
18010a419:	8b c5                	mov    %ebp,%eax
18010a41b:	45 0f b7 04 44       	movzwl (%r12,%rax,2),%r8d
18010a420:	41 8d 40 ff          	lea    -0x1(%r8),%eax
18010a424:	3b f0                	cmp    %eax,%esi
18010a426:	75 12                	jne    0x18010a43a
18010a428:	85 ed                	test   %ebp,%ebp
18010a42a:	75 04                	jne    0x18010a430
18010a42c:	8b d3                	mov    %ebx,%edx
18010a42e:	eb 0a                	jmp    0x18010a43a
18010a430:	8d 45 ff             	lea    -0x1(%rbp),%eax
18010a433:	41 0f b7 14 44       	movzwl (%r12,%rax,2),%edx
18010a438:	ff c2                	inc    %edx
18010a43a:	41 3b f0             	cmp    %r8d,%esi
18010a43d:	75 1d                	jne    0x18010a45c
18010a43f:	85 ed                	test   %ebp,%ebp
18010a441:	75 08                	jne    0x18010a44b
18010a443:	44 8b fb             	mov    %ebx,%r15d
18010a446:	8d 55 01             	lea    0x1(%rbp),%edx
18010a449:	eb 0f                	jmp    0x18010a45a
18010a44b:	8d 45 ff             	lea    -0x1(%rbp),%eax
18010a44e:	41 0f b7 04 44       	movzwl (%r12,%rax,2),%eax
18010a453:	44 8d 78 01          	lea    0x1(%rax),%r15d
18010a457:	8d 50 02             	lea    0x2(%rax),%edx
18010a45a:	ff c5                	inc    %ebp
18010a45c:	4c 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8
18010a463:	00
18010a464:	8b c6                	mov    %esi,%eax
18010a466:	4c 6b f0 11          	imul   $0x11,%rax,%r14
18010a46a:	4d 03 f0             	add    %r8,%r14
18010a46d:	41 f6 46 10 01       	testb  $0x1,0x10(%r14)
18010a472:	0f 84 90 00 00 00    	je     0x18010a508
18010a478:	41 8b c7             	mov    %r15d,%eax
18010a47b:	4c 6b c8 11          	imul   $0x11,%rax,%r9
18010a47f:	4d 03 c8             	add    %r8,%r9
18010a482:	41 f6 41 10 01       	testb  $0x1,0x10(%r9)
18010a487:	74 14                	je     0x18010a49d
18010a489:	4c 89 77 f0          	mov    %r14,-0x10(%rdi)
18010a48d:	4c 89 4f f8          	mov    %r9,-0x8(%rdi)
18010a491:	4c 89 0f             	mov    %r9,(%rdi)
18010a494:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
18010a498:	e9 0f 01 00 00       	jmp    0x18010a5ac
18010a49d:	8b c2                	mov    %edx,%eax
18010a49f:	48 6b d0 11          	imul   $0x11,%rax,%rdx
18010a4a3:	49 03 d0             	add    %r8,%rdx
18010a4a6:	8a 42 10             	mov    0x10(%rdx),%al
18010a4a9:	4c 89 77 f0          	mov    %r14,-0x10(%rdi)
18010a4ad:	4c 89 4f f8          	mov    %r9,-0x8(%rdi)
18010a4b1:	24 01                	and    $0x1,%al
18010a4b3:	74 07                	je     0x18010a4bc
18010a4b5:	48 89 17             	mov    %rdx,(%rdi)
18010a4b8:	b0 02                	mov    $0x2,%al
18010a4ba:	eb 26                	jmp    0x18010a4e2
18010a4bc:	4c 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%r8
18010a4c3:	00
18010a4c4:	49 8b c9             	mov    %r9,%rcx
18010a4c7:	e8 64 0d 00 00       	call   0x18010b230
18010a4cc:	48 89 07             	mov    %rax,(%rdi)
18010a4cf:	48 85 c0             	test   %rax,%rax
18010a4d2:	0f 84 ee 00 00 00    	je     0x18010a5c6
18010a4d8:	44 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10d
18010a4df:	00
18010a4e0:	b0 04                	mov    $0x4,%al
18010a4e2:	88 47 08             	mov    %al,0x8(%rdi)
18010a4e5:	44 3b fe             	cmp    %esi,%r15d
18010a4e8:	0f 86 be 00 00 00    	jbe    0x18010a5ac
18010a4ee:	8b c5                	mov    %ebp,%eax
18010a4f0:	41 8b f2             	mov    %r10d,%esi
18010a4f3:	41 0f b7 0c 44       	movzwl (%r12,%rax,2),%ecx
18010a4f8:	44 3b d1             	cmp    %ecx,%r10d
18010a4fb:	0f 85 ab 00 00 00    	jne    0x18010a5ac
18010a501:	ff c5                	inc    %ebp
18010a503:	e9 a4 00 00 00       	jmp    0x18010a5ac
18010a508:	41 8b d1             	mov    %r9d,%edx
18010a50b:	85 f6                	test   %esi,%esi
18010a50d:	75 10                	jne    0x18010a51f
18010a50f:	48 6b c2 11          	imul   $0x11,%rdx,%rax
18010a513:	42 f6 44 00 10 01    	testb  $0x1,0x10(%rax,%r8,1)
18010a519:	0f 85 91 00 00 00    	jne    0x18010a5b0
18010a51f:	85 ed                	test   %ebp,%ebp
18010a521:	74 1a                	je     0x18010a53d
18010a523:	8d 45 ff             	lea    -0x1(%rbp),%eax
18010a526:	41 0f b7 04 44       	movzwl (%r12,%rax,2),%eax
18010a52b:	ff c0                	inc    %eax
18010a52d:	3b f0                	cmp    %eax,%esi
18010a52f:	75 0c                	jne    0x18010a53d
18010a531:	48 6b c2 11          	imul   $0x11,%rdx,%rax
18010a535:	42 f6 44 00 10 01    	testb  $0x1,0x10(%rax,%r8,1)
18010a53b:	75 73                	jne    0x18010a5b0
18010a53d:	48 6b ca 11          	imul   $0x11,%rdx,%rcx
18010a541:	41 8b c7             	mov    %r15d,%eax
18010a544:	49 8b d6             	mov    %r14,%rdx
18010a547:	4c 6b f8 11          	imul   $0x11,%rax,%r15
18010a54b:	49 03 c8             	add    %r8,%rcx
18010a54e:	4d 03 f8             	add    %r8,%r15
18010a551:	4c 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%r8
18010a558:	00
18010a559:	41 f6 47 10 01       	testb  $0x1,0x10(%r15)
18010a55e:	74 1b                	je     0x18010a57b
18010a560:	e8 cb 0c 00 00       	call   0x18010b230
18010a565:	48 89 47 f0          	mov    %rax,-0x10(%rdi)
18010a569:	48 85 c0             	test   %rax,%rax
18010a56c:	74 58                	je     0x18010a5c6
18010a56e:	4c 89 77 f8          	mov    %r14,-0x8(%rdi)
18010a572:	4c 89 3f             	mov    %r15,(%rdi)
18010a575:	c6 47 08 03          	movb   $0x3,0x8(%rdi)
18010a579:	eb 31                	jmp    0x18010a5ac
18010a57b:	e8 b0 0c 00 00       	call   0x18010b230
18010a580:	48 89 47 f0          	mov    %rax,-0x10(%rdi)
18010a584:	48 85 c0             	test   %rax,%rax
18010a587:	74 3d                	je     0x18010a5c6
18010a589:	4c 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%r8
18010a590:	00
18010a591:	49 8b d7             	mov    %r15,%rdx
18010a594:	49 8b ce             	mov    %r14,%rcx
18010a597:	4c 89 77 f8          	mov    %r14,-0x8(%rdi)
18010a59b:	e8 90 0c 00 00       	call   0x18010b230
18010a5a0:	48 89 07             	mov    %rax,(%rdi)
18010a5a3:	48 85 c0             	test   %rax,%rax
18010a5a6:	74 1e                	je     0x18010a5c6
18010a5a8:	c6 47 08 05          	movb   $0x5,0x8(%rdi)
18010a5ac:	48 83 c7 19          	add    $0x19,%rdi
18010a5b0:	ff c6                	inc    %esi
18010a5b2:	3b b4 24 80 00 00 00 	cmp    0x80(%rsp),%esi
18010a5b9:	0f 82 20 fe ff ff    	jb     0x18010a3df
18010a5bf:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
18010a5c4:	eb 20                	jmp    0x18010a5e6
18010a5c6:	4c 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%r8
18010a5cd:	00
18010a5ce:	41 8b d5             	mov    %r13d,%edx
18010a5d1:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
18010a5d6:	e8 41 00 00 00       	call   0x18010a61c
18010a5db:	48 8b c3             	mov    %rbx,%rax
18010a5de:	44 8b eb             	mov    %ebx,%r13d
18010a5e1:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18010a5e6:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
18010a5ed:	00
18010a5ee:	44 89 29             	mov    %r13d,(%rcx)
18010a5f1:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
18010a5f8:	00
18010a5f9:	48 89 01             	mov    %rax,(%rcx)
18010a5fc:	8b c3                	mov    %ebx,%eax
18010a5fe:	eb 07                	jmp    0x18010a607
18010a600:	49 89 1e             	mov    %rbx,(%r14)
18010a603:	33 c0                	xor    %eax,%eax
18010a605:	89 1e                	mov    %ebx,(%rsi)
18010a607:	48 83 c4 38          	add    $0x38,%rsp
18010a60b:	41 5f                	pop    %r15
18010a60d:	41 5e                	pop    %r14
18010a60f:	41 5d                	pop    %r13
18010a611:	41 5c                	pop    %r12
18010a613:	5f                   	pop    %rdi
18010a614:	5e                   	pop    %rsi
18010a615:	5d                   	pop    %rbp
18010a616:	5b                   	pop    %rbx
18010a617:	c3                   	ret
18010a618:	cc                   	int3
18010a619:	cc                   	int3
18010a61a:	cc                   	int3
18010a61b:	cc                   	int3
18010a61c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18010a621:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18010a626:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18010a62b:	57                   	push   %rdi
18010a62c:	41 56                	push   %r14
18010a62e:	41 57                	push   %r15
18010a630:	48 83 ec 20          	sub    $0x20,%rsp
18010a634:	33 ed                	xor    %ebp,%ebp
18010a636:	49 8b f8             	mov    %r8,%rdi
18010a639:	44 8b fa             	mov    %edx,%r15d
18010a63c:	4c 8b f1             	mov    %rcx,%r14
18010a63f:	85 d2                	test   %edx,%edx
18010a641:	74 78                	je     0x18010a6bb
18010a643:	48 8d 59 18          	lea    0x18(%rcx),%rbx
18010a647:	48 8d 73 e8          	lea    -0x18(%rbx),%rsi
18010a64b:	48 85 f6             	test   %rsi,%rsi
18010a64e:	74 6b                	je     0x18010a6bb
18010a650:	8a 03                	mov    (%rbx),%al
18010a652:	3c 03                	cmp    $0x3,%al
18010a654:	75 15                	jne    0x18010a66b
18010a656:	48 8b 0e             	mov    (%rsi),%rcx
18010a659:	48 85 c9             	test   %rcx,%rcx
18010a65c:	74 0d                	je     0x18010a66b
18010a65e:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010a662:	75 07                	jne    0x18010a66b
18010a664:	e8 93 f9 f8 ff       	call   0x180099ffc
18010a669:	8a 03                	mov    (%rbx),%al
18010a66b:	3c 04                	cmp    $0x4,%al
18010a66d:	75 16                	jne    0x18010a685
18010a66f:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
18010a673:	48 85 c9             	test   %rcx,%rcx
18010a676:	74 38                	je     0x18010a6b0
18010a678:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010a67c:	75 32                	jne    0x18010a6b0
18010a67e:	e8 79 f9 f8 ff       	call   0x180099ffc
18010a683:	8a 03                	mov    (%rbx),%al
18010a685:	3c 05                	cmp    $0x5,%al
18010a687:	75 27                	jne    0x18010a6b0
18010a689:	48 8b 0e             	mov    (%rsi),%rcx
18010a68c:	48 85 c9             	test   %rcx,%rcx
18010a68f:	74 0b                	je     0x18010a69c
18010a691:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010a695:	75 05                	jne    0x18010a69c
18010a697:	e8 60 f9 f8 ff       	call   0x180099ffc
18010a69c:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
18010a6a0:	48 85 c9             	test   %rcx,%rcx
18010a6a3:	74 0b                	je     0x18010a6b0
18010a6a5:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010a6a9:	75 05                	jne    0x18010a6b0
18010a6ab:	e8 4c f9 f8 ff       	call   0x180099ffc
18010a6b0:	48 83 c3 19          	add    $0x19,%rbx
18010a6b4:	ff c5                	inc    %ebp
18010a6b6:	41 3b ef             	cmp    %r15d,%ebp
18010a6b9:	72 8c                	jb     0x18010a647
18010a6bb:	48 83 3f 00          	cmpq   $0x0,(%rdi)
18010a6bf:	75 08                	jne    0x18010a6c9
18010a6c1:	49 8b ce             	mov    %r14,%rcx
18010a6c4:	e8 33 f9 f8 ff       	call   0x180099ffc
18010a6c9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18010a6ce:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18010a6d3:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18010a6d8:	48 83 c4 20          	add    $0x20,%rsp
18010a6dc:	41 5f                	pop    %r15
18010a6de:	41 5e                	pop    %r14
18010a6e0:	5f                   	pop    %rdi
18010a6e1:	c3                   	ret
18010a6e2:	cc                   	int3
18010a6e3:	cc                   	int3
18010a6e4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18010a6e9:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
18010a6ee:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18010a6f3:	55                   	push   %rbp
18010a6f4:	56                   	push   %rsi
18010a6f5:	57                   	push   %rdi
18010a6f6:	41 54                	push   %r12
18010a6f8:	41 55                	push   %r13
18010a6fa:	41 56                	push   %r14
18010a6fc:	41 57                	push   %r15
18010a6fe:	48 8b ec             	mov    %rsp,%rbp
18010a701:	48 83 ec 60          	sub    $0x60,%rsp
18010a705:	33 ff                	xor    %edi,%edi
18010a707:	4c 8b e9             	mov    %rcx,%r13
18010a70a:	48 85 c9             	test   %rcx,%rcx
18010a70d:	0f 84 17 03 00 00    	je     0x18010aa2a
18010a713:	8b 41 3c             	mov    0x3c(%rcx),%eax
18010a716:	85 c0                	test   %eax,%eax
18010a718:	0f 84 0c 03 00 00    	je     0x18010aa2a
18010a71e:	8d 1c 10             	lea    (%rax,%rdx,1),%ebx
18010a721:	48 8b 41 10          	mov    0x10(%rcx),%rax
18010a725:	4c 8d 45 dc          	lea    -0x24(%rbp),%r8
18010a729:	8b d3                	mov    %ebx,%edx
18010a72b:	44 8b 78 10          	mov    0x10(%rax),%r15d
18010a72f:	41 8b cf             	mov    %r15d,%ecx
18010a732:	66 89 7d dc          	mov    %di,-0x24(%rbp)
18010a736:	e8 61 20 00 00       	call   0x18010c79c
18010a73b:	66 39 7d dc          	cmp    %di,-0x24(%rbp)
18010a73f:	7c 0a                	jl     0x18010a74b
18010a741:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18010a746:	e9 e4 02 00 00       	jmp    0x18010aa2f
18010a74b:	48 8b 7d 70          	mov    0x70(%rbp),%rdi
18010a74f:	83 c3 0a             	add    $0xa,%ebx
18010a752:	4c 8b 65 78          	mov    0x78(%rbp),%r12
18010a756:	89 5d e8             	mov    %ebx,-0x18(%rbp)
18010a759:	48 89 7f 08          	mov    %rdi,0x8(%rdi)
18010a75d:	48 89 3f             	mov    %rdi,(%rdi)
18010a760:	49 8b d4             	mov    %r12,%rdx
18010a763:	b9 2a 00 00 00       	mov    $0x2a,%ecx
18010a768:	e8 a3 1e 00 00       	call   0x18010c610
18010a76d:	45 33 c0             	xor    %r8d,%r8d
18010a770:	48 8b f0             	mov    %rax,%rsi
18010a773:	48 85 c0             	test   %rax,%rax
18010a776:	0f 84 5c 02 00 00    	je     0x18010a9d8
18010a77c:	33 c0                	xor    %eax,%eax
18010a77e:	0f 57 c0             	xorps  %xmm0,%xmm0
18010a781:	0f 11 06             	movups %xmm0,(%rsi)
18010a784:	0f 11 46 10          	movups %xmm0,0x10(%rsi)
18010a788:	48 89 46 20          	mov    %rax,0x20(%rsi)
18010a78c:	66 89 46 28          	mov    %ax,0x28(%rsi)
18010a790:	48 8b 47 08          	mov    0x8(%rdi),%rax
18010a794:	48 39 38             	cmp    %rdi,(%rax)
18010a797:	0f 85 86 02 00 00    	jne    0x18010aa23
18010a79d:	48 89 3e             	mov    %rdi,(%rsi)
18010a7a0:	4c 8d 45 d4          	lea    -0x2c(%rbp),%r8
18010a7a4:	48 89 46 08          	mov    %rax,0x8(%rsi)
18010a7a8:	8b d3                	mov    %ebx,%edx
18010a7aa:	48 89 30             	mov    %rsi,(%rax)
18010a7ad:	41 8b cf             	mov    %r15d,%ecx
18010a7b0:	48 89 77 08          	mov    %rsi,0x8(%rdi)
18010a7b4:	e8 e3 1f 00 00       	call   0x18010c79c
18010a7b9:	0f b7 45 d4          	movzwl -0x2c(%rbp),%eax
18010a7bd:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
18010a7c1:	83 c3 02             	add    $0x2,%ebx
18010a7c4:	66 89 46 18          	mov    %ax,0x18(%rsi)
18010a7c8:	8b d3                	mov    %ebx,%edx
18010a7ca:	41 8b cf             	mov    %r15d,%ecx
18010a7cd:	e8 ca 1f 00 00       	call   0x18010c79c
18010a7d2:	0f b7 45 d8          	movzwl -0x28(%rbp),%eax
18010a7d6:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
18010a7da:	66 89 46 1a          	mov    %ax,0x1a(%rsi)
18010a7de:	8d 53 02             	lea    0x2(%rbx),%edx
18010a7e1:	f6 45 d4 01          	testb  $0x1,-0x2c(%rbp)
18010a7e5:	41 8b cf             	mov    %r15d,%ecx
18010a7e8:	74 29                	je     0x18010a813
18010a7ea:	e8 ad 1f 00 00       	call   0x18010c79c
18010a7ef:	0f b7 45 d0          	movzwl -0x30(%rbp),%eax
18010a7f3:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
18010a7f7:	8d 53 04             	lea    0x4(%rbx),%edx
18010a7fa:	66 89 46 1c          	mov    %ax,0x1c(%rsi)
18010a7fe:	41 8b cf             	mov    %r15d,%ecx
18010a801:	e8 96 1f 00 00       	call   0x18010c79c
18010a806:	0f b7 45 d0          	movzwl -0x30(%rbp),%eax
18010a80a:	83 c3 06             	add    $0x6,%ebx
18010a80d:	66 89 46 1e          	mov    %ax,0x1e(%rsi)
18010a811:	eb 19                	jmp    0x18010a82c