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
1400d5984:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400d598b:	72 1c                	jb     0x1400d59a9
1400d598d:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1400d5991:	48 83 c2 27          	add    $0x27,%rdx
1400d5995:	49 2b c8             	sub    %r8,%rcx
1400d5998:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400d599c:	48 83 f8 1f          	cmp    $0x1f,%rax
1400d59a0:	0f 87 87 00 00 00    	ja     0x1400d5a2d
1400d59a6:	49 8b c8             	mov    %r8,%rcx
1400d59a9:	e8 9e 0c 0b 00       	call   0x14018664c
1400d59ae:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400d59b2:	33 c9                	xor    %ecx,%ecx
1400d59b4:	48 89 08             	mov    %rcx,(%rax)
1400d59b7:	48 8b 43 38          	mov    0x38(%rbx),%rax
1400d59bb:	48 89 08             	mov    %rcx,(%rax)
1400d59be:	48 8b 43 50          	mov    0x50(%rbx),%rax
1400d59c2:	89 08                	mov    %ecx,(%rax)
1400d59c4:	48 8b 43 20          	mov    0x20(%rbx),%rax
1400d59c8:	48 89 08             	mov    %rcx,(%rax)
1400d59cb:	48 8b 43 40          	mov    0x40(%rbx),%rax
1400d59cf:	48 89 08             	mov    %rcx,(%rax)
1400d59d2:	48 8b 43 58          	mov    0x58(%rbx),%rax
1400d59d6:	89 08                	mov    %ecx,(%rax)
1400d59d8:	48 8d 05 89 51 16 00 	lea    0x165189(%rip),%rax        # 0x14023ab68
1400d59df:	83 63 70 fe          	andl   $0xfffffffe,0x70(%rbx)
1400d59e3:	48 89 03             	mov    %rax,(%rbx)
1400d59e6:	48 89 4b 68          	mov    %rcx,0x68(%rbx)
1400d59ea:	48 8b 5b 60          	mov    0x60(%rbx),%rbx
1400d59ee:	48 85 db             	test   %rbx,%rbx
1400d59f1:	74 34                	je     0x1400d5a27
1400d59f3:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400d59f7:	48 85 c9             	test   %rcx,%rcx
1400d59fa:	74 19                	je     0x1400d5a15
1400d59fc:	48 8b 01             	mov    (%rcx),%rax
1400d59ff:	ff 50 10             	call   *0x10(%rax)
1400d5a02:	48 85 c0             	test   %rax,%rax
1400d5a05:	74 0e                	je     0x1400d5a15
1400d5a07:	4c 8b 00             	mov    (%rax),%r8
1400d5a0a:	ba 01 00 00 00       	mov    $0x1,%edx
1400d5a0f:	48 8b c8             	mov    %rax,%rcx
1400d5a12:	41 ff 10             	call   *(%r8)
1400d5a15:	ba 10 00 00 00       	mov    $0x10,%edx
1400d5a1a:	48 8b cb             	mov    %rbx,%rcx
1400d5a1d:	48 83 c4 20          	add    $0x20,%rsp
1400d5a21:	5b                   	pop    %rbx
1400d5a22:	e9 25 0c 0b 00       	jmp    0x14018664c
1400d5a27:	48 83 c4 20          	add    $0x20,%rsp
1400d5a2b:	5b                   	pop    %rbx
1400d5a2c:	c3                   	ret
1400d5a2d:	e8 52 5b 0b 00       	call   0x14018b584
1400d5a32:	cc                   	int3
1400d5a33:	cc                   	int3
1400d5a34:	cc                   	int3
1400d5a35:	cc                   	int3
1400d5a36:	cc                   	int3
1400d5a37:	cc                   	int3
1400d5a38:	cc                   	int3
1400d5a39:	cc                   	int3
1400d5a3a:	cc                   	int3
1400d5a3b:	cc                   	int3
1400d5a3c:	cc                   	int3
1400d5a3d:	cc                   	int3
1400d5a3e:	cc                   	int3
1400d5a3f:	cc                   	int3
1400d5a40:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400d5a45:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400d5a4a:	89 54 24 10          	mov    %edx,0x10(%rsp)
1400d5a4e:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1400d5a53:	57                   	push   %rdi
1400d5a54:	48 83 ec 20          	sub    $0x20,%rsp
1400d5a58:	48 8b f9             	mov    %rcx,%rdi
1400d5a5b:	33 f6                	xor    %esi,%esi
1400d5a5d:	89 74 24 38          	mov    %esi,0x38(%rsp)
1400d5a61:	48 8d 05 98 41 16 00 	lea    0x164198(%rip),%rax        # 0x140239c00
1400d5a68:	48 89 01             	mov    %rax,(%rcx)
1400d5a6b:	48 8d 05 a6 3f 16 00 	lea    0x163fa6(%rip),%rax        # 0x140239a18
1400d5a72:	48 89 41 10          	mov    %rax,0x10(%rcx)
1400d5a76:	48 89 b1 a0 00 00 00 	mov    %rsi,0xa0(%rcx)
1400d5a7d:	48 89 b1 c8 00 00 00 	mov    %rsi,0xc8(%rcx)
1400d5a84:	48 89 b1 d0 00 00 00 	mov    %rsi,0xd0(%rcx)
1400d5a8b:	48 89 b1 d8 00 00 00 	mov    %rsi,0xd8(%rcx)
1400d5a92:	48 8d 05 a7 51 16 00 	lea    0x1651a7(%rip),%rax        # 0x14023ac40
1400d5a99:	48 89 81 98 00 00 00 	mov    %rax,0x98(%rcx)
1400d5aa0:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1400d5aa7:	00
1400d5aa8:	48 8d 51 18          	lea    0x18(%rcx),%rdx
1400d5aac:	e8 8f 1f 00 00       	call   0x1400d7a40
1400d5ab1:	90                   	nop
1400d5ab2:	48 8b 07             	mov    (%rdi),%rax
1400d5ab5:	48 63 48 04          	movslq 0x4(%rax),%rcx
1400d5ab9:	48 8d 05 28 51 16 00 	lea    0x165128(%rip),%rax        # 0x14023abe8
1400d5ac0:	48 89 04 39          	mov    %rax,(%rcx,%rdi,1)
1400d5ac4:	48 8b 07             	mov    (%rdi),%rax
1400d5ac7:	48 63 48 04          	movslq 0x4(%rax),%rcx
1400d5acb:	8d 91 68 ff ff ff    	lea    -0x98(%rcx),%edx
1400d5ad1:	89 54 39 fc          	mov    %edx,-0x4(%rcx,%rdi,1)
1400d5ad5:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
1400d5ad9:	e8 32 2e 00 00       	call   0x1400d8910
1400d5ade:	48 8d 05 03 50 16 00 	lea    0x165003(%rip),%rax        # 0x14023aae8
1400d5ae5:	48 89 47 18          	mov    %rax,0x18(%rdi)
1400d5ae9:	48 89 b7 80 00 00 00 	mov    %rsi,0x80(%rdi)
1400d5af0:	89 b7 88 00 00 00    	mov    %esi,0x88(%rdi)
1400d5af6:	48 8b c7             	mov    %rdi,%rax
1400d5af9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400d5afe:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400d5b03:	48 83 c4 20          	add    $0x20,%rsp
1400d5b07:	5f                   	pop    %rdi
1400d5b08:	c3                   	ret
1400d5b09:	cc                   	int3
1400d5b0a:	cc                   	int3
1400d5b0b:	cc                   	int3
1400d5b0c:	cc                   	int3
1400d5b0d:	cc                   	int3
1400d5b0e:	cc                   	int3
1400d5b0f:	cc                   	int3
1400d5b10:	b8 09 00 00 00       	mov    $0x9,%eax
1400d5b15:	c3                   	ret
1400d5b16:	cc                   	int3
1400d5b17:	cc                   	int3
1400d5b18:	cc                   	int3
1400d5b19:	cc                   	int3
1400d5b1a:	cc                   	int3
1400d5b1b:	cc                   	int3
1400d5b1c:	cc                   	int3
1400d5b1d:	cc                   	int3
1400d5b1e:	cc                   	int3
1400d5b1f:	cc                   	int3
1400d5b20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400d5b25:	55                   	push   %rbp
1400d5b26:	56                   	push   %rsi
1400d5b27:	57                   	push   %rdi
1400d5b28:	41 56                	push   %r14
1400d5b2a:	41 57                	push   %r15
1400d5b2c:	48 83 ec 40          	sub    $0x40,%rsp
1400d5b30:	49 8b f1             	mov    %r9,%rsi
1400d5b33:	4d 8b f8             	mov    %r8,%r15
1400d5b36:	48 8b ea             	mov    %rdx,%rbp
1400d5b39:	4c 8b f1             	mov    %rcx,%r14
1400d5b3c:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1400d5b43:	00
1400d5b44:	49 8b d8             	mov    %r8,%rbx
1400d5b47:	48 85 ff             	test   %rdi,%rdi
1400d5b4a:	0f 84 88 00 00 00    	je     0x1400d5bd8
1400d5b50:	48 3b de             	cmp    %rsi,%rbx
1400d5b53:	0f 84 7f 00 00 00    	je     0x1400d5bd8
1400d5b59:	48 8d 84 24 80 00 00 	lea    0x80(%rsp),%rax
1400d5b60:	00
1400d5b61:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1400d5b66:	48 8d 84 24 92 00 00 	lea    0x92(%rsp),%rax
1400d5b6d:	00
1400d5b6e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400d5b73:	48 8d 84 24 90 00 00 	lea    0x90(%rsp),%rax
1400d5b7a:	00
1400d5b7b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400d5b80:	48 8d 84 24 88 00 00 	lea    0x88(%rsp),%rax
1400d5b87:	00
1400d5b88:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400d5b8d:	4c 8b ce             	mov    %rsi,%r9
1400d5b90:	4c 8b c3             	mov    %rbx,%r8
1400d5b93:	48 8b d5             	mov    %rbp,%rdx
1400d5b96:	49 8b ce             	mov    %r14,%rcx
1400d5b99:	e8 92 01 00 00       	call   0x1400d5d30
1400d5b9e:	85 c0                	test   %eax,%eax
1400d5ba0:	75 24                	jne    0x1400d5bc6
1400d5ba2:	48 8d 84 24 92 00 00 	lea    0x92(%rsp),%rax
1400d5ba9:	00
1400d5baa:	48 39 84 24 80 00 00 	cmp    %rax,0x80(%rsp)
1400d5bb1:	00
1400d5bb2:	75 03                	jne    0x1400d5bb7
1400d5bb4:	48 ff cf             	dec    %rdi
1400d5bb7:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
1400d5bbe:	00
1400d5bbf:	48 85 ff             	test   %rdi,%rdi
1400d5bc2:	75 8c                	jne    0x1400d5b50
1400d5bc4:	eb 12                	jmp    0x1400d5bd8