140578e11:	48 8b cf             	mov    %rdi,%rcx
140578e14:	e8 2b 23 8a 00       	call   0x140e1b144
140578e19:	48 8d 4b 68          	lea    0x68(%rbx),%rcx
140578e1d:	e8 ae fd ff ff       	call   0x140578bd0
140578e22:	90                   	nop
140578e23:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
140578e27:	e8 04 07 00 00       	call   0x140579530
140578e2c:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
140578e30:	48 8b 11             	mov    (%rcx),%rdx
140578e33:	48 85 d2             	test   %rdx,%rdx
140578e36:	74 06                	je     0x140578e3e
140578e38:	e8 73 01 00 00       	call   0x140578fb0
140578e3d:	90                   	nop
140578e3e:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140578e43:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140578e48:	48 83 c4 20          	add    $0x20,%rsp
140578e4c:	5f                   	pop    %rdi
140578e4d:	c3                   	ret
140578e4e:	b9 02 00 00 00       	mov    $0x2,%ecx
140578e53:	e8 a8 18 21 00       	call   0x14078a700
140578e58:	cc                   	int3
140578e59:	cc                   	int3
140578e5a:	cc                   	int3
140578e5b:	cc                   	int3
140578e5c:	cc                   	int3
140578e5d:	cc                   	int3
140578e5e:	cc                   	int3
140578e5f:	cc                   	int3
140578e60:	48 8d 05 31 74 a9 00 	lea    0xa97431(%rip),%rax        # 0x141010298
140578e67:	48 89 01             	mov    %rax,(%rcx)
140578e6a:	c3                   	ret
140578e6b:	cc                   	int3
140578e6c:	cc                   	int3
140578e6d:	cc                   	int3
140578e6e:	cc                   	int3
140578e6f:	cc                   	int3
140578e70:	40 53                	rex push %rbx
140578e72:	48 83 ec 20          	sub    $0x20,%rsp
140578e76:	48 8b d9             	mov    %rcx,%rbx
140578e79:	48 83 c1 48          	add    $0x48,%rcx
140578e7d:	e8 be 66 c2 ff       	call   0x14019f540
140578e82:	90                   	nop
140578e83:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140578e87:	48 85 c9             	test   %rcx,%rcx
140578e8a:	74 20                	je     0x140578eac
140578e8c:	8b 41 10             	mov    0x10(%rcx),%eax
140578e8f:	ff c8                	dec    %eax
140578e91:	89 41 10             	mov    %eax,0x10(%rcx)
140578e94:	85 c0                	test   %eax,%eax
140578e96:	7f 14                	jg     0x140578eac
140578e98:	78 1f                	js     0x140578eb9
140578e9a:	48 8b 01             	mov    (%rcx),%rax
140578e9d:	ba 01 00 00 00       	mov    $0x1,%edx
140578ea2:	48 8b 00             	mov    (%rax),%rax
140578ea5:	ff 15 75 ab a0 00    	call   *0xa0ab75(%rip)        # 0x140f83a20
140578eab:	90                   	nop
140578eac:	48 8b cb             	mov    %rbx,%rcx
140578eaf:	48 83 c4 20          	add    $0x20,%rsp
140578eb3:	5b                   	pop    %rbx
140578eb4:	e9 57 38 ce ff       	jmp    0x14025c710
140578eb9:	b9 02 00 00 00       	mov    $0x2,%ecx
140578ebe:	e8 3d 18 21 00       	call   0x14078a700
140578ec3:	cc                   	int3
140578ec4:	cc                   	int3
140578ec5:	cc                   	int3
140578ec6:	cc                   	int3
140578ec7:	cc                   	int3
140578ec8:	cc                   	int3
140578ec9:	cc                   	int3
140578eca:	cc                   	int3
140578ecb:	cc                   	int3
140578ecc:	cc                   	int3
140578ecd:	cc                   	int3
140578ece:	cc                   	int3
140578ecf:	cc                   	int3
140578ed0:	48 85 d2             	test   %rdx,%rdx
140578ed3:	0f 84 b6 00 00 00    	je     0x140578f8f
140578ed9:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140578ede:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140578ee3:	57                   	push   %rdi
140578ee4:	48 83 ec 20          	sub    $0x20,%rsp
140578ee8:	48 8b fa             	mov    %rdx,%rdi
140578eeb:	48 8b 1a             	mov    (%rdx),%rbx
140578eee:	48 85 db             	test   %rbx,%rbx
140578ef1:	74 7f                	je     0x140578f72
140578ef3:	48 8b 72 08          	mov    0x8(%rdx),%rsi
140578ef7:	48 3b de             	cmp    %rsi,%rbx
140578efa:	74 35                	je     0x140578f31
140578efc:	0f 1f 40 00          	nopl   0x0(%rax)
140578f00:	48 8b 0b             	mov    (%rbx),%rcx
140578f03:	48 85 c9             	test   %rcx,%rcx
140578f06:	74 20                	je     0x140578f28
140578f08:	8b 41 10             	mov    0x10(%rcx),%eax
140578f0b:	ff c8                	dec    %eax
140578f0d:	89 41 10             	mov    %eax,0x10(%rcx)
140578f10:	85 c0                	test   %eax,%eax
140578f12:	7f 14                	jg     0x140578f28
140578f14:	78 7a                	js     0x140578f90
140578f16:	48 8b 01             	mov    (%rcx),%rax
140578f19:	ba 01 00 00 00       	mov    $0x1,%edx
140578f1e:	48 8b 00             	mov    (%rax),%rax
140578f21:	ff 15 f9 aa a0 00    	call   *0xa0aaf9(%rip)        # 0x140f83a20
140578f27:	90                   	nop
140578f28:	48 83 c3 08          	add    $0x8,%rbx
140578f2c:	48 3b de             	cmp    %rsi,%rbx
140578f2f:	75 cf                	jne    0x140578f00
140578f31:	48 8b 0f             	mov    (%rdi),%rcx
140578f34:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140578f38:	48 2b d1             	sub    %rcx,%rdx
140578f3b:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140578f3f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140578f46:	72 18                	jb     0x140578f60
140578f48:	48 83 c2 27          	add    $0x27,%rdx
140578f4c:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140578f50:	49 2b c8             	sub    %r8,%rcx
140578f53:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140578f57:	48 83 f8 1f          	cmp    $0x1f,%rax
140578f5b:	77 3e                	ja     0x140578f9b
140578f5d:	49 8b c8             	mov    %r8,%rcx
140578f60:	e8 df 21 8a 00       	call   0x140e1b144
140578f65:	33 c0                	xor    %eax,%eax
140578f67:	48 89 07             	mov    %rax,(%rdi)
140578f6a:	48 89 47 08          	mov    %rax,0x8(%rdi)
140578f6e:	48 89 47 10          	mov    %rax,0x10(%rdi)
140578f72:	ba 18 00 00 00       	mov    $0x18,%edx
140578f77:	48 8b cf             	mov    %rdi,%rcx
140578f7a:	e8 c5 21 8a 00       	call   0x140e1b144
140578f7f:	90                   	nop
140578f80:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140578f85:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140578f8a:	48 83 c4 20          	add    $0x20,%rsp
140578f8e:	5f                   	pop    %rdi
140578f8f:	c3                   	ret
140578f90:	b9 02 00 00 00       	mov    $0x2,%ecx
140578f95:	e8 66 17 21 00       	call   0x14078a700
140578f9a:	90                   	nop
140578f9b:	e8 04 12 8b 00       	call   0x140e2a1a4
140578fa0:	cc                   	int3
140578fa1:	cc                   	int3
140578fa2:	cc                   	int3
140578fa3:	cc                   	int3
140578fa4:	cc                   	int3
140578fa5:	cc                   	int3
140578fa6:	cc                   	int3
140578fa7:	cc                   	int3
140578fa8:	cc                   	int3
140578fa9:	cc                   	int3
140578faa:	cc                   	int3
140578fab:	cc                   	int3
140578fac:	cc                   	int3
140578fad:	cc                   	int3
140578fae:	cc                   	int3
140578faf:	cc                   	int3
140578fb0:	48 85 d2             	test   %rdx,%rdx
140578fb3:	0f 84 b3 00 00 00    	je     0x14057906c
140578fb9:	57                   	push   %rdi
140578fba:	48 83 ec 20          	sub    $0x20,%rsp
140578fbe:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140578fc3:	48 8b fa             	mov    %rdx,%rdi
140578fc6:	48 8b 1a             	mov    (%rdx),%rbx
140578fc9:	48 85 db             	test   %rbx,%rbx
140578fcc:	0f 84 83 00 00 00    	je     0x140579055
140578fd2:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140578fd7:	48 8b 72 08          	mov    0x8(%rdx),%rsi
140578fdb:	48 3b de             	cmp    %rsi,%rbx
140578fde:	74 11                	je     0x140578ff1
140578fe0:	48 8b cb             	mov    %rbx,%rcx
140578fe3:	e8 a8 8b 22 00       	call   0x1407a1b90
140578fe8:	48 83 c3 38          	add    $0x38,%rbx
140578fec:	48 3b de             	cmp    %rsi,%rbx
140578fef:	75 ef                	jne    0x140578fe0
140578ff1:	4c 8b 07             	mov    (%rdi),%r8
140578ff4:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
140578ffb:	92 24 49
140578ffe:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140579002:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140579007:	49 2b c8             	sub    %r8,%rcx
14057900a:	48 f7 e9             	imul   %rcx
14057900d:	48 c1 fa 04          	sar    $0x4,%rdx
140579011:	48 8b c2             	mov    %rdx,%rax
140579014:	48 c1 e8 3f          	shr    $0x3f,%rax
140579018:	48 03 d0             	add    %rax,%rdx
14057901b:	48 6b d2 38          	imul   $0x38,%rdx,%rdx
14057901f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140579026:	72 18                	jb     0x140579040
140579028:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
14057902c:	48 83 c2 27          	add    $0x27,%rdx
140579030:	4c 2b c1             	sub    %rcx,%r8
140579033:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140579037:	48 83 f8 1f          	cmp    $0x1f,%rax
14057903b:	77 30                	ja     0x14057906d
14057903d:	4c 8b c1             	mov    %rcx,%r8
140579040:	49 8b c8             	mov    %r8,%rcx
140579043:	e8 fc 20 8a 00       	call   0x140e1b144
140579048:	33 c0                	xor    %eax,%eax
14057904a:	48 89 07             	mov    %rax,(%rdi)
14057904d:	48 89 47 08          	mov    %rax,0x8(%rdi)
140579051:	48 89 47 10          	mov    %rax,0x10(%rdi)
140579055:	ba 18 00 00 00       	mov    $0x18,%edx
14057905a:	48 8b cf             	mov    %rdi,%rcx
14057905d:	e8 e2 20 8a 00       	call   0x140e1b144
140579062:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140579067:	48 83 c4 20          	add    $0x20,%rsp
14057906b:	5f                   	pop    %rdi
14057906c:	c3                   	ret
14057906d:	e8 32 11 8b 00       	call   0x140e2a1a4
140579072:	cc                   	int3
140579073:	cc                   	int3
140579074:	cc                   	int3
140579075:	cc                   	int3
140579076:	cc                   	int3
140579077:	cc                   	int3
140579078:	cc                   	int3
140579079:	cc                   	int3
14057907a:	cc                   	int3
14057907b:	cc                   	int3
14057907c:	cc                   	int3
14057907d:	cc                   	int3
14057907e:	cc                   	int3
14057907f:	cc                   	int3
140579080:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140579085:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14057908a:	57                   	push   %rdi
14057908b:	48 83 ec 20          	sub    $0x20,%rsp
14057908f:	48 8d 05 22 72 a9 00 	lea    0xa97222(%rip),%rax        # 0x1410102b8
140579096:	8b f2                	mov    %edx,%esi
140579098:	48 89 01             	mov    %rax,(%rcx)
14057909b:	48 8b d9             	mov    %rcx,%rbx
14057909e:	48 8b 79 10          	mov    0x10(%rcx),%rdi
1405790a2:	48 85 ff             	test   %rdi,%rdi
1405790a5:	74 15                	je     0x1405790bc
1405790a7:	48 8b cf             	mov    %rdi,%rcx
1405790aa:	e8 e1 8a 22 00       	call   0x1407a1b90
1405790af:	ba 38 00 00 00       	mov    $0x38,%edx
1405790b4:	48 8b cf             	mov    %rdi,%rcx
1405790b7:	e8 88 20 8a 00       	call   0x140e1b144
1405790bc:	48 8d 05 d5 71 a9 00 	lea    0xa971d5(%rip),%rax        # 0x141010298
1405790c3:	48 89 03             	mov    %rax,(%rbx)
1405790c6:	40 f6 c6 01          	test   $0x1,%sil
1405790ca:	74 0d                	je     0x1405790d9
1405790cc:	ba 18 00 00 00       	mov    $0x18,%edx
1405790d1:	48 8b cb             	mov    %rbx,%rcx
1405790d4:	e8 6b 20 8a 00       	call   0x140e1b144
1405790d9:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1405790de:	48 8b c3             	mov    %rbx,%rax
1405790e1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405790e6:	48 83 c4 20          	add    $0x20,%rsp
1405790ea:	5f                   	pop    %rdi
1405790eb:	c3                   	ret
1405790ec:	cc                   	int3
1405790ed:	cc                   	int3
1405790ee:	cc                   	int3
1405790ef:	cc                   	int3
1405790f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405790f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1405790fa:	57                   	push   %rdi
1405790fb:	48 83 ec 20          	sub    $0x20,%rsp
1405790ff:	8b f2                	mov    %edx,%esi
140579101:	48 8b d9             	mov    %rcx,%rbx
140579104:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140579108:	48 85 c9             	test   %rcx,%rcx
14057910b:	74 20                	je     0x14057912d
14057910d:	8b 41 10             	mov    0x10(%rcx),%eax
140579110:	ff c8                	dec    %eax
140579112:	89 41 10             	mov    %eax,0x10(%rcx)
140579115:	85 c0                	test   %eax,%eax
140579117:	7f 14                	jg     0x14057912d
140579119:	78 66                	js     0x140579181
14057911b:	48 8b 01             	mov    (%rcx),%rax
14057911e:	ba 01 00 00 00       	mov    $0x1,%edx
140579123:	48 8b 00             	mov    (%rax),%rax
140579126:	ff 15 f4 a8 a0 00    	call   *0xa0a8f4(%rip)        # 0x140f83a20
14057912c:	90                   	nop
14057912d:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140579131:	48 8b 11             	mov    (%rcx),%rdx
140579134:	48 85 d2             	test   %rdx,%rdx
140579137:	74 05                	je     0x14057913e
140579139:	e8 92 fd ff ff       	call   0x140578ed0
14057913e:	48 8b 3b             	mov    (%rbx),%rdi
140579141:	48 85 ff             	test   %rdi,%rdi
140579144:	74 15                	je     0x14057915b
140579146:	48 8b cf             	mov    %rdi,%rcx
140579149:	e8 d2 f9 ff ff       	call   0x140578b20
14057914e:	ba 40 00 00 00       	mov    $0x40,%edx
140579153:	48 8b cf             	mov    %rdi,%rcx
140579156:	e8 e9 1f 8a 00       	call   0x140e1b144
14057915b:	40 f6 c6 01          	test   $0x1,%sil
14057915f:	74 0d                	je     0x14057916e
140579161:	ba 20 00 00 00       	mov    $0x20,%edx
140579166:	48 8b cb             	mov    %rbx,%rcx
140579169:	e8 d6 1f 8a 00       	call   0x140e1b144
14057916e:	48 8b c3             	mov    %rbx,%rax
140579171:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140579176:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14057917b:	48 83 c4 20          	add    $0x20,%rsp
14057917f:	5f                   	pop    %rdi
140579180:	c3                   	ret
140579181:	b9 02 00 00 00       	mov    $0x2,%ecx
140579186:	e8 75 15 21 00       	call   0x14078a700
14057918b:	cc                   	int3
14057918c:	cc                   	int3
14057918d:	cc                   	int3
14057918e:	cc                   	int3
14057918f:	cc                   	int3
140579190:	40 53                	rex push %rbx
140579192:	48 83 ec 20          	sub    $0x20,%rsp
140579196:	48 8d 05 fb 70 a9 00 	lea    0xa970fb(%rip),%rax        # 0x141010298
14057919d:	48 8b d9             	mov    %rcx,%rbx
1405791a0:	48 89 01             	mov    %rax,(%rcx)
1405791a3:	f6 c2 01             	test   $0x1,%dl
1405791a6:	74 0a                	je     0x1405791b2
1405791a8:	ba 08 00 00 00       	mov    $0x8,%edx
1405791ad:	e8 92 1f 8a 00       	call   0x140e1b144
1405791b2:	48 8b c3             	mov    %rbx,%rax
1405791b5:	48 83 c4 20          	add    $0x20,%rsp
1405791b9:	5b                   	pop    %rbx
1405791ba:	c3                   	ret
1405791bb:	cc                   	int3
1405791bc:	cc                   	int3
1405791bd:	cc                   	int3
1405791be:	cc                   	int3
1405791bf:	cc                   	int3
1405791c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405791c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1405791ca:	57                   	push   %rdi
1405791cb:	48 83 ec 20          	sub    $0x20,%rsp
1405791cf:	48 8d 05 02 71 a9 00 	lea    0xa97102(%rip),%rax        # 0x1410102d8
1405791d6:	8b f2                	mov    %edx,%esi
1405791d8:	48 89 01             	mov    %rax,(%rcx)
1405791db:	48 8b d9             	mov    %rcx,%rbx
1405791de:	48 8b 79 20          	mov    0x20(%rcx),%rdi
1405791e2:	48 85 ff             	test   %rdi,%rdi
1405791e5:	74 15                	je     0x1405791fc
1405791e7:	48 8b cf             	mov    %rdi,%rcx
1405791ea:	e8 a1 89 22 00       	call   0x1407a1b90
1405791ef:	ba 38 00 00 00       	mov    $0x38,%edx
1405791f4:	48 8b cf             	mov    %rdi,%rcx
1405791f7:	e8 48 1f 8a 00       	call   0x140e1b144
1405791fc:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140579200:	e8 bb df 1d 00       	call   0x1407571c0
140579205:	48 8d 05 8c 70 a9 00 	lea    0xa9708c(%rip),%rax        # 0x141010298
14057920c:	48 89 03             	mov    %rax,(%rbx)
14057920f:	40 f6 c6 01          	test   $0x1,%sil
140579213:	74 0d                	je     0x140579222
140579215:	ba 28 00 00 00       	mov    $0x28,%edx
14057921a:	48 8b cb             	mov    %rbx,%rcx
14057921d:	e8 22 1f 8a 00       	call   0x140e1b144
140579222:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140579227:	48 8b c3             	mov    %rbx,%rax
14057922a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx