1402770b1:	48 85 d2             	test   %rdx,%rdx
1402770b4:	74 05                	je     0x1402770bb
1402770b6:	48 ff ca             	dec    %rdx
1402770b9:	eb 05                	jmp    0x1402770c0
1402770bb:	ba 1f 00 00 00       	mov    $0x1f,%edx
1402770c0:	48 85 c9             	test   %rcx,%rcx
1402770c3:	49 8d 42 fc          	lea    -0x4(%r10),%rax
1402770c7:	4c 0f 44 d0          	cmove  %rax,%r10
1402770cb:	4d 85 c0             	test   %r8,%r8
1402770ce:	74 05                	je     0x1402770d5
1402770d0:	49 ff c8             	dec    %r8
1402770d3:	eb 0a                	jmp    0x1402770df
1402770d5:	41 b8 1f 00 00 00    	mov    $0x1f,%r8d
1402770db:	49 83 e9 04          	sub    $0x4,%r9
1402770df:	48 8b ca             	mov    %rdx,%rcx
1402770e2:	b8 01 00 00 00       	mov    $0x1,%eax
1402770e7:	d3 e0                	shl    %cl,%eax
1402770e9:	41 85 02             	test   %eax,(%r10)
1402770ec:	41 8b 01             	mov    (%r9),%eax
1402770ef:	74 09                	je     0x1402770fa
1402770f1:	44 0f ab c0          	bts    %r8d,%eax
1402770f5:	41 89 01             	mov    %eax,(%r9)
1402770f8:	eb a6                	jmp    0x1402770a0
1402770fa:	44 0f b3 c0          	btr    %r8d,%eax
1402770fe:	41 89 01             	mov    %eax,(%r9)
140277101:	eb 9d                	jmp    0x1402770a0
140277103:	e8 68 04 00 00       	call   0x140277570
140277108:	cc                   	int3
140277109:	cc                   	int3
14027710a:	cc                   	int3
14027710b:	cc                   	int3
14027710c:	cc                   	int3
14027710d:	cc                   	int3
14027710e:	cc                   	int3
14027710f:	cc                   	int3
140277110:	48 8b 41 08          	mov    0x8(%rcx),%rax
140277114:	48 c7 41 08 00 00 00 	movq   $0x0,0x8(%rcx)
14027711b:	00
14027711c:	c3                   	ret
14027711d:	cc                   	int3
14027711e:	cc                   	int3
14027711f:	cc                   	int3
140277120:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140277125:	56                   	push   %rsi
140277126:	48 83 ec 20          	sub    $0x20,%rsp
14027712a:	48 8b 19             	mov    (%rcx),%rbx
14027712d:	48 8b f1             	mov    %rcx,%rsi
140277130:	48 85 db             	test   %rbx,%rbx
140277133:	0f 84 87 00 00 00    	je     0x1402771c0
140277139:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14027713e:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140277142:	48 3b df             	cmp    %rdi,%rbx
140277145:	74 11                	je     0x140277158
140277147:	48 8b cb             	mov    %rbx,%rcx
14027714a:	e8 71 54 fe ff       	call   0x14025c5c0
14027714f:	48 83 c3 50          	add    $0x50,%rbx
140277153:	48 3b df             	cmp    %rdi,%rbx
140277156:	75 ef                	jne    0x140277147
140277158:	4c 8b 06             	mov    (%rsi),%r8
14027715b:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140277162:	66 66 66
140277165:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140277169:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
14027716e:	49 2b c8             	sub    %r8,%rcx
140277171:	48 f7 e9             	imul   %rcx
140277174:	48 c1 fa 05          	sar    $0x5,%rdx
140277178:	48 8b c2             	mov    %rdx,%rax
14027717b:	48 c1 e8 3f          	shr    $0x3f,%rax
14027717f:	48 03 d0             	add    %rax,%rdx
140277182:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140277186:	48 c1 e2 04          	shl    $0x4,%rdx
14027718a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140277191:	72 18                	jb     0x1402771ab
140277193:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140277197:	48 83 c2 27          	add    $0x27,%rdx
14027719b:	4c 2b c1             	sub    %rcx,%r8
14027719e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1402771a2:	48 83 f8 1f          	cmp    $0x1f,%rax
1402771a6:	77 23                	ja     0x1402771cb
1402771a8:	4c 8b c1             	mov    %rcx,%r8
1402771ab:	49 8b c8             	mov    %r8,%rcx
1402771ae:	e8 91 3f ba 00       	call   0x140e1b144
1402771b3:	33 c0                	xor    %eax,%eax
1402771b5:	48 89 06             	mov    %rax,(%rsi)
1402771b8:	48 89 46 08          	mov    %rax,0x8(%rsi)
1402771bc:	48 89 46 10          	mov    %rax,0x10(%rsi)
1402771c0:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1402771c5:	48 83 c4 20          	add    $0x20,%rsp
1402771c9:	5e                   	pop    %rsi
1402771ca:	c3                   	ret
1402771cb:	e8 d4 2f bb 00       	call   0x140e2a1a4
1402771d0:	cc                   	int3
1402771d1:	cc                   	int3
1402771d2:	cc                   	int3
1402771d3:	cc                   	int3
1402771d4:	cc                   	int3
1402771d5:	cc                   	int3
1402771d6:	cc                   	int3
1402771d7:	cc                   	int3
1402771d8:	cc                   	int3
1402771d9:	cc                   	int3
1402771da:	cc                   	int3
1402771db:	cc                   	int3
1402771dc:	cc                   	int3
1402771dd:	cc                   	int3
1402771de:	cc                   	int3
1402771df:	cc                   	int3
1402771e0:	40 53                	rex push %rbx
1402771e2:	48 83 ec 20          	sub    $0x20,%rsp
1402771e6:	48 8b d9             	mov    %rcx,%rbx
1402771e9:	48 8b 09             	mov    (%rcx),%rcx
1402771ec:	48 85 c9             	test   %rcx,%rcx
1402771ef:	74 6f                	je     0x140277260
1402771f1:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1402771f5:	4c 8b c3             	mov    %rbx,%r8
1402771f8:	e8 63 98 fd ff       	call   0x140250a60
1402771fd:	4c 8b 03             	mov    (%rbx),%r8
140277200:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140277207:	aa aa 2a
14027720a:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14027720e:	49 2b c8             	sub    %r8,%rcx
140277211:	48 f7 e9             	imul   %rcx
140277214:	48 c1 fa 02          	sar    $0x2,%rdx
140277218:	48 8b c2             	mov    %rdx,%rax
14027721b:	48 c1 e8 3f          	shr    $0x3f,%rax
14027721f:	48 03 d0             	add    %rax,%rdx
140277222:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140277226:	48 c1 e2 03          	shl    $0x3,%rdx
14027722a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140277231:	72 18                	jb     0x14027724b
140277233:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140277237:	48 83 c2 27          	add    $0x27,%rdx
14027723b:	4c 2b c1             	sub    %rcx,%r8
14027723e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140277242:	48 83 f8 1f          	cmp    $0x1f,%rax
140277246:	77 1e                	ja     0x140277266
140277248:	4c 8b c1             	mov    %rcx,%r8
14027724b:	49 8b c8             	mov    %r8,%rcx
14027724e:	e8 f1 3e ba 00       	call   0x140e1b144
140277253:	33 c0                	xor    %eax,%eax
140277255:	48 89 03             	mov    %rax,(%rbx)
140277258:	48 89 43 08          	mov    %rax,0x8(%rbx)
14027725c:	48 89 43 10          	mov    %rax,0x10(%rbx)
140277260:	48 83 c4 20          	add    $0x20,%rsp
140277264:	5b                   	pop    %rbx
140277265:	c3                   	ret
140277266:	e8 39 2f bb 00       	call   0x140e2a1a4
14027726b:	cc                   	int3
14027726c:	cc                   	int3
14027726d:	cc                   	int3
14027726e:	cc                   	int3
14027726f:	cc                   	int3
140277270:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140277275:	56                   	push   %rsi
140277276:	48 83 ec 20          	sub    $0x20,%rsp
14027727a:	48 8b 19             	mov    (%rcx),%rbx
14027727d:	48 8b f1             	mov    %rcx,%rsi
140277280:	48 85 db             	test   %rbx,%rbx
140277283:	0f 84 87 00 00 00    	je     0x140277310
140277289:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14027728e:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140277292:	48 3b df             	cmp    %rdi,%rbx
140277295:	74 11                	je     0x1402772a8
140277297:	48 8b cb             	mov    %rbx,%rcx
14027729a:	e8 41 7f f9 ff       	call   0x14020f1e0
14027729f:	48 83 c3 18          	add    $0x18,%rbx
1402772a3:	48 3b df             	cmp    %rdi,%rbx
1402772a6:	75 ef                	jne    0x140277297
1402772a8:	4c 8b 06             	mov    (%rsi),%r8
1402772ab:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1402772b2:	aa aa 2a
1402772b5:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1402772b9:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1402772be:	49 2b c8             	sub    %r8,%rcx
1402772c1:	48 f7 e9             	imul   %rcx
1402772c4:	48 c1 fa 02          	sar    $0x2,%rdx
1402772c8:	48 8b c2             	mov    %rdx,%rax
1402772cb:	48 c1 e8 3f          	shr    $0x3f,%rax
1402772cf:	48 03 d0             	add    %rax,%rdx
1402772d2:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1402772d6:	48 c1 e2 03          	shl    $0x3,%rdx
1402772da:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1402772e1:	72 18                	jb     0x1402772fb
1402772e3:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1402772e7:	48 83 c2 27          	add    $0x27,%rdx
1402772eb:	4c 2b c1             	sub    %rcx,%r8
1402772ee:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1402772f2:	48 83 f8 1f          	cmp    $0x1f,%rax
1402772f6:	77 23                	ja     0x14027731b
1402772f8:	4c 8b c1             	mov    %rcx,%r8
1402772fb:	49 8b c8             	mov    %r8,%rcx
1402772fe:	e8 41 3e ba 00       	call   0x140e1b144
140277303:	33 c0                	xor    %eax,%eax
140277305:	48 89 06             	mov    %rax,(%rsi)
140277308:	48 89 46 08          	mov    %rax,0x8(%rsi)
14027730c:	48 89 46 10          	mov    %rax,0x10(%rsi)
140277310:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140277315:	48 83 c4 20          	add    $0x20,%rsp
140277319:	5e                   	pop    %rsi
14027731a:	c3                   	ret
14027731b:	e8 84 2e bb 00       	call   0x140e2a1a4
140277320:	cc                   	int3
140277321:	cc                   	int3
140277322:	cc                   	int3
140277323:	cc                   	int3
140277324:	cc                   	int3
140277325:	cc                   	int3
140277326:	cc                   	int3
140277327:	cc                   	int3
140277328:	cc                   	int3
140277329:	cc                   	int3
14027732a:	cc                   	int3
14027732b:	cc                   	int3
14027732c:	cc                   	int3
14027732d:	cc                   	int3
14027732e:	cc                   	int3
14027732f:	cc                   	int3
140277330:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140277335:	56                   	push   %rsi
140277336:	48 83 ec 20          	sub    $0x20,%rsp
14027733a:	48 8b 19             	mov    (%rcx),%rbx
14027733d:	48 8b f1             	mov    %rcx,%rsi
140277340:	48 85 db             	test   %rbx,%rbx
140277343:	0f 84 87 00 00 00    	je     0x1402773d0
140277349:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14027734e:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140277352:	48 3b df             	cmp    %rdi,%rbx
140277355:	74 11                	je     0x140277368
140277357:	48 8b cb             	mov    %rbx,%rcx
14027735a:	e8 81 fe ff ff       	call   0x1402771e0
14027735f:	48 83 c3 18          	add    $0x18,%rbx
140277363:	48 3b df             	cmp    %rdi,%rbx
140277366:	75 ef                	jne    0x140277357
140277368:	4c 8b 06             	mov    (%rsi),%r8
14027736b:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140277372:	aa aa 2a
140277375:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140277379:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
14027737e:	49 2b c8             	sub    %r8,%rcx
140277381:	48 f7 e9             	imul   %rcx
140277384:	48 c1 fa 02          	sar    $0x2,%rdx
140277388:	48 8b c2             	mov    %rdx,%rax
14027738b:	48 c1 e8 3f          	shr    $0x3f,%rax
14027738f:	48 03 d0             	add    %rax,%rdx
140277392:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140277396:	48 c1 e2 03          	shl    $0x3,%rdx
14027739a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1402773a1:	72 18                	jb     0x1402773bb
1402773a3:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1402773a7:	48 83 c2 27          	add    $0x27,%rdx
1402773ab:	4c 2b c1             	sub    %rcx,%r8
1402773ae:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1402773b2:	48 83 f8 1f          	cmp    $0x1f,%rax
1402773b6:	77 23                	ja     0x1402773db
1402773b8:	4c 8b c1             	mov    %rcx,%r8
1402773bb:	49 8b c8             	mov    %r8,%rcx
1402773be:	e8 81 3d ba 00       	call   0x140e1b144
1402773c3:	33 c0                	xor    %eax,%eax
1402773c5:	48 89 06             	mov    %rax,(%rsi)
1402773c8:	48 89 46 08          	mov    %rax,0x8(%rsi)
1402773cc:	48 89 46 10          	mov    %rax,0x10(%rsi)
1402773d0:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1402773d5:	48 83 c4 20          	add    $0x20,%rsp
1402773d9:	5e                   	pop    %rsi
1402773da:	c3                   	ret
1402773db:	e8 c4 2d bb 00       	call   0x140e2a1a4
1402773e0:	cc                   	int3
1402773e1:	cc                   	int3
1402773e2:	cc                   	int3
1402773e3:	cc                   	int3
1402773e4:	cc                   	int3
1402773e5:	cc                   	int3
1402773e6:	cc                   	int3
1402773e7:	cc                   	int3
1402773e8:	cc                   	int3
1402773e9:	cc                   	int3
1402773ea:	cc                   	int3
1402773eb:	cc                   	int3
1402773ec:	cc                   	int3
1402773ed:	cc                   	int3
1402773ee:	cc                   	int3
1402773ef:	cc                   	int3
1402773f0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1402773f5:	56                   	push   %rsi
1402773f6:	48 83 ec 20          	sub    $0x20,%rsp
1402773fa:	48 8b 19             	mov    (%rcx),%rbx
1402773fd:	48 8b f1             	mov    %rcx,%rsi
140277400:	48 85 db             	test   %rbx,%rbx
140277403:	0f 84 87 00 00 00    	je     0x140277490
140277409:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14027740e:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140277412:	48 3b df             	cmp    %rdi,%rbx
140277415:	74 11                	je     0x140277428
140277417:	48 8b cb             	mov    %rbx,%rcx
14027741a:	e8 01 a3 fa ff       	call   0x140221720
14027741f:	48 83 c3 28          	add    $0x28,%rbx
140277423:	48 3b df             	cmp    %rdi,%rbx
140277426:	75 ef                	jne    0x140277417
140277428:	4c 8b 06             	mov    (%rsi),%r8
14027742b:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140277432:	66 66 66
140277435:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140277439:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
14027743e:	49 2b c8             	sub    %r8,%rcx
140277441:	48 f7 e9             	imul   %rcx
140277444:	48 c1 fa 04          	sar    $0x4,%rdx
140277448:	48 8b c2             	mov    %rdx,%rax
14027744b:	48 c1 e8 3f          	shr    $0x3f,%rax
14027744f:	48 03 d0             	add    %rax,%rdx
140277452:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140277456:	48 c1 e2 03          	shl    $0x3,%rdx
14027745a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140277461:	72 18                	jb     0x14027747b
140277463:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140277467:	48 83 c2 27          	add    $0x27,%rdx
14027746b:	4c 2b c1             	sub    %rcx,%r8
14027746e:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140277472:	48 83 f8 1f          	cmp    $0x1f,%rax
140277476:	77 23                	ja     0x14027749b
140277478:	4c 8b c1             	mov    %rcx,%r8
14027747b:	49 8b c8             	mov    %r8,%rcx
14027747e:	e8 c1 3c ba 00       	call   0x140e1b144
140277483:	33 c0                	xor    %eax,%eax
140277485:	48 89 06             	mov    %rax,(%rsi)
140277488:	48 89 46 08          	mov    %rax,0x8(%rsi)
14027748c:	48 89 46 10          	mov    %rax,0x10(%rsi)
140277490:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140277495:	48 83 c4 20          	add    $0x20,%rsp
140277499:	5e                   	pop    %rsi
14027749a:	c3                   	ret
14027749b:	e8 04 2d bb 00       	call   0x140e2a1a4
1402774a0:	cc                   	int3
1402774a1:	cc                   	int3
1402774a2:	cc                   	int3
1402774a3:	cc                   	int3
1402774a4:	cc                   	int3
1402774a5:	cc                   	int3
1402774a6:	cc                   	int3
1402774a7:	cc                   	int3
1402774a8:	cc                   	int3
1402774a9:	cc                   	int3
1402774aa:	cc                   	int3
1402774ab:	cc                   	int3
1402774ac:	cc                   	int3
1402774ad:	cc                   	int3
1402774ae:	cc                   	int3
1402774af:	cc                   	int3
1402774b0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1402774b5:	56                   	push   %rsi
1402774b6:	48 83 ec 20          	sub    $0x20,%rsp