18004244e:	c1 e0 04             	shl    $0x4,%eax
180042451:	8b c8                	mov    %eax,%ecx
180042453:	8b e8                	mov    %eax,%ebp
180042455:	e8 ba 44 00 00       	call   0x180046914
18004245a:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
180042461:	48 85 c0             	test   %rax,%rax
180042464:	74 50                	je     0x1800424b6
180042466:	48 8b 97 98 00 00 00 	mov    0x98(%rdi),%rdx
18004246d:	44 8b c5             	mov    %ebp,%r8d
180042470:	48 8b c8             	mov    %rax,%rcx
180042473:	e8 48 35 0f 00       	call   0x1801359c0
180042478:	48 39 b7 a0 00 00 00 	cmp    %rsi,0xa0(%rdi)
18004247f:	74 30                	je     0x1800424b1
180042481:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
180042487:	c1 e0 04             	shl    $0x4,%eax
18004248a:	8b c8                	mov    %eax,%ecx
18004248c:	8b e8                	mov    %eax,%ebp
18004248e:	e8 81 44 00 00       	call   0x180046914
180042493:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
18004249a:	48 85 c0             	test   %rax,%rax
18004249d:	74 17                	je     0x1800424b6
18004249f:	48 8b 97 a0 00 00 00 	mov    0xa0(%rdi),%rdx
1800424a6:	44 8b c5             	mov    %ebp,%r8d
1800424a9:	48 8b c8             	mov    %rax,%rcx
1800424ac:	e8 0f 35 0f 00       	call   0x1801359c0
1800424b1:	48 8b f3             	mov    %rbx,%rsi
1800424b4:	33 db                	xor    %ebx,%ebx
1800424b6:	48 85 db             	test   %rbx,%rbx
1800424b9:	74 13                	je     0x1800424ce
1800424bb:	48 8b 03             	mov    (%rbx),%rax
1800424be:	ba 01 00 00 00       	mov    $0x1,%edx
1800424c3:	48 8b cb             	mov    %rbx,%rcx
1800424c6:	48 8b 00             	mov    (%rax),%rax
1800424c9:	ff d0                	call   *%rax
1800424cb:	0f 1f 00             	nopl   (%rax)
1800424ce:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800424d3:	48 8b c6             	mov    %rsi,%rax
1800424d6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800424db:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800424e0:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800424e5:	48 83 c4 20          	add    $0x20,%rsp
1800424e9:	41 5e                	pop    %r14
1800424eb:	c3                   	ret
1800424ec:	cc                   	int3
1800424ed:	cc                   	int3
1800424ee:	cc                   	int3
1800424ef:	cc                   	int3
1800424f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800424f5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800424fa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800424ff:	57                   	push   %rdi
180042500:	41 56                	push   %r14
180042502:	41 57                	push   %r15
180042504:	48 83 ec 20          	sub    $0x20,%rsp
180042508:	0f b6 42 11          	movzbl 0x11(%rdx),%eax
18004250c:	48 8b ea             	mov    %rdx,%rbp
18004250f:	88 41 18             	mov    %al,0x18(%rcx)
180042512:	8b d0                	mov    %eax,%edx
180042514:	48 03 d2             	add    %rdx,%rdx
180042517:	48 8d 05 22 c0 10 00 	lea    0x10c022(%rip),%rax        # 0x18014e540
18004251e:	48 8b d9             	mov    %rcx,%rbx
180042521:	4c 8b c9             	mov    %rcx,%r9
180042524:	48 8b cd             	mov    %rbp,%rcx
180042527:	44 8b 04 d0          	mov    (%rax,%rdx,8),%r8d
18004252b:	48 8b 54 d0 08       	mov    0x8(%rax,%rdx,8),%rdx
180042530:	e8 73 52 00 00       	call   0x1800477a8
180042535:	45 33 ff             	xor    %r15d,%r15d
180042538:	8b f8                	mov    %eax,%edi
18004253a:	85 c0                	test   %eax,%eax
18004253c:	0f 88 0f 01 00 00    	js     0x180042651
180042542:	66 44 39 7b 40       	cmp    %r15w,0x40(%rbx)
180042547:	74 0a                	je     0x180042553
180042549:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
18004254e:	e9 fe 00 00 00       	jmp    0x180042651
180042553:	8b 83 90 00 00 00    	mov    0x90(%rbx),%eax
180042559:	85 c0                	test   %eax,%eax
18004255b:	74 63                	je     0x1800425c0
18004255d:	c1 e0 04             	shl    $0x4,%eax
180042560:	8b c8                	mov    %eax,%ecx
180042562:	e8 ad 43 00 00       	call   0x180046914
180042567:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
18004256e:	48 85 c0             	test   %rax,%rax
180042571:	75 0a                	jne    0x18004257d
180042573:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180042578:	e9 d4 00 00 00       	jmp    0x180042651
18004257d:	41 8b f7             	mov    %r15d,%esi
180042580:	44 39 bb 90 00 00 00 	cmp    %r15d,0x90(%rbx)
180042587:	76 37                	jbe    0x1800425c0
180042589:	44 8b ce             	mov    %esi,%r9d
18004258c:	48 8d 15 cd b6 10 00 	lea    0x10b6cd(%rip),%rdx        # 0x18014dc60
180042593:	49 c1 e1 04          	shl    $0x4,%r9
180042597:	41 b8 01 00 00 00    	mov    $0x1,%r8d
18004259d:	4c 03 8b 98 00 00 00 	add    0x98(%rbx),%r9
1800425a4:	48 8b cd             	mov    %rbp,%rcx
1800425a7:	e8 fc 51 00 00       	call   0x1800477a8
1800425ac:	8b f8                	mov    %eax,%edi
1800425ae:	85 c0                	test   %eax,%eax
1800425b0:	0f 88 9b 00 00 00    	js     0x180042651
1800425b6:	ff c6                	inc    %esi
1800425b8:	3b b3 90 00 00 00    	cmp    0x90(%rbx),%esi
1800425be:	72 c9                	jb     0x180042589
1800425c0:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
1800425c6:	4c 89 bb c8 00 00 00 	mov    %r15,0xc8(%rbx)
1800425cd:	85 c0                	test   %eax,%eax
1800425cf:	74 67                	je     0x180042638
1800425d1:	c1 e0 04             	shl    $0x4,%eax
1800425d4:	8b c8                	mov    %eax,%ecx
1800425d6:	e8 39 43 00 00       	call   0x180046914
1800425db:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
1800425e2:	48 8b c8             	mov    %rax,%rcx
1800425e5:	48 85 c0             	test   %rax,%rax
1800425e8:	74 89                	je     0x180042573
1800425ea:	41 8b f7             	mov    %r15d,%esi
1800425ed:	44 39 bb 88 00 00 00 	cmp    %r15d,0x88(%rbx)
1800425f4:	76 42                	jbe    0x180042638
1800425f6:	44 8b f6             	mov    %esi,%r14d
1800425f9:	48 8d 15 d8 ba 10 00 	lea    0x10bad8(%rip),%rdx        # 0x18014e0d8
180042600:	4d 03 f6             	add    %r14,%r14
180042603:	41 b8 02 00 00 00    	mov    $0x2,%r8d
180042609:	4e 8d 0c f1          	lea    (%rcx,%r14,8),%r9
18004260d:	48 8b cd             	mov    %rbp,%rcx
180042610:	e8 93 51 00 00       	call   0x1800477a8
180042615:	8b f8                	mov    %eax,%edi
180042617:	85 c0                	test   %eax,%eax
180042619:	78 36                	js     0x180042651
18004261b:	48 8b 8b a0 00 00 00 	mov    0xa0(%rbx),%rcx
180042622:	ff c6                	inc    %esi
180042624:	4a 8b 44 f1 08       	mov    0x8(%rcx,%r14,8),%rax
180042629:	48 01 83 c8 00 00 00 	add    %rax,0xc8(%rbx)
180042630:	3b b3 88 00 00 00    	cmp    0x88(%rbx),%esi
180042636:	72 be                	jb     0x1800425f6
180042638:	80 7b 18 03          	cmpb   $0x3,0x18(%rbx)
18004263c:	73 13                	jae    0x180042651
18004263e:	44 39 bb 90 00 00 00 	cmp    %r15d,0x90(%rbx)
180042645:	76 0a                	jbe    0x180042651
180042647:	c7 83 8c 00 00 00 01 	movl   $0x1,0x8c(%rbx)
18004264e:	00 00 00
180042651:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180042656:	8b c7                	mov    %edi,%eax
180042658:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18004265d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180042662:	48 83 c4 20          	add    $0x20,%rsp
180042666:	41 5f                	pop    %r15
180042668:	41 5e                	pop    %r14
18004266a:	5f                   	pop    %rdi
18004266b:	c3                   	ret
18004266c:	cc                   	int3
18004266d:	cc                   	int3
18004266e:	cc                   	int3
18004266f:	cc                   	int3
180042670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042675:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004267a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004267f:	57                   	push   %rdi
180042680:	48 83 ec 20          	sub    $0x20,%rsp
180042684:	48 8b ea             	mov    %rdx,%rbp
180042687:	48 8d 05 b2 be 10 00 	lea    0x10beb2(%rip),%rax        # 0x18014e540
18004268e:	0f b6 52 11          	movzbl 0x11(%rdx),%edx
180042692:	48 8b f9             	mov    %rcx,%rdi
180042695:	48 03 d2             	add    %rdx,%rdx
180042698:	4c 8b c9             	mov    %rcx,%r9
18004269b:	33 db                	xor    %ebx,%ebx
18004269d:	66 89 59 40          	mov    %bx,0x40(%rcx)
1800426a1:	48 8b cd             	mov    %rbp,%rcx
1800426a4:	44 8b 04 d0          	mov    (%rax,%rdx,8),%r8d
1800426a8:	48 8b 54 d0 08       	mov    0x8(%rax,%rdx,8),%rdx
1800426ad:	e8 7e 51 00 00       	call   0x180047830
1800426b2:	8b f3                	mov    %ebx,%esi
1800426b4:	39 9f 90 00 00 00    	cmp    %ebx,0x90(%rdi)
1800426ba:	76 2d                	jbe    0x1800426e9
1800426bc:	44 8b ce             	mov    %esi,%r9d
1800426bf:	48 8d 15 9a b5 10 00 	lea    0x10b59a(%rip),%rdx        # 0x18014dc60
1800426c6:	49 c1 e1 04          	shl    $0x4,%r9
1800426ca:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1800426d0:	4c 03 8f 98 00 00 00 	add    0x98(%rdi),%r9
1800426d7:	48 8b cd             	mov    %rbp,%rcx
1800426da:	e8 51 51 00 00       	call   0x180047830
1800426df:	ff c6                	inc    %esi
1800426e1:	3b b7 90 00 00 00    	cmp    0x90(%rdi),%esi
1800426e7:	72 d3                	jb     0x1800426bc
1800426e9:	39 9f 88 00 00 00    	cmp    %ebx,0x88(%rdi)
1800426ef:	76 2d                	jbe    0x18004271e
1800426f1:	44 8b cb             	mov    %ebx,%r9d
1800426f4:	48 8d 15 dd b9 10 00 	lea    0x10b9dd(%rip),%rdx        # 0x18014e0d8
1800426fb:	49 c1 e1 04          	shl    $0x4,%r9
1800426ff:	41 b8 02 00 00 00    	mov    $0x2,%r8d
180042705:	4c 03 8f a0 00 00 00 	add    0xa0(%rdi),%r9
18004270c:	48 8b cd             	mov    %rbp,%rcx
18004270f:	e8 1c 51 00 00       	call   0x180047830
180042714:	ff c3                	inc    %ebx
180042716:	3b 9f 88 00 00 00    	cmp    0x88(%rdi),%ebx
18004271c:	72 d3                	jb     0x1800426f1
18004271e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180042723:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180042728:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18004272d:	48 83 c4 20          	add    $0x20,%rsp
180042731:	5f                   	pop    %rdi
180042732:	c3                   	ret
180042733:	cc                   	int3
180042734:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180042739:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004273e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180042743:	57                   	push   %rdi
180042744:	41 56                	push   %r14
180042746:	41 57                	push   %r15
180042748:	48 83 ec 20          	sub    $0x20,%rsp
18004274c:	48 8b f9             	mov    %rcx,%rdi
18004274f:	48 8d 05 ea bd 10 00 	lea    0x10bdea(%rip),%rax        # 0x18014e540
180042756:	0f b6 49 18          	movzbl 0x18(%rcx),%ecx
18004275a:	4c 8b c7             	mov    %rdi,%r8
18004275d:	48 03 c9             	add    %rcx,%rcx
180042760:	8b 14 c8             	mov    (%rax,%rcx,8),%edx
180042763:	48 8b 4c c8 08       	mov    0x8(%rax,%rcx,8),%rcx
180042768:	e8 63 d9 00 00       	call   0x1800500d0
18004276d:	0f b7 f0             	movzwl %ax,%esi
180042770:	33 db                	xor    %ebx,%ebx
180042772:	8b 87 90 00 00 00    	mov    0x90(%rdi),%eax
180042778:	85 c0                	test   %eax,%eax
18004277a:	74 35                	je     0x1800427b1
18004277c:	4c 8b bf 98 00 00 00 	mov    0x98(%rdi),%r15
180042783:	8b eb                	mov    %ebx,%ebp
180042785:	44 8b f0             	mov    %eax,%r14d
180042788:	4c 8b c5             	mov    %rbp,%r8
18004278b:	48 8d 0d ce b4 10 00 	lea    0x10b4ce(%rip),%rcx        # 0x18014dc60
180042792:	49 c1 e0 04          	shl    $0x4,%r8
180042796:	ba 01 00 00 00       	mov    $0x1,%edx
18004279b:	4d 03 c7             	add    %r15,%r8
18004279e:	e8 2d d9 00 00       	call   0x1800500d0
1800427a3:	0f b7 c0             	movzwl %ax,%eax
1800427a6:	48 ff c5             	inc    %rbp
1800427a9:	03 f0                	add    %eax,%esi
1800427ab:	49 83 ee 01          	sub    $0x1,%r14
1800427af:	75 d7                	jne    0x180042788
1800427b1:	8b 87 88 00 00 00    	mov    0x88(%rdi),%eax
1800427b7:	85 c0                	test   %eax,%eax
1800427b9:	74 32                	je     0x1800427ed
1800427bb:	48 8b af a0 00 00 00 	mov    0xa0(%rdi),%rbp
1800427c2:	8b f8                	mov    %eax,%edi
1800427c4:	4c 8b c3             	mov    %rbx,%r8
1800427c7:	48 8d 0d 0a b9 10 00 	lea    0x10b90a(%rip),%rcx        # 0x18014e0d8
1800427ce:	49 c1 e0 04          	shl    $0x4,%r8
1800427d2:	ba 02 00 00 00       	mov    $0x2,%edx
1800427d7:	4c 03 c5             	add    %rbp,%r8
1800427da:	e8 f1 d8 00 00       	call   0x1800500d0
1800427df:	0f b7 c8             	movzwl %ax,%ecx
1800427e2:	48 ff c3             	inc    %rbx
1800427e5:	03 f1                	add    %ecx,%esi
1800427e7:	48 83 ef 01          	sub    $0x1,%rdi
1800427eb:	75 d7                	jne    0x1800427c4
1800427ed:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800427f2:	8b c6                	mov    %esi,%eax
1800427f4:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800427f9:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800427fe:	48 83 c4 20          	add    $0x20,%rsp
180042802:	41 5f                	pop    %r15
180042804:	41 5e                	pop    %r14
180042806:	5f                   	pop    %rdi
180042807:	c3                   	ret
180042808:	cc                   	int3
180042809:	cc                   	int3
18004280a:	cc                   	int3
18004280b:	cc                   	int3
18004280c:	40 53                	rex push %rbx
18004280e:	48 83 ec 20          	sub    $0x20,%rsp
180042812:	48 8b 41 10          	mov    0x10(%rcx),%rax
180042816:	48 8b d9             	mov    %rcx,%rbx
180042819:	48 8b 48 10          	mov    0x10(%rax),%rcx
18004281d:	48 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%rcx
180042824:	e8 47 c1 0f 00       	call   0x18013e970
180042829:	8b 4b 44             	mov    0x44(%rbx),%ecx
18004282c:	48 8b d0             	mov    %rax,%rdx
18004282f:	33 c0                	xor    %eax,%eax
180042831:	85 c9                	test   %ecx,%ecx
180042833:	74 4c                	je     0x180042881
180042835:	83 f9 06             	cmp    $0x6,%ecx
180042838:	7d 47                	jge    0x180042881
18004283a:	80 7b 18 02          	cmpb   $0x2,0x18(%rbx)
18004283e:	72 1b                	jb     0x18004285b
180042840:	39 83 84 00 00 00    	cmp    %eax,0x84(%rbx)
180042846:	48 8d 4b 48          	lea    0x48(%rbx),%rcx
18004284a:	48 8b 52 58          	mov    0x58(%rdx),%rdx
18004284e:	41 0f 94 c0          	sete   %r8b
180042852:	e8 09 db 00 00       	call   0x180050360
180042857:	85 c0                	test   %eax,%eax
180042859:	78 2b                	js     0x180042886
18004285b:	83 bb 90 00 00 00 00 	cmpl   $0x0,0x90(%rbx)
180042862:	74 0a                	je     0x18004286e
180042864:	48 83 bb 98 00 00 00 	cmpq   $0x0,0x98(%rbx)
18004286b:	00
18004286c:	74 13                	je     0x180042881
18004286e:	83 bb 88 00 00 00 00 	cmpl   $0x0,0x88(%rbx)
180042875:	74 0f                	je     0x180042886
180042877:	48 83 bb a0 00 00 00 	cmpq   $0x0,0xa0(%rbx)
18004287e:	00
18004287f:	75 05                	jne    0x180042886
180042881:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180042886:	48 83 c4 20          	add    $0x20,%rsp
18004288a:	5b                   	pop    %rbx
18004288b:	c3                   	ret
18004288c:	cc                   	int3
18004288d:	cc                   	int3
18004288e:	cc                   	int3
18004288f:	cc                   	int3
180042890:	48 8b c4             	mov    %rsp,%rax
180042893:	48 89 58 08          	mov    %rbx,0x8(%rax)
180042897:	48 89 68 10          	mov    %rbp,0x10(%rax)
18004289b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004289f:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800428a3:	41 56                	push   %r14
1800428a5:	48 83 ec 20          	sub    $0x20,%rsp
1800428a9:	48 8b 69 10          	mov    0x10(%rcx),%rbp
1800428ad:	33 db                	xor    %ebx,%ebx
1800428af:	44 8b 81 80 00 00 00 	mov    0x80(%rcx),%r8d
1800428b6:	48 8b f9             	mov    %rcx,%rdi
1800428b9:	8b f3                	mov    %ebx,%esi
1800428bb:	4c 8b 75 10          	mov    0x10(%rbp),%r14
1800428bf:	45 85 c0             	test   %r8d,%r8d
1800428c2:	74 46                	je     0x18004290a
1800428c4:	b2 06                	mov    $0x6,%dl
1800428c6:	49 8b ce             	mov    %r14,%rcx
1800428c9:	e8 96 a6 0f 00       	call   0x18013cf64
1800428ce:	48 85 c0             	test   %rax,%rax
1800428d1:	75 0a                	jne    0x1800428dd
1800428d3:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
1800428d8:	e9 5f 01 00 00       	jmp    0x180042a3c
1800428dd:	48 8b c8             	mov    %rax,%rcx
1800428e0:	e8 8b c0 0f 00       	call   0x18013e970
1800428e5:	48 8b d0             	mov    %rax,%rdx
1800428e8:	4c 8b 80 a8 00 00 00 	mov    0xa8(%rax),%r8
1800428ef:	4d 85 c0             	test   %r8,%r8
1800428f2:	74 0f                	je     0x180042903
1800428f4:	48 8b cd             	mov    %rbp,%rcx
1800428f7:	e8 74 c0 0f 00       	call   0x18013e970
1800428fc:	4c 89 80 b0 00 00 00 	mov    %r8,0xb0(%rax)
180042903:	48 89 aa a8 00 00 00 	mov    %rbp,0xa8(%rdx)
18004290a:	44 8b 87 84 00 00 00 	mov    0x84(%rdi),%r8d
180042911:	45 85 c0             	test   %r8d,%r8d
180042914:	74 21                	je     0x180042937
180042916:	b2 03                	mov    $0x3,%dl
180042918:	49 8b ce             	mov    %r14,%rcx
18004291b:	e8 44 a6 0f 00       	call   0x18013cf64
180042920:	48 85 c0             	test   %rax,%rax
180042923:	74 ae                	je     0x1800428d3
180042925:	48 8b c8             	mov    %rax,%rcx
180042928:	48 89 87 c0 00 00 00 	mov    %rax,0xc0(%rdi)
18004292f:	e8 3c c0 0f 00       	call   0x18013e970
180042934:	48 8b f0             	mov    %rax,%rsi
180042937:	80 7f 18 02          	cmpb   $0x2,0x18(%rdi)
18004293b:	0f 83 e8 00 00 00    	jae    0x180042a29
180042941:	48 8d 97 dc 00 00 00 	lea    0xdc(%rdi),%rdx