1400a5664:	8a 4f 5c             	mov    0x5c(%rdi),%cl
1400a5667:	88 48 ff             	mov    %cl,-0x1(%rax)
1400a566a:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1400a566f:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400a5674:	48 39 d8             	cmp    %rbx,%rax
1400a5677:	76 4c                	jbe    0x1400a56c5
1400a5679:	48 8b 57 40          	mov    0x40(%rdi),%rdx
1400a567d:	48 8d 48 ff          	lea    -0x1(%rax),%rcx
1400a5681:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
1400a5686:	0f be 48 ff          	movsbl -0x1(%rax),%ecx
1400a568a:	e8 b5 22 fe ff       	call   0x140087944
1400a568f:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a5692:	75 db                	jne    0x1400a566f
1400a5694:	66 be ff ff          	mov    $0xffff,%si
1400a5698:	eb 33                	jmp    0x1400a56cd
1400a569a:	66 be ff ff          	mov    $0xffff,%si
1400a569e:	80 7f 5e 00          	cmpb   $0x0,0x5e(%rdi)
1400a56a2:	75 29                	jne    0x1400a56cd
1400a56a4:	0f b7 77 5c          	movzwl 0x5c(%rdi),%esi
1400a56a8:	66 83 fe ff          	cmp    $0xffff,%si
1400a56ac:	0f 95 47 5e          	setne  0x5e(%rdi)
1400a56b0:	eb 1b                	jmp    0x1400a56cd
1400a56b2:	48 8b 57 40          	mov    0x40(%rdi),%rdx
1400a56b6:	0f b7 4f 5c          	movzwl 0x5c(%rdi),%ecx
1400a56ba:	e8 fd 23 fe ff       	call   0x140087abc
1400a56bf:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a56c3:	74 cf                	je     0x1400a5694
1400a56c5:	66 89 77 5c          	mov    %si,0x5c(%rdi)
1400a56c9:	c6 47 5e 01          	movb   $0x1,0x5e(%rdi)
1400a56cd:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
1400a56d2:	48 31 e1             	xor    %rsp,%rcx
1400a56d5:	48 3b 0d 64 b9 05 00 	cmp    0x5b964(%rip),%rcx        # 0x140101040
1400a56dc:	74 06                	je     0x1400a56e4
1400a56de:	e8 ed 9b fc ff       	call   0x14006f2d0
1400a56e3:	cc                   	int3
1400a56e4:	89 f0                	mov    %esi,%eax
1400a56e6:	48 83 c4 70          	add    $0x70,%rsp
1400a56ea:	5b                   	pop    %rbx
1400a56eb:	5f                   	pop    %rdi
1400a56ec:	5e                   	pop    %rsi
1400a56ed:	c3                   	ret
1400a56ee:	cc                   	int3
1400a56ef:	cc                   	int3
1400a56f0:	41 57                	push   %r15
1400a56f2:	41 56                	push   %r14
1400a56f4:	41 55                	push   %r13
1400a56f6:	41 54                	push   %r12
1400a56f8:	56                   	push   %rsi
1400a56f9:	57                   	push   %rdi
1400a56fa:	55                   	push   %rbp
1400a56fb:	53                   	push   %rbx
1400a56fc:	48 83 ec 68          	sub    $0x68,%rsp
1400a5700:	89 d3                	mov    %edx,%ebx
1400a5702:	48 89 ce             	mov    %rcx,%rsi
1400a5705:	48 8b 05 34 b9 05 00 	mov    0x5b934(%rip),%rax        # 0x140101040
1400a570c:	48 31 e0             	xor    %rsp,%rax
1400a570f:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1400a5714:	80 79 5e 01          	cmpb   $0x1,0x5e(%rcx)
1400a5718:	74 3a                	je     0x1400a5754
1400a571a:	80 7e 5f 01          	cmpb   $0x1,0x5f(%rsi)
1400a571e:	75 76                	jne    0x1400a5796
1400a5720:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a5724:	e8 a3 0d fe ff       	call   0x1400864cc
1400a5729:	66 bf ff ff          	mov    $0xffff,%di
1400a572d:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a5731:	74 33                	je     0x1400a5766
1400a5733:	89 c5                	mov    %eax,%ebp
1400a5735:	84 db                	test   %bl,%bl
1400a5737:	75 13                	jne    0x1400a574c
1400a5739:	48 8b 56 40          	mov    0x40(%rsi),%rdx
1400a573d:	89 e9                	mov    %ebp,%ecx
1400a573f:	e8 78 23 fe ff       	call   0x140087abc
1400a5744:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a5748:	75 06                	jne    0x1400a5750
1400a574a:	eb 1a                	jmp    0x1400a5766
1400a574c:	66 89 6e 5c          	mov    %bp,0x5c(%rsi)
1400a5750:	89 ef                	mov    %ebp,%edi
1400a5752:	eb 12                	jmp    0x1400a5766
1400a5754:	0f b7 7e 5c          	movzwl 0x5c(%rsi),%edi
1400a5758:	84 db                	test   %bl,%bl
1400a575a:	74 0a                	je     0x1400a5766
1400a575c:	66 c7 46 5c ff ff    	movw   $0xffff,0x5c(%rsi)
1400a5762:	c6 46 5e 00          	movb   $0x0,0x5e(%rsi)
1400a5766:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400a576b:	48 31 e1             	xor    %rsp,%rcx
1400a576e:	48 3b 0d cb b8 05 00 	cmp    0x5b8cb(%rip),%rcx        # 0x140101040
1400a5775:	74 06                	je     0x1400a577d
1400a5777:	e8 54 9b fc ff       	call   0x14006f2d0
1400a577c:	cc                   	int3
1400a577d:	89 f8                	mov    %edi,%eax
1400a577f:	48 83 c4 68          	add    $0x68,%rsp
1400a5783:	5b                   	pop    %rbx
1400a5784:	5d                   	pop    %rbp
1400a5785:	5f                   	pop    %rdi
1400a5786:	5e                   	pop    %rsi
1400a5787:	41 5c                	pop    %r12
1400a5789:	41 5d                	pop    %r13
1400a578b:	41 5e                	pop    %r14
1400a578d:	41 5f                	pop    %r15
1400a578f:	c3                   	ret
1400a5790:	66 bf ff ff          	mov    $0xffff,%di
1400a5794:	eb d0                	jmp    0x1400a5766
1400a5796:	48 bf aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%rdi
1400a579d:	aa aa aa
1400a57a0:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
1400a57a5:	8b 46 58             	mov    0x58(%rsi),%eax
1400a57a8:	83 f8 02             	cmp    $0x2,%eax
1400a57ab:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1400a57b1:	44 0f 4d f8          	cmovge %eax,%r15d
1400a57b5:	45 31 f6             	xor    %r14d,%r14d
1400a57b8:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a57bc:	e8 5f 0c fe ff       	call   0x140086420
1400a57c1:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a57c4:	74 ca                	je     0x1400a5790
1400a57c6:	42 88 44 34 58       	mov    %al,0x58(%rsp,%r14,1)
1400a57cb:	49 ff c6             	inc    %r14
1400a57ce:	4d 39 f7             	cmp    %r14,%r15
1400a57d1:	75 e5                	jne    0x1400a57b8
1400a57d3:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
1400a57d8:	66 c7 40 fe aa aa    	movw   $0xaaaa,-0x2(%rax)
1400a57de:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
1400a57e3:	48 89 38             	mov    %rdi,(%rax)
1400a57e6:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
1400a57eb:	48 89 7d 00          	mov    %rdi,0x0(%rbp)
1400a57ef:	66 bf ff ff          	mov    $0xffff,%di
1400a57f3:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
1400a57f7:	48 8b 56 50          	mov    0x50(%rsi),%rdx
1400a57fb:	44 8b 32             	mov    (%rdx),%r14d
1400a57fe:	44 0f b7 62 04       	movzwl 0x4(%rdx),%r12d
1400a5803:	44 0f b7 6a 06       	movzwl 0x6(%rdx),%r13d
1400a5808:	4e 8d 4c 3c 58       	lea    0x58(%rsp,%r15,1),%r9
1400a580d:	48 8b 01             	mov    (%rcx),%rax
1400a5810:	48 8b 40 18          	mov    0x18(%rax),%rax
1400a5814:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
1400a5819:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
1400a581e:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1400a5823:	4c 8d 44 24 56       	lea    0x56(%rsp),%r8
1400a5828:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
1400a582d:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
1400a5832:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400a5837:	4c 8d 44 24 58       	lea    0x58(%rsp),%r8
1400a583c:	ff 15 c6 14 05 00    	call   *0x514c6(%rip)        # 0x1400f6d08
1400a5842:	83 f8 01             	cmp    $0x1,%eax
1400a5845:	75 3a                	jne    0x1400a5881
1400a5847:	48 8b 46 50          	mov    0x50(%rsi),%rax
1400a584b:	44 89 30             	mov    %r14d,(%rax)
1400a584e:	66 44 89 60 04       	mov    %r12w,0x4(%rax)
1400a5853:	66 44 89 68 06       	mov    %r13w,0x6(%rax)
1400a5858:	49 83 ff 08          	cmp    $0x8,%r15
1400a585c:	0f 84 04 ff ff ff    	je     0x1400a5766
1400a5862:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1400a5866:	e8 b5 0b fe ff       	call   0x140086420
1400a586b:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a586e:	0f 84 f2 fe ff ff    	je     0x1400a5766
1400a5874:	42 88 44 3c 58       	mov    %al,0x58(%rsp,%r15,1)
1400a5879:	49 ff c7             	inc    %r15
1400a587c:	e9 72 ff ff ff       	jmp    0x1400a57f3
1400a5881:	83 f8 02             	cmp    $0x2,%eax
1400a5884:	0f 84 dc fe ff ff    	je     0x1400a5766
1400a588a:	83 f8 03             	cmp    $0x3,%eax
1400a588d:	75 0a                	jne    0x1400a5899
1400a588f:	0f be 44 24 58       	movsbl 0x58(%rsp),%eax
1400a5894:	66 89 44 24 56       	mov    %ax,0x56(%rsp)
1400a5899:	84 db                	test   %bl,%bl
1400a589b:	74 18                	je     0x1400a58b5
1400a589d:	0f b7 7c 24 56       	movzwl 0x56(%rsp),%edi
1400a58a2:	66 89 7e 5c          	mov    %di,0x5c(%rsi)
1400a58a6:	e9 bb fe ff ff       	jmp    0x1400a5766
1400a58ab:	0f b7 7c 24 56       	movzwl 0x56(%rsp),%edi
1400a58b0:	e9 b1 fe ff ff       	jmp    0x1400a5766
1400a58b5:	44 89 fb             	mov    %r15d,%ebx
1400a58b8:	48 85 db             	test   %rbx,%rbx
1400a58bb:	7e ee                	jle    0x1400a58ab
1400a58bd:	48 8b 56 40          	mov    0x40(%rsi),%rdx
1400a58c1:	0f be 44 1c 57       	movsbl 0x57(%rsp,%rbx,1),%eax
1400a58c6:	48 ff cb             	dec    %rbx
1400a58c9:	0f b7 c8             	movzwl %ax,%ecx
1400a58cc:	e8 73 20 fe ff       	call   0x140087944
1400a58d1:	83 f8 ff             	cmp    $0xffffffff,%eax
1400a58d4:	75 e2                	jne    0x1400a58b8
1400a58d6:	e9 8b fe ff ff       	jmp    0x1400a5766
1400a58db:	cc                   	int3
1400a58dc:	cc                   	int3
1400a58dd:	cc                   	int3
1400a58de:	cc                   	int3
1400a58df:	cc                   	int3
1400a58e0:	56                   	push   %rsi
1400a58e1:	57                   	push   %rdi
1400a58e2:	48 83 ec 28          	sub    $0x28,%rsp
1400a58e6:	48 89 d6             	mov    %rdx,%rsi
1400a58e9:	48 89 cf             	mov    %rcx,%rdi
1400a58ec:	48 8b 01             	mov    (%rcx),%rax
1400a58ef:	48 8b 40 28          	mov    0x28(%rax),%rax
1400a58f3:	ff 15 0f 14 05 00    	call   *0x5140f(%rip)        # 0x1400f6d08
1400a58f9:	48 8d 15 78 c1 06 00 	lea    0x6c178(%rip),%rdx        # 0x140111a78
1400a5900:	48 89 f1             	mov    %rsi,%rcx
1400a5903:	e8 c8 59 fb ff       	call   0x14005b2d0
1400a5908:	48 89 47 48          	mov    %rax,0x48(%rdi)
1400a590c:	48 8b 08             	mov    (%rax),%rcx
1400a590f:	48 8b 51 30          	mov    0x30(%rcx),%rdx
1400a5913:	48 89 c1             	mov    %rax,%rcx
1400a5916:	48 89 d0             	mov    %rdx,%rax
1400a5919:	ff 15 e9 13 05 00    	call   *0x513e9(%rip)        # 0x1400f6d08
1400a591f:	88 47 58             	mov    %al,0x58(%rdi)
1400a5922:	48 83 c4 28          	add    $0x28,%rsp
1400a5926:	5f                   	pop    %rdi
1400a5927:	5e                   	pop    %rsi
1400a5928:	c3                   	ret
1400a5929:	cc                   	int3
1400a592a:	cc                   	int3
1400a592b:	cc                   	int3
1400a592c:	cc                   	int3
1400a592d:	cc                   	int3
1400a592e:	cc                   	int3
1400a592f:	cc                   	int3
1400a5930:	41 56                	push   %r14
1400a5932:	56                   	push   %rsi
1400a5933:	57                   	push   %rdi
1400a5934:	53                   	push   %rbx
1400a5935:	48 83 ec 28          	sub    $0x28,%rsp
1400a5939:	4d 85 c0             	test   %r8,%r8
1400a593c:	7e 32                	jle    0x1400a5970
1400a593e:	4c 89 c7             	mov    %r8,%rdi
1400a5941:	48 89 d3             	mov    %rdx,%rbx
1400a5944:	49 89 ce             	mov    %rcx,%r14
1400a5947:	31 f6                	xor    %esi,%esi
1400a5949:	0f b7 14 73          	movzwl (%rbx,%rsi,2),%edx
1400a594d:	49 8b 06             	mov    (%r14),%rax
1400a5950:	48 8b 40 60          	mov    0x60(%rax),%rax
1400a5954:	4c 89 f1             	mov    %r14,%rcx
1400a5957:	ff 15 ab 13 05 00    	call   *0x513ab(%rip)        # 0x1400f6d08
1400a595d:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a5961:	74 0f                	je     0x1400a5972
1400a5963:	48 ff c6             	inc    %rsi
1400a5966:	48 39 f7             	cmp    %rsi,%rdi
1400a5969:	75 de                	jne    0x1400a5949
1400a596b:	48 89 fe             	mov    %rdi,%rsi
1400a596e:	eb 02                	jmp    0x1400a5972
1400a5970:	31 f6                	xor    %esi,%esi
1400a5972:	48 89 f0             	mov    %rsi,%rax
1400a5975:	48 83 c4 28          	add    $0x28,%rsp
1400a5979:	5b                   	pop    %rbx
1400a597a:	5f                   	pop    %rdi
1400a597b:	5e                   	pop    %rsi
1400a597c:	41 5e                	pop    %r14
1400a597e:	c3                   	ret
1400a597f:	cc                   	int3
1400a5980:	41 57                	push   %r15
1400a5982:	41 56                	push   %r14
1400a5984:	41 55                	push   %r13
1400a5986:	41 54                	push   %r12
1400a5988:	56                   	push   %rsi
1400a5989:	57                   	push   %rdi
1400a598a:	55                   	push   %rbp
1400a598b:	53                   	push   %rbx
1400a598c:	48 83 ec 68          	sub    $0x68,%rsp
1400a5990:	48 8b 05 a9 b6 05 00 	mov    0x5b6a9(%rip),%rax        # 0x140101040
1400a5997:	48 31 e0             	xor    %rsp,%rax
1400a599a:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1400a599f:	49 bc aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%r12
1400a59a6:	aa aa aa
1400a59a9:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
1400a59ae:	66 83 fa ff          	cmp    $0xffff,%dx
1400a59b2:	74 2b                	je     0x1400a59df
1400a59b4:	89 d6                	mov    %edx,%esi
1400a59b6:	48 89 cf             	mov    %rcx,%rdi
1400a59b9:	66 89 54 24 56       	mov    %dx,0x56(%rsp)
1400a59be:	80 79 58 01          	cmpb   $0x1,0x58(%rcx)
1400a59c2:	75 6a                	jne    0x1400a5a2e
1400a59c4:	48 8b 57 40          	mov    0x40(%rdi),%rdx
1400a59c8:	89 f1                	mov    %esi,%ecx
1400a59ca:	e8 c5 f6 fd ff       	call   0x140085094
1400a59cf:	66 83 f8 ff          	cmp    $0xffff,%ax
1400a59d3:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400a59d8:	0f 45 c6             	cmovne %esi,%eax
1400a59db:	89 c6                	mov    %eax,%esi
1400a59dd:	eb 02                	jmp    0x1400a59e1
1400a59df:	31 f6                	xor    %esi,%esi
1400a59e1:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400a59e6:	48 31 e1             	xor    %rsp,%rcx
1400a59e9:	48 3b 0d 50 b6 05 00 	cmp    0x5b650(%rip),%rcx        # 0x140101040
1400a59f0:	74 06                	je     0x1400a59f8
1400a59f2:	e8 d9 98 fc ff       	call   0x14006f2d0
1400a59f7:	cc                   	int3
1400a59f8:	89 f0                	mov    %esi,%eax
1400a59fa:	48 83 c4 68          	add    $0x68,%rsp
1400a59fe:	5b                   	pop    %rbx
1400a59ff:	5d                   	pop    %rbp
1400a5a00:	5f                   	pop    %rdi
1400a5a01:	5e                   	pop    %rsi
1400a5a02:	41 5c                	pop    %r12
1400a5a04:	41 5d                	pop    %r13
1400a5a06:	41 5e                	pop    %r14
1400a5a08:	41 5f                	pop    %r15
1400a5a0a:	c3                   	ret
1400a5a0b:	4c 8b 4f 40          	mov    0x40(%rdi),%r9
1400a5a0f:	ba 01 00 00 00       	mov    $0x1,%edx
1400a5a14:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400a5a1a:	4c 89 f9             	mov    %r15,%rcx
1400a5a1d:	e8 d6 04 fe ff       	call   0x140085ef8
1400a5a22:	48 83 f8 01          	cmp    $0x1,%rax
1400a5a26:	74 b9                	je     0x1400a59e1
1400a5a28:	66 be ff ff          	mov    $0xffff,%si
1400a5a2c:	eb b3                	jmp    0x1400a59e1
1400a5a2e:	48 8d 5c 24 58       	lea    0x58(%rsp),%rbx
1400a5a33:	4c 8d 6c 24 48       	lea    0x48(%rsp),%r13
1400a5a38:	49 89 5d 00          	mov    %rbx,0x0(%r13)
1400a5a3c:	4c 8d 7c 24 56       	lea    0x56(%rsp),%r15
1400a5a41:	4c 8d 74 24 40       	lea    0x40(%rsp),%r14
1400a5a46:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
1400a5a4b:	48 8b 4f 48          	mov    0x48(%rdi),%rcx
1400a5a4f:	48 8b 57 50          	mov    0x50(%rdi),%rdx
1400a5a53:	48 8b 01             	mov    (%rcx),%rax
1400a5a56:	48 8b 40 10          	mov    0x10(%rax),%rax
1400a5a5a:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1400a5a5f:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1400a5a64:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1400a5a69:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1400a5a6e:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1400a5a73:	4d 89 f8             	mov    %r15,%r8
1400a5a76:	4c 8d 4c 24 58       	lea    0x58(%rsp),%r9
1400a5a7b:	ff 15 87 12 05 00    	call   *0x51287(%rip)        # 0x1400f6d08
1400a5a81:	4c 39 7c 24 40       	cmp    %r15,0x40(%rsp)
1400a5a86:	74 a0                	je     0x1400a5a28
1400a5a88:	89 c5                	mov    %eax,%ebp
1400a5a8a:	83 f8 03             	cmp    $0x3,%eax
1400a5a8d:	0f 84 78 ff ff ff    	je     0x1400a5a0b
1400a5a93:	83 fd 01             	cmp    $0x1,%ebp
1400a5a96:	77 90                	ja     0x1400a5a28
1400a5a98:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
1400a5a9d:	49 29 df             	sub    %rbx,%r15
1400a5aa0:	4c 8b 4f 40          	mov    0x40(%rdi),%r9
1400a5aa4:	ba 01 00 00 00       	mov    $0x1,%edx
1400a5aa9:	48 89 d9             	mov    %rbx,%rcx
1400a5aac:	4d 89 f8             	mov    %r15,%r8
1400a5aaf:	e8 44 04 fe ff       	call   0x140085ef8
1400a5ab4:	4c 39 f8             	cmp    %r15,%rax
1400a5ab7:	0f 85 6b ff ff ff    	jne    0x1400a5a28
1400a5abd:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
1400a5ac2:	83 fd 01             	cmp    $0x1,%ebp
1400a5ac5:	0f 84 7b ff ff ff    	je     0x1400a5a46
1400a5acb:	e9 11 ff ff ff       	jmp    0x1400a59e1
1400a5ad0:	53                   	push   %rbx
1400a5ad1:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400a5ad6:	49 39 c9             	cmp    %rcx,%r9
1400a5ad9:	74 2e                	je     0x1400a5b09
1400a5adb:	49 89 ca             	mov    %rcx,%r10
1400a5ade:	4d 29 ca             	sub    %r9,%r10
1400a5ae1:	49 01 d2             	add    %rdx,%r10
1400a5ae4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax