140991db9:	cc                   	int3
140991dba:	cc                   	int3
140991dbb:	cc                   	int3
140991dbc:	cc                   	int3
140991dbd:	cc                   	int3
140991dbe:	cc                   	int3
140991dbf:	cc                   	int3
140991dc0:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140991dc5:	56                   	push   %rsi
140991dc6:	57                   	push   %rdi
140991dc7:	41 57                	push   %r15
140991dc9:	48 83 ec 20          	sub    $0x20,%rsp
140991dcd:	48 8b f1             	mov    %rcx,%rsi
140991dd0:	41 0f b7 c0          	movzwl %r8w,%eax
140991dd4:	b9 01 01 00 00       	mov    $0x101,%ecx
140991dd9:	45 0f b7 f8          	movzwl %r8w,%r15d
140991ddd:	66 2b c1             	sub    %cx,%ax
140991de0:	48 8b ea             	mov    %rdx,%rbp
140991de3:	66 83 f8 02          	cmp    $0x2,%ax
140991de7:	0f 87 f7 00 00 00    	ja     0x140991ee4
140991ded:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140991df2:	48 85 ff             	test   %rdi,%rdi
140991df5:	0f 84 e9 00 00 00    	je     0x140991ee4
140991dfb:	48 85 d2             	test   %rdx,%rdx
140991dfe:	0f 84 e0 00 00 00    	je     0x140991ee4
140991e04:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140991e09:	b9 48 00 00 00       	mov    $0x48,%ecx
140991e0e:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140991e13:	e8 14 09 4a 00       	call   0x140e3272c
140991e18:	48 8b d8             	mov    %rax,%rbx
140991e1b:	48 85 c0             	test   %rax,%rax
140991e1e:	74 18                	je     0x140991e38
140991e20:	48 8b cf             	mov    %rdi,%rcx
140991e23:	e8 a4 17 4b 00       	call   0x140e435cc
140991e28:	48 89 03             	mov    %rax,(%rbx)
140991e2b:	48 85 c0             	test   %rax,%rax
140991e2e:	75 33                	jne    0x140991e63
140991e30:	48 8b cb             	mov    %rbx,%rcx
140991e33:	e8 58 f2 49 00       	call   0x140e31090
140991e38:	33 c0                	xor    %eax,%eax
140991e3a:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140991e3e:	44 8b c0             	mov    %eax,%r8d
140991e41:	8d 50 0e             	lea    0xe(%rax),%edx
140991e44:	e8 47 5b ff ff       	call   0x140987990
140991e49:	33 c0                	xor    %eax,%eax
140991e4b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140991e50:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140991e55:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140991e5a:	48 83 c4 20          	add    $0x20,%rsp
140991e5e:	41 5f                	pop    %r15
140991e60:	5f                   	pop    %rdi
140991e61:	5e                   	pop    %rsi
140991e62:	c3                   	ret
140991e63:	33 c0                	xor    %eax,%eax
140991e65:	66 44 89 7b 08       	mov    %r15w,0x8(%rbx)
140991e6a:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
140991e6e:	48 89 43 20          	mov    %rax,0x20(%rbx)
140991e72:	48 89 43 28          	mov    %rax,0x28(%rbx)
140991e76:	e8 a5 5a ff ff       	call   0x140987920
140991e7b:	4c 8b cb             	mov    %rbx,%r9
140991e7e:	c6 43 30 00          	movb   $0x0,0x30(%rbx)
140991e82:	4c 8d 05 67 fb ff ff 	lea    -0x499(%rip),%r8        # 0x1409919f0
140991e89:	48 8b d5             	mov    %rbp,%rdx
140991e8c:	48 8b ce             	mov    %rsi,%rcx
140991e8f:	e8 bc 06 00 00       	call   0x140992550
140991e94:	48 85 c0             	test   %rax,%rax
140991e97:	75 b2                	jne    0x140991e4b
140991e99:	48 8b 0b             	mov    (%rbx),%rcx
140991e9c:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
140991ea3:	49 ff c0             	inc    %r8
140991ea6:	42 80 3c 01 00       	cmpb   $0x0,(%rcx,%r8,1)
140991eab:	75 f6                	jne    0x140991ea3
140991ead:	33 d2                	xor    %edx,%edx
140991eaf:	e8 fc d7 54 00       	call   0x140edf6b0
140991eb4:	48 8b 0b             	mov    (%rbx),%rcx
140991eb7:	e8 d4 f1 49 00       	call   0x140e31090
140991ebc:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
140991ec0:	e8 3b 5a ff ff       	call   0x140987900
140991ec5:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140991ec9:	e8 42 9f ff ff       	call   0x14098be10
140991ece:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140991ed2:	e8 89 20 00 00       	call   0x140993f60
140991ed7:	48 8b cb             	mov    %rbx,%rcx
140991eda:	e8 b1 f1 49 00       	call   0x140e31090
140991edf:	e9 65 ff ff ff       	jmp    0x140991e49
140991ee4:	45 33 c0             	xor    %r8d,%r8d
140991ee7:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140991eeb:	41 8d 50 12          	lea    0x12(%r8),%edx
140991eef:	e8 9c 5a ff ff       	call   0x140987990
140991ef4:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140991ef9:	33 c0                	xor    %eax,%eax
140991efb:	48 83 c4 20          	add    $0x20,%rsp
140991eff:	41 5f                	pop    %r15
140991f01:	5f                   	pop    %rdi
140991f02:	5e                   	pop    %rsi
140991f03:	c3                   	ret
140991f04:	cc                   	int3
140991f05:	cc                   	int3
140991f06:	cc                   	int3
140991f07:	cc                   	int3
140991f08:	cc                   	int3
140991f09:	cc                   	int3
140991f0a:	cc                   	int3
140991f0b:	cc                   	int3
140991f0c:	cc                   	int3
140991f0d:	cc                   	int3
140991f0e:	cc                   	int3
140991f0f:	cc                   	int3
140991f10:	48 8b d1             	mov    %rcx,%rdx
140991f13:	0f 57 c0             	xorps  %xmm0,%xmm0
140991f16:	48 85 c9             	test   %rcx,%rcx
140991f19:	78 07                	js     0x140991f22
140991f1b:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140991f20:	eb 15                	jmp    0x140991f37
140991f22:	48 8b c2             	mov    %rdx,%rax
140991f25:	48 d1 e9             	shr    $1,%rcx
140991f28:	83 e0 01             	and    $0x1,%eax
140991f2b:	48 0b c8             	or     %rax,%rcx
140991f2e:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140991f33:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140991f37:	f2 0f 59 05 31 42 6d 	mulsd  0x6d4231(%rip),%xmm0        # 0x141066170
140991f3e:	00
140991f3f:	33 c9                	xor    %ecx,%ecx
140991f41:	f2 0f 10 0d 0f c9 61 	movsd  0x61c90f(%rip),%xmm1        # 0x140fae858
140991f48:	00
140991f49:	66 0f 2f c1          	comisd %xmm1,%xmm0
140991f4d:	72 17                	jb     0x140991f66
140991f4f:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140991f53:	66 0f 2f c1          	comisd %xmm1,%xmm0
140991f57:	73 0d                	jae    0x140991f66
140991f59:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140991f60:	00 00 80
140991f63:	48 8b c8             	mov    %rax,%rcx
140991f66:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
140991f6b:	48 03 c1             	add    %rcx,%rax
140991f6e:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140991f75:	48 3b c2             	cmp    %rdx,%rax
140991f78:	48 0f 42 c1          	cmovb  %rcx,%rax
140991f7c:	c3                   	ret
140991f7d:	cc                   	int3
140991f7e:	cc                   	int3
140991f7f:	cc                   	int3
140991f80:	b1 01                	mov    $0x1,%cl
140991f82:	e9 19 02 00 00       	jmp    0x1409921a0
140991f87:	cc                   	int3
140991f88:	cc                   	int3
140991f89:	cc                   	int3
140991f8a:	cc                   	int3
140991f8b:	cc                   	int3
140991f8c:	cc                   	int3
140991f8d:	cc                   	int3
140991f8e:	cc                   	int3
140991f8f:	cc                   	int3
140991f90:	33 c9                	xor    %ecx,%ecx
140991f92:	e9 09 02 00 00       	jmp    0x1409921a0
140991f97:	cc                   	int3
140991f98:	cc                   	int3
140991f99:	cc                   	int3
140991f9a:	cc                   	int3
140991f9b:	cc                   	int3
140991f9c:	cc                   	int3
140991f9d:	cc                   	int3
140991f9e:	cc                   	int3
140991f9f:	cc                   	int3
140991fa0:	40 53                	rex push %rbx
140991fa2:	48 83 ec 20          	sub    $0x20,%rsp
140991fa6:	33 c0                	xor    %eax,%eax
140991fa8:	48 8b d9             	mov    %rcx,%rbx
140991fab:	89 41 20             	mov    %eax,0x20(%rcx)
140991fae:	45 33 c0             	xor    %r8d,%r8d
140991fb1:	48 83 c1 18          	add    $0x18,%rcx
140991fb5:	89 43 38             	mov    %eax,0x38(%rbx)
140991fb8:	48 89 43 30          	mov    %rax,0x30(%rbx)
140991fbc:	48 89 01             	mov    %rax,(%rcx)
140991fbf:	38 43 08             	cmp    %al,0x8(%rbx)
140991fc2:	74 0e                	je     0x140991fd2
140991fc4:	8b 53 0c             	mov    0xc(%rbx),%edx
140991fc7:	44 8d 48 1e          	lea    0x1e(%rax),%r9d
140991fcb:	e8 d0 27 00 00       	call   0x1409947a0
140991fd0:	eb 07                	jmp    0x140991fd9
140991fd2:	33 d2                	xor    %edx,%edx
140991fd4:	e8 57 2d 00 00       	call   0x140994d30
140991fd9:	85 c0                	test   %eax,%eax
140991fdb:	74 1c                	je     0x140991ff9
140991fdd:	8b c8                	mov    %eax,%ecx
140991fdf:	e8 3c 02 00 00       	call   0x140992220
140991fe4:	48 8b 0b             	mov    (%rbx),%rcx
140991fe7:	8b d0                	mov    %eax,%edx
140991fe9:	45 33 c0             	xor    %r8d,%r8d
140991fec:	e8 9f 59 ff ff       	call   0x140987990
140991ff1:	32 c0                	xor    %al,%al
140991ff3:	48 83 c4 20          	add    $0x20,%rsp
140991ff7:	5b                   	pop    %rbx
140991ff8:	c3                   	ret
140991ff9:	b0 01                	mov    $0x1,%al
140991ffb:	48 83 c4 20          	add    $0x20,%rsp
140991fff:	5b                   	pop    %rbx
140992000:	c3                   	ret
140992001:	cc                   	int3
140992002:	cc                   	int3
140992003:	cc                   	int3
140992004:	cc                   	int3
140992005:	cc                   	int3
140992006:	cc                   	int3
140992007:	cc                   	int3
140992008:	cc                   	int3
140992009:	cc                   	int3
14099200a:	cc                   	int3
14099200b:	cc                   	int3
14099200c:	cc                   	int3
14099200d:	cc                   	int3
14099200e:	cc                   	int3
14099200f:	cc                   	int3
140992010:	40 53                	rex push %rbx
140992012:	48 83 ec 20          	sub    $0x20,%rsp
140992016:	48 8b d9             	mov    %rcx,%rbx
140992019:	48 83 c1 18          	add    $0x18,%rcx
14099201d:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
140992021:	74 07                	je     0x14099202a
140992023:	e8 d8 26 00 00       	call   0x140994700
140992028:	eb 05                	jmp    0x14099202f
14099202a:	e8 51 2c 00 00       	call   0x140994c80
14099202f:	85 c0                	test   %eax,%eax
140992031:	74 1c                	je     0x14099204f
140992033:	8b c8                	mov    %eax,%ecx
140992035:	e8 e6 01 00 00       	call   0x140992220
14099203a:	48 8b 0b             	mov    (%rbx),%rcx
14099203d:	8b d0                	mov    %eax,%edx
14099203f:	45 33 c0             	xor    %r8d,%r8d
140992042:	e8 49 59 ff ff       	call   0x140987990
140992047:	32 c0                	xor    %al,%al
140992049:	48 83 c4 20          	add    $0x20,%rsp
14099204d:	5b                   	pop    %rbx
14099204e:	c3                   	ret
14099204f:	b0 01                	mov    $0x1,%al
140992051:	48 83 c4 20          	add    $0x20,%rsp
140992055:	5b                   	pop    %rbx
140992056:	c3                   	ret
140992057:	cc                   	int3
140992058:	cc                   	int3
140992059:	cc                   	int3
14099205a:	cc                   	int3
14099205b:	cc                   	int3
14099205c:	cc                   	int3
14099205d:	cc                   	int3
14099205e:	cc                   	int3
14099205f:	cc                   	int3
140992060:	48 83 ec 28          	sub    $0x28,%rsp
140992064:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140992069:	4c 3b c0             	cmp    %rax,%r8
14099206c:	77 15                	ja     0x140992083
14099206e:	83 79 20 00          	cmpl   $0x0,0x20(%rcx)
140992072:	77 0f                	ja     0x140992083
140992074:	44 89 41 20          	mov    %r8d,0x20(%rcx)
140992078:	b0 01                	mov    $0x1,%al
14099207a:	48 89 51 18          	mov    %rdx,0x18(%rcx)
14099207e:	48 83 c4 28          	add    $0x28,%rsp
140992082:	c3                   	ret
140992083:	48 8b 09             	mov    (%rcx),%rcx
140992086:	45 33 c0             	xor    %r8d,%r8d
140992089:	41 8d 50 12          	lea    0x12(%r8),%edx
14099208d:	e8 fe 58 ff ff       	call   0x140987990
140992092:	32 c0                	xor    %al,%al
140992094:	48 83 c4 28          	add    $0x28,%rsp
140992098:	c3                   	ret
140992099:	cc                   	int3
14099209a:	cc                   	int3
14099209b:	cc                   	int3
14099209c:	cc                   	int3
14099209d:	cc                   	int3
14099209e:	cc                   	int3
14099209f:	cc                   	int3
1409920a0:	c6 41 10 01          	movb   $0x1,0x10(%rcx)
1409920a4:	c3                   	ret
1409920a5:	cc                   	int3
1409920a6:	cc                   	int3
1409920a7:	cc                   	int3
1409920a8:	cc                   	int3
1409920a9:	cc                   	int3
1409920aa:	cc                   	int3
1409920ab:	cc                   	int3
1409920ac:	cc                   	int3
1409920ad:	cc                   	int3
1409920ae:	cc                   	int3
1409920af:	cc                   	int3
1409920b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1409920b5:	57                   	push   %rdi
1409920b6:	48 83 ec 20          	sub    $0x20,%rsp
1409920ba:	83 79 20 00          	cmpl   $0x0,0x20(%rcx)
1409920be:	49 8b f8             	mov    %r8,%rdi
1409920c1:	48 8b d9             	mov    %rcx,%rbx
1409920c4:	75 1b                	jne    0x1409920e1
1409920c6:	80 79 10 00          	cmpb   $0x0,0x10(%rcx)
1409920ca:	75 15                	jne    0x1409920e1
1409920cc:	33 c0                	xor    %eax,%eax
1409920ce:	49 89 00             	mov    %rax,(%r8)
1409920d1:	b8 03 00 00 00       	mov    $0x3,%eax
1409920d6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1409920db:	48 83 c4 20          	add    $0x20,%rsp
1409920df:	5f                   	pop    %rdi
1409920e0:	c3                   	ret
1409920e1:	49 8b 00             	mov    (%r8),%rax
1409920e4:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
1409920ea:	49 3b c0             	cmp    %r8,%rax
1409920ed:	48 89 51 30          	mov    %rdx,0x30(%rcx)
1409920f1:	49 0f 47 c0          	cmova  %r8,%rax
1409920f5:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
1409920f9:	89 41 38             	mov    %eax,0x38(%rcx)
1409920fc:	74 16                	je     0x140992114
1409920fe:	0f b6 41 10          	movzbl 0x10(%rcx),%eax
140992102:	f6 d8                	neg    %al
140992104:	1b d2                	sbb    %edx,%edx
140992106:	48 83 c1 18          	add    $0x18,%rcx
14099210a:	83 e2 02             	and    $0x2,%edx
14099210d:	e8 7e 24 00 00       	call   0x140994590
140992112:	eb 09                	jmp    0x14099211d
140992114:	48 83 c1 18          	add    $0x18,%rcx
140992118:	e8 a3 29 00 00       	call   0x140994ac0
14099211d:	8b d0                	mov    %eax,%edx
14099211f:	8b 43 38             	mov    0x38(%rbx),%eax
140992122:	48 29 07             	sub    %rax,(%rdi)
140992125:	8b ca                	mov    %edx,%ecx
140992127:	85 d2                	test   %edx,%edx
140992129:	74 50                	je     0x14099217b
14099212b:	83 e9 01             	sub    $0x1,%ecx
14099212e:	74 4b                	je     0x14099217b
140992130:	83 e9 02             	sub    $0x2,%ecx
140992133:	74 39                	je     0x14099216e
140992135:	83 f9 01             	cmp    $0x1,%ecx
140992138:	74 24                	je     0x14099215e
14099213a:	8b ca                	mov    %edx,%ecx
14099213c:	e8 df 00 00 00       	call   0x140992220
140992141:	48 8b 0b             	mov    (%rbx),%rcx
140992144:	8b d0                	mov    %eax,%edx
140992146:	45 33 c0             	xor    %r8d,%r8d
140992149:	e8 42 58 ff ff       	call   0x140987990
14099214e:	b8 02 00 00 00       	mov    $0x2,%eax
140992153:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140992158:	48 83 c4 20          	add    $0x20,%rsp
14099215c:	5f                   	pop    %rdi
14099215d:	c3                   	ret
14099215e:	b8 01 00 00 00       	mov    $0x1,%eax
140992163:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140992168:	48 83 c4 20          	add    $0x20,%rsp
14099216c:	5f                   	pop    %rdi
14099216d:	c3                   	ret
14099216e:	33 c0                	xor    %eax,%eax
140992170:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140992175:	48 83 c4 20          	add    $0x20,%rsp
140992179:	5f                   	pop    %rdi