1400d5559:	41 83 f9 01          	cmp    $0x1,%r9d
1400d555d:	0f 85 cf 00 00 00    	jne    0x1400d5632
1400d5563:	49 8b c0             	mov    %r8,%rax
1400d5566:	eb 4f                	jmp    0x1400d55b7
1400d5568:	8b c1                	mov    %ecx,%eax
1400d556a:	83 e0 03             	and    $0x3,%eax
1400d556d:	3c 03                	cmp    $0x3,%al
1400d556f:	0f 84 bd 00 00 00    	je     0x1400d5632
1400d5575:	f6 c1 01             	test   $0x1,%cl
1400d5578:	74 19                	je     0x1400d5593
1400d557a:	48 85 ed             	test   %rbp,%rbp
1400d557d:	75 09                	jne    0x1400d5588
1400d557f:	48 85 db             	test   %rbx,%rbx
1400d5582:	0f 85 aa 00 00 00    	jne    0x1400d5632
1400d5588:	48 8b c5             	mov    %rbp,%rax
1400d558b:	48 2b c3             	sub    %rbx,%rax
1400d558e:	48 d1 f8             	sar    $1,%rax
1400d5591:	eb 24                	jmp    0x1400d55b7
1400d5593:	f6 c1 02             	test   $0x2,%cl
1400d5596:	0f 84 96 00 00 00    	je     0x1400d5632
1400d559c:	48 85 d2             	test   %rdx,%rdx
1400d559f:	75 09                	jne    0x1400d55aa
1400d55a1:	48 85 db             	test   %rbx,%rbx
1400d55a4:	0f 85 88 00 00 00    	jne    0x1400d5632
1400d55aa:	48 8b c2             	mov    %rdx,%rax
1400d55ad:	48 2b c3             	sub    %rbx,%rax
1400d55b0:	48 d1 f8             	sar    $1,%rax
1400d55b3:	eb 02                	jmp    0x1400d55b7
1400d55b5:	33 c0                	xor    %eax,%eax
1400d55b7:	4c 8d 0c 38          	lea    (%rax,%rdi,1),%r9
1400d55bb:	4d 3b c8             	cmp    %r8,%r9
1400d55be:	77 72                	ja     0x1400d5632
1400d55c0:	4d 85 c9             	test   %r9,%r9
1400d55c3:	74 14                	je     0x1400d55d9
1400d55c5:	f6 c1 01             	test   $0x1,%cl
1400d55c8:	74 05                	je     0x1400d55cf
1400d55ca:	48 85 ed             	test   %rbp,%rbp
1400d55cd:	74 63                	je     0x1400d5632
1400d55cf:	f6 c1 02             	test   $0x2,%cl
1400d55d2:	74 05                	je     0x1400d55d9
1400d55d4:	48 85 d2             	test   %rdx,%rdx
1400d55d7:	74 59                	je     0x1400d5632
1400d55d9:	4a 8d 3c 4b          	lea    (%rbx,%r9,2),%rdi
1400d55dd:	f6 c1 01             	test   $0x1,%cl
1400d55e0:	74 14                	je     0x1400d55f6
1400d55e2:	48 85 ed             	test   %rbp,%rbp
1400d55e5:	74 0f                	je     0x1400d55f6
1400d55e7:	49 89 3e             	mov    %rdi,(%r14)
1400d55ea:	48 2b f7             	sub    %rdi,%rsi
1400d55ed:	49 8b 43 50          	mov    0x50(%r11),%rax
1400d55f1:	48 d1 fe             	sar    $1,%rsi
1400d55f4:	89 30                	mov    %esi,(%rax)
1400d55f6:	f6 c1 02             	test   $0x2,%cl
1400d55f9:	74 32                	je     0x1400d562d
1400d55fb:	48 85 d2             	test   %rdx,%rdx
1400d55fe:	74 2d                	je     0x1400d562d
1400d5600:	49 8b 43 58          	mov    0x58(%r11),%rax
1400d5604:	48 63 10             	movslq (%rax),%rdx
1400d5607:	49 8b 43 40          	mov    0x40(%r11),%rax
1400d560b:	48 8b 08             	mov    (%rax),%rcx
1400d560e:	49 8b 43 20          	mov    0x20(%r11),%rax
1400d5612:	4c 8d 04 51          	lea    (%rcx,%rdx,2),%r8
1400d5616:	48 89 18             	mov    %rbx,(%rax)
1400d5619:	4c 2b c7             	sub    %rdi,%r8
1400d561c:	49 8b 43 40          	mov    0x40(%r11),%rax
1400d5620:	49 d1 f8             	sar    $1,%r8
1400d5623:	48 89 38             	mov    %rdi,(%rax)
1400d5626:	49 8b 43 58          	mov    0x58(%r11),%rax
1400d562a:	44 89 00             	mov    %r8d,(%rax)
1400d562d:	4d 89 0a             	mov    %r9,(%r10)
1400d5630:	eb 07                	jmp    0x1400d5639
1400d5632:	49 c7 02 ff ff ff ff 	movq   $0xffffffffffffffff,(%r10)
1400d5639:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
1400d563e:	33 c0                	xor    %eax,%eax
1400d5640:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
1400d5645:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
1400d564a:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
1400d564f:	49 c7 42 08 00 00 00 	movq   $0x0,0x8(%r10)
1400d5656:	00
1400d5657:	49 89 42 10          	mov    %rax,0x10(%r10)
1400d565b:	49 8b c2             	mov    %r10,%rax
1400d565e:	41 5e                	pop    %r14
1400d5660:	c3                   	ret
1400d5661:	cc                   	int3
1400d5662:	cc                   	int3
1400d5663:	cc                   	int3
1400d5664:	cc                   	int3
1400d5665:	cc                   	int3
1400d5666:	cc                   	int3
1400d5667:	cc                   	int3
1400d5668:	cc                   	int3
1400d5669:	cc                   	int3
1400d566a:	cc                   	int3
1400d566b:	cc                   	int3
1400d566c:	cc                   	int3
1400d566d:	cc                   	int3
1400d566e:	cc                   	int3
1400d566f:	cc                   	int3
1400d5670:	4c 8b 51 38          	mov    0x38(%rcx),%r10
1400d5674:	4d 8b 0a             	mov    (%r10),%r9
1400d5677:	4d 85 c9             	test   %r9,%r9
1400d567a:	74 58                	je     0x1400d56d4
1400d567c:	48 8b 51 50          	mov    0x50(%rcx),%rdx
1400d5680:	4c 63 02             	movslq (%rdx),%r8
1400d5683:	4b 8d 14 41          	lea    (%r9,%r8,2),%rdx
1400d5687:	4c 3b ca             	cmp    %rdx,%r9
1400d568a:	73 05                	jae    0x1400d5691
1400d568c:	41 0f b7 01          	movzwl (%r9),%eax
1400d5690:	c3                   	ret
1400d5691:	48 8b 41 40          	mov    0x40(%rcx),%rax
1400d5695:	4c 8b 00             	mov    (%rax),%r8
1400d5698:	4d 85 c0             	test   %r8,%r8
1400d569b:	74 37                	je     0x1400d56d4
1400d569d:	f6 41 70 04          	testb  $0x4,0x70(%rcx)
1400d56a1:	75 31                	jne    0x1400d56d4
1400d56a3:	48 8b 51 68          	mov    0x68(%rcx),%rdx
1400d56a7:	49 3b d0             	cmp    %r8,%rdx
1400d56aa:	49 0f 42 d0          	cmovb  %r8,%rdx
1400d56ae:	49 3b d1             	cmp    %r9,%rdx
1400d56b1:	76 21                	jbe    0x1400d56d4
1400d56b3:	48 89 51 68          	mov    %rdx,0x68(%rcx)
1400d56b7:	49 8b 02             	mov    (%r10),%rax
1400d56ba:	49 89 02             	mov    %rax,(%r10)
1400d56bd:	48 2b d0             	sub    %rax,%rdx
1400d56c0:	48 8b 41 50          	mov    0x50(%rcx),%rax
1400d56c4:	48 d1 fa             	sar    $1,%rdx
1400d56c7:	89 10                	mov    %edx,(%rax)
1400d56c9:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400d56cd:	48 8b 08             	mov    (%rax),%rcx
1400d56d0:	0f b7 01             	movzwl (%rcx),%eax
1400d56d3:	c3                   	ret
1400d56d4:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400d56d9:	c3                   	ret
1400d56da:	cc                   	int3
1400d56db:	cc                   	int3
1400d56dc:	cc                   	int3
1400d56dd:	cc                   	int3
1400d56de:	cc                   	int3
1400d56df:	cc                   	int3
1400d56e0:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400d56e4:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
1400d56ea:	4c 8b 00             	mov    (%rax),%r8
1400d56ed:	4d 85 c0             	test   %r8,%r8
1400d56f0:	74 48                	je     0x1400d573a
1400d56f2:	48 8b 41 18          	mov    0x18(%rcx),%rax
1400d56f6:	4c 3b 00             	cmp    (%rax),%r8
1400d56f9:	76 3f                	jbe    0x1400d573a
1400d56fb:	66 44 3b ca          	cmp    %dx,%r9w
1400d56ff:	74 0d                	je     0x1400d570e
1400d5701:	66 41 3b 50 fe       	cmp    -0x2(%r8),%dx
1400d5706:	74 06                	je     0x1400d570e
1400d5708:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
1400d570c:	75 2c                	jne    0x1400d573a
1400d570e:	48 8b 41 50          	mov    0x50(%rcx),%rax
1400d5712:	ff 00                	incl   (%rax)
1400d5714:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400d5718:	48 83 00 fe          	addq   $0xfffffffffffffffe,(%rax)
1400d571c:	66 44 3b ca          	cmp    %dx,%r9w
1400d5720:	74 0a                	je     0x1400d572c
1400d5722:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400d5726:	48 8b 08             	mov    (%rax),%rcx
1400d5729:	66 89 11             	mov    %dx,(%rcx)
1400d572c:	33 c0                	xor    %eax,%eax
1400d572e:	66 41 3b d1          	cmp    %r9w,%dx
1400d5732:	66 0f 44 d0          	cmove  %ax,%dx
1400d5736:	0f b7 c2             	movzwl %dx,%eax
1400d5739:	c3                   	ret
1400d573a:	41 0f b7 c1          	movzwl %r9w,%eax
1400d573e:	c3                   	ret
1400d573f:	cc                   	int3
1400d5740:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400d5745:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400d574a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400d574f:	57                   	push   %rdi
1400d5750:	41 54                	push   %r12
1400d5752:	41 57                	push   %r15
1400d5754:	48 83 ec 20          	sub    $0x20,%rsp
1400d5758:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
1400d575c:	0f b7 ea             	movzwl %dx,%ebp
1400d575f:	48 8b d9             	mov    %rcx,%rbx
1400d5762:	41 ba ff ff 00 00    	mov    $0xffff,%r10d
1400d5768:	0f 85 8a 00 00 00    	jne    0x1400d57f8
1400d576e:	66 44 3b d2          	cmp    %dx,%r10w
1400d5772:	75 09                	jne    0x1400d577d
1400d5774:	45 33 ff             	xor    %r15d,%r15d
1400d5777:	41 0f b7 c7          	movzwl %r15w,%eax
1400d577b:	eb 7f                	jmp    0x1400d57fc
1400d577d:	48 8b 41 40          	mov    0x40(%rcx),%rax
1400d5781:	48 8b 51 58          	mov    0x58(%rcx),%rdx
1400d5785:	4c 8b 00             	mov    (%rax),%r8
1400d5788:	4c 63 0a             	movslq (%rdx),%r9
1400d578b:	4b 8d 0c 48          	lea    (%r8,%r9,2),%rcx
1400d578f:	4d 85 c0             	test   %r8,%r8
1400d5792:	74 29                	je     0x1400d57bd
1400d5794:	4c 3b c1             	cmp    %rcx,%r8
1400d5797:	73 24                	jae    0x1400d57bd
1400d5799:	41 8d 41 ff          	lea    -0x1(%r9),%eax
1400d579d:	89 02                	mov    %eax,(%rdx)
1400d579f:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1400d57a3:	48 8b 11             	mov    (%rcx),%rdx
1400d57a6:	48 8d 42 02          	lea    0x2(%rdx),%rax
1400d57aa:	48 89 01             	mov    %rax,(%rcx)
1400d57ad:	49 8d 40 02          	lea    0x2(%r8),%rax
1400d57b1:	66 89 2a             	mov    %bp,(%rdx)
1400d57b4:	48 89 43 68          	mov    %rax,0x68(%rbx)
1400d57b8:	0f b7 c5             	movzwl %bp,%eax
1400d57bb:	eb 3f                	jmp    0x1400d57fc
1400d57bd:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400d57c1:	45 33 ff             	xor    %r15d,%r15d
1400d57c4:	41 8b ff             	mov    %r15d,%edi
1400d57c7:	48 8b 30             	mov    (%rax),%rsi
1400d57ca:	4d 85 c0             	test   %r8,%r8
1400d57cd:	74 46                	je     0x1400d5815
1400d57cf:	48 8b f9             	mov    %rcx,%rdi
1400d57d2:	48 2b fe             	sub    %rsi,%rdi
1400d57d5:	48 d1 ff             	sar    $1,%rdi
1400d57d8:	48 83 ff 20          	cmp    $0x20,%rdi
1400d57dc:	72 37                	jb     0x1400d5815
1400d57de:	48 81 ff ff ff ff 3f 	cmp    $0x3fffffff,%rdi
1400d57e5:	73 06                	jae    0x1400d57ed
1400d57e7:	4c 8d 24 3f          	lea    (%rdi,%rdi,1),%r12
1400d57eb:	eb 2e                	jmp    0x1400d581b
1400d57ed:	41 bc ff ff ff 7f    	mov    $0x7fffffff,%r12d
1400d57f3:	49 3b fc             	cmp    %r12,%rdi
1400d57f6:	72 23                	jb     0x1400d581b
1400d57f8:	41 0f b7 c2          	movzwl %r10w,%eax
1400d57fc:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400d5801:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1400d5806:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1400d580b:	48 83 c4 20          	add    $0x20,%rsp
1400d580f:	41 5f                	pop    %r15
1400d5811:	41 5c                	pop    %r12
1400d5813:	5f                   	pop    %rdi
1400d5814:	c3                   	ret
1400d5815:	41 bc 20 00 00 00    	mov    $0x20,%r12d
1400d581b:	48 8d 4b 74          	lea    0x74(%rbx),%rcx
1400d581f:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
1400d5824:	49 8b d4             	mov    %r12,%rdx
1400d5827:	e8 24 0e ff ff       	call   0x1400c6650
1400d582c:	48 03 ff             	add    %rdi,%rdi
1400d582f:	48 8b d6             	mov    %rsi,%rdx
1400d5832:	4c 8b c7             	mov    %rdi,%r8
1400d5835:	48 8b c8             	mov    %rax,%rcx
1400d5838:	4c 8b f0             	mov    %rax,%r14
1400d583b:	e8 80 2b 0b 00       	call   0x1401883c0
1400d5840:	4a 8d 14 37          	lea    (%rdi,%r14,1),%rdx
1400d5844:	48 8d 4a 02          	lea    0x2(%rdx),%rcx
1400d5848:	48 89 4b 68          	mov    %rcx,0x68(%rbx)
1400d584c:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1400d5850:	4c 89 31             	mov    %r14,(%rcx)
1400d5853:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1400d5857:	48 89 11             	mov    %rdx,(%rcx)
1400d585a:	4b 8d 0c 24          	lea    (%r12,%r12,1),%rcx
1400d585e:	48 8b 43 58          	mov    0x58(%rbx),%rax
1400d5862:	48 2b ca             	sub    %rdx,%rcx
1400d5865:	49 03 ce             	add    %r14,%rcx
1400d5868:	48 d1 f9             	sar    $1,%rcx
1400d586b:	89 08                	mov    %ecx,(%rax)
1400d586d:	f6 43 70 04          	testb  $0x4,0x70(%rbx)
1400d5871:	74 1a                	je     0x1400d588d
1400d5873:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400d5877:	4c 89 30             	mov    %r14,(%rax)
1400d587a:	48 8b 43 38          	mov    0x38(%rbx),%rax
1400d587e:	49 d1 fe             	sar    $1,%r14
1400d5881:	4c 89 38             	mov    %r15,(%rax)
1400d5884:	48 8b 43 50          	mov    0x50(%rbx),%rax
1400d5888:	44 89 30             	mov    %r14d,(%rax)
1400d588b:	eb 30                	jmp    0x1400d58bd
1400d588d:	48 8b 43 38          	mov    0x38(%rbx),%rax
1400d5891:	4c 8b 43 68          	mov    0x68(%rbx),%r8
1400d5895:	48 8b 08             	mov    (%rax),%rcx
1400d5898:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400d589c:	48 2b ce             	sub    %rsi,%rcx
1400d589f:	48 d1 f9             	sar    $1,%rcx
1400d58a2:	4c 89 30             	mov    %r14,(%rax)
1400d58a5:	48 8b 43 38          	mov    0x38(%rbx),%rax
1400d58a9:	49 8d 14 4e          	lea    (%r14,%rcx,2),%rdx
1400d58ad:	4c 2b c2             	sub    %rdx,%r8
1400d58b0:	49 d1 f8             	sar    $1,%r8
1400d58b3:	48 89 10             	mov    %rdx,(%rax)
1400d58b6:	48 8b 43 50          	mov    0x50(%rbx),%rax
1400d58ba:	44 89 00             	mov    %r8d,(%rax)
1400d58bd:	8b 43 70             	mov    0x70(%rbx),%eax
1400d58c0:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
1400d58c5:	a8 01                	test   $0x1,%al
1400d58c7:	74 2f                	je     0x1400d58f8
1400d58c9:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
1400d58d0:	72 18                	jb     0x1400d58ea
1400d58d2:	48 8b 4e f8          	mov    -0x8(%rsi),%rcx
1400d58d6:	48 83 c7 27          	add    $0x27,%rdi
1400d58da:	48 2b f1             	sub    %rcx,%rsi
1400d58dd:	48 8d 46 f8          	lea    -0x8(%rsi),%rax
1400d58e1:	48 83 f8 1f          	cmp    $0x1f,%rax
1400d58e5:	77 36                	ja     0x1400d591d
1400d58e7:	48 8b f1             	mov    %rcx,%rsi
1400d58ea:	48 8b d7             	mov    %rdi,%rdx
1400d58ed:	48 8b ce             	mov    %rsi,%rcx
1400d58f0:	e8 57 0d 0b 00       	call   0x14018664c
1400d58f5:	8b 43 70             	mov    0x70(%rbx),%eax
1400d58f8:	83 c8 01             	or     $0x1,%eax
1400d58fb:	89 43 70             	mov    %eax,0x70(%rbx)
1400d58fe:	48 8b 43 58          	mov    0x58(%rbx),%rax
1400d5902:	ff 08                	decl   (%rax)
1400d5904:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1400d5908:	48 8b 11             	mov    (%rcx),%rdx
1400d590b:	48 8d 42 02          	lea    0x2(%rdx),%rax
1400d590f:	48 89 01             	mov    %rax,(%rcx)
1400d5912:	0f b7 c5             	movzwl %bp,%eax
1400d5915:	66 89 2a             	mov    %bp,(%rdx)
1400d5918:	e9 df fe ff ff       	jmp    0x1400d57fc
1400d591d:	e8 62 5c 0b 00       	call   0x14018b584
1400d5922:	cc                   	int3
1400d5923:	cc                   	int3
1400d5924:	cc                   	int3
1400d5925:	cc                   	int3
1400d5926:	cc                   	int3
1400d5927:	cc                   	int3
1400d5928:	cc                   	int3
1400d5929:	cc                   	int3
1400d592a:	cc                   	int3
1400d592b:	cc                   	int3
1400d592c:	cc                   	int3
1400d592d:	cc                   	int3
1400d592e:	cc                   	int3
1400d592f:	cc                   	int3
1400d5930:	40 53                	rex push %rbx
1400d5932:	48 83 ec 20          	sub    $0x20,%rsp
1400d5936:	f6 41 70 01          	testb  $0x1,0x70(%rcx)
1400d593a:	48 8d 05 a7 51 16 00 	lea    0x1651a7(%rip),%rax        # 0x14023aae8
1400d5941:	48 89 01             	mov    %rax,(%rcx)
1400d5944:	48 8b d9             	mov    %rcx,%rbx
1400d5947:	74 65                	je     0x1400d59ae
1400d5949:	48 8b 41 40          	mov    0x40(%rcx),%rax
1400d594d:	48 8b 10             	mov    (%rax),%rdx
1400d5950:	48 85 d2             	test   %rdx,%rdx
1400d5953:	74 0d                	je     0x1400d5962
1400d5955:	48 8b 41 58          	mov    0x58(%rcx),%rax
1400d5959:	48 63 08             	movslq (%rax),%rcx
1400d595c:	48 8d 14 4a          	lea    (%rdx,%rcx,2),%rdx
1400d5960:	eb 12                	jmp    0x1400d5974
1400d5962:	48 8b 41 50          	mov    0x50(%rcx),%rax
1400d5966:	48 63 10             	movslq (%rax),%rdx
1400d5969:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400d596d:	48 8b 08             	mov    (%rax),%rcx
1400d5970:	48 8d 14 51          	lea    (%rcx,%rdx,2),%rdx
1400d5974:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400d5978:	48 8b 08             	mov    (%rax),%rcx
1400d597b:	48 2b d1             	sub    %rcx,%rdx
1400d597e:	48 d1 fa             	sar    $1,%rdx
1400d5981:	48 03 d2             	add    %rdx,%rdx