14003772a:	48 8b c3             	mov    %rbx,%rax
14003772d:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140037731:	4d 2b c6             	sub    %r14,%r8
140037734:	74 10                	je     0x140037746
140037736:	4a 8d 14 31          	lea    (%rcx,%r14,1),%rdx
14003773a:	4a 8d 0c 30          	lea    (%rax,%r14,1),%rcx
14003773e:	48 03 ce             	add    %rsi,%rcx
140037741:	e8 ca 30 00 00       	call   0x14003a810
140037746:	48 83 7b 18 10       	cmpq   $0x10,0x18(%rbx)
14003774b:	72 05                	jb     0x140037752
14003774d:	48 8b 03             	mov    (%rbx),%rax
140037750:	eb 03                	jmp    0x140037755
140037752:	48 8b c3             	mov    %rbx,%rax
140037755:	48 85 f6             	test   %rsi,%rsi
140037758:	74 0f                	je     0x140037769
14003775a:	4a 8d 0c 30          	lea    (%rax,%r14,1),%rcx
14003775e:	4c 8b c6             	mov    %rsi,%r8
140037761:	48 8b d5             	mov    %rbp,%rdx
140037764:	e8 a7 30 00 00       	call   0x14003a810
140037769:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
14003776d:	48 83 7b 18 10       	cmpq   $0x10,0x18(%rbx)
140037772:	72 05                	jb     0x140037779
140037774:	48 8b 03             	mov    (%rbx),%rax
140037777:	eb 03                	jmp    0x14003777c
140037779:	48 8b c3             	mov    %rbx,%rax
14003777c:	c6 04 38 00          	movb   $0x0,(%rax,%rdi,1)
140037780:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140037785:	48 8b c3             	mov    %rbx,%rax
140037788:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14003778d:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140037792:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140037797:	48 83 c4 30          	add    $0x30,%rsp
14003779b:	41 5e                	pop    %r14
14003779d:	c3                   	ret
14003779e:	48 8d 0d 3b 52 00 00 	lea    0x523b(%rip),%rcx        # 0x14003c9e0
1400377a5:	e8 26 17 fd ff       	call   0x140008ed0
1400377aa:	cc                   	int3
1400377ab:	48 8d 0d 46 52 00 00 	lea    0x5246(%rip),%rcx        # 0x14003c9f8
1400377b2:	e8 f5 16 fd ff       	call   0x140008eac
1400377b7:	cc                   	int3
1400377b8:	48 8d 0d 39 52 00 00 	lea    0x5239(%rip),%rcx        # 0x14003c9f8
1400377bf:	e8 e8 16 fd ff       	call   0x140008eac
1400377c4:	cc                   	int3
1400377c5:	cc                   	int3
1400377c6:	cc                   	int3
1400377c7:	cc                   	int3
1400377c8:	cc                   	int3
1400377c9:	cc                   	int3
1400377ca:	cc                   	int3
1400377cb:	cc                   	int3
1400377cc:	cc                   	int3
1400377cd:	cc                   	int3
1400377ce:	cc                   	int3
1400377cf:	cc                   	int3
1400377d0:	40 53                	rex push %rbx
1400377d2:	48 83 ec 20          	sub    $0x20,%rsp
1400377d6:	48 8b da             	mov    %rdx,%rbx
1400377d9:	41 83 f8 01          	cmp    $0x1,%r8d
1400377dd:	75 30                	jne    0x14003780f
1400377df:	45 33 c0             	xor    %r8d,%r8d
1400377e2:	48 c7 42 18 0f 00 00 	movq   $0xf,0x18(%rdx)
1400377e9:	00
1400377ea:	4c 89 42 10          	mov    %r8,0x10(%rdx)
1400377ee:	48 8b cb             	mov    %rbx,%rcx
1400377f1:	44 88 02             	mov    %r8b,(%rdx)
1400377f4:	41 b8 15 00 00 00    	mov    $0x15,%r8d
1400377fa:	48 8d 15 1f f1 00 00 	lea    0xf11f(%rip),%rdx        # 0x140046920
140037801:	e8 ba f2 ff ff       	call   0x140036ac0
140037806:	48 8b c3             	mov    %rbx,%rax
140037809:	48 83 c4 20          	add    $0x20,%rsp
14003780d:	5b                   	pop    %rbx
14003780e:	c3                   	ret
14003780f:	41 8b c8             	mov    %r8d,%ecx
140037812:	e8 0d 18 00 00       	call   0x140039024
140037817:	45 33 c0             	xor    %r8d,%r8d
14003781a:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
140037821:	00
140037822:	4c 89 43 10          	mov    %r8,0x10(%rbx)
140037826:	44 88 03             	mov    %r8b,(%rbx)
140037829:	44 38 00             	cmp    %r8b,(%rax)
14003782c:	74 0e                	je     0x14003783c
14003782e:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140037832:	49 ff c0             	inc    %r8
140037835:	42 80 3c 00 00       	cmpb   $0x0,(%rax,%r8,1)
14003783a:	75 f6                	jne    0x140037832
14003783c:	48 8b d0             	mov    %rax,%rdx
14003783f:	48 8b cb             	mov    %rbx,%rcx
140037842:	e8 79 f2 ff ff       	call   0x140036ac0
140037847:	48 8b c3             	mov    %rbx,%rax
14003784a:	48 83 c4 20          	add    $0x20,%rsp
14003784e:	5b                   	pop    %rbx
14003784f:	c3                   	ret
140037850:	48 8d 05 b9 f0 00 00 	lea    0xf0b9(%rip),%rax        # 0x140046910
140037857:	c3                   	ret
140037858:	cc                   	int3
140037859:	cc                   	int3
14003785a:	cc                   	int3
14003785b:	cc                   	int3
14003785c:	cc                   	int3
14003785d:	cc                   	int3
14003785e:	cc                   	int3
14003785f:	cc                   	int3
140037860:	40 57                	rex push %rdi
140037862:	48 83 ec 30          	sub    $0x30,%rsp
140037866:	48 83 b9 80 00 00 00 	cmpq   $0x0,0x80(%rcx)
14003786d:	00
14003786e:	41 8b c0             	mov    %r8d,%eax
140037871:	4c 8b d2             	mov    %rdx,%r10
140037874:	48 8b f9             	mov    %rcx,%rdi
140037877:	75 7d                	jne    0x1400378f6
140037879:	45 8b c1             	mov    %r9d,%r8d
14003787c:	8b d0                	mov    %eax,%edx
14003787e:	49 8b ca             	mov    %r10,%rcx
140037881:	e8 32 19 00 00       	call   0x1400391b8
140037886:	48 85 c0             	test   %rax,%rax
140037889:	74 6b                	je     0x1400378f6
14003788b:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140037891:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140037896:	48 8b d0             	mov    %rax,%rdx
140037899:	48 8b cf             	mov    %rdi,%rcx
14003789c:	e8 5f ea ff ff       	call   0x140036300
1400378a1:	48 8b 47 60          	mov    0x60(%rdi),%rax
1400378a5:	48 8b 58 08          	mov    0x8(%rax),%rbx
1400378a9:	48 8b cb             	mov    %rbx,%rcx
1400378ac:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1400378b1:	48 8b 03             	mov    (%rbx),%rax
1400378b4:	ff 50 08             	call   *0x8(%rax)
1400378b7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1400378bc:	e8 2f bf ff ff       	call   0x1400337f0
1400378c1:	48 8b d0             	mov    %rax,%rdx
1400378c4:	48 8b cf             	mov    %rdi,%rcx
1400378c7:	e8 b4 eb ff ff       	call   0x140036480
1400378cc:	48 8b 03             	mov    (%rbx),%rax
1400378cf:	48 8b cb             	mov    %rbx,%rcx
1400378d2:	ff 50 10             	call   *0x10(%rax)
1400378d5:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400378da:	48 85 c0             	test   %rax,%rax
1400378dd:	74 0e                	je     0x1400378ed
1400378df:	4c 8b 00             	mov    (%rax),%r8
1400378e2:	ba 01 00 00 00       	mov    $0x1,%edx
1400378e7:	48 8b c8             	mov    %rax,%rcx
1400378ea:	41 ff 10             	call   *(%r8)
1400378ed:	48 8b c7             	mov    %rdi,%rax
1400378f0:	48 83 c4 30          	add    $0x30,%rsp
1400378f4:	5f                   	pop    %rdi
1400378f5:	c3                   	ret
1400378f6:	33 c0                	xor    %eax,%eax
1400378f8:	48 83 c4 30          	add    $0x30,%rsp
1400378fc:	5f                   	pop    %rdi
1400378fd:	c3                   	ret
1400378fe:	cc                   	int3
1400378ff:	cc                   	int3
140037900:	40 55                	rex push %rbp
140037902:	53                   	push   %rbx
140037903:	56                   	push   %rsi
140037904:	48 8b ec             	mov    %rsp,%rbp
140037907:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
14003790e:	48 8b 05 ab 68 01 00 	mov    0x168ab(%rip),%rax        # 0x14004e1c0
140037915:	48 33 c4             	xor    %rsp,%rax
140037918:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
14003791c:	8b f2                	mov    %edx,%esi
14003791e:	48 8b d9             	mov    %rcx,%rbx
140037921:	83 fa ff             	cmp    $0xffffffff,%edx
140037924:	75 07                	jne    0x14003792d
140037926:	33 c0                	xor    %eax,%eax
140037928:	e9 0c 02 00 00       	jmp    0x140037b39
14003792d:	48 8b 41 40          	mov    0x40(%rcx),%rax
140037931:	48 8b 10             	mov    (%rax),%rdx
140037934:	48 85 d2             	test   %rdx,%rdx
140037937:	74 2e                	je     0x140037967
140037939:	48 8b 41 58          	mov    0x58(%rcx),%rax
14003793d:	4c 63 00             	movslq (%rax),%r8
140037940:	4a 8d 0c 02          	lea    (%rdx,%r8,1),%rcx
140037944:	48 3b d1             	cmp    %rcx,%rdx
140037947:	73 1e                	jae    0x140037967
140037949:	41 8d 48 ff          	lea    -0x1(%r8),%ecx
14003794d:	89 08                	mov    %ecx,(%rax)
14003794f:	8b c6                	mov    %esi,%eax
140037951:	48 8b 53 40          	mov    0x40(%rbx),%rdx
140037955:	4c 8b 02             	mov    (%rdx),%r8
140037958:	49 8d 48 01          	lea    0x1(%r8),%rcx
14003795c:	48 89 0a             	mov    %rcx,(%rdx)
14003795f:	41 88 30             	mov    %sil,(%r8)
140037962:	e9 d2 01 00 00       	jmp    0x140037b39
140037967:	48 83 bb 80 00 00 00 	cmpq   $0x0,0x80(%rbx)
14003796e:	00
14003796f:	75 08                	jne    0x140037979
140037971:	83 c8 ff             	or     $0xffffffff,%eax
140037974:	e9 c0 01 00 00       	jmp    0x140037b39
140037979:	4c 8b 43 18          	mov    0x18(%rbx),%r8
14003797d:	48 8d 43 70          	lea    0x70(%rbx),%rax
140037981:	49 39 00             	cmp    %rax,(%r8)
140037984:	75 20                	jne    0x1400379a6
140037986:	48 8b 8b 88 00 00 00 	mov    0x88(%rbx),%rcx
14003798d:	48 8b 93 90 00 00 00 	mov    0x90(%rbx),%rdx
140037994:	49 89 08             	mov    %rcx,(%r8)
140037997:	2b d1                	sub    %ecx,%edx
140037999:	48 8b 43 38          	mov    0x38(%rbx),%rax
14003799d:	48 89 08             	mov    %rcx,(%rax)
1400379a0:	48 8b 43 50          	mov    0x50(%rbx),%rax
1400379a4:	89 10                	mov    %edx,(%rax)
1400379a6:	48 83 7b 68 00       	cmpq   $0x0,0x68(%rbx)
1400379ab:	75 1d                	jne    0x1400379ca
1400379ad:	48 8b 93 80 00 00 00 	mov    0x80(%rbx),%rdx
1400379b4:	40 0f be ce          	movsbl %sil,%ecx
1400379b8:	e8 43 b2 fe ff       	call   0x140022c00
1400379bd:	83 cb ff             	or     $0xffffffff,%ebx
1400379c0:	3b c3                	cmp    %ebx,%eax
1400379c2:	0f 45 de             	cmovne %esi,%ebx
1400379c5:	e9 6d 01 00 00       	jmp    0x140037b37
1400379ca:	33 c9                	xor    %ecx,%ecx
1400379cc:	c6 45 d8 00          	movb   $0x0,-0x28(%rbp)
1400379d0:	ba 0f 00 00 00       	mov    $0xf,%edx
1400379d5:	4c 89 b4 24 b8 00 00 	mov    %r14,0xb8(%rsp)
1400379dc:	00
1400379dd:	48 83 fa 10          	cmp    $0x10,%rdx
1400379e1:	40 88 75 c0          	mov    %sil,-0x40(%rbp)
1400379e5:	48 8d 45 d8          	lea    -0x28(%rbp),%rax
1400379e9:	48 89 55 f0          	mov    %rdx,-0x10(%rbp)
1400379ed:	48 0f 43 c1          	cmovae %rcx,%rax
1400379f1:	48 89 4d d8          	mov    %rcx,-0x28(%rbp)
1400379f5:	48 c7 45 e8 08 00 00 	movq   $0x8,-0x18(%rbp)
1400379fc:	00
1400379fd:	48 89 bc 24 b0 00 00 	mov    %rdi,0xb0(%rsp)
140037a04:	00
140037a05:	88 48 08             	mov    %cl,0x8(%rax)
140037a08:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
140037a0c:	0f 1f 40 00          	nopl   0x0(%rax)
140037a10:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
140037a14:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
140037a18:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140037a1d:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
140037a21:	49 83 f9 10          	cmp    $0x10,%r9
140037a25:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
140037a29:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
140037a2d:	4c 0f 43 45 d8       	cmovae -0x28(%rbp),%r8
140037a32:	4c 8d 4d c1          	lea    -0x3f(%rbp),%r9
140037a36:	48 0f 43 55 d8       	cmovae -0x28(%rbp),%rdx
140037a3b:	48 03 55 e8          	add    -0x18(%rbp),%rdx
140037a3f:	4c 8b 11             	mov    (%rcx),%r10
140037a42:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
140037a47:	48 8d 53 74          	lea    0x74(%rbx),%rdx
140037a4b:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140037a50:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
140037a54:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140037a59:	41 ff 52 38          	call   *0x38(%r10)
140037a5d:	85 c0                	test   %eax,%eax
140037a5f:	0f 88 a4 00 00 00    	js     0x140037b09
140037a65:	83 f8 01             	cmp    $0x1,%eax
140037a68:	7f 7c                	jg     0x140037ae6
140037a6a:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
140037a6e:	48 8d 45 d8          	lea    -0x28(%rbp),%rax
140037a72:	4c 8b 55 d8          	mov    -0x28(%rbp),%r10
140037a76:	49 83 f9 10          	cmp    $0x10,%r9
140037a7a:	48 8b 7d c8          	mov    -0x38(%rbp),%rdi
140037a7e:	49 0f 43 c2          	cmovae %r10,%rax
140037a82:	48 2b f8             	sub    %rax,%rdi
140037a85:	74 29                	je     0x140037ab0
140037a87:	49 83 f9 10          	cmp    $0x10,%r9
140037a8b:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140037a8f:	4c 8b 8b 80 00 00 00 	mov    0x80(%rbx),%r9
140037a96:	4c 8b c7             	mov    %rdi,%r8
140037a99:	49 0f 43 ca          	cmovae %r10,%rcx
140037a9d:	ba 01 00 00 00       	mov    $0x1,%edx
140037aa2:	e8 ad e2 fe ff       	call   0x140025d54
140037aa7:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
140037aab:	48 3b f8             	cmp    %rax,%rdi
140037aae:	75 5d                	jne    0x140037b0d
140037ab0:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
140037ab4:	c6 43 71 01          	movb   $0x1,0x71(%rbx)
140037ab8:	48 39 45 d0          	cmp    %rax,-0x30(%rbp)
140037abc:	75 24                	jne    0x140037ae2
140037abe:	48 85 ff             	test   %rdi,%rdi
140037ac1:	0f 85 49 ff ff ff    	jne    0x140037a10
140037ac7:	48 83 7d e8 20       	cmpq   $0x20,-0x18(%rbp)
140037acc:	73 3f                	jae    0x140037b0d
140037ace:	45 33 c0             	xor    %r8d,%r8d
140037ad1:	8d 57 08             	lea    0x8(%rdi),%edx
140037ad4:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140037ad8:	e8 a3 ed ff ff       	call   0x140036880
140037add:	e9 26 ff ff ff       	jmp    0x140037a08
140037ae2:	8b de                	mov    %esi,%ebx
140037ae4:	eb 2a                	jmp    0x140037b10
140037ae6:	83 f8 03             	cmp    $0x3,%eax
140037ae9:	75 1e                	jne    0x140037b09
140037aeb:	0f be 4d c0          	movsbl -0x40(%rbp),%ecx
140037aef:	48 8b 93 80 00 00 00 	mov    0x80(%rbx),%rdx
140037af6:	e8 05 b1 fe ff       	call   0x140022c00
140037afb:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
140037aff:	83 cb ff             	or     $0xffffffff,%ebx
140037b02:	3b c3                	cmp    %ebx,%eax
140037b04:	0f 45 de             	cmovne %esi,%ebx
140037b07:	eb 07                	jmp    0x140037b10
140037b09:	4c 8b 4d f0          	mov    -0x10(%rbp),%r9
140037b0d:	83 cb ff             	or     $0xffffffff,%ebx
140037b10:	4c 8b b4 24 b8 00 00 	mov    0xb8(%rsp),%r14
140037b17:	00
140037b18:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
140037b1f:	00
140037b20:	49 83 f9 10          	cmp    $0x10,%r9
140037b24:	72 11                	jb     0x140037b37
140037b26:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
140037b2a:	4d 8d 41 01          	lea    0x1(%r9),%r8
140037b2e:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140037b32:	e8 29 f4 ff ff       	call   0x140036f60
140037b37:	8b c3                	mov    %ebx,%eax
140037b39:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140037b3d:	48 33 cc             	xor    %rsp,%rcx
140037b40:	e8 5b 18 fd ff       	call   0x1400093a0
140037b45:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140037b4c:	5e                   	pop    %rsi
140037b4d:	5b                   	pop    %rbx
140037b4e:	5d                   	pop    %rbp
140037b4f:	c3                   	ret
140037b50:	83 c8 ff             	or     $0xffffffff,%eax
140037b53:	c3                   	ret
140037b54:	cc                   	int3
140037b55:	cc                   	int3
140037b56:	cc                   	int3
140037b57:	cc                   	int3
140037b58:	cc                   	int3
140037b59:	cc                   	int3
140037b5a:	cc                   	int3
140037b5b:	cc                   	int3
140037b5c:	cc                   	int3
140037b5d:	cc                   	int3
140037b5e:	cc                   	int3
140037b5f:	cc                   	int3
140037b60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140037b65:	57                   	push   %rdi
140037b66:	48 83 ec 20          	sub    $0x20,%rsp
140037b6a:	48 8b 41 38          	mov    0x38(%rcx),%rax
140037b6e:	48 8b f9             	mov    %rcx,%rdi
140037b71:	8b da                	mov    %edx,%ebx
140037b73:	48 8b 08             	mov    (%rax),%rcx
140037b76:	48 85 c9             	test   %rcx,%rcx
140037b79:	74 36                	je     0x140037bb1
140037b7b:	48 8b 47 18          	mov    0x18(%rdi),%rax
140037b7f:	48 39 08             	cmp    %rcx,(%rax)
140037b82:	73 2d                	jae    0x140037bb1
140037b84:	83 fa ff             	cmp    $0xffffffff,%edx
140037b87:	74 08                	je     0x140037b91
140037b89:	0f b6 41 ff          	movzbl -0x1(%rcx),%eax
140037b8d:	3b c2                	cmp    %edx,%eax
140037b8f:	75 20                	jne    0x140037bb1
140037b91:	48 8b 47 50          	mov    0x50(%rdi),%rax
140037b95:	ff 00                	incl   (%rax)
140037b97:	48 8b 47 38          	mov    0x38(%rdi),%rax
140037b9b:	48 ff 08             	decq   (%rax)
140037b9e:	33 c0                	xor    %eax,%eax