140020c74:	49 8b d7             	mov    %r15,%rdx
140020c77:	48 8b cf             	mov    %rdi,%rcx
140020c7a:	e8 55 fd ff ff       	call   0x1400209d4
140020c7f:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140020c83:	75 12                	jne    0x140020c97
140020c85:	48 85 ff             	test   %rdi,%rdi
140020c88:	74 04                	je     0x140020c8e
140020c8a:	66 44 89 27          	mov    %r12w,(%rdi)
140020c8e:	e8 59 3d ff ff       	call   0x1400149ec
140020c93:	8b 18                	mov    (%rax),%ebx
140020c95:	eb 45                	jmp    0x140020cdc
140020c97:	48 ff c0             	inc    %rax
140020c9a:	48 85 ff             	test   %rdi,%rdi
140020c9d:	74 35                	je     0x140020cd4
140020c9f:	48 3b c6             	cmp    %rsi,%rax
140020ca2:	76 2a                	jbe    0x140020cce
140020ca4:	48 83 bc 24 80 00 00 	cmpq   $0xffffffffffffffff,0x80(%rsp)
140020cab:	00 ff
140020cad:	74 17                	je     0x140020cc6
140020caf:	66 44 89 27          	mov    %r12w,(%rdi)
140020cb3:	e8 34 3d ff ff       	call   0x1400149ec
140020cb8:	bb 22 00 00 00       	mov    $0x22,%ebx
140020cbd:	89 18                	mov    %ebx,(%rax)
140020cbf:	e8 d4 fa fe ff       	call   0x140010798
140020cc4:	eb 16                	jmp    0x140020cdc
140020cc6:	48 8b c6             	mov    %rsi,%rax
140020cc9:	bb 50 00 00 00       	mov    $0x50,%ebx
140020cce:	66 44 89 64 47 fe    	mov    %r12w,-0x2(%rdi,%rax,2)
140020cd4:	4d 85 f6             	test   %r14,%r14
140020cd7:	74 03                	je     0x140020cdc
140020cd9:	49 89 06             	mov    %rax,(%r14)
140020cdc:	44 38 64 24 38       	cmp    %r12b,0x38(%rsp)
140020ce1:	74 0c                	je     0x140020cef
140020ce3:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140020ce8:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140020cef:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140020cf4:	8b c3                	mov    %ebx,%eax
140020cf6:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140020cfb:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
140020d00:	48 83 c4 40          	add    $0x40,%rsp
140020d04:	41 5f                	pop    %r15
140020d06:	41 5e                	pop    %r14
140020d08:	41 5c                	pop    %r12
140020d0a:	c3                   	ret
140020d0b:	cc                   	int3
140020d0c:	48 83 ec 38          	sub    $0x38,%rsp
140020d10:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140020d15:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140020d1b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140020d20:	e8 b3 fe ff ff       	call   0x140020bd8
140020d25:	48 83 c4 38          	add    $0x38,%rsp
140020d29:	c3                   	ret
140020d2a:	cc                   	int3
140020d2b:	cc                   	int3
140020d2c:	40 55                	rex push %rbp
140020d2e:	53                   	push   %rbx
140020d2f:	56                   	push   %rsi
140020d30:	57                   	push   %rdi
140020d31:	41 54                	push   %r12
140020d33:	41 56                	push   %r14
140020d35:	41 57                	push   %r15
140020d37:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140020d3c:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
140020d43:	48 c7 45 0f fe ff ff 	movq   $0xfffffffffffffffe,0xf(%rbp)
140020d4a:	ff
140020d4b:	48 8b 05 2e 33 02 00 	mov    0x2332e(%rip),%rax        # 0x140044080
140020d52:	48 33 c4             	xor    %rsp,%rax
140020d55:	48 89 45 1f          	mov    %rax,0x1f(%rbp)
140020d59:	49 8b f0             	mov    %r8,%rsi
140020d5c:	4c 8b f1             	mov    %rcx,%r14
140020d5f:	48 89 55 df          	mov    %rdx,-0x21(%rbp)
140020d63:	45 33 ff             	xor    %r15d,%r15d
140020d66:	41 8b df             	mov    %r15d,%ebx
140020d69:	44 89 7d d7          	mov    %r15d,-0x29(%rbp)
140020d6d:	48 85 c9             	test   %rcx,%rcx
140020d70:	74 0c                	je     0x140020d7e
140020d72:	4d 85 c0             	test   %r8,%r8
140020d75:	75 07                	jne    0x140020d7e
140020d77:	33 c0                	xor    %eax,%eax
140020d79:	e9 f7 02 00 00       	jmp    0x140021075
140020d7e:	48 85 d2             	test   %rdx,%rdx
140020d81:	75 19                	jne    0x140020d9c
140020d83:	e8 64 3c ff ff       	call   0x1400149ec
140020d88:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140020d8e:	e8 05 fa fe ff       	call   0x140010798
140020d93:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140020d97:	e9 d9 02 00 00       	jmp    0x140021075
140020d9c:	49 8b d1             	mov    %r9,%rdx
140020d9f:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
140020da3:	e8 f8 01 ff ff       	call   0x140010fa0
140020da8:	90                   	nop
140020da9:	48 8b 45 f7          	mov    -0x9(%rbp),%rax
140020dad:	44 8b 50 0c          	mov    0xc(%rax),%r10d
140020db1:	41 81 fa e9 fd 00 00 	cmp    $0xfde9,%r10d
140020db8:	75 21                	jne    0x140020ddb
140020dba:	33 c0                	xor    %eax,%eax
140020dbc:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
140020dc0:	4c 8d 4d e7          	lea    -0x19(%rbp),%r9
140020dc4:	4c 8b c6             	mov    %rsi,%r8
140020dc7:	48 8d 55 df          	lea    -0x21(%rbp),%rdx
140020dcb:	49 8b ce             	mov    %r14,%rcx
140020dce:	e8 8d 7f 00 00       	call   0x140028d60
140020dd3:	48 8b d8             	mov    %rax,%rbx
140020dd6:	e9 83 02 00 00       	jmp    0x14002105e
140020ddb:	4d 85 f6             	test   %r14,%r14
140020dde:	0f 84 ec 01 00 00    	je     0x140020fd0
140020de4:	4c 39 b8 38 01 00 00 	cmp    %r15,0x138(%rax)
140020deb:	75 4c                	jne    0x140020e39
140020ded:	48 85 f6             	test   %rsi,%rsi
140020df0:	0f 84 68 02 00 00    	je     0x14002105e
140020df6:	ba ff 00 00 00       	mov    $0xff,%edx
140020dfb:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140020dff:	66 39 11             	cmp    %dx,(%rcx)
140020e02:	77 27                	ja     0x140020e2b
140020e04:	8a 01                	mov    (%rcx),%al
140020e06:	41 88 04 1e          	mov    %al,(%r14,%rbx,1)
140020e0a:	0f b7 01             	movzwl (%rcx),%eax
140020e0d:	48 83 c1 02          	add    $0x2,%rcx
140020e11:	48 89 4d df          	mov    %rcx,-0x21(%rbp)
140020e15:	66 85 c0             	test   %ax,%ax
140020e18:	0f 84 40 02 00 00    	je     0x14002105e
140020e1e:	48 ff c3             	inc    %rbx
140020e21:	48 3b de             	cmp    %rsi,%rbx
140020e24:	72 d9                	jb     0x140020dff
140020e26:	e9 33 02 00 00       	jmp    0x14002105e
140020e2b:	e8 bc 3b ff ff       	call   0x1400149ec
140020e30:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140020e34:	e9 1f 02 00 00       	jmp    0x140021058
140020e39:	4c 8b 45 df          	mov    -0x21(%rbp),%r8
140020e3d:	83 78 08 01          	cmpl   $0x1,0x8(%rax)
140020e41:	75 75                	jne    0x140020eb8
140020e43:	48 85 f6             	test   %rsi,%rsi
140020e46:	74 2d                	je     0x140020e75
140020e48:	49 8b c0             	mov    %r8,%rax
140020e4b:	48 8b ce             	mov    %rsi,%rcx
140020e4e:	66 44 39 38          	cmp    %r15w,(%rax)
140020e52:	74 0a                	je     0x140020e5e
140020e54:	48 83 c0 02          	add    $0x2,%rax
140020e58:	48 83 e9 01          	sub    $0x1,%rcx
140020e5c:	75 f0                	jne    0x140020e4e
140020e5e:	48 85 c9             	test   %rcx,%rcx
140020e61:	74 12                	je     0x140020e75
140020e63:	66 44 39 38          	cmp    %r15w,(%rax)
140020e67:	75 0c                	jne    0x140020e75
140020e69:	48 8b f0             	mov    %rax,%rsi
140020e6c:	49 2b f0             	sub    %r8,%rsi
140020e6f:	48 d1 fe             	sar    $1,%rsi
140020e72:	48 ff c6             	inc    %rsi
140020e75:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
140020e79:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140020e7e:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140020e83:	89 74 24 28          	mov    %esi,0x28(%rsp)
140020e87:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140020e8c:	44 8b ce             	mov    %esi,%r9d
140020e8f:	33 d2                	xor    %edx,%edx
140020e91:	41 8b ca             	mov    %r10d,%ecx
140020e94:	e8 c3 0e 00 00       	call   0x140021d5c
140020e99:	48 63 c8             	movslq %eax,%rcx
140020e9c:	85 c0                	test   %eax,%eax
140020e9e:	74 8b                	je     0x140020e2b
140020ea0:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020ea4:	75 85                	jne    0x140020e2b
140020ea6:	48 8d 59 ff          	lea    -0x1(%rcx),%rbx
140020eaa:	45 38 7c 0e ff       	cmp    %r15b,-0x1(%r14,%rcx,1)
140020eaf:	48 0f 45 d9          	cmovne %rcx,%rbx
140020eb3:	e9 a6 01 00 00       	jmp    0x14002105e
140020eb8:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
140020ebc:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140020ec1:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140020ec6:	89 74 24 28          	mov    %esi,0x28(%rsp)
140020eca:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140020ecf:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140020ed3:	44 8b cb             	mov    %ebx,%r9d
140020ed6:	33 d2                	xor    %edx,%edx
140020ed8:	41 8b ca             	mov    %r10d,%ecx
140020edb:	e8 7c 0e 00 00       	call   0x140021d5c
140020ee0:	48 63 f8             	movslq %eax,%rdi
140020ee3:	85 c0                	test   %eax,%eax
140020ee5:	74 13                	je     0x140020efa
140020ee7:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020eeb:	0f 85 62 01 00 00    	jne    0x140021053
140020ef1:	48 8d 5f ff          	lea    -0x1(%rdi),%rbx
140020ef5:	e9 64 01 00 00       	jmp    0x14002105e
140020efa:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020efe:	0f 85 4f 01 00 00    	jne    0x140021053
140020f04:	ff 15 56 b1 00 00    	call   *0xb156(%rip)        # 0x14002c060
140020f0a:	83 f8 7a             	cmp    $0x7a,%eax
140020f0d:	0f 85 40 01 00 00    	jne    0x140021053
140020f13:	48 85 f6             	test   %rsi,%rsi
140020f16:	0f 84 45 01 00 00    	je     0x140021061
140020f1c:	44 8d 60 8b          	lea    -0x75(%rax),%r12d
140020f20:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
140020f24:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
140020f28:	8b 41 08             	mov    0x8(%rcx),%eax
140020f2b:	41 3b c4             	cmp    %r12d,%eax
140020f2e:	41 0f 4f c4          	cmovg  %r12d,%eax
140020f32:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
140020f36:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140020f3b:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140020f40:	89 44 24 28          	mov    %eax,0x28(%rsp)
140020f44:	48 8d 45 17          	lea    0x17(%rbp),%rax
140020f48:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140020f4d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140020f53:	4c 8b c2             	mov    %rdx,%r8
140020f56:	33 d2                	xor    %edx,%edx
140020f58:	8b 49 0c             	mov    0xc(%rcx),%ecx
140020f5b:	e8 fc 0d 00 00       	call   0x140021d5c
140020f60:	85 c0                	test   %eax,%eax
140020f62:	0f 84 eb 00 00 00    	je     0x140021053
140020f68:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020f6c:	0f 85 e1 00 00 00    	jne    0x140021053
140020f72:	85 c0                	test   %eax,%eax
140020f74:	0f 88 d9 00 00 00    	js     0x140021053
140020f7a:	48 63 d0             	movslq %eax,%rdx
140020f7d:	49 3b d4             	cmp    %r12,%rdx
140020f80:	0f 87 cd 00 00 00    	ja     0x140021053
140020f86:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
140020f8a:	48 3b c6             	cmp    %rsi,%rax
140020f8d:	0f 87 ce 00 00 00    	ja     0x140021061
140020f93:	49 8b cf             	mov    %r15,%rcx
140020f96:	48 85 d2             	test   %rdx,%rdx
140020f99:	7e 1b                	jle    0x140020fb6
140020f9b:	8a 44 0d 17          	mov    0x17(%rbp,%rcx,1),%al
140020f9f:	41 88 04 3e          	mov    %al,(%r14,%rdi,1)
140020fa3:	84 c0                	test   %al,%al
140020fa5:	0f 84 b6 00 00 00    	je     0x140021061
140020fab:	48 ff c1             	inc    %rcx
140020fae:	48 ff c7             	inc    %rdi
140020fb1:	48 3b ca             	cmp    %rdx,%rcx
140020fb4:	7c e5                	jl     0x140020f9b
140020fb6:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
140020fba:	48 83 c2 02          	add    $0x2,%rdx
140020fbe:	48 89 55 df          	mov    %rdx,-0x21(%rbp)
140020fc2:	48 3b fe             	cmp    %rsi,%rdi
140020fc5:	0f 83 96 00 00 00    	jae    0x140021061
140020fcb:	e9 54 ff ff ff       	jmp    0x140020f24
140020fd0:	4c 39 b8 38 01 00 00 	cmp    %r15,0x138(%rax)
140020fd7:	75 3b                	jne    0x140021014
140020fd9:	49 8b ff             	mov    %r15,%rdi
140020fdc:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140020fe0:	0f b7 01             	movzwl (%rcx),%eax
140020fe3:	66 85 c0             	test   %ax,%ax
140020fe6:	74 79                	je     0x140021061
140020fe8:	ba ff 00 00 00       	mov    $0xff,%edx
140020fed:	66 3b c2             	cmp    %dx,%ax
140020ff0:	77 11                	ja     0x140021003
140020ff2:	48 ff c7             	inc    %rdi
140020ff5:	48 83 c1 02          	add    $0x2,%rcx
140020ff9:	0f b7 01             	movzwl (%rcx),%eax
140020ffc:	66 85 c0             	test   %ax,%ax
140020fff:	75 ec                	jne    0x140020fed
140021001:	eb 5e                	jmp    0x140021061
140021003:	e8 e4 39 ff ff       	call   0x1400149ec
140021008:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
14002100e:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140021012:	eb 4d                	jmp    0x140021061
140021014:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
140021018:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14002101d:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140021022:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
140021027:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14002102c:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140021030:	44 8b cb             	mov    %ebx,%r9d
140021033:	4c 8b 45 df          	mov    -0x21(%rbp),%r8
140021037:	33 d2                	xor    %edx,%edx
140021039:	41 8b ca             	mov    %r10d,%ecx
14002103c:	e8 1b 0d 00 00       	call   0x140021d5c
140021041:	48 63 f8             	movslq %eax,%rdi
140021044:	85 c0                	test   %eax,%eax
140021046:	74 0b                	je     0x140021053
140021048:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
14002104c:	75 05                	jne    0x140021053
14002104e:	48 ff cf             	dec    %rdi
140021051:	eb 0e                	jmp    0x140021061
140021053:	e8 94 39 ff ff       	call   0x1400149ec
140021058:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
14002105e:	48 8b fb             	mov    %rbx,%rdi
140021061:	44 38 7d 07          	cmp    %r15b,0x7(%rbp)
140021065:	74 0b                	je     0x140021072
140021067:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
14002106b:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140021072:	48 8b c7             	mov    %rdi,%rax
140021075:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140021079:	48 33 cc             	xor    %rsp,%rcx
14002107c:	e8 ef b4 fe ff       	call   0x14000c570
140021081:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140021088:	41 5f                	pop    %r15
14002108a:	41 5e                	pop    %r14
14002108c:	41 5c                	pop    %r12
14002108e:	5f                   	pop    %rdi
14002108f:	5e                   	pop    %rsi
140021090:	5b                   	pop    %rbx
140021091:	5d                   	pop    %rbp
140021092:	c3                   	ret
140021093:	cc                   	int3
140021094:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021099:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002109e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1400210a3:	41 56                	push   %r14
1400210a5:	48 83 ec 20          	sub    $0x20,%rsp
1400210a9:	45 33 f6             	xor    %r14d,%r14d
1400210ac:	49 8b c1             	mov    %r9,%rax
1400210af:	49 8b f8             	mov    %r8,%rdi
1400210b2:	48 8b da             	mov    %rdx,%rbx
1400210b5:	48 8b f1             	mov    %rcx,%rsi
1400210b8:	48 85 d2             	test   %rdx,%rdx
1400210bb:	74 51                	je     0x14002110e
1400210bd:	4d 85 c0             	test   %r8,%r8
1400210c0:	74 51                	je     0x140021113
1400210c2:	48 85 db             	test   %rbx,%rbx
1400210c5:	74 03                	je     0x1400210ca
1400210c7:	44 88 32             	mov    %r14b,(%rdx)
1400210ca:	48 85 f6             	test   %rsi,%rsi
1400210cd:	74 03                	je     0x1400210d2
1400210cf:	4c 21 31             	and    %r14,(%rcx)
1400210d2:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1400210d7:	4c 3b c7             	cmp    %rdi,%r8
1400210da:	4c 0f 47 c7          	cmova  %rdi,%r8
1400210de:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
1400210e5:	77 2c                	ja     0x140021113
1400210e7:	4c 8b 4c 24 58       	mov    0x58(%rsp),%r9
1400210ec:	48 8b d0             	mov    %rax,%rdx
1400210ef:	48 8b cb             	mov    %rbx,%rcx
1400210f2:	e8 35 fc ff ff       	call   0x140020d2c
1400210f7:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400210fb:	75 2b                	jne    0x140021128
1400210fd:	48 85 db             	test   %rbx,%rbx
140021100:	74 03                	je     0x140021105
140021102:	44 88 33             	mov    %r14b,(%rbx)
140021105:	e8 e2 38 ff ff       	call   0x1400149ec
14002110a:	8b 00                	mov    (%rax),%eax
14002110c:	eb 5c                	jmp    0x14002116a
14002110e:	48 85 ff             	test   %rdi,%rdi
140021111:	74 af                	je     0x1400210c2
140021113:	e8 d4 38 ff ff       	call   0x1400149ec
140021118:	bb 16 00 00 00       	mov    $0x16,%ebx
14002111d:	89 18                	mov    %ebx,(%rax)
14002111f:	e8 74 f6 fe ff       	call   0x140010798
140021124:	8b c3                	mov    %ebx,%eax
140021126:	eb 42                	jmp    0x14002116a
140021128:	48 ff c0             	inc    %rax
14002112b:	48 85 db             	test   %rbx,%rbx
14002112e:	74 2f                	je     0x14002115f
140021130:	48 3b c7             	cmp    %rdi,%rax
140021133:	76 25                	jbe    0x14002115a
140021135:	48 83 7c 24 50 ff    	cmpq   $0xffffffffffffffff,0x50(%rsp)
14002113b:	74 14                	je     0x140021151
14002113d:	44 88 33             	mov    %r14b,(%rbx)
140021140:	48 3b f8             	cmp    %rax,%rdi
140021143:	77 0c                	ja     0x140021151