1401b2486:	48 8b f2             	mov    %rdx,%rsi
1401b2489:	f7 c1 ff f3 ff ff    	test   $0xfffff3ff,%ecx
1401b248f:	75 08                	jne    0x1401b2499
1401b2491:	81 f9 00 0c 00 00    	cmp    $0xc00,%ecx
1401b2497:	75 0d                	jne    0x1401b24a6
1401b2499:	48 85 d2             	test   %rdx,%rdx
1401b249c:	75 04                	jne    0x1401b24a2
1401b249e:	85 db                	test   %ebx,%ebx
1401b24a0:	7f 04                	jg     0x1401b24a6
1401b24a2:	85 db                	test   %ebx,%ebx
1401b24a4:	79 04                	jns    0x1401b24aa
1401b24a6:	33 c0                	xor    %eax,%eax
1401b24a8:	eb 79                	jmp    0x1401b2523
1401b24aa:	45 33 c9             	xor    %r9d,%r9d
1401b24ad:	48 8d 2d dc 6e 07 00 	lea    0x76edc(%rip),%rbp        # 0x140229390
1401b24b4:	41 ba e3 00 00 00    	mov    $0xe3,%r10d
1401b24ba:	43 8d 04 0a          	lea    (%r10,%r9,1),%eax
1401b24be:	99                   	cltd
1401b24bf:	2b c2                	sub    %edx,%eax
1401b24c1:	41 8b d0             	mov    %r8d,%edx
1401b24c4:	d1 f8                	sar    $1,%eax
1401b24c6:	48 63 c8             	movslq %eax,%rcx
1401b24c9:	48 c1 e1 04          	shl    $0x4,%rcx
1401b24cd:	2b 14 29             	sub    (%rcx,%rbp,1),%edx
1401b24d0:	74 16                	je     0x1401b24e8
1401b24d2:	85 d2                	test   %edx,%edx
1401b24d4:	79 06                	jns    0x1401b24dc
1401b24d6:	44 8d 50 ff          	lea    -0x1(%rax),%r10d
1401b24da:	eb 04                	jmp    0x1401b24e0
1401b24dc:	44 8d 48 01          	lea    0x1(%rax),%r9d
1401b24e0:	45 3b ca             	cmp    %r10d,%r9d
1401b24e3:	7e d5                	jle    0x1401b24ba
1401b24e5:	83 c8 ff             	or     $0xffffffff,%eax
1401b24e8:	85 c0                	test   %eax,%eax
1401b24ea:	78 ba                	js     0x1401b24a6
1401b24ec:	48 98                	cltq
1401b24ee:	ba 55 00 00 00       	mov    $0x55,%edx
1401b24f3:	48 03 c0             	add    %rax,%rax
1401b24f6:	48 8b 6c c5 08       	mov    0x8(%rbp,%rax,8),%rbp
1401b24fb:	48 8b cd             	mov    %rbp,%rcx
1401b24fe:	e8 05 01 ff ff       	call   0x1401a2608
1401b2503:	48 8b f8             	mov    %rax,%rdi
1401b2506:	85 db                	test   %ebx,%ebx
1401b2508:	7e 16                	jle    0x1401b2520
1401b250a:	3b c3                	cmp    %ebx,%eax
1401b250c:	7d 98                	jge    0x1401b24a6
1401b250e:	48 8b d3             	mov    %rbx,%rdx
1401b2511:	4c 8b c5             	mov    %rbp,%r8
1401b2514:	48 8b ce             	mov    %rsi,%rcx
1401b2517:	e8 d0 c7 fe ff       	call   0x14019ecec
1401b251c:	85 c0                	test   %eax,%eax
1401b251e:	75 18                	jne    0x1401b2538
1401b2520:	8d 47 01             	lea    0x1(%rdi),%eax
1401b2523:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401b2528:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1401b252d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1401b2532:	48 83 c4 30          	add    $0x30,%rsp
1401b2536:	5f                   	pop    %rdi
1401b2537:	c3                   	ret
1401b2538:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1401b253e:	45 33 c9             	xor    %r9d,%r9d
1401b2541:	45 33 c0             	xor    %r8d,%r8d
1401b2544:	33 d2                	xor    %edx,%edx
1401b2546:	33 c9                	xor    %ecx,%ecx
1401b2548:	e8 67 90 fd ff       	call   0x14018b5b4
1401b254d:	cc                   	int3
1401b254e:	cc                   	int3
1401b254f:	cc                   	int3
1401b2550:	48 83 ec 28          	sub    $0x28,%rsp
1401b2554:	48 85 c9             	test   %rcx,%rcx
1401b2557:	74 22                	je     0x1401b257b
1401b2559:	e8 46 fe ff ff       	call   0x1401b23a4
1401b255e:	85 c0                	test   %eax,%eax
1401b2560:	78 19                	js     0x1401b257b
1401b2562:	48 98                	cltq
1401b2564:	48 3d e4 00 00 00    	cmp    $0xe4,%rax
1401b256a:	73 0f                	jae    0x1401b257b
1401b256c:	48 03 c0             	add    %rax,%rax
1401b256f:	48 8d 0d 1a 6e 07 00 	lea    0x76e1a(%rip),%rcx        # 0x140229390
1401b2576:	8b 04 c1             	mov    (%rcx,%rax,8),%eax
1401b2579:	eb 02                	jmp    0x1401b257d
1401b257b:	33 c0                	xor    %eax,%eax
1401b257d:	48 83 c4 28          	add    $0x28,%rsp
1401b2581:	c3                   	ret
1401b2582:	cc                   	int3
1401b2583:	cc                   	int3
1401b2584:	40 53                	rex push %rbx
1401b2586:	48 83 ec 20          	sub    $0x20,%rsp
1401b258a:	33 db                	xor    %ebx,%ebx
1401b258c:	48 85 c9             	test   %rcx,%rcx
1401b258f:	75 18                	jne    0x1401b25a9
1401b2591:	e8 76 d9 fd ff       	call   0x14018ff0c
1401b2596:	bb 16 00 00 00       	mov    $0x16,%ebx
1401b259b:	89 18                	mov    %ebx,(%rax)
1401b259d:	e8 c2 8f fd ff       	call   0x14018b564
1401b25a2:	8b c3                	mov    %ebx,%eax
1401b25a4:	e9 94 00 00 00       	jmp    0x1401b263d
1401b25a9:	48 85 d2             	test   %rdx,%rdx
1401b25ac:	74 e3                	je     0x1401b2591
1401b25ae:	45 85 c0             	test   %r8d,%r8d
1401b25b1:	88 19                	mov    %bl,(%rcx)
1401b25b3:	8b c3                	mov    %ebx,%eax
1401b25b5:	41 0f 4f c0          	cmovg  %r8d,%eax
1401b25b9:	ff c0                	inc    %eax
1401b25bb:	48 98                	cltq
1401b25bd:	48 3b d0             	cmp    %rax,%rdx
1401b25c0:	77 0c                	ja     0x1401b25ce
1401b25c2:	e8 45 d9 fd ff       	call   0x14018ff0c
1401b25c7:	bb 22 00 00 00       	mov    $0x22,%ebx
1401b25cc:	eb cd                	jmp    0x1401b259b
1401b25ce:	4d 85 c9             	test   %r9,%r9
1401b25d1:	74 be                	je     0x1401b2591
1401b25d3:	49 8b 51 08          	mov    0x8(%r9),%rdx
1401b25d7:	48 8d 41 01          	lea    0x1(%rcx),%rax
1401b25db:	c6 01 30             	movb   $0x30,(%rcx)
1401b25de:	eb 19                	jmp    0x1401b25f9
1401b25e0:	44 8a 12             	mov    (%rdx),%r10b
1401b25e3:	45 84 d2             	test   %r10b,%r10b
1401b25e6:	74 05                	je     0x1401b25ed
1401b25e8:	48 ff c2             	inc    %rdx
1401b25eb:	eb 03                	jmp    0x1401b25f0
1401b25ed:	41 b2 30             	mov    $0x30,%r10b
1401b25f0:	44 88 10             	mov    %r10b,(%rax)
1401b25f3:	48 ff c0             	inc    %rax
1401b25f6:	41 ff c8             	dec    %r8d
1401b25f9:	45 85 c0             	test   %r8d,%r8d
1401b25fc:	7f e2                	jg     0x1401b25e0
1401b25fe:	88 18                	mov    %bl,(%rax)
1401b2600:	78 14                	js     0x1401b2616
1401b2602:	80 3a 35             	cmpb   $0x35,(%rdx)
1401b2605:	7c 0f                	jl     0x1401b2616
1401b2607:	eb 03                	jmp    0x1401b260c
1401b2609:	c6 00 30             	movb   $0x30,(%rax)
1401b260c:	48 ff c8             	dec    %rax
1401b260f:	80 38 39             	cmpb   $0x39,(%rax)
1401b2612:	74 f5                	je     0x1401b2609
1401b2614:	fe 00                	incb   (%rax)
1401b2616:	80 39 31             	cmpb   $0x31,(%rcx)
1401b2619:	75 06                	jne    0x1401b2621
1401b261b:	41 ff 41 04          	incl   0x4(%r9)
1401b261f:	eb 1a                	jmp    0x1401b263b
1401b2621:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
1401b2625:	49 ff c0             	inc    %r8
1401b2628:	42 38 5c 01 01       	cmp    %bl,0x1(%rcx,%r8,1)
1401b262d:	75 f6                	jne    0x1401b2625
1401b262f:	49 ff c0             	inc    %r8
1401b2632:	48 8d 51 01          	lea    0x1(%rcx),%rdx
1401b2636:	e8 85 5d fd ff       	call   0x1401883c0
1401b263b:	33 c0                	xor    %eax,%eax
1401b263d:	48 83 c4 20          	add    $0x20,%rsp
1401b2641:	5b                   	pop    %rbx
1401b2642:	c3                   	ret
1401b2643:	cc                   	int3
1401b2644:	40 55                	rex push %rbp
1401b2646:	53                   	push   %rbx
1401b2647:	56                   	push   %rsi
1401b2648:	57                   	push   %rdi
1401b2649:	41 54                	push   %r12
1401b264b:	41 55                	push   %r13
1401b264d:	41 56                	push   %r14
1401b264f:	41 57                	push   %r15
1401b2651:	48 8d ac 24 28 f9 ff 	lea    -0x6d8(%rsp),%rbp
1401b2658:	ff
1401b2659:	48 81 ec d8 07 00 00 	sub    $0x7d8,%rsp
1401b2660:	48 8b 05 09 8c 0f 00 	mov    0xf8c09(%rip),%rax        # 0x1402ab270
1401b2667:	48 33 c4             	xor    %rsp,%rax
1401b266a:	48 89 85 c0 06 00 00 	mov    %rax,0x6c0(%rbp)
1401b2671:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1401b2676:	4d 8b f1             	mov    %r9,%r14
1401b2679:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401b267e:	4c 89 4c 24 50       	mov    %r9,0x50(%rsp)
1401b2683:	4d 8b f8             	mov    %r8,%r15
1401b2686:	4c 89 44 24 70       	mov    %r8,0x70(%rsp)
1401b268b:	8b f2                	mov    %edx,%esi
1401b268d:	e8 ea 2d 00 00       	call   0x1401b547c
1401b2692:	8b 44 24 60          	mov    0x60(%rsp),%eax
1401b2696:	45 33 ed             	xor    %r13d,%r13d
1401b2699:	83 e0 1f             	and    $0x1f,%eax
1401b269c:	3c 1f                	cmp    $0x1f,%al
1401b269e:	75 07                	jne    0x1401b26a7
1401b26a0:	44 88 6c 24 68       	mov    %r13b,0x68(%rsp)
1401b26a5:	eb 0f                	jmp    0x1401b26b6
1401b26a7:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401b26ac:	e8 37 2e 00 00       	call   0x1401b54e8
1401b26b1:	c6 44 24 68 01       	movb   $0x1,0x68(%rsp)
1401b26b6:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1401b26bb:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
1401b26c2:	00 00 80
1401b26c5:	48 8b c3             	mov    %rbx,%rax
1401b26c8:	4d 89 77 08          	mov    %r14,0x8(%r15)
1401b26cc:	48 23 c1             	and    %rcx,%rax
1401b26cf:	bf 20 00 00 00       	mov    $0x20,%edi
1401b26d4:	48 f7 d8             	neg    %rax
1401b26d7:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffff,%r12
1401b26de:	ff 0f 00
1401b26e1:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
1401b26e8:	00 f0 7f
1401b26eb:	1b c9                	sbb    %ecx,%ecx
1401b26ed:	83 e1 0d             	and    $0xd,%ecx
1401b26f0:	03 cf                	add    %edi,%ecx
1401b26f2:	41 89 0f             	mov    %ecx,(%r15)
1401b26f5:	48 85 d8             	test   %rbx,%rax
1401b26f8:	75 2c                	jne    0x1401b2726
1401b26fa:	49 85 dc             	test   %rbx,%r12
1401b26fd:	75 27                	jne    0x1401b2726
1401b26ff:	48 8b 95 40 07 00 00 	mov    0x740(%rbp),%rdx
1401b2706:	4c 8d 05 77 9f 07 00 	lea    0x79f77(%rip),%r8        # 0x14022c684
1401b270d:	49 8b ce             	mov    %r14,%rcx
1401b2710:	45 89 6f 04          	mov    %r13d,0x4(%r15)
1401b2714:	e8 d7 28 ff ff       	call   0x1401a4ff0
1401b2719:	85 c0                	test   %eax,%eax
1401b271b:	0f 84 f1 11 00 00    	je     0x1401b3912
1401b2721:	e9 20 12 00 00       	jmp    0x1401b3946
1401b2726:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1401b272b:	e8 a4 5e ff ff       	call   0x1401a85d4
1401b2730:	85 c0                	test   %eax,%eax
1401b2732:	74 08                	je     0x1401b273c
1401b2734:	41 c7 47 04 01 00 00 	movl   $0x1,0x4(%r15)
1401b273b:	00
1401b273c:	83 e8 01             	sub    $0x1,%eax
1401b273f:	0f 84 af 11 00 00    	je     0x1401b38f4
1401b2745:	83 e8 01             	sub    $0x1,%eax
1401b2748:	0f 84 87 11 00 00    	je     0x1401b38d5
1401b274e:	83 e8 01             	sub    $0x1,%eax
1401b2751:	0f 84 5f 11 00 00    	je     0x1401b38b6
1401b2757:	83 f8 01             	cmp    $0x1,%eax
1401b275a:	0f 84 37 11 00 00    	je     0x1401b3897
1401b2760:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
1401b2767:	ff ff 7f
1401b276a:	41 b9 ff 07 00 00    	mov    $0x7ff,%r9d
1401b2770:	48 23 d8             	and    %rax,%rbx
1401b2773:	ff c6                	inc    %esi
1401b2775:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1401b277a:	f2 0f 10 44 24 38    	movsd  0x38(%rsp),%xmm0
1401b2780:	f2 0f 11 44 24 58    	movsd  %xmm0,0x58(%rsp)
1401b2786:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
1401b278b:	4c 8b c2             	mov    %rdx,%r8
1401b278e:	89 74 24 4c          	mov    %esi,0x4c(%rsp)
1401b2792:	49 c1 e8 34          	shr    $0x34,%r8
1401b2796:	4d 85 c1             	test   %r8,%r9
1401b2799:	0f 94 c1             	sete   %cl
1401b279c:	8a c1                	mov    %cl,%al
1401b279e:	f6 d8                	neg    %al
1401b27a0:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
1401b27a7:	00 10 00
1401b27aa:	4d 1b f6             	sbb    %r14,%r14
1401b27ad:	49 23 d4             	and    %r12,%rdx
1401b27b0:	49 f7 d6             	not    %r14
1401b27b3:	4c 23 f0             	and    %rax,%r14
1401b27b6:	4c 03 f2             	add    %rdx,%r14
1401b27b9:	f6 d9                	neg    %cl
1401b27bb:	1b c0                	sbb    %eax,%eax
1401b27bd:	45 23 c1             	and    %r9d,%r8d
1401b27c0:	f7 d8                	neg    %eax
1401b27c2:	ff c0                	inc    %eax
1401b27c4:	41 8d 98 cc fb ff ff 	lea    -0x434(%r8),%ebx
1401b27cb:	03 d8                	add    %eax,%ebx
1401b27cd:	e8 2e 2e 00 00       	call   0x1401b5600
1401b27d2:	e8 61 2d 00 00       	call   0x1401b5538
1401b27d7:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
1401b27db:	44 89 75 84          	mov    %r14d,-0x7c(%rbp)
1401b27df:	41 ba 01 00 00 00    	mov    $0x1,%r10d
1401b27e5:	8d 81 01 00 00 80    	lea    -0x7fffffff(%rcx),%eax
1401b27eb:	83 e0 fe             	and    $0xfffffffe,%eax
1401b27ee:	f7 d8                	neg    %eax
1401b27f0:	45 1b e4             	sbb    %r12d,%r12d
1401b27f3:	49 c1 ee 20          	shr    $0x20,%r14
1401b27f7:	44 23 e1             	and    %ecx,%r12d
1401b27fa:	44 89 75 88          	mov    %r14d,-0x78(%rbp)
1401b27fe:	41 8b c6             	mov    %r14d,%eax
1401b2801:	44 89 64 24 30       	mov    %r12d,0x30(%rsp)
1401b2806:	f7 d8                	neg    %eax
1401b2808:	1b d2                	sbb    %edx,%edx
1401b280a:	f7 da                	neg    %edx
1401b280c:	41 03 d2             	add    %r10d,%edx
1401b280f:	89 55 80             	mov    %edx,-0x80(%rbp)
1401b2812:	85 db                	test   %ebx,%ebx
1401b2814:	0f 88 a9 02 00 00    	js     0x1401b2ac3
1401b281a:	33 c0                	xor    %eax,%eax
1401b281c:	c7 85 28 03 00 00 00 	movl   $0x100000,0x328(%rbp)
1401b2823:	00 10 00
1401b2826:	89 85 24 03 00 00    	mov    %eax,0x324(%rbp)
1401b282c:	8d 70 02             	lea    0x2(%rax),%esi
1401b282f:	89 b5 20 03 00 00    	mov    %esi,0x320(%rbp)
1401b2835:	3b d6                	cmp    %esi,%edx
1401b2837:	0f 85 61 01 00 00    	jne    0x1401b299e
1401b283d:	45 8b c5             	mov    %r13d,%r8d
1401b2840:	41 8b c8             	mov    %r8d,%ecx
1401b2843:	8b 44 8d 84          	mov    -0x7c(%rbp,%rcx,4),%eax
1401b2847:	39 84 8d 24 03 00 00 	cmp    %eax,0x324(%rbp,%rcx,4)
1401b284e:	0f 85 4a 01 00 00    	jne    0x1401b299e
1401b2854:	45 03 c2             	add    %r10d,%r8d
1401b2857:	44 3b c6             	cmp    %esi,%r8d
1401b285a:	75 e4                	jne    0x1401b2840
1401b285c:	44 8d 5b 02          	lea    0x2(%rbx),%r11d
1401b2860:	44 89 6c 24 38       	mov    %r13d,0x38(%rsp)
1401b2865:	45 8b cb             	mov    %r11d,%r9d
1401b2868:	8b f7                	mov    %edi,%esi
1401b286a:	41 83 e3 1f          	and    $0x1f,%r11d
1401b286e:	41 c1 e9 05          	shr    $0x5,%r9d
1401b2872:	41 2b f3             	sub    %r11d,%esi
1401b2875:	49 8b da             	mov    %r10,%rbx
1401b2878:	8b ce                	mov    %esi,%ecx
1401b287a:	48 d3 e3             	shl    %cl,%rbx
1401b287d:	41 2b da             	sub    %r10d,%ebx
1401b2880:	41 0f bd c6          	bsr    %r14d,%eax
1401b2884:	44 8b e3             	mov    %ebx,%r12d
1401b2887:	41 f7 d4             	not    %r12d
1401b288a:	74 04                	je     0x1401b2890
1401b288c:	ff c0                	inc    %eax
1401b288e:	eb 03                	jmp    0x1401b2893
1401b2890:	41 8b c5             	mov    %r13d,%eax
1401b2893:	2b f8                	sub    %eax,%edi
1401b2895:	41 8d 41 02          	lea    0x2(%r9),%eax
1401b2899:	44 3b df             	cmp    %edi,%r11d
1401b289c:	41 0f 97 c7          	seta   %r15b
1401b28a0:	83 f8 73             	cmp    $0x73,%eax
1401b28a3:	41 0f 97 c0          	seta   %r8b
1401b28a7:	83 f8 73             	cmp    $0x73,%eax
1401b28aa:	75 08                	jne    0x1401b28b4
1401b28ac:	41 8a ca             	mov    %r10b,%cl
1401b28af:	45 84 ff             	test   %r15b,%r15b
1401b28b2:	75 03                	jne    0x1401b28b7
1401b28b4:	41 8a cd             	mov    %r13b,%cl
1401b28b7:	41 83 cd ff          	or     $0xffffffff,%r13d
1401b28bb:	45 84 c0             	test   %r8b,%r8b
1401b28be:	0f 85 a1 00 00 00    	jne    0x1401b2965
1401b28c4:	84 c9                	test   %cl,%cl
1401b28c6:	0f 85 99 00 00 00    	jne    0x1401b2965
1401b28cc:	41 be 72 00 00 00    	mov    $0x72,%r14d
1401b28d2:	41 3b c6             	cmp    %r14d,%eax
1401b28d5:	44 0f 42 f0          	cmovb  %eax,%r14d
1401b28d9:	45 3b f5             	cmp    %r13d,%r14d
1401b28dc:	74 5c                	je     0x1401b293a
1401b28de:	45 8b c6             	mov    %r14d,%r8d
1401b28e1:	45 2b c1             	sub    %r9d,%r8d
1401b28e4:	43 8d 3c 08          	lea    (%r8,%r9,1),%edi
1401b28e8:	41 3b f9             	cmp    %r9d,%edi
1401b28eb:	72 47                	jb     0x1401b2934
1401b28ed:	44 3b c2             	cmp    %edx,%r8d
1401b28f0:	73 07                	jae    0x1401b28f9
1401b28f2:	46 8b 54 85 84       	mov    -0x7c(%rbp,%r8,4),%r10d
1401b28f7:	eb 03                	jmp    0x1401b28fc
1401b28f9:	45 33 d2             	xor    %r10d,%r10d
1401b28fc:	41 8d 40 ff          	lea    -0x1(%r8),%eax
1401b2900:	3b c2                	cmp    %edx,%eax
1401b2902:	73 06                	jae    0x1401b290a
1401b2904:	8b 54 85 84          	mov    -0x7c(%rbp,%rax,4),%edx
1401b2908:	eb 02                	jmp    0x1401b290c
1401b290a:	33 d2                	xor    %edx,%edx