140965c69:	48 8b ce             	mov    %rsi,%rcx
140965c6c:	e8 63 99 18 00       	call   0x140aef5d4
140965c71:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140965c76:	48 8b c6             	mov    %rsi,%rax
140965c79:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140965c7e:	48 83 c4 20          	add    $0x20,%rsp
140965c82:	5f                   	pop    %rdi
140965c83:	c3                   	ret
140965c84:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140965c89:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140965c8e:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140965c93:	53                   	push   %rbx
140965c94:	48 83 ec 30          	sub    $0x30,%rsp
140965c98:	49 8b c0             	mov    %r8,%rax
140965c9b:	48 8b d9             	mov    %rcx,%rbx
140965c9e:	4d 8b c1             	mov    %r9,%r8
140965ca1:	48 8b d0             	mov    %rax,%rdx
140965ca4:	e8 bb 83 ff ff       	call   0x14095e064
140965ca9:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%rbx)
140965cb0:	48 83 c4 30          	add    $0x30,%rsp
140965cb4:	5b                   	pop    %rbx
140965cb5:	c3                   	ret
140965cb6:	83 7c 24 48 00       	cmpl   $0x0,0x48(%rsp)
140965cbb:	7d 21                	jge    0x140965cde
140965cbd:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140965cc2:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140965cc6:	49 ff c0             	inc    %r8
140965cc9:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
140965cce:	75 f6                	jne    0x140965cc6
140965cd0:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140965cd5:	48 83 c1 10          	add    $0x10,%rcx
140965cd9:	e8 c2 7e 7a ff       	call   0x14010dba0
140965cde:	48 83 c4 30          	add    $0x30,%rsp
140965ce2:	5b                   	pop    %rbx
140965ce3:	c3                   	ret
140965ce4:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140965ce9:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140965cee:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140965cf3:	53                   	push   %rbx
140965cf4:	48 83 ec 30          	sub    $0x30,%rsp
140965cf8:	49 8b c0             	mov    %r8,%rax
140965cfb:	48 8b d9             	mov    %rcx,%rbx
140965cfe:	4d 8b c1             	mov    %r9,%r8
140965d01:	48 8b d0             	mov    %rax,%rdx
140965d04:	e8 7b 83 ff ff       	call   0x14095e084
140965d09:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%rbx)
140965d10:	48 83 c4 30          	add    $0x30,%rsp
140965d14:	5b                   	pop    %rbx
140965d15:	c3                   	ret
140965d16:	83 7c 24 48 00       	cmpl   $0x0,0x48(%rsp)
140965d1b:	7d 21                	jge    0x140965d3e
140965d1d:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140965d22:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140965d26:	49 ff c0             	inc    %r8
140965d29:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
140965d2e:	75 f6                	jne    0x140965d26
140965d30:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140965d35:	48 83 c1 10          	add    $0x10,%rcx
140965d39:	e8 62 7e 7a ff       	call   0x14010dba0
140965d3e:	48 83 c4 30          	add    $0x30,%rsp
140965d42:	5b                   	pop    %rbx
140965d43:	c3                   	ret
140965d44:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140965d49:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140965d4e:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140965d53:	53                   	push   %rbx
140965d54:	48 83 ec 30          	sub    $0x30,%rsp
140965d58:	49 8b c0             	mov    %r8,%rax
140965d5b:	48 8b d9             	mov    %rcx,%rbx
140965d5e:	4d 8b c1             	mov    %r9,%r8
140965d61:	48 8b d0             	mov    %rax,%rdx
140965d64:	e8 47 83 ff ff       	call   0x14095e0b0
140965d69:	c7 43 08 02 00 00 00 	movl   $0x2,0x8(%rbx)
140965d70:	48 83 c4 30          	add    $0x30,%rsp
140965d74:	5b                   	pop    %rbx
140965d75:	c3                   	ret
140965d76:	83 7c 24 48 00       	cmpl   $0x0,0x48(%rsp)
140965d7b:	7d 21                	jge    0x140965d9e
140965d7d:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140965d82:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
140965d86:	49 ff c0             	inc    %r8
140965d89:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
140965d8e:	75 f6                	jne    0x140965d86
140965d90:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140965d95:	48 83 c1 10          	add    $0x10,%rcx
140965d99:	e8 02 7e 7a ff       	call   0x14010dba0
140965d9e:	48 83 c4 30          	add    $0x30,%rsp
140965da2:	5b                   	pop    %rbx
140965da3:	c3                   	ret
140965da4:	40 53                	rex push %rbx
140965da6:	48 83 ec 20          	sub    $0x20,%rsp
140965daa:	83 21 00             	andl   $0x0,(%rcx)
140965dad:	45 32 d2             	xor    %r10b,%r10b
140965db0:	4c 8b c9             	mov    %rcx,%r9
140965db3:	48 85 d2             	test   %rdx,%rdx
140965db6:	0f 84 96 00 00 00    	je     0x140965e52
140965dbc:	8a 02                	mov    (%rdx),%al
140965dbe:	84 c0                	test   %al,%al
140965dc0:	0f 84 8c 00 00 00    	je     0x140965e52
140965dc6:	3c 2b                	cmp    $0x2b,%al
140965dc8:	74 07                	je     0x140965dd1
140965dca:	3c 2d                	cmp    $0x2d,%al
140965dcc:	75 0c                	jne    0x140965dda
140965dce:	41 b2 01             	mov    $0x1,%r10b
140965dd1:	48 8d 42 01          	lea    0x1(%rdx),%rax
140965dd5:	48 8b d0             	mov    %rax,%rdx
140965dd8:	8a 00                	mov    (%rax),%al
140965dda:	84 c0                	test   %al,%al
140965ddc:	74 6b                	je     0x140965e49
140965dde:	44 8a 02             	mov    (%rdx),%r8b
140965de1:	33 c9                	xor    %ecx,%ecx
140965de3:	41 80 f8 30          	cmp    $0x30,%r8b
140965de7:	7c 60                	jl     0x140965e49
140965de9:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
140965dee:	41 bb 00 00 00 80    	mov    $0x80000000,%r11d
140965df4:	41 80 f8 39          	cmp    $0x39,%r8b
140965df8:	77 4f                	ja     0x140965e49
140965dfa:	85 c9                	test   %ecx,%ecx
140965dfc:	74 16                	je     0x140965e14
140965dfe:	48 63 c1             	movslq %ecx,%rax
140965e01:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140965e05:	48 03 c9             	add    %rcx,%rcx
140965e08:	4a 8d 04 19          	lea    (%rcx,%r11,1),%rax
140965e0c:	48 3b c3             	cmp    %rbx,%rax
140965e0f:	77 41                	ja     0x140965e52
140965e11:	41 89 09             	mov    %ecx,(%r9)
140965e14:	41 0f b6 c0          	movzbl %r8b,%eax
140965e18:	48 83 e8 30          	sub    $0x30,%rax
140965e1c:	48 63 c9             	movslq %ecx,%rcx
140965e1f:	45 84 d2             	test   %r10b,%r10b
140965e22:	75 05                	jne    0x140965e29
140965e24:	48 03 c8             	add    %rax,%rcx
140965e27:	eb 03                	jmp    0x140965e2c
140965e29:	48 2b c8             	sub    %rax,%rcx
140965e2c:	4a 8d 04 19          	lea    (%rcx,%r11,1),%rax
140965e30:	48 3b c3             	cmp    %rbx,%rax
140965e33:	77 1d                	ja     0x140965e52
140965e35:	48 ff c2             	inc    %rdx
140965e38:	41 89 09             	mov    %ecx,(%r9)
140965e3b:	44 8a 02             	mov    (%rdx),%r8b
140965e3e:	45 84 c0             	test   %r8b,%r8b
140965e41:	74 06                	je     0x140965e49
140965e43:	41 80 f8 30          	cmp    $0x30,%r8b
140965e47:	7d ab                	jge    0x140965df4
140965e49:	49 8b c1             	mov    %r9,%rax
140965e4c:	48 83 c4 20          	add    $0x20,%rsp
140965e50:	5b                   	pop    %rbx
140965e51:	c3                   	ret
140965e52:	e8 cd 9e 97 ff       	call   0x1402dfd24
140965e57:	cc                   	int3
140965e58:	90                   	nop
140965e59:	90                   	nop
140965e5a:	90                   	nop
140965e5b:	90                   	nop
140965e5c:	90                   	nop
140965e5d:	90                   	nop
140965e5e:	90                   	nop
140965e5f:	90                   	nop
140965e60:	33 c0                	xor    %eax,%eax
140965e62:	89 01                	mov    %eax,(%rcx)
140965e64:	48 89 41 08          	mov    %rax,0x8(%rcx)
140965e68:	48 89 41 10          	mov    %rax,0x10(%rcx)
140965e6c:	48 8b c1             	mov    %rcx,%rax
140965e6f:	c3                   	ret
140965e70:	40 53                	rex push %rbx
140965e72:	48 83 ec 30          	sub    $0x30,%rsp
140965e76:	48 8b d9             	mov    %rcx,%rbx
140965e79:	b9 58 00 00 00       	mov    $0x58,%ecx
140965e7e:	ff 15 44 6a 1a 00    	call   *0x1a6a44(%rip)        # 0x140b0c8c8
140965e84:	4c 8b c0             	mov    %rax,%r8
140965e87:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140965e8c:	48 85 c0             	test   %rax,%rax
140965e8f:	75 07                	jne    0x140965e98
140965e91:	ff 15 01 66 1a 00    	call   *0x1a6601(%rip)        # 0x140b0c498
140965e97:	90                   	nop
140965e98:	b8 01 00 00 00       	mov    $0x1,%eax
140965e9d:	41 89 40 08          	mov    %eax,0x8(%r8)
140965ea1:	41 89 40 0c          	mov    %eax,0xc(%r8)
140965ea5:	48 8d 05 cc 6c 1c 00 	lea    0x1c6ccc(%rip),%rax        # 0x140b2cb78
140965eac:	49 89 00             	mov    %rax,(%r8)
140965eaf:	49 8d 48 10          	lea    0x10(%r8),%rcx
140965eb3:	e8 44 7f ff ff       	call   0x14095ddfc
140965eb8:	48 89 0b             	mov    %rcx,(%rbx)
140965ebb:	4c 89 43 08          	mov    %r8,0x8(%rbx)
140965ebf:	48 8b c3             	mov    %rbx,%rax
140965ec2:	48 83 c4 30          	add    $0x30,%rsp
140965ec6:	5b                   	pop    %rbx
140965ec7:	c3                   	ret
140965ec8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140965ecd:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140965ed2:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140965ed7:	57                   	push   %rdi
140965ed8:	48 83 ec 20          	sub    $0x20,%rsp
140965edc:	41 8b f0             	mov    %r8d,%esi
140965edf:	48 8b da             	mov    %rdx,%rbx
140965ee2:	33 ff                	xor    %edi,%edi
140965ee4:	45 85 c0             	test   %r8d,%r8d
140965ee7:	7e 1e                	jle    0x140965f07
140965ee9:	48 8b 0b             	mov    (%rbx),%rcx
140965eec:	48 8b 01             	mov    (%rcx),%rax
140965eef:	48 8b 40 18          	mov    0x18(%rax),%rax
140965ef3:	ff 15 3f 6d 1a 00    	call   *0x1a6d3f(%rip)        # 0x140b0cc38
140965ef9:	c1 e7 08             	shl    $0x8,%edi
140965efc:	0f b6 c0             	movzbl %al,%eax
140965eff:	0b f8                	or     %eax,%edi
140965f01:	ff ce                	dec    %esi
140965f03:	85 f6                	test   %esi,%esi
140965f05:	7f e2                	jg     0x140965ee9
140965f07:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140965f0b:	48 85 db             	test   %rbx,%rbx
140965f0e:	74 38                	je     0x140965f48
140965f10:	83 ce ff             	or     $0xffffffff,%esi
140965f13:	8b c6                	mov    %esi,%eax
140965f15:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140965f1a:	03 c6                	add    %esi,%eax
140965f1c:	75 2a                	jne    0x140965f48
140965f1e:	48 8b 03             	mov    (%rbx),%rax
140965f21:	48 8b cb             	mov    %rbx,%rcx
140965f24:	48 8b 00             	mov    (%rax),%rax
140965f27:	ff 15 0b 6d 1a 00    	call   *0x1a6d0b(%rip)        # 0x140b0cc38
140965f2d:	8b d6                	mov    %esi,%edx
140965f2f:	f0 0f c1 53 0c       	lock xadd %edx,0xc(%rbx)
140965f34:	03 d6                	add    %esi,%edx
140965f36:	75 10                	jne    0x140965f48
140965f38:	48 8b 13             	mov    (%rbx),%rdx
140965f3b:	48 8b cb             	mov    %rbx,%rcx
140965f3e:	48 8b 42 08          	mov    0x8(%rdx),%rax
140965f42:	ff 15 f0 6c 1a 00    	call   *0x1a6cf0(%rip)        # 0x140b0cc38
140965f48:	8b c7                	mov    %edi,%eax
140965f4a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140965f4f:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140965f54:	48 83 c4 20          	add    $0x20,%rsp
140965f58:	5f                   	pop    %rdi
140965f59:	c3                   	ret
140965f5a:	90                   	nop
140965f5b:	90                   	nop
140965f5c:	90                   	nop
140965f5d:	90                   	nop
140965f5e:	90                   	nop
140965f5f:	90                   	nop
140965f60:	48 8b c4             	mov    %rsp,%rax
140965f63:	48 89 58 08          	mov    %rbx,0x8(%rax)
140965f67:	48 89 68 10          	mov    %rbp,0x10(%rax)
140965f6b:	48 89 70 18          	mov    %rsi,0x18(%rax)
140965f6f:	4c 89 70 20          	mov    %r14,0x20(%rax)
140965f73:	41 57                	push   %r15
140965f75:	48 83 ec 20          	sub    $0x20,%rsp
140965f79:	49 8b e9             	mov    %r9,%rbp
140965f7c:	48 8b f1             	mov    %rcx,%rsi
140965f7f:	48 39 54 24 50       	cmp    %rdx,0x50(%rsp)
140965f84:	77 55                	ja     0x140965fdb
140965f86:	48 83 7c 24 50 00    	cmpq   $0x0,0x50(%rsp)
140965f8c:	75 04                	jne    0x140965f92
140965f8e:	33 c0                	xor    %eax,%eax
140965f90:	eb 4d                	jmp    0x140965fdf
140965f92:	45 0f be 39          	movsbl (%r9),%r15d
140965f96:	4c 8b f6             	mov    %rsi,%r14
140965f99:	4c 2b 74 24 50       	sub    0x50(%rsp),%r14
140965f9e:	4c 03 f2             	add    %rdx,%r14
140965fa1:	4d 8d 46 01          	lea    0x1(%r14),%r8
140965fa5:	4c 2b c6             	sub    %rsi,%r8
140965fa8:	eb 21                	jmp    0x140965fcb
140965faa:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140965faf:	48 8b d5             	mov    %rbp,%rdx
140965fb2:	48 8b cb             	mov    %rbx,%rcx
140965fb5:	e8 30 c3 18 00       	call   0x140af22ea
140965fba:	85 c0                	test   %eax,%eax
140965fbc:	74 3c                	je     0x140965ffa
140965fbe:	48 ff c3             	inc    %rbx
140965fc1:	4d 8d 46 01          	lea    0x1(%r14),%r8
140965fc5:	4c 2b c3             	sub    %rbx,%r8
140965fc8:	48 8b cb             	mov    %rbx,%rcx
140965fcb:	41 8b d7             	mov    %r15d,%edx
140965fce:	e8 11 c3 18 00       	call   0x140af22e4
140965fd3:	48 8b d8             	mov    %rax,%rbx
140965fd6:	48 85 c0             	test   %rax,%rax
140965fd9:	75 cf                	jne    0x140965faa
140965fdb:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140965fdf:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140965fe4:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140965fe9:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140965fee:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140965ff3:	48 83 c4 20          	add    $0x20,%rsp
140965ff7:	41 5f                	pop    %r15
140965ff9:	c3                   	ret
140965ffa:	48 2b de             	sub    %rsi,%rbx
140965ffd:	48 8b c3             	mov    %rbx,%rax
140966000:	eb dd                	jmp    0x140965fdf
140966002:	cc                   	int3
140966003:	90                   	nop
140966004:	48 8b c4             	mov    %rsp,%rax
140966007:	48 89 58 08          	mov    %rbx,0x8(%rax)
14096600b:	48 89 68 10          	mov    %rbp,0x10(%rax)
14096600f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140966013:	48 89 78 20          	mov    %rdi,0x20(%rax)
140966017:	41 54                	push   %r12
140966019:	41 56                	push   %r14
14096601b:	41 57                	push   %r15
14096601d:	48 83 ec 20          	sub    $0x20,%rsp
140966021:	48 8b e9             	mov    %rcx,%rbp
140966024:	be 01 00 00 00       	mov    $0x1,%esi
140966029:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14096602d:	48 85 c9             	test   %rcx,%rcx
140966030:	48 0f 45 f1          	cmovne %rcx,%rsi
140966034:	48 8b c6             	mov    %rsi,%rax
140966037:	48 2b c1             	sub    %rcx,%rax
14096603a:	48 83 f8 01          	cmp    $0x1,%rax
14096603e:	72 06                	jb     0x140966046
140966040:	48 83 fe 08          	cmp    $0x8,%rsi
140966044:	73 1b                	jae    0x140966061
140966046:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
14096604d:	ff ff 0f
140966050:	48 2b c6             	sub    %rsi,%rax
140966053:	48 3b c6             	cmp    %rsi,%rax
140966056:	0f 82 86 01 00 00    	jb     0x1409661e2
14096605c:	48 03 f6             	add    %rsi,%rsi
14096605f:	eb d3                	jmp    0x140966034
140966061:	48 8b 7d 18          	mov    0x18(%rbp),%rdi
140966065:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
14096606c:	ff ff 1f
14096606f:	48 d1 ef             	shr    $1,%rdi
140966072:	48 3b f0             	cmp    %rax,%rsi
140966075:	0f 87 61 01 00 00    	ja     0x1409661dc
14096607b:	48 8d 0c f5 00 00 00 	lea    0x0(,%rsi,8),%rcx
140966082:	00
140966083:	48 85 c9             	test   %rcx,%rcx
140966086:	75 17                	jne    0x14096609f
140966088:	45 33 f6             	xor    %r14d,%r14d
14096608b:	4c 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%r15
140966092:	00
140966093:	48 8b c6             	mov    %rsi,%rax
140966096:	4f 8d 24 3e          	lea    (%r14,%r15,1),%r12
14096609a:	48 d1 e8             	shr    $1,%rax
14096609d:	eb 4a                	jmp    0x1409660e9
14096609f:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1409660a6:	72 29                	jb     0x1409660d1
1409660a8:	48 8d 41 27          	lea    0x27(%rcx),%rax
1409660ac:	48 3b c1             	cmp    %rcx,%rax
1409660af:	0f 86 27 01 00 00    	jbe    0x1409661dc
1409660b5:	48 8b c8             	mov    %rax,%rcx
1409660b8:	ff 15 0a 68 1a 00    	call   *0x1a680a(%rip)        # 0x140b0c8c8
1409660be:	48 85 c0             	test   %rax,%rax
1409660c1:	74 1c                	je     0x1409660df
1409660c3:	4c 8d 70 27          	lea    0x27(%rax),%r14
1409660c7:	49 83 e6 e0          	and    $0xffffffffffffffe0,%r14
1409660cb:	49 89 46 f8          	mov    %rax,-0x8(%r14)
1409660cf:	eb ba                	jmp    0x14096608b
1409660d1:	ff 15 f1 67 1a 00    	call   *0x1a67f1(%rip)        # 0x140b0c8c8
1409660d7:	4c 8b f0             	mov    %rax,%r14
1409660da:	48 85 c0             	test   %rax,%rax