140081c0f:	48 89 c1             	mov    %rax,%rcx
140081c12:	48 8b 45 10          	mov    0x10(%rbp),%rax
140081c16:	48 83 f8 1f          	cmp    $0x1f,%rax
140081c1a:	76 74                	jbe    0x140081c90
140081c1c:	48 2b 2d 7d 74 1b 00 	sub    0x1b747d(%rip),%rbp        # 0x1402390a0
140081c23:	44 29 ee             	sub    %r13d,%esi
140081c26:	48 01 fb             	add    %rdi,%rbx
140081c29:	48 b8 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rax
140081c30:	e3 38 8e
140081c33:	48 c1 fd 04          	sar    $0x4,%rbp
140081c37:	48 0f af e8          	imul   %rax,%rbp
140081c3b:	89 69 20             	mov    %ebp,0x20(%rcx)
140081c3e:	48 83 c1 24          	add    $0x24,%rcx
140081c42:	49 83 c4 04          	add    $0x4,%r12
140081c46:	4c 39 f9             	cmp    %r15,%rcx
140081c49:	75 95                	jne    0x140081be0
140081c4b:	85 f6                	test   %esi,%esi
140081c4d:	0f 85 d3 fe ff ff    	jne    0x140081b26
140081c53:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140081c58:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140081c5f:	00
140081c60:	48 8b 35 89 6e 1b 00 	mov    0x1b6e89(%rip),%rsi        # 0x140238af0
140081c67:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140081c6c:	48 2b 16             	sub    (%rsi),%rdx
140081c6f:	0f 85 fb 00 00 00    	jne    0x140081d70
140081c75:	48 83 c4 58          	add    $0x58,%rsp
140081c79:	5b                   	pop    %rbx
140081c7a:	5e                   	pop    %rsi
140081c7b:	5f                   	pop    %rdi
140081c7c:	5d                   	pop    %rbp
140081c7d:	41 5c                	pop    %r12
140081c7f:	41 5d                	pop    %r13
140081c81:	41 5e                	pop    %r14
140081c83:	41 5f                	pop    %r15
140081c85:	c3                   	ret
140081c86:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140081c8d:	00 00 00
140081c90:	ba 20 00 00 00       	mov    $0x20,%edx
140081c95:	45 31 c9             	xor    %r9d,%r9d
140081c98:	48 29 c2             	sub    %rax,%rdx
140081c9b:	48 01 c8             	add    %rcx,%rax
140081c9e:	83 fa 08             	cmp    $0x8,%edx
140081ca1:	73 55                	jae    0x140081cf8
140081ca3:	f6 c2 04             	test   $0x4,%dl
140081ca6:	0f 85 af 00 00 00    	jne    0x140081d5b
140081cac:	85 d2                	test   %edx,%edx
140081cae:	0f 84 68 ff ff ff    	je     0x140081c1c
140081cb4:	c6 00 00             	movb   $0x0,(%rax)
140081cb7:	f6 c2 02             	test   $0x2,%dl
140081cba:	0f 84 5c ff ff ff    	je     0x140081c1c
140081cc0:	89 d2                	mov    %edx,%edx
140081cc2:	45 31 c0             	xor    %r8d,%r8d
140081cc5:	66 44 89 44 10 fe    	mov    %r8w,-0x2(%rax,%rdx,1)
140081ccb:	e9 4c ff ff ff       	jmp    0x140081c1c
140081cd0:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140081cd5:	ba 01 00 00 00       	mov    $0x1,%edx
140081cda:	48 89 c1             	mov    %rax,%rcx
140081cdd:	e8 1e de 01 00       	call   0x14009fb00
140081ce2:	48 8d 0d cf 46 18 00 	lea    0x1846cf(%rip),%rcx        # 0x1402063b8
140081ce9:	e8 42 19 04 00       	call   0x1400c3630
140081cee:	31 c0                	xor    %eax,%eax
140081cf0:	e9 6b ff ff ff       	jmp    0x140081c60
140081cf5:	0f 1f 00             	nopl   (%rax)
140081cf8:	41 89 d0             	mov    %edx,%r8d
140081cfb:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140081d02:	4a c7 44 00 f8 00 00 	movq   $0x0,-0x8(%rax,%r8,1)
140081d09:	00 00
140081d0b:	4c 8d 40 08          	lea    0x8(%rax),%r8
140081d0f:	49 83 e0 f8          	and    $0xfffffffffffffff8,%r8
140081d13:	4c 29 c0             	sub    %r8,%rax
140081d16:	01 c2                	add    %eax,%edx
140081d18:	83 e2 f8             	and    $0xfffffff8,%edx
140081d1b:	83 fa 08             	cmp    $0x8,%edx
140081d1e:	0f 82 f8 fe ff ff    	jb     0x140081c1c
140081d24:	83 e2 f8             	and    $0xfffffff8,%edx
140081d27:	31 c0                	xor    %eax,%eax
140081d29:	41 89 c2             	mov    %eax,%r10d
140081d2c:	83 c0 08             	add    $0x8,%eax
140081d2f:	4f 89 0c 10          	mov    %r9,(%r8,%r10,1)
140081d33:	39 d0                	cmp    %edx,%eax
140081d35:	72 f2                	jb     0x140081d29
140081d37:	e9 e0 fe ff ff       	jmp    0x140081c1c
140081d3c:	0f 1f 40 00          	nopl   0x0(%rax)
140081d40:	ba 78 00 00 00       	mov    $0x78,%edx
140081d45:	b9 01 00 00 00       	mov    $0x1,%ecx
140081d4a:	e8 51 8f 04 00       	call   0x1400caca0
140081d4f:	48 89 45 08          	mov    %rax,0x8(%rbp)
140081d53:	49 89 c6             	mov    %rax,%r14
140081d56:	e9 ff fd ff ff       	jmp    0x140081b5a
140081d5b:	89 d2                	mov    %edx,%edx
140081d5d:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
140081d63:	c7 44 10 fc 00 00 00 	movl   $0x0,-0x4(%rax,%rdx,1)
140081d6a:	00
140081d6b:	e9 ac fe ff ff       	jmp    0x140081c1c
140081d70:	e8 fb 2a 16 00       	call   0x1401e4870
140081d75:	90                   	nop
140081d76:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140081d7d:	00 00 00
140081d80:	56                   	push   %rsi
140081d81:	53                   	push   %rbx
140081d82:	48 83 ec 28          	sub    $0x28,%rsp
140081d86:	48 8b 71 18          	mov    0x18(%rcx),%rsi
140081d8a:	48 89 cb             	mov    %rcx,%rbx
140081d8d:	48 85 f6             	test   %rsi,%rsi
140081d90:	74 21                	je     0x140081db3
140081d92:	ba 01 00 00 00       	mov    $0x1,%edx
140081d97:	48 89 f1             	mov    %rsi,%rcx
140081d9a:	e8 61 dd 01 00       	call   0x14009fb00
140081d9f:	48 89 f1             	mov    %rsi,%rcx
140081da2:	e8 09 71 07 00       	call   0x1400f8eb0
140081da7:	83 4b 14 10          	orl    $0x10,0x14(%rbx)
140081dab:	48 c7 43 18 00 00 00 	movq   $0x0,0x18(%rbx)
140081db2:	00
140081db3:	48 83 c4 28          	add    $0x28,%rsp
140081db7:	5b                   	pop    %rbx
140081db8:	5e                   	pop    %rsi
140081db9:	c3                   	ret
140081dba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140081dc0:	41 55                	push   %r13
140081dc2:	41 54                	push   %r12
140081dc4:	55                   	push   %rbp
140081dc5:	57                   	push   %rdi
140081dc6:	56                   	push   %rsi
140081dc7:	53                   	push   %rbx
140081dc8:	48 83 ec 38          	sub    $0x38,%rsp
140081dcc:	48 89 ce             	mov    %rcx,%rsi
140081dcf:	48 89 d1             	mov    %rdx,%rcx
140081dd2:	48 89 d7             	mov    %rdx,%rdi
140081dd5:	4c 89 c5             	mov    %r8,%rbp
140081dd8:	45 89 cc             	mov    %r9d,%r12d
140081ddb:	e8 b8 80 16 00       	call   0x1401e9e98
140081de0:	48 89 fa             	mov    %rdi,%rdx
140081de3:	48 89 f1             	mov    %rsi,%rcx
140081de6:	41 89 c0             	mov    %eax,%r8d
140081de9:	e8 f2 92 fd ff       	call   0x14005b0e0
140081dee:	89 c2                	mov    %eax,%edx
140081df0:	85 c0                	test   %eax,%eax
140081df2:	0f 89 88 00 00 00    	jns    0x140081e80
140081df8:	f7 d2                	not    %edx
140081dfa:	3b 56 0c             	cmp    0xc(%rsi),%edx
140081dfd:	72 61                	jb     0x140081e60
140081dff:	4c 8d 6d 0c          	lea    0xc(%rbp),%r13
140081e03:	bb 01 00 00 00       	mov    $0x1,%ebx
140081e08:	8b 54 9d fc          	mov    -0x4(%rbp,%rbx,4),%edx
140081e0c:	85 d2                	test   %edx,%edx
140081e0e:	74 33                	je     0x140081e43
140081e10:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140081e14:	4d 89 e8             	mov    %r13,%r8
140081e17:	48 89 f1             	mov    %rsi,%rcx
140081e1a:	49 89 f9             	mov    %rdi,%r9
140081e1d:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%rsp)
140081e24:	00
140081e25:	e8 d6 b7 fd ff       	call   0x14005d600
140081e2a:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140081e30:	48 89 f1             	mov    %rsi,%rcx
140081e33:	44 09 60 38          	or     %r12d,0x38(%rax)
140081e37:	48 89 c2             	mov    %rax,%rdx
140081e3a:	e8 11 ba fd ff       	call   0x14005d850
140081e3f:	85 c0                	test   %eax,%eax
140081e41:	75 4d                	jne    0x140081e90
140081e43:	48 83 c3 01          	add    $0x1,%rbx
140081e47:	49 83 c5 24          	add    $0x24,%r13
140081e4b:	48 83 fb 04          	cmp    $0x4,%rbx
140081e4f:	75 b7                	jne    0x140081e08
140081e51:	31 c0                	xor    %eax,%eax
140081e53:	48 83 c4 38          	add    $0x38,%rsp
140081e57:	5b                   	pop    %rbx
140081e58:	5e                   	pop    %rsi
140081e59:	5f                   	pop    %rdi
140081e5a:	5d                   	pop    %rbp
140081e5b:	41 5c                	pop    %r12
140081e5d:	41 5d                	pop    %r13
140081e5f:	c3                   	ret
140081e60:	48 8b 06             	mov    (%rsi),%rax
140081e63:	48 63 d2             	movslq %edx,%rdx
140081e66:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
140081e6a:	48 89 fa             	mov    %rdi,%rdx
140081e6d:	48 83 c1 6c          	add    $0x6c,%rcx
140081e71:	e8 02 80 16 00       	call   0x1401e9e78
140081e76:	85 c0                	test   %eax,%eax
140081e78:	75 85                	jne    0x140081dff
140081e7a:	eb d5                	jmp    0x140081e51
140081e7c:	0f 1f 40 00          	nopl   0x0(%rax)
140081e80:	48 89 f1             	mov    %rsi,%rcx
140081e83:	e8 b8 92 fd ff       	call   0x14005b140
140081e88:	e9 72 ff ff ff       	jmp    0x140081dff
140081e8d:	0f 1f 00             	nopl   (%rax)
140081e90:	48 89 fa             	mov    %rdi,%rdx
140081e93:	48 8d 0d 4d 45 18 00 	lea    0x18454d(%rip),%rcx        # 0x1402063e7
140081e9a:	e8 91 17 04 00       	call   0x1400c3630
140081e9f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140081ea4:	eb ad                	jmp    0x140081e53
140081ea6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140081ead:	00 00 00
140081eb0:	41 55                	push   %r13
140081eb2:	41 54                	push   %r12
140081eb4:	55                   	push   %rbp
140081eb5:	57                   	push   %rdi
140081eb6:	56                   	push   %rsi
140081eb7:	53                   	push   %rbx
140081eb8:	48 83 ec 48          	sub    $0x48,%rsp
140081ebc:	48 83 79 18 00       	cmpq   $0x0,0x18(%rcx)
140081ec1:	48 89 cf             	mov    %rcx,%rdi
140081ec4:	49 89 d4             	mov    %rdx,%r12
140081ec7:	45 89 c5             	mov    %r8d,%r13d
140081eca:	0f 84 b5 00 00 00    	je     0x140081f85
140081ed0:	e8 eb 6e 01 00       	call   0x140098dc0
140081ed5:	48 8b 47 18          	mov    0x18(%rdi),%rax
140081ed9:	48 8b 10             	mov    (%rax),%rdx
140081edc:	48 85 d2             	test   %rdx,%rdx
140081edf:	0f 84 a0 00 00 00    	je     0x140081f85
140081ee5:	48 8b 48 08          	mov    0x8(%rax),%rcx
140081ee9:	48 89 c8             	mov    %rcx,%rax
140081eec:	48 c1 e0 04          	shl    $0x4,%rax
140081ef0:	48 01 d0             	add    %rdx,%rax
140081ef3:	48 39 c2             	cmp    %rax,%rdx
140081ef6:	0f 83 89 00 00 00    	jae    0x140081f85
140081efc:	48 89 d3             	mov    %rdx,%rbx
140081eff:	90                   	nop
140081f00:	48 8b 73 08          	mov    0x8(%rbx),%rsi
140081f04:	48 85 f6             	test   %rsi,%rsi
140081f07:	74 65                	je     0x140081f6e
140081f09:	48 8b 2b             	mov    (%rbx),%rbp
140081f0c:	48 89 e9             	mov    %rbp,%rcx
140081f0f:	e8 84 7f 16 00       	call   0x1401e9e98
140081f14:	49 89 e8             	mov    %rbp,%r8
140081f17:	4c 89 e2             	mov    %r12,%rdx
140081f1a:	48 89 f9             	mov    %rdi,%rcx
140081f1d:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%rsp)
140081f24:	00
140081f25:	41 89 c1             	mov    %eax,%r9d
140081f28:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140081f2f:	00 00
140081f31:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
140081f38:	00
140081f39:	e8 22 15 fa ff       	call   0x140023460
140081f3e:	85 c0                	test   %eax,%eax
140081f40:	74 21                	je     0x140081f63
140081f42:	45 89 e9             	mov    %r13d,%r9d
140081f45:	49 89 f0             	mov    %rsi,%r8
140081f48:	48 89 ea             	mov    %rbp,%rdx
140081f4b:	48 89 f9             	mov    %rdi,%rcx
140081f4e:	e8 6d fe ff ff       	call   0x140081dc0
140081f53:	48 89 f1             	mov    %rsi,%rcx
140081f56:	e8 55 6f 07 00       	call   0x1400f8eb0
140081f5b:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
140081f62:	00
140081f63:	48 8b 47 18          	mov    0x18(%rdi),%rax
140081f67:	48 8b 10             	mov    (%rax),%rdx
140081f6a:	48 8b 48 08          	mov    0x8(%rax),%rcx
140081f6e:	48 89 c8             	mov    %rcx,%rax
140081f71:	48 83 c3 10          	add    $0x10,%rbx
140081f75:	48 c1 e0 04          	shl    $0x4,%rax
140081f79:	48 01 d0             	add    %rdx,%rax
140081f7c:	48 39 c3             	cmp    %rax,%rbx
140081f7f:	0f 82 7b ff ff ff    	jb     0x140081f00
140081f85:	48 83 c4 48          	add    $0x48,%rsp
140081f89:	5b                   	pop    %rbx
140081f8a:	5e                   	pop    %rsi
140081f8b:	5f                   	pop    %rdi
140081f8c:	5d                   	pop    %rbp
140081f8d:	41 5c                	pop    %r12
140081f8f:	41 5d                	pop    %r13
140081f91:	c3                   	ret
140081f92:	90                   	nop
140081f93:	90                   	nop
140081f94:	90                   	nop
140081f95:	90                   	nop
140081f96:	90                   	nop
140081f97:	90                   	nop
140081f98:	90                   	nop
140081f99:	90                   	nop
140081f9a:	90                   	nop
140081f9b:	90                   	nop
140081f9c:	90                   	nop
140081f9d:	90                   	nop
140081f9e:	90                   	nop
140081f9f:	90                   	nop
140081fa0:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140081fa7:	00 00 00
140081faa:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140081fb1:	00 00 00
140081fb4:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140081fbb:	00 00 00
140081fbe:	66 90                	xchg   %ax,%ax
140081fc0:	48 85 d2             	test   %rdx,%rdx
140081fc3:	74 53                	je     0x140082018
140081fc5:	f6 81 1c 01 00 00 40 	testb  $0x40,0x11c(%rcx)
140081fcc:	75 0c                	jne    0x140081fda
140081fce:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140081fd2:	45 31 c0             	xor    %r8d,%r8d
140081fd5:	48 85 c9             	test   %rcx,%rcx
140081fd8:	75 15                	jne    0x140081fef
140081fda:	4c 8b 02             	mov    (%rdx),%r8
140081fdd:	4c 89 c0             	mov    %r8,%rax
140081fe0:	c3                   	ret
140081fe1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140081fe8:	48 89 ca             	mov    %rcx,%rdx
140081feb:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140081fef:	48 8b 12             	mov    (%rdx),%rdx
140081ff2:	8b 02                	mov    (%rdx),%eax
140081ff4:	c1 e8 04             	shr    $0x4,%eax
140081ff7:	25 02 04 00 00       	and    $0x402,%eax
140081ffc:	83 f8 02             	cmp    $0x2,%eax
140081fff:	74 08                	je     0x140082009
140082001:	4d 85 c0             	test   %r8,%r8
140082004:	75 12                	jne    0x140082018
140082006:	49 89 d0             	mov    %rdx,%r8
140082009:	48 85 c9             	test   %rcx,%rcx
14008200c:	75 da                	jne    0x140081fe8
14008200e:	4c 89 c0             	mov    %r8,%rax
140082011:	c3                   	ret
140082012:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140082018:	45 31 c0             	xor    %r8d,%r8d
14008201b:	4c 89 c0             	mov    %r8,%rax
14008201e:	c3                   	ret
14008201f:	90                   	nop
140082020:	8b 05 86 1b 1f 00    	mov    0x1f1b86(%rip),%eax        # 0x140273bac
140082026:	83 fa 2b             	cmp    $0x2b,%edx
140082029:	74 15                	je     0x140082040
14008202b:	83 c8 02             	or     $0x2,%eax
14008202e:	89 05 78 1b 1f 00    	mov    %eax,0x1f1b78(%rip)        # 0x140273bac
140082034:	c7 81 84 00 00 00 01 	movl   $0x1,0x84(%rcx)
14008203b:	00 00 00
14008203e:	c3                   	ret
14008203f:	90                   	nop
140082040:	41 89 c0             	mov    %eax,%r8d
140082043:	48 8b 91 f8 01 00 00 	mov    0x1f8(%rcx),%rdx
14008204a:	41 83 c8 01          	or     $0x1,%r8d
14008204e:	44 89 05 57 1b 1f 00 	mov    %r8d,0x1f1b57(%rip)        # 0x140273bac
140082055:	f6 82 18 01 00 00 40 	testb  $0x40,0x118(%rdx)
14008205c:	74 d6                	je     0x140082034
14008205e:	83 f8 01             	cmp    $0x1,%eax
140082061:	77 d1                	ja     0x140082034
140082063:	c3                   	ret
140082064:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14008206b:	00 00 00 00
14008206f:	90                   	nop
140082070:	c7 05 32 1b 1f 00 03 	movl   $0x3,0x1f1b32(%rip)        # 0x140273bac
140082077:	00 00 00
14008207a:	c7 81 84 00 00 00 01 	movl   $0x1,0x84(%rcx)
140082081:	00 00 00
140082084:	c3                   	ret
140082085:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14008208c:	00 00 00 00
140082090:	48 8b 01             	mov    (%rcx),%rax
140082093:	8b 00                	mov    (%rax),%eax
140082095:	c1 e8 07             	shr    $0x7,%eax
140082098:	83 e0 01             	and    $0x1,%eax
14008209b:	83 f0 01             	xor    $0x1,%eax