1800a23de:	ff d0                	call   *%rax
1800a23e0:	0f 1f 00             	nopl   (%rax)
1800a23e3:	48 8b 07             	mov    (%rdi),%rax
1800a23e6:	ba 2a 00 00 00       	mov    $0x2a,%edx
1800a23eb:	48 8b cf             	mov    %rdi,%rcx
1800a23ee:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a23f5:	ff d0                	call   *%rax
1800a23f7:	0f 1f 00             	nopl   (%rax)
1800a23fa:	49 83 ed 01          	sub    $0x1,%r13
1800a23fe:	75 ae                	jne    0x1800a23ae
1800a2400:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
1800a2407:	00
1800a2408:	eb 6c                	jmp    0x1800a2476
1800a240a:	44 8b b4 24 b8 00 00 	mov    0xb8(%rsp),%r14d
1800a2411:	00
1800a2412:	4c 8b e0             	mov    %rax,%r12
1800a2415:	48 8b 4e 50          	mov    0x50(%rsi),%rcx
1800a2419:	48 8b 07             	mov    (%rdi),%rax
1800a241c:	42 0f b7 14 21       	movzwl (%rcx,%r12,1),%edx
1800a2421:	48 8b cf             	mov    %rdi,%rcx
1800a2424:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a2428:	ff d0                	call   *%rax
1800a242a:	0f 1f 00             	nopl   (%rax)
1800a242d:	03 d8                	add    %eax,%ebx
1800a242f:	3b 5c 24 28          	cmp    0x28(%rsp),%ebx
1800a2433:	76 1c                	jbe    0x1800a2451
1800a2435:	48 8b 07             	mov    (%rdi),%rax
1800a2438:	43 8d 1c 3e          	lea    (%r14,%r15,1),%ebx
1800a243c:	03 6c 24 20          	add    0x20(%rsp),%ebp
1800a2440:	44 8b c3             	mov    %ebx,%r8d
1800a2443:	8b d5                	mov    %ebp,%edx
1800a2445:	48 8b cf             	mov    %rdi,%rcx
1800a2448:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a244c:	ff d0                	call   *%rax
1800a244e:	0f 1f 00             	nopl   (%rax)
1800a2451:	48 8b 4e 50          	mov    0x50(%rsi),%rcx
1800a2455:	48 8b 07             	mov    (%rdi),%rax
1800a2458:	42 0f b7 14 21       	movzwl (%rcx,%r12,1),%edx
1800a245d:	48 8b cf             	mov    %rdi,%rcx
1800a2460:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a2467:	ff d0                	call   *%rax
1800a2469:	0f 1f 00             	nopl   (%rax)
1800a246c:	49 83 c4 02          	add    $0x2,%r12
1800a2470:	49 83 ed 01          	sub    $0x1,%r13
1800a2474:	75 9f                	jne    0x1800a2415
1800a2476:	44 8b 64 24 2c       	mov    0x2c(%rsp),%r12d
1800a247b:	4c 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%r14
1800a2482:	00
1800a2483:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
1800a2488:	44 03 84 24 b8 00 00 	add    0xb8(%rsp),%r8d
1800a248f:	00
1800a2490:	45 03 46 04          	add    0x4(%r14),%r8d
1800a2494:	41 8b 16             	mov    (%r14),%edx
1800a2497:	45 3b c4             	cmp    %r12d,%r8d
1800a249a:	76 12                	jbe    0x1800a24ae
1800a249c:	8b 44 24 38          	mov    0x38(%rsp),%eax
1800a24a0:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
1800a24a4:	44 2b c0             	sub    %eax,%r8d
1800a24a7:	03 d1                	add    %ecx,%edx
1800a24a9:	45 3b c4             	cmp    %r12d,%r8d
1800a24ac:	77 f6                	ja     0x1800a24a4
1800a24ae:	48 8b 07             	mov    (%rdi),%rax
1800a24b1:	48 8b cf             	mov    %rdi,%rcx
1800a24b4:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a24b8:	ff d0                	call   *%rax
1800a24ba:	0f 1f 00             	nopl   (%rax)
1800a24bd:	48 8b 07             	mov    (%rdi),%rax
1800a24c0:	33 db                	xor    %ebx,%ebx
1800a24c2:	48 8b cf             	mov    %rdi,%rcx
1800a24c5:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a24c9:	39 5e 60             	cmp    %ebx,0x60(%rsi)
1800a24cc:	74 34                	je     0x1800a2502
1800a24ce:	0f b7 56 6c          	movzwl 0x6c(%rsi),%edx
1800a24d2:	ff d0                	call   *%rax
1800a24d4:	0f 1f 00             	nopl   (%rax)
1800a24d7:	48 8b 07             	mov    (%rdi),%rax
1800a24da:	48 8d 15 03 01 0b 00 	lea    0xb0103(%rip),%rdx        # 0x1801525e4
1800a24e1:	48 8b cf             	mov    %rdi,%rcx
1800a24e4:	48 8b 40 78          	mov    0x78(%rax),%rax
1800a24e8:	ff d0                	call   *%rax
1800a24ea:	0f 1f 00             	nopl   (%rax)
1800a24ed:	48 8b 07             	mov    (%rdi),%rax
1800a24f0:	48 8b cf             	mov    %rdi,%rcx
1800a24f3:	0f b7 56 6e          	movzwl 0x6e(%rsi),%edx
1800a24f7:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a24fb:	ff d0                	call   *%rax
1800a24fd:	0f 1f 00             	nopl   (%rax)
1800a2500:	eb 1f                	jmp    0x1800a2521
1800a2502:	0f b7 56 6e          	movzwl 0x6e(%rsi),%edx
1800a2506:	ff d0                	call   *%rax
1800a2508:	0f 1f 00             	nopl   (%rax)
1800a250b:	48 8b 07             	mov    (%rdi),%rax
1800a250e:	48 8d 15 b3 00 0b 00 	lea    0xb00b3(%rip),%rdx        # 0x1801525c8
1800a2515:	48 8b cf             	mov    %rdi,%rcx
1800a2518:	48 8b 40 78          	mov    0x78(%rax),%rax
1800a251c:	ff d0                	call   *%rax
1800a251e:	0f 1f 00             	nopl   (%rax)
1800a2521:	48 8b 07             	mov    (%rdi),%rax
1800a2524:	48 8b cf             	mov    %rdi,%rcx
1800a2527:	0f b7 94 24 a8 00 00 	movzwl 0xa8(%rsp),%edx
1800a252e:	00
1800a252f:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a2533:	ff d0                	call   *%rax
1800a2535:	0f 1f 00             	nopl   (%rax)
1800a2538:	8b 46 3c             	mov    0x3c(%rsi),%eax
1800a253b:	39 46 44             	cmp    %eax,0x44(%rsi)
1800a253e:	77 14                	ja     0x1800a2554
1800a2540:	8b 54 24 24          	mov    0x24(%rsp),%edx
1800a2544:	4c 8d 84 24 b0 00 00 	lea    0xb0(%rsp),%r8
1800a254b:	00
1800a254c:	48 8b ce             	mov    %rsi,%rcx
1800a254f:	e8 2c 07 00 00       	call   0x1800a2c80
1800a2554:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
1800a2558:	44 8b 84 24 b4 00 00 	mov    0xb4(%rsp),%r8d
1800a255f:	00
1800a2560:	8b 94 24 b0 00 00 00 	mov    0xb0(%rsp),%edx
1800a2567:	48 8b 01             	mov    (%rcx),%rax
1800a256a:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a256e:	ff d0                	call   *%rax
1800a2570:	0f 1f 00             	nopl   (%rax)
1800a2573:	39 5e 60             	cmp    %ebx,0x60(%rsi)
1800a2576:	74 14                	je     0x1800a258c
1800a2578:	48 8b 07             	mov    (%rdi),%rax
1800a257b:	ba 01 00 00 00       	mov    $0x1,%edx
1800a2580:	48 8b cf             	mov    %rdi,%rcx
1800a2583:	48 8b 40 60          	mov    0x60(%rax),%rax
1800a2587:	ff d0                	call   *%rax
1800a2589:	0f 1f 00             	nopl   (%rax)
1800a258c:	48 83 c4 58          	add    $0x58,%rsp
1800a2590:	41 5f                	pop    %r15
1800a2592:	41 5e                	pop    %r14
1800a2594:	41 5d                	pop    %r13
1800a2596:	41 5c                	pop    %r12
1800a2598:	5f                   	pop    %rdi
1800a2599:	5e                   	pop    %rsi
1800a259a:	5d                   	pop    %rbp
1800a259b:	5b                   	pop    %rbx
1800a259c:	c3                   	ret
1800a259d:	cc                   	int3
1800a259e:	cc                   	int3
1800a259f:	cc                   	int3
1800a25a0:	33 c0                	xor    %eax,%eax
1800a25a2:	83 79 68 02          	cmpl   $0x2,0x68(%rcx)
1800a25a6:	0f 95 c0             	setne  %al
1800a25a9:	c3                   	ret
1800a25aa:	cc                   	int3
1800a25ab:	cc                   	int3
1800a25ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800a25b1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800a25b6:	57                   	push   %rdi
1800a25b7:	48 83 ec 20          	sub    $0x20,%rsp
1800a25bb:	48 8b d9             	mov    %rcx,%rbx
1800a25be:	8b fa                	mov    %edx,%edi
1800a25c0:	33 f6                	xor    %esi,%esi
1800a25c2:	33 d2                	xor    %edx,%edx
1800a25c4:	89 71 60             	mov    %esi,0x60(%rcx)
1800a25c7:	48 8b 49 28          	mov    0x28(%rcx),%rcx
1800a25cb:	48 8b 01             	mov    (%rcx),%rax
1800a25ce:	48 8b 40 60          	mov    0x60(%rax),%rax
1800a25d2:	ff d0                	call   *%rax
1800a25d4:	0f 1f 00             	nopl   (%rax)
1800a25d7:	83 7b 68 03          	cmpl   $0x3,0x68(%rbx)
1800a25db:	75 2e                	jne    0x1800a260b
1800a25dd:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
1800a25e1:	66 39 31             	cmp    %si,(%rcx)
1800a25e4:	75 25                	jne    0x1800a260b
1800a25e6:	48 8b 53 58          	mov    0x58(%rbx),%rdx
1800a25ea:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
1800a25ee:	48 ff c0             	inc    %rax
1800a25f1:	66 39 34 42          	cmp    %si,(%rdx,%rax,2)
1800a25f5:	75 f7                	jne    0x1800a25ee
1800a25f7:	44 8d 40 01          	lea    0x1(%rax),%r8d
1800a25fb:	89 43 44             	mov    %eax,0x44(%rbx)
1800a25fe:	4d 03 c0             	add    %r8,%r8
1800a2601:	89 43 40             	mov    %eax,0x40(%rbx)
1800a2604:	e8 b7 33 09 00       	call   0x1801359c0
1800a2609:	eb 06                	jmp    0x1800a2611
1800a260b:	8b 43 40             	mov    0x40(%rbx),%eax
1800a260e:	89 43 44             	mov    %eax,0x44(%rbx)
1800a2611:	85 ff                	test   %edi,%edi
1800a2613:	74 08                	je     0x1800a261d
1800a2615:	48 8b cb             	mov    %rbx,%rcx
1800a2618:	e8 cf d7 ff ff       	call   0x18009fdec
1800a261d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800a2622:	33 c0                	xor    %eax,%eax
1800a2624:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1800a2629:	48 83 c4 20          	add    $0x20,%rsp
1800a262d:	5f                   	pop    %rdi
1800a262e:	c3                   	ret
1800a262f:	cc                   	int3
1800a2630:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800a2635:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1800a263a:	56                   	push   %rsi
1800a263b:	57                   	push   %rdi
1800a263c:	41 56                	push   %r14
1800a263e:	48 83 ec 20          	sub    $0x20,%rsp
1800a2642:	c7 41 60 01 00 00 00 	movl   $0x1,0x60(%rcx)
1800a2649:	33 f6                	xor    %esi,%esi
1800a264b:	c7 41 64 01 00 00 00 	movl   $0x1,0x64(%rcx)
1800a2652:	48 8b f9             	mov    %rcx,%rdi
1800a2655:	48 8b 49 28          	mov    0x28(%rcx),%rcx
1800a2659:	8b da                	mov    %edx,%ebx
1800a265b:	45 8b f0             	mov    %r8d,%r14d
1800a265e:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
1800a2663:	8d 56 5b             	lea    0x5b(%rsi),%edx
1800a2666:	8b ee                	mov    %esi,%ebp
1800a2668:	48 8b 01             	mov    (%rcx),%rax
1800a266b:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a266f:	ff d0                	call   *%rax
1800a2671:	0f 1f 00             	nopl   (%rax)
1800a2674:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a2678:	8d 56 20             	lea    0x20(%rsi),%edx
1800a267b:	48 8b 01             	mov    (%rcx),%rax
1800a267e:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a2682:	ff d0                	call   *%rax
1800a2684:	0f 1f 00             	nopl   (%rax)
1800a2687:	85 db                	test   %ebx,%ebx
1800a2689:	74 08                	je     0x1800a2693
1800a268b:	48 8b cf             	mov    %rdi,%rcx
1800a268e:	e8 59 d7 ff ff       	call   0x18009fdec
1800a2693:	45 85 f6             	test   %r14d,%r14d
1800a2696:	74 5d                	je     0x1800a26f5
1800a2698:	8b 47 3c             	mov    0x3c(%rdi),%eax
1800a269b:	39 47 44             	cmp    %eax,0x44(%rdi)
1800a269e:	77 17                	ja     0x1800a26b7
1800a26a0:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
1800a26a5:	33 d2                	xor    %edx,%edx
1800a26a7:	48 8b cf             	mov    %rdi,%rcx
1800a26aa:	e8 d1 05 00 00       	call   0x1800a2c80
1800a26af:	8b 74 24 44          	mov    0x44(%rsp),%esi
1800a26b3:	8b 6c 24 40          	mov    0x40(%rsp),%ebp
1800a26b7:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a26bb:	44 8b c6             	mov    %esi,%r8d
1800a26be:	8b d5                	mov    %ebp,%edx
1800a26c0:	48 8b 01             	mov    (%rcx),%rax
1800a26c3:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a26c7:	ff d0                	call   *%rax
1800a26c9:	0f 1f 00             	nopl   (%rax)
1800a26cc:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a26d0:	0f b7 57 6e          	movzwl 0x6e(%rdi),%edx
1800a26d4:	48 8b 01             	mov    (%rcx),%rax
1800a26d7:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a26db:	ff d0                	call   *%rax
1800a26dd:	0f 1f 00             	nopl   (%rax)
1800a26e0:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a26e4:	ba 01 00 00 00       	mov    $0x1,%edx
1800a26e9:	48 8b 01             	mov    (%rcx),%rax
1800a26ec:	48 8b 40 60          	mov    0x60(%rax),%rax
1800a26f0:	ff d0                	call   *%rax
1800a26f2:	0f 1f 00             	nopl   (%rax)
1800a26f5:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1800a26fa:	33 c0                	xor    %eax,%eax
1800a26fc:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1800a2701:	48 83 c4 20          	add    $0x20,%rsp
1800a2705:	41 5e                	pop    %r14
1800a2707:	5f                   	pop    %rdi
1800a2708:	5e                   	pop    %rsi
1800a2709:	c3                   	ret
1800a270a:	cc                   	int3
1800a270b:	cc                   	int3
1800a270c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1800a2711:	89 54 24 10          	mov    %edx,0x10(%rsp)
1800a2715:	55                   	push   %rbp
1800a2716:	56                   	push   %rsi
1800a2717:	57                   	push   %rdi
1800a2718:	41 54                	push   %r12
1800a271a:	41 55                	push   %r13
1800a271c:	41 56                	push   %r14
1800a271e:	41 57                	push   %r15
1800a2720:	48 8b ec             	mov    %rsp,%rbp
1800a2723:	48 83 ec 20          	sub    $0x20,%rsp
1800a2727:	48 8b f9             	mov    %rcx,%rdi
1800a272a:	33 d2                	xor    %edx,%edx
1800a272c:	48 8b 49 28          	mov    0x28(%rcx),%rcx
1800a2730:	41 bd 01 00 00 00    	mov    $0x1,%r13d
1800a2736:	48 8b 01             	mov    (%rcx),%rax
1800a2739:	48 8b 40 60          	mov    0x60(%rax),%rax
1800a273d:	ff d0                	call   *%rax
1800a273f:	0f 1f 00             	nopl   (%rax)
1800a2742:	33 f6                	xor    %esi,%esi
1800a2744:	39 77 64             	cmp    %esi,0x64(%rdi)
1800a2747:	74 1f                	je     0x1800a2768
1800a2749:	48 8b cf             	mov    %rdi,%rcx
1800a274c:	89 77 64             	mov    %esi,0x64(%rdi)
1800a274f:	e8 98 d6 ff ff       	call   0x18009fdec
1800a2754:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a2758:	0f b7 57 6e          	movzwl 0x6e(%rdi),%edx
1800a275c:	48 8b 01             	mov    (%rcx),%rax
1800a275f:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a2763:	ff d0                	call   *%rax
1800a2765:	0f 1f 00             	nopl   (%rax)
1800a2768:	b8 2a 00 00 00       	mov    $0x2a,%eax
1800a276d:	44 0f b7 75 48       	movzwl 0x48(%rbp),%r14d
1800a2772:	44 0f b7 f8          	movzwl %ax,%r15d
1800a2776:	44 39 6f 68          	cmp    %r13d,0x68(%rdi)
1800a277a:	74 04                	je     0x1800a2780
1800a277c:	45 0f b7 fe          	movzwl %r14w,%r15d
1800a2780:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a2784:	41 0f b7 d7          	movzwl %r15w,%edx
1800a2788:	48 8b 01             	mov    (%rcx),%rax
1800a278b:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a278f:	ff d0                	call   *%rax
1800a2791:	0f 1f 00             	nopl   (%rax)
1800a2794:	8b 4f 3c             	mov    0x3c(%rdi),%ecx
1800a2797:	39 4f 44             	cmp    %ecx,0x44(%rdi)
1800a279a:	77 0e                	ja     0x1800a27aa
1800a279c:	4c 8d 45 40          	lea    0x40(%rbp),%r8
1800a27a0:	8b d0                	mov    %eax,%edx
1800a27a2:	48 8b cf             	mov    %rdi,%rcx
1800a27a5:	e8 d6 04 00 00       	call   0x1800a2c80
1800a27aa:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a27ae:	48 8b 5d 40          	mov    0x40(%rbp),%rbx
1800a27b2:	44 8b 65 44          	mov    0x44(%rbp),%r12d
1800a27b6:	8b d3                	mov    %ebx,%edx
1800a27b8:	45 8b c4             	mov    %r12d,%r8d
1800a27bb:	48 8b 01             	mov    (%rcx),%rax
1800a27be:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a27c2:	ff d0                	call   *%rax
1800a27c4:	0f 1f 00             	nopl   (%rax)
1800a27c7:	66 41 83 fe 20       	cmp    $0x20,%r14w
1800a27cc:	0f 82 54 01 00 00    	jb     0x1800a2926
1800a27d2:	83 7f 68 03          	cmpl   $0x3,0x68(%rdi)
1800a27d6:	75 0e                	jne    0x1800a27e6
1800a27d8:	41 8d 46 d0          	lea    -0x30(%r14),%eax
1800a27dc:	66 83 f8 09          	cmp    $0x9,%ax
1800a27e0:	0f 87 6f 01 00 00    	ja     0x1800a2955
1800a27e6:	8b 47 40             	mov    0x40(%rdi),%eax
1800a27e9:	3b 47 3c             	cmp    0x3c(%rdi),%eax
1800a27ec:	0f 83 63 01 00 00    	jae    0x1800a2955
1800a27f2:	39 47 44             	cmp    %eax,0x44(%rdi)
1800a27f5:	75 35                	jne    0x1800a282c
1800a27f7:	8b c8                	mov    %eax,%ecx
1800a27f9:	41 0f b7 d7          	movzwl %r15w,%edx
1800a27fd:	48 8b 47 50          	mov    0x50(%rdi),%rax
1800a2801:	66 44 89 34 48       	mov    %r14w,(%rax,%rcx,2)
1800a2806:	ff 47 40             	incl   0x40(%rdi)
1800a2809:	8b 4f 40             	mov    0x40(%rdi),%ecx
1800a280c:	48 8b 47 50          	mov    0x50(%rdi),%rax
1800a2810:	66 89 34 48          	mov    %si,(%rax,%rcx,2)
1800a2814:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
1800a2818:	48 8b 01             	mov    (%rcx),%rax
1800a281b:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a2822:	ff d0                	call   *%rax
1800a2824:	0f 1f 00             	nopl   (%rax)
1800a2827:	e9 ae 00 00 00       	jmp    0x1800a28da
1800a282c:	8d 70 01             	lea    0x1(%rax),%esi
1800a282f:	89 77 40             	mov    %esi,0x40(%rdi)
1800a2832:	3b 77 44             	cmp    0x44(%rdi),%esi
1800a2835:	76 1c                	jbe    0x1800a2853
1800a2837:	48 8b 57 50          	mov    0x50(%rdi),%rdx