140ab6dcc:	b9 10 00 00 00       	mov    $0x10,%ecx
140ab6dd1:	49 2b cd             	sub    %r13,%rcx
140ab6dd4:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
140ab6dd9:	45 33 f6             	xor    %r14d,%r14d
140ab6ddc:	0f 1f 40 00          	nopl   0x0(%rax)
140ab6de0:	49 83 ec 28          	sub    $0x28,%r12
140ab6de4:	48 83 c6 d8          	add    $0xffffffffffffffd8,%rsi
140ab6de8:	48 8b 04 0e          	mov    (%rsi,%rcx,1),%rax
140ab6dec:	4c 89 34 0e          	mov    %r14,(%rsi,%rcx,1)
140ab6df0:	4c 8b 7e 10          	mov    0x10(%rsi),%r15
140ab6df4:	48 89 46 10          	mov    %rax,0x10(%rsi)
140ab6df8:	4d 85 ff             	test   %r15,%r15
140ab6dfb:	74 36                	je     0x140ab6e33
140ab6dfd:	49 83 2f 01          	subq   $0x1,(%r15)
140ab6e01:	75 30                	jne    0x140ab6e33
140ab6e03:	4d 8b 47 08          	mov    0x8(%r15),%r8
140ab6e07:	4d 8b 40 08          	mov    0x8(%r8),%r8
140ab6e0b:	49 8d 57 08          	lea    0x8(%r15),%rdx
140ab6e0f:	49 8d 4f 08          	lea    0x8(%r15),%rcx
140ab6e13:	e8 28 a5 8d ff       	call   0x140391340
140ab6e18:	ba 80 00 00 00       	mov    $0x80,%edx
140ab6e1d:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140ab6e21:	e8 1e 43 36 00       	call   0x140e1b144
140ab6e26:	ba 18 00 00 00       	mov    $0x18,%edx
140ab6e2b:	49 8b cf             	mov    %r15,%rcx
140ab6e2e:	e8 11 43 36 00       	call   0x140e1b144
140ab6e33:	48 8b ce             	mov    %rsi,%rcx
140ab6e36:	49 2b cd             	sub    %r13,%rcx
140ab6e39:	48 8b 01             	mov    (%rcx),%rax
140ab6e3c:	4c 89 31             	mov    %r14,(%rcx)
140ab6e3f:	48 8b 0e             	mov    (%rsi),%rcx
140ab6e42:	48 89 06             	mov    %rax,(%rsi)
140ab6e45:	48 85 c9             	test   %rcx,%rcx
140ab6e48:	74 19                	je     0x140ab6e63
140ab6e4a:	48 83 69 08 01       	subq   $0x1,0x8(%rcx)
140ab6e4f:	75 12                	jne    0x140ab6e63
140ab6e51:	48 8b 01             	mov    (%rcx),%rax
140ab6e54:	ba 01 00 00 00       	mov    $0x1,%edx
140ab6e59:	48 8b 40 28          	mov    0x28(%rax),%rax
140ab6e5d:	ff 15 bd cb 4c 00    	call   *0x4ccbbd(%rip)        # 0x140f83a20
140ab6e63:	4c 3b e3             	cmp    %rbx,%r12
140ab6e66:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140ab6e6b:	0f 85 6f ff ff ff    	jne    0x140ab6de0
140ab6e71:	4c 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%r15
140ab6e78:	00
140ab6e79:	4c 8b b4 24 90 00 00 	mov    0x90(%rsp),%r14
140ab6e80:	00
140ab6e81:	48 8b fb             	mov    %rbx,%rdi
140ab6e84:	4a 8d 34 2b          	lea    (%rbx,%r13,1),%rsi
140ab6e88:	48 3b de             	cmp    %rsi,%rbx
140ab6e8b:	74 14                	je     0x140ab6ea1
140ab6e8d:	0f 1f 00             	nopl   (%rax)
140ab6e90:	48 8b cf             	mov    %rdi,%rcx
140ab6e93:	e8 58 c5 8d ff       	call   0x1403933f0
140ab6e98:	48 83 c7 28          	add    $0x28,%rdi
140ab6e9c:	48 3b fe             	cmp    %rsi,%rdi
140ab6e9f:	75 ef                	jne    0x140ab6e90
140ab6ea1:	4d 8b ce             	mov    %r14,%r9
140ab6ea4:	4c 8b c3             	mov    %rbx,%r8
140ab6ea7:	49 8b d7             	mov    %r15,%rdx
140ab6eaa:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
140ab6eb1:	00
140ab6eb2:	e8 b9 06 00 00       	call   0x140ab7570
140ab6eb7:	eb 4f                	jmp    0x140ab6f08
140ab6eb9:	4e 8d 04 2b          	lea    (%rbx,%r13,1),%r8
140ab6ebd:	4c 89 84 24 a8 00 00 	mov    %r8,0xa8(%rsp)
140ab6ec4:	00
140ab6ec5:	4d 8b cc             	mov    %r12,%r9
140ab6ec8:	48 8b cb             	mov    %rbx,%rcx
140ab6ecb:	e8 10 07 00 00       	call   0x140ab75e0
140ab6ed0:	48 89 07             	mov    %rax,(%rdi)
140ab6ed3:	48 8b fb             	mov    %rbx,%rdi
140ab6ed6:	48 3b de             	cmp    %rsi,%rbx
140ab6ed9:	74 16                	je     0x140ab6ef1
140ab6edb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140ab6ee0:	48 8b cf             	mov    %rdi,%rcx
140ab6ee3:	e8 08 c5 8d ff       	call   0x1403933f0
140ab6ee8:	48 83 c7 28          	add    $0x28,%rdi
140ab6eec:	48 3b fe             	cmp    %rsi,%rdi
140ab6eef:	75 ef                	jne    0x140ab6ee0
140ab6ef1:	4d 8b cc             	mov    %r12,%r9
140ab6ef4:	4c 8b c3             	mov    %rbx,%r8
140ab6ef7:	49 8b d7             	mov    %r15,%rdx
140ab6efa:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
140ab6f01:	00
140ab6f02:	e8 69 06 00 00       	call   0x140ab7570
140ab6f07:	90                   	nop
140ab6f08:	48 83 c4 50          	add    $0x50,%rsp
140ab6f0c:	41 5f                	pop    %r15
140ab6f0e:	41 5e                	pop    %r14
140ab6f10:	41 5d                	pop    %r13
140ab6f12:	41 5c                	pop    %r12
140ab6f14:	5f                   	pop    %rdi
140ab6f15:	5e                   	pop    %rsi
140ab6f16:	5b                   	pop    %rbx
140ab6f17:	c3                   	ret
140ab6f18:	e8 73 66 6e ff       	call   0x14019d590
140ab6f1d:	cc                   	int3
140ab6f1e:	e8 81 32 37 00       	call   0x140e2a1a4
140ab6f23:	cc                   	int3
140ab6f24:	e8 67 62 6e ff       	call   0x14019d190
140ab6f29:	cc                   	int3
140ab6f2a:	cc                   	int3
140ab6f2b:	cc                   	int3
140ab6f2c:	cc                   	int3
140ab6f2d:	cc                   	int3
140ab6f2e:	cc                   	int3
140ab6f2f:	cc                   	int3
140ab6f30:	40 55                	rex push %rbp
140ab6f32:	56                   	push   %rsi
140ab6f33:	48 83 ec 28          	sub    $0x28,%rsp
140ab6f37:	49 8b f0             	mov    %r8,%rsi
140ab6f3a:	48 8b ea             	mov    %rdx,%rbp
140ab6f3d:	48 3b ca             	cmp    %rdx,%rcx
140ab6f40:	0f 84 ca 00 00 00    	je     0x140ab7010
140ab6f46:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140ab6f4b:	48 8d 59 08          	lea    0x8(%rcx),%rbx
140ab6f4f:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
140ab6f54:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140ab6f59:	45 33 ff             	xor    %r15d,%r15d
140ab6f5c:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140ab6f61:	0f 1f 40 00          	nopl   0x0(%rax)
140ab6f65:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140ab6f6c:	00 00 00 00
140ab6f70:	48 8b 43 10          	mov    0x10(%rbx),%rax
140ab6f74:	4c 89 7b 10          	mov    %r15,0x10(%rbx)
140ab6f78:	4c 8b 76 18          	mov    0x18(%rsi),%r14
140ab6f7c:	48 89 46 18          	mov    %rax,0x18(%rsi)
140ab6f80:	4d 85 f6             	test   %r14,%r14
140ab6f83:	74 36                	je     0x140ab6fbb
140ab6f85:	49 83 2e 01          	subq   $0x1,(%r14)
140ab6f89:	75 30                	jne    0x140ab6fbb
140ab6f8b:	4d 8b 46 08          	mov    0x8(%r14),%r8
140ab6f8f:	49 8d 56 08          	lea    0x8(%r14),%rdx
140ab6f93:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140ab6f97:	4d 8b 40 08          	mov    0x8(%r8),%r8
140ab6f9b:	e8 a0 a3 8d ff       	call   0x140391340
140ab6fa0:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140ab6fa4:	ba 80 00 00 00       	mov    $0x80,%edx
140ab6fa9:	e8 96 41 36 00       	call   0x140e1b144
140ab6fae:	ba 18 00 00 00       	mov    $0x18,%edx
140ab6fb3:	49 8b ce             	mov    %r14,%rcx
140ab6fb6:	e8 89 41 36 00       	call   0x140e1b144
140ab6fbb:	48 8b 03             	mov    (%rbx),%rax
140ab6fbe:	4c 89 3b             	mov    %r15,(%rbx)
140ab6fc1:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140ab6fc5:	48 89 46 08          	mov    %rax,0x8(%rsi)
140ab6fc9:	48 85 c9             	test   %rcx,%rcx
140ab6fcc:	74 19                	je     0x140ab6fe7
140ab6fce:	48 83 69 08 01       	subq   $0x1,0x8(%rcx)
140ab6fd3:	75 12                	jne    0x140ab6fe7
140ab6fd5:	48 8b 01             	mov    (%rcx),%rax
140ab6fd8:	ba 01 00 00 00       	mov    $0x1,%edx
140ab6fdd:	48 8b 40 28          	mov    0x28(%rax),%rax
140ab6fe1:	ff 15 39 ca 4c 00    	call   *0x4cca39(%rip)        # 0x140f83a20
140ab6fe7:	48 83 c3 28          	add    $0x28,%rbx
140ab6feb:	48 83 c6 28          	add    $0x28,%rsi
140ab6fef:	48 8d 43 f8          	lea    -0x8(%rbx),%rax
140ab6ff3:	48 3b c5             	cmp    %rbp,%rax
140ab6ff6:	0f 85 74 ff ff ff    	jne    0x140ab6f70
140ab6ffc:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140ab7001:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
140ab7006:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140ab700b:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140ab7010:	48 8b c6             	mov    %rsi,%rax
140ab7013:	48 83 c4 28          	add    $0x28,%rsp
140ab7017:	5e                   	pop    %rsi
140ab7018:	5d                   	pop    %rbp
140ab7019:	c3                   	ret
140ab701a:	cc                   	int3
140ab701b:	cc                   	int3
140ab701c:	cc                   	int3
140ab701d:	cc                   	int3
140ab701e:	cc                   	int3
140ab701f:	cc                   	int3
140ab7020:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ab7025:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140ab702a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140ab702f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140ab7034:	49 8d 78 ff          	lea    -0x1(%r8),%rdi
140ab7038:	4c 8b d9             	mov    %rcx,%r11
140ab703b:	48 d1 ff             	sar    $1,%rdi
140ab703e:	49 8b f0             	mov    %r8,%rsi
140ab7041:	4c 8b d2             	mov    %rdx,%r10
140ab7044:	48 8b da             	mov    %rdx,%rbx
140ab7047:	48 8b ca             	mov    %rdx,%rcx
140ab704a:	48 3b d7             	cmp    %rdi,%rdx
140ab704d:	7d 31                	jge    0x140ab7080
140ab704f:	90                   	nop
140ab7050:	4c 8d 04 09          	lea    (%rcx,%rcx,1),%r8
140ab7054:	33 d2                	xor    %edx,%edx
140ab7056:	4b 8b 44 c3 08       	mov    0x8(%r11,%r8,8),%rax
140ab705b:	4b 8b 4c c3 10       	mov    0x10(%r11,%r8,8),%rcx
140ab7060:	8b 40 78             	mov    0x78(%rax),%eax
140ab7063:	39 41 78             	cmp    %eax,0x78(%rcx)
140ab7066:	0f 9e c2             	setle  %dl
140ab7069:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
140ab706d:	49 03 c8             	add    %r8,%rcx
140ab7070:	49 8b 04 cb          	mov    (%r11,%rcx,8),%rax
140ab7074:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
140ab7078:	4c 8b d1             	mov    %rcx,%r10
140ab707b:	48 3b cf             	cmp    %rdi,%rcx
140ab707e:	7c d0                	jl     0x140ab7050
140ab7080:	48 3b cf             	cmp    %rdi,%rcx
140ab7083:	75 13                	jne    0x140ab7098
140ab7085:	40 f6 c6 01          	test   $0x1,%sil
140ab7089:	75 0d                	jne    0x140ab7098
140ab708b:	49 8b 44 f3 f8       	mov    -0x8(%r11,%rsi,8),%rax
140ab7090:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
140ab7094:	4c 8d 56 ff          	lea    -0x1(%rsi),%r10
140ab7098:	49 3b da             	cmp    %r10,%rbx
140ab709b:	7d 26                	jge    0x140ab70c3
140ab709d:	0f 1f 00             	nopl   (%rax)
140ab70a0:	49 8b 09             	mov    (%r9),%rcx
140ab70a3:	49 8d 42 ff          	lea    -0x1(%r10),%rax
140ab70a7:	48 d1 f8             	sar    $1,%rax
140ab70aa:	8b 51 78             	mov    0x78(%rcx),%edx
140ab70ad:	4d 8b 04 c3          	mov    (%r11,%rax,8),%r8
140ab70b1:	41 39 50 78          	cmp    %edx,0x78(%r8)
140ab70b5:	7e 28                	jle    0x140ab70df
140ab70b7:	4f 89 04 d3          	mov    %r8,(%r11,%r10,8)
140ab70bb:	4c 8b d0             	mov    %rax,%r10
140ab70be:	48 3b d8             	cmp    %rax,%rbx
140ab70c1:	7c dd                	jl     0x140ab70a0
140ab70c3:	49 8b 01             	mov    (%r9),%rax
140ab70c6:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
140ab70ca:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140ab70cf:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
140ab70d4:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140ab70d9:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140ab70de:	c3                   	ret
140ab70df:	4b 89 0c d3          	mov    %rcx,(%r11,%r10,8)
140ab70e3:	eb e5                	jmp    0x140ab70ca
140ab70e5:	cc                   	int3
140ab70e6:	cc                   	int3
140ab70e7:	cc                   	int3
140ab70e8:	cc                   	int3
140ab70e9:	cc                   	int3
140ab70ea:	cc                   	int3
140ab70eb:	cc                   	int3
140ab70ec:	cc                   	int3
140ab70ed:	cc                   	int3
140ab70ee:	cc                   	int3
140ab70ef:	cc                   	int3
140ab70f0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140ab70f5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140ab70fa:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140ab70ff:	56                   	push   %rsi
140ab7100:	57                   	push   %rdi
140ab7101:	41 56                	push   %r14
140ab7103:	48 83 ec 20          	sub    $0x20,%rsp
140ab7107:	4c 8b f2             	mov    %rdx,%r14
140ab710a:	48 8b d9             	mov    %rcx,%rbx
140ab710d:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140ab7111:	4c 2b 01             	sub    (%rcx),%r8
140ab7114:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140ab711b:	66 66 66
140ab711e:	49 f7 e8             	imul   %r8
140ab7121:	48 8b fa             	mov    %rdx,%rdi
140ab7124:	48 c1 ff 04          	sar    $0x4,%rdi
140ab7128:	48 8b c7             	mov    %rdi,%rax
140ab712b:	48 c1 e8 3f          	shr    $0x3f,%rax
140ab712f:	48 03 f8             	add    %rax,%rdi
140ab7132:	49 8b d6             	mov    %r14,%rdx
140ab7135:	e8 66 a0 8d ff       	call   0x1403911a0
140ab713a:	48 8b f0             	mov    %rax,%rsi
140ab713d:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140ab7142:	4c 8b cb             	mov    %rbx,%r9
140ab7145:	4c 8b c0             	mov    %rax,%r8
140ab7148:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140ab714c:	48 8b 0b             	mov    (%rbx),%rcx
140ab714f:	e8 8c 04 00 00       	call   0x140ab75e0
140ab7154:	90                   	nop
140ab7155:	4d 8b 0e             	mov    (%r14),%r9
140ab7158:	4c 8b c7             	mov    %rdi,%r8
140ab715b:	48 8b d6             	mov    %rsi,%rdx
140ab715e:	48 8b cb             	mov    %rbx,%rcx
140ab7161:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140ab7166:	48 83 c4 20          	add    $0x20,%rsp
140ab716a:	41 5e                	pop    %r14
140ab716c:	5f                   	pop    %rdi
140ab716d:	5e                   	pop    %rsi
140ab716e:	e9 9d 27 00 00       	jmp    0x140ab9910
140ab7173:	cc                   	int3
140ab7174:	cc                   	int3
140ab7175:	cc                   	int3
140ab7176:	cc                   	int3
140ab7177:	cc                   	int3
140ab7178:	cc                   	int3
140ab7179:	cc                   	int3
140ab717a:	cc                   	int3
140ab717b:	cc                   	int3
140ab717c:	cc                   	int3
140ab717d:	cc                   	int3
140ab717e:	cc                   	int3
140ab717f:	cc                   	int3
140ab7180:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140ab7185:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140ab718a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140ab718f:	57                   	push   %rdi
140ab7190:	41 56                	push   %r14
140ab7192:	41 57                	push   %r15
140ab7194:	48 83 ec 30          	sub    $0x30,%rsp
140ab7198:	48 8b c2             	mov    %rdx,%rax
140ab719b:	41 0f b6 d9          	movzbl %r9b,%ebx
140ab719f:	48 2b c1             	sub    %rcx,%rax
140ab71a2:	4d 8b f8             	mov    %r8,%r15
140ab71a5:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140ab71a9:	48 8b ea             	mov    %rdx,%rbp
140ab71ac:	4c 8b f1             	mov    %rcx,%r14
140ab71af:	48 3d 00 01 00 00    	cmp    $0x100,%rax
140ab71b5:	0f 8e f8 01 00 00    	jle    0x140ab73b3
140ab71bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140ab71c0:	48 8b fd             	mov    %rbp,%rdi
140ab71c3:	49 2b fe             	sub    %r14,%rdi
140ab71c6:	4d 85 ff             	test   %r15,%r15
140ab71c9:	0f 8e 2f 02 00 00    	jle    0x140ab73fe
140ab71cf:	48 c1 ff 04          	sar    $0x4,%rdi
140ab71d3:	4c 8d 45 f8          	lea    -0x8(%rbp),%r8
140ab71d7:	44 0f b6 cb          	movzbl %bl,%r9d
140ab71db:	49 8b ce             	mov    %r14,%rcx
140ab71de:	49 8d 3c fe          	lea    (%r14,%rdi,8),%rdi
140ab71e2:	48 8b d7             	mov    %rdi,%rdx
140ab71e5:	e8 b6 f7 ff ff       	call   0x140ab69a0
140ab71ea:	48 8d 77 08          	lea    0x8(%rdi),%rsi
140ab71ee:	4c 3b f7             	cmp    %rdi,%r14
140ab71f1:	73 2b                	jae    0x140ab721e
140ab71f3:	48 8b 0f             	mov    (%rdi),%rcx
140ab71f6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140ab71fd:	00 00 00
140ab7200:	4c 8b 47 f8          	mov    -0x8(%rdi),%r8
140ab7204:	48 8d 57 f8          	lea    -0x8(%rdi),%rdx
140ab7208:	41 8b 40 78          	mov    0x78(%r8),%eax
140ab720c:	3b 41 78             	cmp    0x78(%rcx),%eax
140ab720f:	7f 0d                	jg     0x140ab721e
140ab7211:	7c 0b                	jl     0x140ab721e
140ab7213:	48 8b fa             	mov    %rdx,%rdi
140ab7216:	49 8b c8             	mov    %r8,%rcx
140ab7219:	4c 3b f2             	cmp    %rdx,%r14
140ab721c:	72 e2                	jb     0x140ab7200
140ab721e:	48 3b f5             	cmp    %rbp,%rsi
140ab7221:	73 20                	jae    0x140ab7243
140ab7223:	48 8b 07             	mov    (%rdi),%rax
140ab7226:	8b 50 78             	mov    0x78(%rax),%edx
140ab7229:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140ab7230:	48 8b 06             	mov    (%rsi),%rax
140ab7233:	39 50 78             	cmp    %edx,0x78(%rax)
140ab7236:	7f 0b                	jg     0x140ab7243
140ab7238:	7c 09                	jl     0x140ab7243
140ab723a:	48 83 c6 08          	add    $0x8,%rsi