14001580d:	c3                   	ret
14001580e:	33 d2                	xor    %edx,%edx
140015810:	b9 52 10 56 1e       	mov    $0x1e561052,%ecx
140015815:	e8 96 d1 ff ff       	call   0x1400129b0
14001581a:	cc                   	int3
14001581b:	90                   	nop
14001581c:	90                   	nop
14001581d:	90                   	nop
14001581e:	90                   	nop
14001581f:	90                   	nop
140015820:	48 8b c4             	mov    %rsp,%rax
140015823:	48 89 58 08          	mov    %rbx,0x8(%rax)
140015827:	48 89 68 10          	mov    %rbp,0x10(%rax)
14001582b:	48 89 70 18          	mov    %rsi,0x18(%rax)
14001582f:	48 89 78 20          	mov    %rdi,0x20(%rax)
140015833:	41 56                	push   %r14
140015835:	48 83 ec 20          	sub    $0x20,%rsp
140015839:	48 8b ea             	mov    %rdx,%rbp
14001583c:	48 8b d9             	mov    %rcx,%rbx
14001583f:	45 33 f6             	xor    %r14d,%r14d
140015842:	44 38 71 5c          	cmp    %r14b,0x5c(%rcx)
140015846:	74 0a                	je     0x140015852
140015848:	83 79 58 06          	cmpl   $0x6,0x58(%rcx)
14001584c:	0f 84 a9 00 00 00    	je     0x1400158fb
140015852:	e8 cd 00 00 00       	call   0x140015924
140015857:	84 c0                	test   %al,%al
140015859:	0f 84 b7 00 00 00    	je     0x140015916
14001585f:	48 8b cb             	mov    %rbx,%rcx
140015862:	e8 81 01 00 00       	call   0x1400159e8
140015867:	83 7b 60 02          	cmpl   $0x2,0x60(%rbx)
14001586b:	75 08                	jne    0x140015875
14001586d:	48 8b cb             	mov    %rbx,%rcx
140015870:	e8 27 02 00 00       	call   0x140015a9c
140015875:	48 8d 7b 08          	lea    0x8(%rbx),%rdi
140015879:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14001587d:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
140015881:	73 1f                	jae    0x1400158a2
140015883:	48 8d 41 01          	lea    0x1(%rcx),%rax
140015887:	48 89 47 10          	mov    %rax,0x10(%rdi)
14001588b:	48 8b c7             	mov    %rdi,%rax
14001588e:	48 83 7f 18 07       	cmpq   $0x7,0x18(%rdi)
140015893:	76 03                	jbe    0x140015898
140015895:	48 8b 07             	mov    (%rdi),%rax
140015898:	be 22 00 00 00       	mov    $0x22,%esi
14001589d:	89 34 48             	mov    %esi,(%rax,%rcx,2)
1400158a0:	eb 10                	jmp    0x1400158b2
1400158a2:	be 22 00 00 00       	mov    $0x22,%esi
1400158a7:	44 8b ce             	mov    %esi,%r9d
1400158aa:	48 8b cf             	mov    %rdi,%rcx
1400158ad:	e8 06 d6 ff ff       	call   0x140012eb8
1400158b2:	48 8b d5             	mov    %rbp,%rdx
1400158b5:	48 8b cb             	mov    %rbx,%rcx
1400158b8:	e8 eb 02 00 00       	call   0x140015ba8
1400158bd:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1400158c1:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
1400158c5:	73 1b                	jae    0x1400158e2
1400158c7:	48 8d 41 01          	lea    0x1(%rcx),%rax
1400158cb:	48 89 47 10          	mov    %rax,0x10(%rdi)
1400158cf:	48 83 7f 18 07       	cmpq   $0x7,0x18(%rdi)
1400158d4:	76 03                	jbe    0x1400158d9
1400158d6:	48 8b 3f             	mov    (%rdi),%rdi
1400158d9:	c7 04 4f 22 00 00 00 	movl   $0x22,(%rdi,%rcx,2)
1400158e0:	eb 0b                	jmp    0x1400158ed
1400158e2:	44 8b ce             	mov    %esi,%r9d
1400158e5:	48 8b cf             	mov    %rdi,%rcx
1400158e8:	e8 cb d5 ff ff       	call   0x140012eb8
1400158ed:	ba 03 00 00 00       	mov    $0x3,%edx
1400158f2:	48 8b cb             	mov    %rbx,%rcx
1400158f5:	e8 e2 05 00 00       	call   0x140015edc
1400158fa:	90                   	nop
1400158fb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140015900:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140015905:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14001590a:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14001590f:	48 83 c4 20          	add    $0x20,%rsp
140015913:	41 5e                	pop    %r14
140015915:	c3                   	ret
140015916:	33 d2                	xor    %edx,%edx
140015918:	b9 53 10 56 1e       	mov    $0x1e561053,%ecx
14001591d:	e8 8e d0 ff ff       	call   0x1400129b0
140015922:	cc                   	int3
140015923:	90                   	nop
140015924:	48 83 ec 28          	sub    $0x28,%rsp
140015928:	45 33 c9             	xor    %r9d,%r9d
14001592b:	4c 8b c1             	mov    %rcx,%r8
14001592e:	44 38 49 5c          	cmp    %r9b,0x5c(%rcx)
140015932:	74 52                	je     0x140015986
140015934:	8b 49 58             	mov    0x58(%rcx),%ecx
140015937:	85 c9                	test   %ecx,%ecx
140015939:	74 4b                	je     0x140015986
14001593b:	83 e9 02             	sub    $0x2,%ecx
14001593e:	74 46                	je     0x140015986
140015940:	83 e9 01             	sub    $0x1,%ecx
140015943:	74 0e                	je     0x140015953
140015945:	83 e9 01             	sub    $0x1,%ecx
140015948:	74 09                	je     0x140015953
14001594a:	83 f9 01             	cmp    $0x1,%ecx
14001594d:	74 04                	je     0x140015953
14001594f:	32 c0                	xor    %al,%al
140015951:	eb 35                	jmp    0x140015988
140015953:	49 8b 48 50          	mov    0x50(%r8),%rcx
140015957:	49 8b 50 48          	mov    0x48(%r8),%rdx
14001595b:	48 ff c9             	dec    %rcx
14001595e:	49 8b 40 40          	mov    0x40(%r8),%rax
140015962:	48 03 d1             	add    %rcx,%rdx
140015965:	48 ff c8             	dec    %rax
140015968:	48 8b ca             	mov    %rdx,%rcx
14001596b:	48 c1 e9 02          	shr    $0x2,%rcx
14001596f:	83 e2 03             	and    $0x3,%edx
140015972:	48 23 c8             	and    %rax,%rcx
140015975:	49 8b 40 38          	mov    0x38(%r8),%rax
140015979:	48 8b 04 c8          	mov    (%rax,%rcx,8),%rax
14001597d:	44 39 0c 90          	cmp    %r9d,(%rax,%rdx,4)
140015981:	0f 94 c0             	sete   %al
140015984:	eb 02                	jmp    0x140015988
140015986:	b0 01                	mov    $0x1,%al
140015988:	48 83 c4 28          	add    $0x28,%rsp
14001598c:	c3                   	ret
14001598d:	90                   	nop
14001598e:	90                   	nop
14001598f:	90                   	nop
140015990:	48 83 ec 28          	sub    $0x28,%rsp
140015994:	48 8b 51 50          	mov    0x50(%rcx),%rdx
140015998:	48 85 d2             	test   %rdx,%rdx
14001599b:	74 44                	je     0x1400159e1
14001599d:	4c 8b 41 48          	mov    0x48(%rcx),%r8
1400159a1:	48 ff ca             	dec    %rdx
1400159a4:	48 8b 41 40          	mov    0x40(%rcx),%rax
1400159a8:	4c 03 c2             	add    %rdx,%r8
1400159ab:	48 ff c8             	dec    %rax
1400159ae:	49 8b d0             	mov    %r8,%rdx
1400159b1:	48 c1 ea 02          	shr    $0x2,%rdx
1400159b5:	41 83 e0 03          	and    $0x3,%r8d
1400159b9:	48 23 d0             	and    %rax,%rdx
1400159bc:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400159c0:	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
1400159c4:	42 83 3c 80 01       	cmpl   $0x1,(%rax,%r8,4)
1400159c9:	75 16                	jne    0x1400159e1
1400159cb:	80 79 5c 00          	cmpb   $0x0,0x5c(%rcx)
1400159cf:	75 07                	jne    0x1400159d8
1400159d1:	ff 15 a1 9a 05 00    	call   *0x59aa1(%rip)        # 0x14006f478
1400159d7:	cc                   	int3
1400159d8:	83 79 58 02          	cmpl   $0x2,0x58(%rcx)
1400159dc:	0f 95 c0             	setne  %al
1400159df:	eb 02                	jmp    0x1400159e3
1400159e1:	32 c0                	xor    %al,%al
1400159e3:	48 83 c4 28          	add    $0x28,%rsp
1400159e7:	c3                   	ret
1400159e8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400159ed:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400159f2:	57                   	push   %rdi
1400159f3:	48 83 ec 20          	sub    $0x20,%rsp
1400159f7:	48 8b f9             	mov    %rcx,%rdi
1400159fa:	33 f6                	xor    %esi,%esi
1400159fc:	40 38 71 5c          	cmp    %sil,0x5c(%rcx)
140015a00:	0f 84 86 00 00 00    	je     0x140015a8c
140015a06:	8b 49 58             	mov    0x58(%rcx),%ecx
140015a09:	83 e9 03             	sub    $0x3,%ecx
140015a0c:	74 0a                	je     0x140015a18
140015a0e:	83 e9 01             	sub    $0x1,%ecx
140015a11:	74 05                	je     0x140015a18
140015a13:	83 f9 01             	cmp    $0x1,%ecx
140015a16:	75 74                	jne    0x140015a8c
140015a18:	48 8d 5f 08          	lea    0x8(%rdi),%rbx
140015a1c:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140015a20:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140015a24:	73 1e                	jae    0x140015a44
140015a26:	48 8d 41 01          	lea    0x1(%rcx),%rax
140015a2a:	48 89 43 10          	mov    %rax,0x10(%rbx)
140015a2e:	48 8b c3             	mov    %rbx,%rax
140015a31:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140015a36:	76 03                	jbe    0x140015a3b
140015a38:	48 8b 03             	mov    (%rbx),%rax
140015a3b:	c7 04 48 2c 00 00 00 	movl   $0x2c,(%rax,%rcx,2)
140015a42:	eb 0e                	jmp    0x140015a52
140015a44:	41 b9 2c 00 00 00    	mov    $0x2c,%r9d
140015a4a:	48 8b cb             	mov    %rbx,%rcx
140015a4d:	e8 66 d4 ff ff       	call   0x140012eb8
140015a52:	83 7f 60 01          	cmpl   $0x1,0x60(%rdi)
140015a56:	75 34                	jne    0x140015a8c
140015a58:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140015a5c:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140015a60:	73 1b                	jae    0x140015a7d
140015a62:	48 8d 41 01          	lea    0x1(%rcx),%rax
140015a66:	48 89 43 10          	mov    %rax,0x10(%rbx)
140015a6a:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140015a6f:	76 03                	jbe    0x140015a74
140015a71:	48 8b 1b             	mov    (%rbx),%rbx
140015a74:	c7 04 4b 20 00 00 00 	movl   $0x20,(%rbx,%rcx,2)
140015a7b:	eb 0f                	jmp    0x140015a8c
140015a7d:	41 b9 20 00 00 00    	mov    $0x20,%r9d
140015a83:	48 8b cb             	mov    %rbx,%rcx
140015a86:	e8 2d d4 ff ff       	call   0x140012eb8
140015a8b:	90                   	nop
140015a8c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140015a91:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140015a96:	48 83 c4 20          	add    $0x20,%rsp
140015a9a:	5f                   	pop    %rdi
140015a9b:	c3                   	ret
140015a9c:	40 53                	rex push %rbx
140015a9e:	48 83 ec 20          	sub    $0x20,%rsp
140015aa2:	48 8b d9             	mov    %rcx,%rbx
140015aa5:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140015aa9:	45 33 d2             	xor    %r10d,%r10d
140015aac:	48 85 c9             	test   %rcx,%rcx
140015aaf:	74 6a                	je     0x140015b1b
140015ab1:	4c 8b 43 48          	mov    0x48(%rbx),%r8
140015ab5:	49 ff c8             	dec    %r8
140015ab8:	4c 03 c1             	add    %rcx,%r8
140015abb:	49 8b d0             	mov    %r8,%rdx
140015abe:	48 c1 ea 02          	shr    $0x2,%rdx
140015ac2:	48 8b 43 40          	mov    0x40(%rbx),%rax
140015ac6:	48 ff c8             	dec    %rax
140015ac9:	48 23 d0             	and    %rax,%rdx
140015acc:	48 8b 43 38          	mov    0x38(%rbx),%rax
140015ad0:	41 83 e0 03          	and    $0x3,%r8d
140015ad4:	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
140015ad8:	46 39 14 80          	cmp    %r10d,(%rax,%r8,4)
140015adc:	75 3d                	jne    0x140015b1b
140015ade:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140015ae2:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140015ae6:	48 3b 51 18          	cmp    0x18(%rcx),%rdx
140015aea:	73 1b                	jae    0x140015b07
140015aec:	48 8d 42 01          	lea    0x1(%rdx),%rax
140015af0:	48 89 41 10          	mov    %rax,0x10(%rcx)
140015af4:	48 83 79 18 07       	cmpq   $0x7,0x18(%rcx)
140015af9:	76 03                	jbe    0x140015afe
140015afb:	48 8b 09             	mov    (%rcx),%rcx
140015afe:	c7 04 51 0a 00 00 00 	movl   $0xa,(%rcx,%rdx,2)
140015b05:	eb 0b                	jmp    0x140015b12
140015b07:	41 b9 0a 00 00 00    	mov    $0xa,%r9d
140015b0d:	e8 a6 d3 ff ff       	call   0x140012eb8
140015b12:	48 8b cb             	mov    %rbx,%rcx
140015b15:	e8 0a 00 00 00       	call   0x140015b24
140015b1a:	90                   	nop
140015b1b:	48 83 c4 20          	add    $0x20,%rsp
140015b1f:	5b                   	pop    %rbx
140015b20:	c3                   	ret
140015b21:	90                   	nop
140015b22:	90                   	nop
140015b23:	90                   	nop
140015b24:	48 8b c4             	mov    %rsp,%rax
140015b27:	48 89 58 08          	mov    %rbx,0x8(%rax)
140015b2b:	48 89 68 10          	mov    %rbp,0x10(%rax)
140015b2f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140015b33:	48 89 78 20          	mov    %rdi,0x20(%rax)
140015b37:	41 56                	push   %r14
140015b39:	48 83 ec 20          	sub    $0x20,%rsp
140015b3d:	48 8b f9             	mov    %rcx,%rdi
140015b40:	33 ed                	xor    %ebp,%ebp
140015b42:	8b f5                	mov    %ebp,%esi
140015b44:	48 39 69 50          	cmp    %rbp,0x50(%rcx)
140015b48:	76 41                	jbe    0x140015b8b
140015b4a:	48 8d 59 08          	lea    0x8(%rcx),%rbx
140015b4e:	44 8d 75 09          	lea    0x9(%rbp),%r14d
140015b52:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140015b56:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140015b5a:	73 1b                	jae    0x140015b77
140015b5c:	48 8d 41 01          	lea    0x1(%rcx),%rax
140015b60:	48 89 43 10          	mov    %rax,0x10(%rbx)
140015b64:	48 8b c3             	mov    %rbx,%rax
140015b67:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140015b6c:	76 03                	jbe    0x140015b71
140015b6e:	48 8b 03             	mov    (%rbx),%rax
140015b71:	44 89 34 48          	mov    %r14d,(%rax,%rcx,2)
140015b75:	eb 0b                	jmp    0x140015b82
140015b77:	45 8b ce             	mov    %r14d,%r9d
140015b7a:	48 8b cb             	mov    %rbx,%rcx
140015b7d:	e8 36 d3 ff ff       	call   0x140012eb8
140015b82:	48 ff c6             	inc    %rsi
140015b85:	48 3b 77 50          	cmp    0x50(%rdi),%rsi
140015b89:	72 c7                	jb     0x140015b52
140015b8b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140015b90:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140015b95:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140015b9a:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140015b9f:	48 83 c4 20          	add    $0x20,%rsp
140015ba3:	41 5e                	pop    %r14
140015ba5:	c3                   	ret
140015ba6:	90                   	nop
140015ba7:	90                   	nop
140015ba8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140015bad:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140015bb2:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140015bb7:	55                   	push   %rbp
140015bb8:	41 54                	push   %r12
140015bba:	41 55                	push   %r13
140015bbc:	41 56                	push   %r14
140015bbe:	41 57                	push   %r15
140015bc0:	48 8b ec             	mov    %rsp,%rbp
140015bc3:	48 83 ec 60          	sub    $0x60,%rsp
140015bc7:	48 8b 05 f2 ca 0a 00 	mov    0xacaf2(%rip),%rax        # 0x1400c26c0
140015bce:	48 33 c4             	xor    %rsp,%rax
140015bd1:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140015bd5:	4c 8b fa             	mov    %rdx,%r15
140015bd8:	4c 8b e9             	mov    %rcx,%r13
140015bdb:	48 8b 0a             	mov    (%rdx),%rcx
140015bde:	48 8b d9             	mov    %rcx,%rbx
140015be1:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140015be5:	4c 8b c9             	mov    %rcx,%r9
140015be8:	4a 8d 04 41          	lea    (%rcx,%r8,2),%rax
140015bec:	48 3b c8             	cmp    %rax,%rcx
140015bef:	0f 84 82 01 00 00    	je     0x140015d77
140015bf5:	41 ba 31 00 00 00    	mov    $0x31,%r10d
140015bfb:	41 b9 30 00 00 00    	mov    $0x30,%r9d
140015c01:	0f b7 13             	movzwl (%rbx),%edx
140015c04:	44 8b c2             	mov    %edx,%r8d
140015c07:	41 83 e8 08          	sub    $0x8,%r8d
140015c0b:	0f 84 be 00 00 00    	je     0x140015ccf
140015c11:	41 83 e8 01          	sub    $0x1,%r8d
140015c15:	0f 84 ab 00 00 00    	je     0x140015cc6
140015c1b:	41 83 e8 01          	sub    $0x1,%r8d
140015c1f:	0f 84 98 00 00 00    	je     0x140015cbd
140015c25:	41 83 e8 02          	sub    $0x2,%r8d
140015c29:	0f 84 85 00 00 00    	je     0x140015cb4
140015c2f:	41 83 e8 01          	sub    $0x1,%r8d
140015c33:	74 76                	je     0x140015cab
140015c35:	41 83 e8 15          	sub    $0x15,%r8d
140015c39:	74 67                	je     0x140015ca2
140015c3b:	41 83 f8 3a          	cmp    $0x3a,%r8d
140015c3f:	74 58                	je     0x140015c99
140015c41:	83 fa 1f             	cmp    $0x1f,%edx
140015c44:	0f 87 15 01 00 00    	ja     0x140015d5f
140015c4a:	c7 45 e0 5c 00 75 00 	movl   $0x75005c,-0x20(%rbp)
140015c51:	c7 45 e4 30 00 30 00 	movl   $0x300030,-0x1c(%rbp)
140015c58:	83 fa 09             	cmp    $0x9,%edx
140015c5b:	77 06                	ja     0x140015c63
140015c5d:	66 41 03 d1          	add    %r9w,%dx
140015c61:	eb 09                	jmp    0x140015c6c
140015c63:	83 fa 0f             	cmp    $0xf,%edx
140015c66:	77 13                	ja     0x140015c7b
140015c68:	66 83 c2 37          	add    $0x37,%dx
140015c6c:	66 44 89 4d e8       	mov    %r9w,-0x18(%rbp)
140015c71:	66 89 55 ea          	mov    %dx,-0x16(%rbp)
140015c75:	48 8d 7d ec          	lea    -0x14(%rbp),%rdi
140015c79:	eb 5f                	jmp    0x140015cda
140015c7b:	66 44 89 55 e8       	mov    %r10w,-0x18(%rbp)
140015c80:	48 8d 7d ec          	lea    -0x14(%rbp),%rdi
140015c84:	83 fa 19             	cmp    $0x19,%edx
140015c87:	77 06                	ja     0x140015c8f
140015c89:	66 83 c2 20          	add    $0x20,%dx
140015c8d:	eb 04                	jmp    0x140015c93
140015c8f:	66 83 c2 27          	add    $0x27,%dx
140015c93:	66 89 55 ea          	mov    %dx,-0x16(%rbp)
140015c97:	eb 41                	jmp    0x140015cda
140015c99:	c7 45 e0 5c 00 5c 00 	movl   $0x5c005c,-0x20(%rbp)
140015ca0:	eb 34                	jmp    0x140015cd6
140015ca2:	c7 45 e0 5c 00 22 00 	movl   $0x22005c,-0x20(%rbp)
140015ca9:	eb 2b                	jmp    0x140015cd6
140015cab:	c7 45 e0 5c 00 72 00 	movl   $0x72005c,-0x20(%rbp)