140020eae:	cc                   	int3
140020eaf:	cc                   	int3
140020eb0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140020eb5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140020eba:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140020ebf:	48 8b 79 40          	mov    0x40(%rcx),%rdi
140020ec3:	4d 8b d0             	mov    %r8,%r10
140020ec6:	48 8b da             	mov    %rdx,%rbx
140020ec9:	4c 8b d9             	mov    %rcx,%r11
140020ecc:	48 8b 07             	mov    (%rdi),%rax
140020ecf:	48 85 c0             	test   %rax,%rax
140020ed2:	74 0a                	je     0x140020ede
140020ed4:	48 39 41 68          	cmp    %rax,0x68(%rcx)
140020ed8:	73 04                	jae    0x140020ede
140020eda:	48 89 41 68          	mov    %rax,0x68(%rcx)
140020ede:	44 8b 44 24 28       	mov    0x28(%rsp),%r8d
140020ee3:	41 f6 c0 01          	test   $0x1,%r8b
140020ee7:	0f 84 cd 00 00 00    	je     0x140020fba
140020eed:	48 8b 41 38          	mov    0x38(%rcx),%rax
140020ef1:	48 8b 30             	mov    (%rax),%rsi
140020ef4:	48 85 f6             	test   %rsi,%rsi
140020ef7:	0f 84 bd 00 00 00    	je     0x140020fba
140020efd:	48 8b 3d ac b3 00 00 	mov    0xb3ac(%rip),%rdi        # 0x14002c2b0
140020f04:	41 83 f9 02          	cmp    $0x2,%r9d
140020f08:	75 0a                	jne    0x140020f14
140020f0a:	48 8b 41 18          	mov    0x18(%rcx),%rax
140020f0e:	48 8b 49 68          	mov    0x68(%rcx),%rcx
140020f12:	eb 13                	jmp    0x140020f27
140020f14:	41 83 f9 01          	cmp    $0x1,%r9d
140020f18:	75 18                	jne    0x140020f32
140020f1a:	41 f6 c0 02          	test   $0x2,%r8b
140020f1e:	75 17                	jne    0x140020f37
140020f20:	48 8b 41 18          	mov    0x18(%rcx),%rax
140020f24:	48 8b ce             	mov    %rsi,%rcx
140020f27:	48 2b 08             	sub    (%rax),%rcx
140020f2a:	48 d1 f9             	sar    $1,%rcx
140020f2d:	4c 03 d1             	add    %rcx,%r10
140020f30:	eb 08                	jmp    0x140020f3a
140020f32:	45 85 c9             	test   %r9d,%r9d
140020f35:	74 03                	je     0x140020f3a
140020f37:	4c 8b d7             	mov    %rdi,%r10
140020f3a:	4d 85 d2             	test   %r10,%r10
140020f3d:	78 73                	js     0x140020fb2
140020f3f:	49 8b 43 18          	mov    0x18(%r11),%rax
140020f43:	48 8b 10             	mov    (%rax),%rdx
140020f46:	49 8b 43 68          	mov    0x68(%r11),%rax
140020f4a:	48 2b c2             	sub    %rdx,%rax
140020f4d:	48 d1 f8             	sar    $1,%rax
140020f50:	4c 3b d0             	cmp    %rax,%r10
140020f53:	7f 5d                	jg     0x140020fb2
140020f55:	49 8b 43 50          	mov    0x50(%r11),%rax
140020f59:	48 2b d6             	sub    %rsi,%rdx
140020f5c:	48 d1 fa             	sar    $1,%rdx
140020f5f:	41 03 d2             	add    %r10d,%edx
140020f62:	29 10                	sub    %edx,(%rax)
140020f64:	49 8b 4b 38          	mov    0x38(%r11),%rcx
140020f68:	48 63 c2             	movslq %edx,%rax
140020f6b:	48 03 c0             	add    %rax,%rax
140020f6e:	48 01 01             	add    %rax,(%rcx)
140020f71:	41 f6 c0 02          	test   $0x2,%r8b
140020f75:	0f 84 ca 00 00 00    	je     0x140021045
140020f7b:	4d 8b 4b 40          	mov    0x40(%r11),%r9
140020f7f:	4d 8b 01             	mov    (%r9),%r8
140020f82:	4d 85 c0             	test   %r8,%r8
140020f85:	0f 84 ba 00 00 00    	je     0x140021045
140020f8b:	49 8b 43 38          	mov    0x38(%r11),%rax
140020f8f:	48 8b 10             	mov    (%rax),%rdx
140020f92:	49 8b 43 58          	mov    0x58(%r11),%rax
140020f96:	48 63 08             	movslq (%rax),%rcx
140020f99:	49 89 11             	mov    %rdx,(%r9)
140020f9c:	49 8b 43 58          	mov    0x58(%r11),%rax
140020fa0:	4d 8d 04 48          	lea    (%r8,%rcx,2),%r8
140020fa4:	4c 2b c2             	sub    %rdx,%r8
140020fa7:	49 d1 f8             	sar    $1,%r8
140020faa:	44 89 00             	mov    %r8d,(%rax)
140020fad:	e9 93 00 00 00       	jmp    0x140021045
140020fb2:	4c 8b d7             	mov    %rdi,%r10
140020fb5:	e9 8b 00 00 00       	jmp    0x140021045
140020fba:	41 f6 c0 02          	test   $0x2,%r8b
140020fbe:	74 7a                	je     0x14002103a
140020fc0:	48 83 3f 00          	cmpq   $0x0,(%rdi)
140020fc4:	74 74                	je     0x14002103a
140020fc6:	4c 8b 05 e3 b2 00 00 	mov    0xb2e3(%rip),%r8        # 0x14002c2b0
140020fcd:	41 83 f9 02          	cmp    $0x2,%r9d
140020fd1:	75 0a                	jne    0x140020fdd
140020fd3:	48 8b 41 18          	mov    0x18(%rcx),%rax
140020fd7:	48 8b 49 68          	mov    0x68(%rcx),%rcx
140020fdb:	eb 0d                	jmp    0x140020fea
140020fdd:	41 83 f9 01          	cmp    $0x1,%r9d
140020fe1:	75 12                	jne    0x140020ff5
140020fe3:	48 8b 41 18          	mov    0x18(%rcx),%rax
140020fe7:	48 8b 0f             	mov    (%rdi),%rcx
140020fea:	48 2b 08             	sub    (%rax),%rcx
140020fed:	48 d1 f9             	sar    $1,%rcx
140020ff0:	4c 03 d1             	add    %rcx,%r10
140020ff3:	eb 07                	jmp    0x140020ffc
140020ff5:	45 85 c9             	test   %r9d,%r9d
140020ff8:	4d 0f 45 d0          	cmovne %r8,%r10
140020ffc:	4d 85 d2             	test   %r10,%r10
140020fff:	78 34                	js     0x140021035
140021001:	49 8b 43 18          	mov    0x18(%r11),%rax
140021005:	48 8b 10             	mov    (%rax),%rdx
140021008:	49 8b 43 68          	mov    0x68(%r11),%rax
14002100c:	48 2b c2             	sub    %rdx,%rax
14002100f:	48 d1 f8             	sar    $1,%rax
140021012:	4c 3b d0             	cmp    %rax,%r10
140021015:	7f 1e                	jg     0x140021035
140021017:	48 2b 17             	sub    (%rdi),%rdx
14002101a:	49 8b 43 58          	mov    0x58(%r11),%rax
14002101e:	48 d1 fa             	sar    $1,%rdx
140021021:	41 03 d2             	add    %r10d,%edx
140021024:	29 10                	sub    %edx,(%rax)
140021026:	49 8b 4b 40          	mov    0x40(%r11),%rcx
14002102a:	48 63 c2             	movslq %edx,%rax
14002102d:	48 03 c0             	add    %rax,%rax
140021030:	48 01 01             	add    %rax,(%rcx)
140021033:	eb 10                	jmp    0x140021045
140021035:	4d 8b d0             	mov    %r8,%r10
140021038:	eb 0b                	jmp    0x140021045
14002103a:	4d 85 d2             	test   %r10,%r10
14002103d:	4c 0f 45 15 6b b2 00 	cmovne 0xb26b(%rip),%r10        # 0x14002c2b0
140021044:	00
140021045:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14002104a:	48 8b c3             	mov    %rbx,%rax
14002104d:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140021051:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140021056:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14002105b:	4c 89 13             	mov    %r10,(%rbx)
14002105e:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140021063:	c3                   	ret
140021064:	cc                   	int3
140021065:	cc                   	int3
140021066:	cc                   	int3
140021067:	cc                   	int3
140021068:	cc                   	int3
140021069:	cc                   	int3
14002106a:	cc                   	int3
14002106b:	cc                   	int3
14002106c:	cc                   	int3
14002106d:	cc                   	int3
14002106e:	cc                   	int3
14002106f:	cc                   	int3
140021070:	4c 8b 51 38          	mov    0x38(%rcx),%r10
140021074:	4d 8b 0a             	mov    (%r10),%r9
140021077:	4d 85 c9             	test   %r9,%r9
14002107a:	74 5b                	je     0x1400210d7
14002107c:	4c 8b 59 50          	mov    0x50(%rcx),%r11
140021080:	49 63 13             	movslq (%r11),%rdx
140021083:	4d 8d 04 51          	lea    (%r9,%rdx,2),%r8
140021087:	4d 3b c8             	cmp    %r8,%r9
14002108a:	73 06                	jae    0x140021092
14002108c:	41 0f b7 01          	movzwl (%r9),%eax
140021090:	c3                   	ret
140021091:	cc                   	int3
140021092:	f6 41 70 04          	testb  $0x4,0x70(%rcx)
140021096:	75 3f                	jne    0x1400210d7
140021098:	48 8b 41 40          	mov    0x40(%rcx),%rax
14002109c:	48 8b 10             	mov    (%rax),%rdx
14002109f:	48 85 d2             	test   %rdx,%rdx
1400210a2:	74 33                	je     0x1400210d7
1400210a4:	49 3b d1             	cmp    %r9,%rdx
1400210a7:	77 06                	ja     0x1400210af
1400210a9:	4c 39 49 68          	cmp    %r9,0x68(%rcx)
1400210ad:	76 28                	jbe    0x1400210d7
1400210af:	48 8b 41 68          	mov    0x68(%rcx),%rax
1400210b3:	48 3b c2             	cmp    %rdx,%rax
1400210b6:	73 0a                	jae    0x1400210c2
1400210b8:	48 89 51 68          	mov    %rdx,0x68(%rcx)
1400210bc:	48 8b c2             	mov    %rdx,%rax
1400210bf:	4d 8b 0a             	mov    (%r10),%r9
1400210c2:	49 2b c1             	sub    %r9,%rax
1400210c5:	48 d1 f8             	sar    $1,%rax
1400210c8:	41 89 03             	mov    %eax,(%r11)
1400210cb:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400210cf:	48 8b 08             	mov    (%rax),%rcx
1400210d2:	0f b7 01             	movzwl (%rcx),%eax
1400210d5:	c3                   	ret
1400210d6:	cc                   	int3
1400210d7:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400210dc:	c3                   	ret
1400210dd:	cc                   	int3
1400210de:	cc                   	int3
1400210df:	cc                   	int3
1400210e0:	cc                   	int3
1400210e1:	cc                   	int3
1400210e2:	cc                   	int3
1400210e3:	cc                   	int3
1400210e4:	cc                   	int3
1400210e5:	cc                   	int3
1400210e6:	cc                   	int3
1400210e7:	cc                   	int3
1400210e8:	cc                   	int3
1400210e9:	cc                   	int3
1400210ea:	cc                   	int3
1400210eb:	cc                   	int3
1400210ec:	cc                   	int3
1400210ed:	cc                   	int3
1400210ee:	cc                   	int3
1400210ef:	cc                   	int3
1400210f0:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400210f4:	45 33 d2             	xor    %r10d,%r10d
1400210f7:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
1400210fd:	4c 8b 00             	mov    (%rax),%r8
140021100:	4d 85 c0             	test   %r8,%r8
140021103:	74 44                	je     0x140021149
140021105:	48 8b 41 18          	mov    0x18(%rcx),%rax
140021109:	4c 3b 00             	cmp    (%rax),%r8
14002110c:	76 3b                	jbe    0x140021149
14002110e:	66 44 3b ca          	cmp    %dx,%r9w
140021112:	74 0d                	je     0x140021121
140021114:	66 41 3b 50 fe       	cmp    -0x2(%r8),%dx
140021119:	74 06                	je     0x140021121
14002111b:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
14002111f:	75 28                	jne    0x140021149
140021121:	48 8b 41 50          	mov    0x50(%rcx),%rax
140021125:	ff 00                	incl   (%rax)
140021127:	48 8b 41 38          	mov    0x38(%rcx),%rax
14002112b:	48 83 00 fe          	addq   $0xfffffffffffffffe,(%rax)
14002112f:	66 44 3b ca          	cmp    %dx,%r9w
140021133:	74 0a                	je     0x14002113f
140021135:	48 8b 41 38          	mov    0x38(%rcx),%rax
140021139:	48 8b 08             	mov    (%rax),%rcx
14002113c:	66 89 11             	mov    %dx,(%rcx)
14002113f:	66 41 0f 44 d2       	cmove  %r10w,%dx
140021144:	0f b7 c2             	movzwl %dx,%eax
140021147:	c3                   	ret
140021148:	cc                   	int3
140021149:	41 0f b7 c1          	movzwl %r9w,%eax
14002114d:	c3                   	ret
14002114e:	cc                   	int3
14002114f:	cc                   	int3
140021150:	cc                   	int3
140021151:	cc                   	int3
140021152:	cc                   	int3
140021153:	cc                   	int3
140021154:	cc                   	int3
140021155:	cc                   	int3
140021156:	cc                   	int3
140021157:	cc                   	int3
140021158:	cc                   	int3
140021159:	cc                   	int3
14002115a:	cc                   	int3
14002115b:	cc                   	int3
14002115c:	cc                   	int3
14002115d:	cc                   	int3
14002115e:	cc                   	int3
14002115f:	cc                   	int3
140021160:	48 8b c4             	mov    %rsp,%rax
140021163:	48 89 58 08          	mov    %rbx,0x8(%rax)
140021167:	48 89 68 10          	mov    %rbp,0x10(%rax)
14002116b:	48 89 70 18          	mov    %rsi,0x18(%rax)
14002116f:	48 89 78 20          	mov    %rdi,0x20(%rax)
140021173:	41 54                	push   %r12
140021175:	41 56                	push   %r14
140021177:	41 57                	push   %r15
140021179:	48 83 ec 20          	sub    $0x20,%rsp
14002117d:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140021181:	44 0f b7 fa          	movzwl %dx,%r15d
140021185:	48 8b d9             	mov    %rcx,%rbx
140021188:	41 ba ff ff 00 00    	mov    $0xffff,%r10d
14002118e:	0f 85 28 02 00 00    	jne    0x1400213bc
140021194:	33 ed                	xor    %ebp,%ebp
140021196:	66 44 3b d2          	cmp    %dx,%r10w
14002119a:	75 08                	jne    0x1400211a4
14002119c:	0f b7 c5             	movzwl %bp,%eax
14002119f:	e9 1c 02 00 00       	jmp    0x1400213c0
1400211a4:	f6 41 70 08          	testb  $0x8,0x70(%rcx)
1400211a8:	74 2f                	je     0x1400211d9
1400211aa:	4c 8b 49 40          	mov    0x40(%rcx),%r9
1400211ae:	49 8b 11             	mov    (%r9),%rdx
1400211b1:	48 85 d2             	test   %rdx,%rdx
1400211b4:	74 23                	je     0x1400211d9
1400211b6:	4c 8b 41 68          	mov    0x68(%rcx),%r8
1400211ba:	49 3b d0             	cmp    %r8,%rdx
1400211bd:	73 1a                	jae    0x1400211d9
1400211bf:	48 8b 41 58          	mov    0x58(%rcx),%rax
1400211c3:	48 63 08             	movslq (%rax),%rcx
1400211c6:	4d 89 01             	mov    %r8,(%r9)
1400211c9:	48 8b 43 58          	mov    0x58(%rbx),%rax
1400211cd:	48 8d 14 4a          	lea    (%rdx,%rcx,2),%rdx
1400211d1:	49 2b d0             	sub    %r8,%rdx
1400211d4:	48 d1 fa             	sar    $1,%rdx
1400211d7:	89 10                	mov    %edx,(%rax)
1400211d9:	48 8b 43 40          	mov    0x40(%rbx),%rax
1400211dd:	48 8b 38             	mov    (%rax),%rdi
1400211e0:	48 85 ff             	test   %rdi,%rdi
1400211e3:	74 43                	je     0x140021228
1400211e5:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
1400211e9:	48 63 11             	movslq (%rcx),%rdx
1400211ec:	4c 8d 04 12          	lea    (%rdx,%rdx,1),%r8
1400211f0:	4a 8d 04 07          	lea    (%rdi,%r8,1),%rax
1400211f4:	48 3b f8             	cmp    %rax,%rdi
1400211f7:	73 20                	jae    0x140021219
1400211f9:	8d 42 ff             	lea    -0x1(%rdx),%eax
1400211fc:	89 01                	mov    %eax,(%rcx)
1400211fe:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
140021202:	48 8b 11             	mov    (%rcx),%rdx
140021205:	48 8d 42 02          	lea    0x2(%rdx),%rax
140021209:	48 89 01             	mov    %rax,(%rcx)
14002120c:	41 0f b7 c7          	movzwl %r15w,%eax
140021210:	66 44 89 3a          	mov    %r15w,(%rdx)
140021214:	e9 a7 01 00 00       	jmp    0x1400213c0
140021219:	48 8b 43 18          	mov    0x18(%rbx),%rax
14002121d:	48 2b 38             	sub    (%rax),%rdi
140021220:	49 03 f8             	add    %r8,%rdi
140021223:	48 d1 ff             	sar    $1,%rdi
140021226:	eb 03                	jmp    0x14002122b
140021228:	48 8b fd             	mov    %rbp,%rdi
14002122b:	b8 20 00 00 00       	mov    $0x20,%eax
140021230:	48 8b cf             	mov    %rdi,%rcx
140021233:	48 d1 e9             	shr    $1,%rcx
140021236:	48 3b c8             	cmp    %rax,%rcx
140021239:	48 0f 42 c8          	cmovb  %rax,%rcx
14002123d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140021242:	48 2b c1             	sub    %rcx,%rax
140021245:	48 3b c7             	cmp    %rdi,%rax
140021248:	73 05                	jae    0x14002124f
14002124a:	48 d1 e9             	shr    $1,%rcx
14002124d:	75 ee                	jne    0x14002123d
14002124f:	48 85 c9             	test   %rcx,%rcx
140021252:	0f 84 64 01 00 00    	je     0x1400213bc
140021258:	4c 8d 34 39          	lea    (%rcx,%rdi,1),%r14
14002125c:	48 8b f5             	mov    %rbp,%rsi
14002125f:	4d 85 f6             	test   %r14,%r14
140021262:	74 28                	je     0x14002128c
140021264:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14002126b:	ff ff 7f
14002126e:	4c 3b f0             	cmp    %rax,%r14
140021271:	0f 87 69 01 00 00    	ja     0x1400213e0
140021277:	4b 8d 0c 36          	lea    (%r14,%r14,1),%rcx
14002127b:	e8 54 30 00 00       	call   0x1400242d4
140021280:	48 8b f0             	mov    %rax,%rsi
140021283:	48 85 c0             	test   %rax,%rax
140021286:	0f 84 54 01 00 00    	je     0x1400213e0
14002128c:	48 8b 43 18          	mov    0x18(%rbx),%rax
140021290:	4c 8b 20             	mov    (%rax),%r12
140021293:	48 85 ff             	test   %rdi,%rdi
140021296:	74 0f                	je     0x1400212a7
140021298:	4c 8d 04 3f          	lea    (%rdi,%rdi,1),%r8
14002129c:	49 8b d4             	mov    %r12,%rdx
14002129f:	48 8b ce             	mov    %rsi,%rcx
1400212a2:	e8 b1 3b 00 00       	call   0x140024e58
1400212a7:	4f 8d 04 36          	lea    (%r14,%r14,1),%r8
1400212ab:	48 85 ff             	test   %rdi,%rdi
1400212ae:	75 3e                	jne    0x1400212ee
1400212b0:	48 8b 43 20          	mov    0x20(%rbx),%rax
1400212b4:	48 89 73 68          	mov    %rsi,0x68(%rbx)
1400212b8:	48 89 30             	mov    %rsi,(%rax)
1400212bb:	48 8b 43 40          	mov    0x40(%rbx),%rax
1400212bf:	48 89 30             	mov    %rsi,(%rax)