140138ee4:	74 28                	je     0x140138f0e
140138ee6:	49 83 f8 08          	cmp    $0x8,%r8
140138eea:	74 15                	je     0x140138f01
140138eec:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140138ef2:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140138ef7:	e8 04 03 00 00       	call   0x140139200
140138efc:	48 83 c4 28          	add    $0x28,%rsp
140138f00:	c3                   	ret
140138f01:	48 89 10             	mov    %rdx,(%rax)
140138f04:	b8 01 00 00 00       	mov    $0x1,%eax
140138f09:	48 83 c4 28          	add    $0x28,%rsp
140138f0d:	c3                   	ret
140138f0e:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140138f14:	49 3b d0             	cmp    %r8,%rdx
140138f17:	0f 87 c7 00 00 00    	ja     0x140138fe4
140138f1d:	48 c7 41 20 04 00 00 	movq   $0x4,0x20(%rcx)
140138f24:	00
140138f25:	89 10                	mov    %edx,(%rax)
140138f27:	b8 01 00 00 00       	mov    $0x1,%eax
140138f2c:	48 83 c4 28          	add    $0x28,%rsp
140138f30:	c3                   	ret
140138f31:	83 f8 01             	cmp    $0x1,%eax
140138f34:	75 45                	jne    0x140138f7b
140138f36:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138f3a:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138f41:	00
140138f42:	48 85 c0             	test   %rax,%rax
140138f45:	74 e0                	je     0x140138f27
140138f47:	4c 8b 41 18          	mov    0x18(%rcx),%r8
140138f4b:	49 83 f8 04          	cmp    $0x4,%r8
140138f4f:	74 21                	je     0x140138f72
140138f51:	49 83 f8 08          	cmp    $0x8,%r8
140138f55:	75 95                	jne    0x140138eec
140138f57:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
140138f5e:	ff ff 7f
140138f61:	48 3b d1             	cmp    %rcx,%rdx
140138f64:	77 7e                	ja     0x140138fe4
140138f66:	48 89 10             	mov    %rdx,(%rax)
140138f69:	41 8d 40 f9          	lea    -0x7(%r8),%eax
140138f6d:	48 83 c4 28          	add    $0x28,%rsp
140138f71:	c3                   	ret
140138f72:	48 81 fa ff ff ff 7f 	cmp    $0x7fffffff,%rdx
140138f79:	eb 9c                	jmp    0x140138f17
140138f7b:	83 f8 03             	cmp    $0x3,%eax
140138f7e:	75 64                	jne    0x140138fe4
140138f80:	48 83 79 18 08       	cmpq   $0x8,0x18(%rcx)
140138f85:	48 c7 41 20 08 00 00 	movq   $0x8,0x20(%rcx)
140138f8c:	00
140138f8d:	75 55                	jne    0x140138fe4
140138f8f:	48 b8 00 00 00 00 00 	movabs $0x20000000000000,%rax
140138f96:	00 20 00
140138f99:	48 3b d0             	cmp    %rax,%rdx
140138f9c:	73 46                	jae    0x140138fe4
140138f9e:	0f 57 c0             	xorps  %xmm0,%xmm0
140138fa1:	48 85 d2             	test   %rdx,%rdx
140138fa4:	78 17                	js     0x140138fbd
140138fa6:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138faa:	f2 48 0f 2a c2       	cvtsi2sd %rdx,%xmm0
140138faf:	f2 0f 11 00          	movsd  %xmm0,(%rax)
140138fb3:	b8 01 00 00 00       	mov    $0x1,%eax
140138fb8:	48 83 c4 28          	add    $0x28,%rsp
140138fbc:	c3                   	ret
140138fbd:	48 8b c2             	mov    %rdx,%rax
140138fc0:	83 e2 01             	and    $0x1,%edx
140138fc3:	48 d1 e8             	shr    $1,%rax
140138fc6:	48 0b c2             	or     %rdx,%rax
140138fc9:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
140138fce:	48 8b 41 10          	mov    0x10(%rcx),%rax
140138fd2:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140138fd6:	f2 0f 11 00          	movsd  %xmm0,(%rax)
140138fda:	b8 01 00 00 00       	mov    $0x1,%eax
140138fdf:	48 83 c4 28          	add    $0x28,%rsp
140138fe3:	c3                   	ret
140138fe4:	33 c0                	xor    %eax,%eax
140138fe6:	48 83 c4 28          	add    $0x28,%rsp
140138fea:	c3                   	ret
140138feb:	cc                   	int3
140138fec:	cc                   	int3
140138fed:	cc                   	int3
140138fee:	cc                   	int3
140138fef:	cc                   	int3
140138ff0:	48 85 c9             	test   %rcx,%rcx
140138ff3:	75 03                	jne    0x140138ff8
140138ff5:	33 c0                	xor    %eax,%eax
140138ff7:	c3                   	ret
140138ff8:	45 33 c0             	xor    %r8d,%r8d
140138ffb:	4c 89 41 20          	mov    %r8,0x20(%rcx)
140138fff:	48 85 d2             	test   %rdx,%rdx
140139002:	75 05                	jne    0x140139009
140139004:	41 8b c0             	mov    %r8d,%eax
140139007:	eb 10                	jmp    0x140139019
140139009:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140139010:	48 ff c0             	inc    %rax
140139013:	44 38 04 02          	cmp    %r8b,(%rdx,%rax,1)
140139017:	75 f7                	jne    0x140139010
140139019:	83 79 08 06          	cmpl   $0x6,0x8(%rcx)
14013901d:	48 89 41 20          	mov    %rax,0x20(%rcx)
140139021:	75 12                	jne    0x140139035
140139023:	48 8b 41 10          	mov    0x10(%rcx),%rax
140139027:	48 85 c0             	test   %rax,%rax
14013902a:	74 03                	je     0x14013902f
14013902c:	48 89 10             	mov    %rdx,(%rax)
14013902f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140139035:	41 8b c0             	mov    %r8d,%eax
140139038:	c3                   	ret
140139039:	cc                   	int3
14013903a:	cc                   	int3
14013903b:	cc                   	int3
14013903c:	cc                   	int3
14013903d:	cc                   	int3
14013903e:	cc                   	int3
14013903f:	cc                   	int3
140139040:	40 57                	rex push %rdi
140139042:	b8 20 00 00 00       	mov    $0x20,%eax
140139047:	e8 e4 7a 17 00       	call   0x1402b0b30
14013904c:	48 2b e0             	sub    %rax,%rsp
14013904f:	48 8b f9             	mov    %rcx,%rdi
140139052:	48 85 c9             	test   %rcx,%rcx
140139055:	74 60                	je     0x1401390b7
140139057:	33 c0                	xor    %eax,%eax
140139059:	48 89 41 20          	mov    %rax,0x20(%rcx)
14013905d:	48 85 d2             	test   %rdx,%rdx
140139060:	74 55                	je     0x1401390b7
140139062:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140139067:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
14013906e:	66 90                	xchg   %ax,%ax
140139070:	48 ff c3             	inc    %rbx
140139073:	38 04 1a             	cmp    %al,(%rdx,%rbx,1)
140139076:	75 f8                	jne    0x140139070
140139078:	48 89 59 20          	mov    %rbx,0x20(%rcx)
14013907c:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140139080:	48 85 c9             	test   %rcx,%rcx
140139083:	74 22                	je     0x1401390a7
140139085:	83 7f 08 04          	cmpl   $0x4,0x8(%rdi)
140139089:	75 21                	jne    0x1401390ac
14013908b:	48 39 5f 18          	cmp    %rbx,0x18(%rdi)
14013908f:	72 1b                	jb     0x1401390ac
140139091:	4c 8b c3             	mov    %rbx,%r8
140139094:	e8 c7 82 1a 00       	call   0x1402e1360
140139099:	48 39 5f 18          	cmp    %rbx,0x18(%rdi)
14013909d:	76 08                	jbe    0x1401390a7
14013909f:	48 8b 47 10          	mov    0x10(%rdi),%rax
1401390a3:	c6 04 03 00          	movb   $0x0,(%rbx,%rax,1)
1401390a7:	b8 01 00 00 00       	mov    $0x1,%eax
1401390ac:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401390b1:	48 83 c4 20          	add    $0x20,%rsp
1401390b5:	5f                   	pop    %rdi
1401390b6:	c3                   	ret
1401390b7:	33 c0                	xor    %eax,%eax
1401390b9:	48 83 c4 20          	add    $0x20,%rsp
1401390bd:	5f                   	pop    %rdi
1401390be:	c3                   	ret
1401390bf:	cc                   	int3
1401390c0:	b8 28 00 00 00       	mov    $0x28,%eax
1401390c5:	e8 66 7a 17 00       	call   0x1402b0b30
1401390ca:	48 2b e0             	sub    %rax,%rsp
1401390cd:	8b 41 08             	mov    0x8(%rcx),%eax
1401390d0:	4d 8b d0             	mov    %r8,%r10
1401390d3:	4c 8b da             	mov    %rdx,%r11
1401390d6:	83 f8 01             	cmp    $0x1,%eax
1401390d9:	75 17                	jne    0x1401390f2
1401390db:	4c 8b 49 18          	mov    0x18(%rcx),%r9
1401390df:	49 8b d2             	mov    %r10,%rdx
1401390e2:	4c 8b 41 10          	mov    0x10(%rcx),%r8
1401390e6:	49 8b cb             	mov    %r11,%rcx
1401390e9:	48 83 c4 28          	add    $0x28,%rsp
1401390ed:	e9 8e 01 00 00       	jmp    0x140139280
1401390f2:	83 f8 02             	cmp    $0x2,%eax
1401390f5:	75 17                	jne    0x14013910e
1401390f7:	4c 8b 49 18          	mov    0x18(%rcx),%r9
1401390fb:	49 8b d2             	mov    %r10,%rdx
1401390fe:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140139102:	49 8b cb             	mov    %r11,%rcx
140139105:	48 83 c4 28          	add    $0x28,%rsp
140139109:	e9 22 02 00 00       	jmp    0x140139330
14013910e:	33 c0                	xor    %eax,%eax
140139110:	48 83 c4 28          	add    $0x28,%rsp
140139114:	c3                   	ret
140139115:	cc                   	int3
140139116:	cc                   	int3
140139117:	cc                   	int3
140139118:	cc                   	int3
140139119:	cc                   	int3
14013911a:	cc                   	int3
14013911b:	cc                   	int3
14013911c:	cc                   	int3
14013911d:	cc                   	int3
14013911e:	cc                   	int3
14013911f:	cc                   	int3
140139120:	b8 28 00 00 00       	mov    $0x28,%eax
140139125:	e8 06 7a 17 00       	call   0x1402b0b30
14013912a:	48 2b e0             	sub    %rax,%rsp
14013912d:	8b 41 08             	mov    0x8(%rcx),%eax
140139130:	4d 8b d0             	mov    %r8,%r10
140139133:	4c 8b da             	mov    %rdx,%r11
140139136:	83 f8 01             	cmp    $0x1,%eax
140139139:	75 17                	jne    0x140139152
14013913b:	4c 8b 49 18          	mov    0x18(%rcx),%r9
14013913f:	49 8b d2             	mov    %r10,%rdx
140139142:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140139146:	49 8b cb             	mov    %r11,%rcx
140139149:	48 83 c4 28          	add    $0x28,%rsp
14013914d:	e9 7e 02 00 00       	jmp    0x1401393d0
140139152:	83 f8 02             	cmp    $0x2,%eax
140139155:	75 17                	jne    0x14013916e
140139157:	4c 8b 49 18          	mov    0x18(%rcx),%r9
14013915b:	49 8b d2             	mov    %r10,%rdx
14013915e:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140139162:	49 8b cb             	mov    %r11,%rcx
140139165:	48 83 c4 28          	add    $0x28,%rsp
140139169:	e9 02 03 00 00       	jmp    0x140139470
14013916e:	33 c0                	xor    %eax,%eax
140139170:	48 83 c4 28          	add    $0x28,%rsp
140139174:	c3                   	ret
140139175:	cc                   	int3
140139176:	cc                   	int3
140139177:	cc                   	int3
140139178:	cc                   	int3
140139179:	cc                   	int3
14013917a:	cc                   	int3
14013917b:	cc                   	int3
14013917c:	cc                   	int3
14013917d:	cc                   	int3
14013917e:	cc                   	int3
14013917f:	cc                   	int3
140139180:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140139185:	57                   	push   %rdi
140139186:	b8 20 00 00 00       	mov    $0x20,%eax
14013918b:	e8 a0 79 17 00       	call   0x1402b0b30
140139190:	48 2b e0             	sub    %rax,%rsp
140139193:	49 8b f8             	mov    %r8,%rdi
140139196:	48 8b d9             	mov    %rcx,%rbx
140139199:	48 89 79 20          	mov    %rdi,0x20(%rcx)
14013919d:	33 c0                	xor    %eax,%eax
14013919f:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1401391a3:	4c 8b c2             	mov    %rdx,%r8
1401391a6:	48 85 c9             	test   %rcx,%rcx
1401391a9:	75 0e                	jne    0x1401391b9
1401391ab:	8d 41 01             	lea    0x1(%rcx),%eax
1401391ae:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401391b3:	48 83 c4 20          	add    $0x20,%rsp
1401391b7:	5f                   	pop    %rdi
1401391b8:	c3                   	ret
1401391b9:	8b 53 08             	mov    0x8(%rbx),%edx
1401391bc:	83 fa 01             	cmp    $0x1,%edx
1401391bf:	75 0e                	jne    0x1401391cf
1401391c1:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1401391c5:	4c 8b cf             	mov    %rdi,%r9
1401391c8:	e8 b3 00 00 00       	call   0x140139280
1401391cd:	eb 11                	jmp    0x1401391e0
1401391cf:	83 fa 02             	cmp    $0x2,%edx
1401391d2:	75 14                	jne    0x1401391e8
1401391d4:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1401391d8:	4c 8b cf             	mov    %rdi,%r9
1401391db:	e8 f0 01 00 00       	call   0x1401393d0
1401391e0:	85 c0                	test   %eax,%eax
1401391e2:	74 04                	je     0x1401391e8
1401391e4:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
1401391e8:	48 89 7b 20          	mov    %rdi,0x20(%rbx)
1401391ec:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401391f1:	48 83 c4 20          	add    $0x20,%rsp
1401391f5:	5f                   	pop    %rdi
1401391f6:	c3                   	ret
1401391f7:	cc                   	int3
1401391f8:	cc                   	int3
1401391f9:	cc                   	int3
1401391fa:	cc                   	int3
1401391fb:	cc                   	int3
1401391fc:	cc                   	int3
1401391fd:	cc                   	int3
1401391fe:	cc                   	int3
1401391ff:	cc                   	int3
140139200:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140139205:	57                   	push   %rdi
140139206:	b8 20 00 00 00       	mov    $0x20,%eax
14013920b:	e8 20 79 17 00       	call   0x1402b0b30
140139210:	48 2b e0             	sub    %rax,%rsp
140139213:	49 8b f8             	mov    %r8,%rdi
140139216:	48 8b d9             	mov    %rcx,%rbx
140139219:	48 89 79 20          	mov    %rdi,0x20(%rcx)
14013921d:	33 c0                	xor    %eax,%eax
14013921f:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140139223:	4c 8b c2             	mov    %rdx,%r8
140139226:	48 85 c9             	test   %rcx,%rcx
140139229:	75 0e                	jne    0x140139239
14013922b:	8d 41 01             	lea    0x1(%rcx),%eax
14013922e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140139233:	48 83 c4 20          	add    $0x20,%rsp
140139237:	5f                   	pop    %rdi
140139238:	c3                   	ret
140139239:	8b 53 08             	mov    0x8(%rbx),%edx
14013923c:	83 fa 01             	cmp    $0x1,%edx
14013923f:	75 0e                	jne    0x14013924f
140139241:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140139245:	4c 8b cf             	mov    %rdi,%r9
140139248:	e8 e3 00 00 00       	call   0x140139330
14013924d:	eb 11                	jmp    0x140139260
14013924f:	83 fa 02             	cmp    $0x2,%edx
140139252:	75 14                	jne    0x140139268
140139254:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140139258:	4c 8b cf             	mov    %rdi,%r9
14013925b:	e8 10 02 00 00       	call   0x140139470
140139260:	85 c0                	test   %eax,%eax
140139262:	74 04                	je     0x140139268
140139264:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
140139268:	48 89 7b 20          	mov    %rdi,0x20(%rbx)
14013926c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140139271:	48 83 c4 20          	add    $0x20,%rsp
140139275:	5f                   	pop    %rdi
140139276:	c3                   	ret
140139277:	cc                   	int3
140139278:	cc                   	int3
140139279:	cc                   	int3
14013927a:	cc                   	int3
14013927b:	cc                   	int3
14013927c:	cc                   	int3
14013927d:	cc                   	int3
14013927e:	cc                   	int3
14013927f:	cc                   	int3
140139280:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140139285:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14013928a:	57                   	push   %rdi
14013928b:	b8 20 00 00 00       	mov    $0x20,%eax
140139290:	e8 9b 78 17 00       	call   0x1402b0b30
140139295:	48 2b e0             	sub    %rax,%rsp
140139298:	49 8b d9             	mov    %r9,%rbx
14013929b:	49 8b f8             	mov    %r8,%rdi
14013929e:	4c 8b c2             	mov    %rdx,%r8
1401392a1:	48 8b f1             	mov    %rcx,%rsi
1401392a4:	42 0f b6 44 0f ff    	movzbl -0x1(%rdi,%r9,1),%eax
1401392aa:	24 80                	and    $0x80,%al
1401392ac:	f6 d8                	neg    %al
1401392ae:	45 1a c9             	sbb    %r9b,%r9b
1401392b1:	45 0f b6 c9          	movzbl %r9b,%r9d
1401392b5:	48 3b da             	cmp    %rdx,%rbx
1401392b8:	73 13                	jae    0x1401392cd
1401392ba:	4c 2b c3             	sub    %rbx,%r8
1401392bd:	41 8b d1             	mov    %r9d,%edx
1401392c0:	48 03 cb             	add    %rbx,%rcx
1401392c3:	e8 38 87 1a 00       	call   0x1402e1a00
1401392c8:	4c 8b c3             	mov    %rbx,%r8
1401392cb:	eb 28                	jmp    0x1401392f5
1401392cd:	b8 00 00 00 00       	mov    $0x0,%eax
1401392d2:	49 2b d8             	sub    %r8,%rbx
1401392d5:	74 17                	je     0x1401392ee
1401392d7:	48 8d 0c 3a          	lea    (%rdx,%rdi,1),%rcx
1401392db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401392e0:	44 38 0c 01          	cmp    %r9b,(%rcx,%rax,1)
1401392e4:	75 2f                	jne    0x140139315
1401392e6:	48 ff c0             	inc    %rax