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
18010a813:	e8 84 1f 00 00       	call   0x18010c79c
18010a818:	0f b7 45 d0          	movzwl -0x30(%rbp),%eax
18010a81c:	83 c3 04             	add    $0x4,%ebx
18010a81f:	66 c1 f8 08          	sar    $0x8,%ax
18010a823:	88 46 1c             	mov    %al,0x1c(%rsi)
18010a826:	8a 45 d0             	mov    -0x30(%rbp),%al
18010a829:	88 46 1d             	mov    %al,0x1d(%rsi)
18010a82c:	0f b7 45 d4          	movzwl -0x2c(%rbp),%eax
18010a830:	a8 08                	test   $0x8,%al
18010a832:	74 1e                	je     0x18010a852
18010a834:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a838:	8b d3                	mov    %ebx,%edx
18010a83a:	41 8b cf             	mov    %r15d,%ecx
18010a83d:	e8 5a 1f 00 00       	call   0x18010c79c
18010a842:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
18010a846:	83 c3 02             	add    $0x2,%ebx
18010a849:	66 89 46 20          	mov    %ax,0x20(%rsi)
18010a84d:	e9 96 00 00 00       	jmp    0x18010a8e8
18010a852:	a8 40                	test   $0x40,%al
18010a854:	74 2f                	je     0x18010a885
18010a856:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a85a:	8b d3                	mov    %ebx,%edx
18010a85c:	41 8b cf             	mov    %r15d,%ecx
18010a85f:	e8 38 1f 00 00       	call   0x18010c79c
18010a864:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
18010a868:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a86c:	8d 53 02             	lea    0x2(%rbx),%edx
18010a86f:	66 89 46 20          	mov    %ax,0x20(%rsi)
18010a873:	41 8b cf             	mov    %r15d,%ecx
18010a876:	e8 21 1f 00 00       	call   0x18010c79c
18010a87b:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
18010a87f:	66 89 46 22          	mov    %ax,0x22(%rsi)
18010a883:	eb 60                	jmp    0x18010a8e5
18010a885:	84 c0                	test   %al,%al
18010a887:	79 5f                	jns    0x18010a8e8
18010a889:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a88d:	8b d3                	mov    %ebx,%edx
18010a88f:	41 8b cf             	mov    %r15d,%ecx
18010a892:	e8 05 1f 00 00       	call   0x18010c79c
18010a897:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
18010a89b:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a89f:	8d 53 02             	lea    0x2(%rbx),%edx
18010a8a2:	66 89 46 20          	mov    %ax,0x20(%rsi)
18010a8a6:	41 8b cf             	mov    %r15d,%ecx
18010a8a9:	e8 ee 1e 00 00       	call   0x18010c79c
18010a8ae:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
18010a8b2:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a8b6:	83 c3 04             	add    $0x4,%ebx
18010a8b9:	66 89 46 22          	mov    %ax,0x22(%rsi)
18010a8bd:	8b d3                	mov    %ebx,%edx
18010a8bf:	41 8b cf             	mov    %r15d,%ecx
18010a8c2:	e8 d5 1e 00 00       	call   0x18010c79c
18010a8c7:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
18010a8cb:	4c 8d 45 40          	lea    0x40(%rbp),%r8
18010a8cf:	8d 53 02             	lea    0x2(%rbx),%edx
18010a8d2:	66 89 46 24          	mov    %ax,0x24(%rsi)
18010a8d6:	41 8b cf             	mov    %r15d,%ecx
18010a8d9:	e8 be 1e 00 00       	call   0x18010c79c
18010a8de:	0f bf 45 40          	movswl 0x40(%rbp),%eax
18010a8e2:	89 46 26             	mov    %eax,0x26(%rsi)
18010a8e5:	83 c3 04             	add    $0x4,%ebx
18010a8e8:	0f b7 55 d8          	movzwl -0x28(%rbp),%edx
18010a8ec:	4c 8d 45 e4          	lea    -0x1c(%rbp),%r8
18010a8f0:	49 8b cd             	mov    %r13,%rcx
18010a8f3:	e8 8c 0e 00 00       	call   0x18010b784
18010a8f8:	45 33 c0             	xor    %r8d,%r8d
18010a8fb:	44 8b f0             	mov    %eax,%r14d
18010a8fe:	85 c0                	test   %eax,%eax
18010a900:	0f 88 13 01 00 00    	js     0x18010aa19
18010a906:	41 8b 55 3c          	mov    0x3c(%r13),%edx
18010a90a:	85 d2                	test   %edx,%edx
18010a90c:	74 66                	je     0x18010a974
18010a90e:	44 8b 75 e4          	mov    -0x1c(%rbp),%r14d
18010a912:	41 83 fe ff          	cmp    $0xffffffff,%r14d
18010a916:	75 14                	jne    0x18010a92c
18010a918:	49 8b d4             	mov    %r12,%rdx
18010a91b:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18010a91f:	e8 30 0d 00 00       	call   0x18010b654
18010a924:	44 8b f0             	mov    %eax,%r14d
18010a927:	45 33 c0             	xor    %r8d,%r8d
18010a92a:	eb 4e                	jmp    0x18010a97a
18010a92c:	49 8b 45 10          	mov    0x10(%r13),%rax
18010a930:	41 03 d6             	add    %r14d,%edx
18010a933:	8b 48 10             	mov    0x10(%rax),%ecx
18010a936:	66 44 89 45 e0       	mov    %r8w,-0x20(%rbp)
18010a93b:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18010a93f:	e8 58 1e 00 00       	call   0x18010c79c
18010a944:	33 c0                	xor    %eax,%eax
18010a946:	41 8b d6             	mov    %r14d,%edx
18010a949:	49 8b cd             	mov    %r13,%rcx
18010a94c:	66 39 45 e0          	cmp    %ax,-0x20(%rbp)
18010a950:	7d 14                	jge    0x18010a966
18010a952:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
18010a956:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
18010a95b:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
18010a95f:	e8 f0 0a 00 00       	call   0x18010b454
18010a964:	eb be                	jmp    0x18010a924
18010a966:	4d 8b cc             	mov    %r12,%r9
18010a969:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
18010a96d:	e8 5e 04 00 00       	call   0x18010add0
18010a972:	eb b0                	jmp    0x18010a924
18010a974:	41 be 01 00 00 c0    	mov    $0xc0000001,%r14d
18010a97a:	45 85 f6             	test   %r14d,%r14d
18010a97d:	0f 88 96 00 00 00    	js     0x18010aa19
18010a983:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
18010a987:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
18010a98b:	48 89 46 10          	mov    %rax,0x10(%rsi)
18010a98f:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
18010a993:	0f b7 42 18          	movzwl 0x18(%rdx),%eax
18010a997:	66 01 01             	add    %ax,(%rcx)
18010a99a:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
18010a99e:	0f b7 02             	movzwl (%rdx),%eax
18010a9a1:	66 01 01             	add    %ax,(%rcx)
18010a9a4:	f6 45 d4 20          	testb  $0x20,-0x2c(%rbp)
18010a9a8:	0f 85 b2 fd ff ff    	jne    0x18010a760
18010a9ae:	b8 00 01 00 00       	mov    $0x100,%eax
18010a9b3:	66 85 45 d4          	test   %ax,-0x2c(%rbp)
18010a9b7:	74 11                	je     0x18010a9ca
18010a9b9:	4c 8b 45 60          	mov    0x60(%rbp),%r8
18010a9bd:	8b d3                	mov    %ebx,%edx
18010a9bf:	41 8b cf             	mov    %r15d,%ecx
18010a9c2:	e8 d5 1d 00 00       	call   0x18010c79c
18010a9c7:	83 c3 02             	add    $0x2,%ebx
18010a9ca:	48 8b 45 68          	mov    0x68(%rbp),%rax
18010a9ce:	2b 5d e8             	sub    -0x18(%rbp),%ebx
18010a9d1:	89 18                	mov    %ebx,(%rax)
18010a9d3:	41 8b c6             	mov    %r14d,%eax
18010a9d6:	eb 57                	jmp    0x18010aa2f
18010a9d8:	41 be 9a 00 00 c0    	mov    $0xc000009a,%r14d
18010a9de:	eb 39                	jmp    0x18010aa19
18010a9e0:	48 8b 03             	mov    (%rbx),%rax
18010a9e3:	48 39 7b 08          	cmp    %rdi,0x8(%rbx)
18010a9e7:	75 3a                	jne    0x18010aa23
18010a9e9:	48 39 58 08          	cmp    %rbx,0x8(%rax)
18010a9ed:	75 34                	jne    0x18010aa23
18010a9ef:	48 89 07             	mov    %rax,(%rdi)
18010a9f2:	48 89 78 08          	mov    %rdi,0x8(%rax)
18010a9f6:	4d 39 04 24          	cmp    %r8,(%r12)
18010a9fa:	75 1d                	jne    0x18010aa19
18010a9fc:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18010aa00:	e8 f7 f5 f8 ff       	call   0x180099ffc
18010aa05:	45 33 c0             	xor    %r8d,%r8d
18010aa08:	4d 39 04 24          	cmp    %r8,(%r12)
18010aa0c:	75 0b                	jne    0x18010aa19
18010aa0e:	48 8b cb             	mov    %rbx,%rcx
18010aa11:	e8 e6 f5 f8 ff       	call   0x180099ffc
18010aa16:	45 33 c0             	xor    %r8d,%r8d
18010aa19:	48 8b 1f             	mov    (%rdi),%rbx
18010aa1c:	48 3b df             	cmp    %rdi,%rbx
18010aa1f:	75 bf                	jne    0x18010a9e0
18010aa21:	eb b0                	jmp    0x18010a9d3
18010aa23:	b9 03 00 00 00       	mov    $0x3,%ecx
18010aa28:	cd 29                	int    $0x29
18010aa2a:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
18010aa2f:	48 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%rbx
18010aa36:	00
18010aa37:	48 83 c4 60          	add    $0x60,%rsp
18010aa3b:	41 5f                	pop    %r15
18010aa3d:	41 5e                	pop    %r14
18010aa3f:	41 5d                	pop    %r13
18010aa41:	41 5c                	pop    %r12
18010aa43:	5f                   	pop    %rdi
18010aa44:	5e                   	pop    %rsi
18010aa45:	5d                   	pop    %rbp
18010aa46:	c3                   	ret
18010aa47:	cc                   	int3
18010aa48:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18010aa4d:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18010aa52:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
18010aa56:	53                   	push   %rbx
18010aa57:	55                   	push   %rbp
18010aa58:	56                   	push   %rsi
18010aa59:	57                   	push   %rdi
18010aa5a:	41 54                	push   %r12
18010aa5c:	41 55                	push   %r13