140611107:	ff c7                	inc    %edi
140611109:	49 83 c6 08          	add    $0x8,%r14
14061110d:	48 83 c5 04          	add    $0x4,%rbp
140611111:	3b 3e                	cmp    (%rsi),%edi
140611113:	7c 8b                	jl     0x1406110a0
140611115:	49 8b c7             	mov    %r15,%rax
140611118:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
14061111f:	00
140611120:	48 83 c4 30          	add    $0x30,%rsp
140611124:	41 5f                	pop    %r15
140611126:	41 5e                	pop    %r14
140611128:	41 5d                	pop    %r13
14061112a:	41 5c                	pop    %r12
14061112c:	5f                   	pop    %rdi
14061112d:	5e                   	pop    %rsi
14061112e:	5d                   	pop    %rbp
14061112f:	c3                   	ret
140611130:	b9 01 00 00 00       	mov    $0x1,%ecx
140611135:	e8 c6 95 17 00       	call   0x14078a700
14061113a:	cc                   	int3
14061113b:	33 c9                	xor    %ecx,%ecx
14061113d:	e8 be 95 17 00       	call   0x14078a700
140611142:	cc                   	int3
140611143:	cc                   	int3
140611144:	cc                   	int3
140611145:	cc                   	int3
140611146:	cc                   	int3
140611147:	cc                   	int3
140611148:	cc                   	int3
140611149:	cc                   	int3
14061114a:	cc                   	int3
14061114b:	cc                   	int3
14061114c:	cc                   	int3
14061114d:	cc                   	int3
14061114e:	cc                   	int3
14061114f:	cc                   	int3
140611150:	40 53                	rex push %rbx
140611152:	48 83 ec 30          	sub    $0x30,%rsp
140611156:	4d 8b d8             	mov    %r8,%r11
140611159:	48 8b da             	mov    %rdx,%rbx
14061115c:	4d 63 d1             	movslq %r9d,%r10
14061115f:	48 8b 41 18          	mov    0x18(%rcx),%rax
140611163:	4a 8b 14 d0          	mov    (%rax,%r10,8),%rdx
140611167:	48 85 d2             	test   %rdx,%rdx
14061116a:	74 20                	je     0x14061118c
14061116c:	48 89 13             	mov    %rdx,(%rbx)
14061116f:	8b 42 10             	mov    0x10(%rdx),%eax
140611172:	ff c0                	inc    %eax
140611174:	89 42 10             	mov    %eax,0x10(%rdx)
140611177:	83 f8 01             	cmp    $0x1,%eax
14061117a:	7e 40                	jle    0x1406111bc
14061117c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140611181:	74 2e                	je     0x1406111b1
140611183:	48 8b c3             	mov    %rbx,%rax
140611186:	48 83 c4 30          	add    $0x30,%rsp
14061118a:	5b                   	pop    %rbx
14061118b:	c3                   	ret
14061118c:	48 8b 41 20          	mov    0x20(%rcx),%rax
140611190:	4e 8d 04 d0          	lea    (%rax,%r10,8),%r8
140611194:	48 8b 41 08          	mov    0x8(%rcx),%rax
140611198:	4a 63 0c 90          	movslq (%rax,%r10,4),%rcx
14061119c:	49 8d 0c cb          	lea    (%r11,%rcx,8),%rcx
1406111a0:	48 8b d3             	mov    %rbx,%rdx
1406111a3:	e8 28 6f 10 00       	call   0x1407180d0
1406111a8:	48 8b c3             	mov    %rbx,%rax
1406111ab:	48 83 c4 30          	add    $0x30,%rsp
1406111af:	5b                   	pop    %rbx
1406111b0:	c3                   	ret
1406111b1:	b9 01 00 00 00       	mov    $0x1,%ecx
1406111b6:	e8 45 95 17 00       	call   0x14078a700
1406111bb:	cc                   	int3
1406111bc:	33 c9                	xor    %ecx,%ecx
1406111be:	e8 3d 95 17 00       	call   0x14078a700
1406111c3:	cc                   	int3
1406111c4:	cc                   	int3
1406111c5:	cc                   	int3
1406111c6:	cc                   	int3
1406111c7:	cc                   	int3
1406111c8:	cc                   	int3
1406111c9:	cc                   	int3
1406111ca:	cc                   	int3
1406111cb:	cc                   	int3
1406111cc:	cc                   	int3
1406111cd:	cc                   	int3
1406111ce:	cc                   	int3
1406111cf:	cc                   	int3
1406111d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406111d5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406111da:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406111df:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1406111e4:	41 56                	push   %r14
1406111e6:	48 83 ec 20          	sub    $0x20,%rsp
1406111ea:	4c 8b f2             	mov    %rdx,%r14
1406111ed:	48 8b e9             	mov    %rcx,%rbp
1406111f0:	48 8d b9 b0 00 00 00 	lea    0xb0(%rcx),%rdi
1406111f7:	48 8b 1f             	mov    (%rdi),%rbx
1406111fa:	48 8b 77 08          	mov    0x8(%rdi),%rsi
1406111fe:	48 3b de             	cmp    %rsi,%rbx
140611201:	74 38                	je     0x14061123b
140611203:	48 8b 0b             	mov    (%rbx),%rcx
140611206:	48 85 c9             	test   %rcx,%rcx
140611209:	74 20                	je     0x14061122b
14061120b:	8b 41 10             	mov    0x10(%rcx),%eax
14061120e:	ff c8                	dec    %eax
140611210:	89 41 10             	mov    %eax,0x10(%rcx)
140611213:	85 c0                	test   %eax,%eax
140611215:	7f 14                	jg     0x14061122b
140611217:	78 4e                	js     0x140611267
140611219:	48 8b 01             	mov    (%rcx),%rax
14061121c:	ba 01 00 00 00       	mov    $0x1,%edx
140611221:	48 8b 00             	mov    (%rax),%rax
140611224:	ff 15 f6 27 97 00    	call   *0x9727f6(%rip)        # 0x140f83a20
14061122a:	90                   	nop
14061122b:	48 83 c3 08          	add    $0x8,%rbx
14061122f:	48 3b de             	cmp    %rsi,%rbx
140611232:	75 cf                	jne    0x140611203
140611234:	48 8b 0f             	mov    (%rdi),%rcx
140611237:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
14061123b:	4d 8b c6             	mov    %r14,%r8
14061123e:	48 8b d7             	mov    %rdi,%rdx
140611241:	48 8b cd             	mov    %rbp,%rcx
140611244:	e8 e7 f1 ff ff       	call   0x140610430
140611249:	48 8b c7             	mov    %rdi,%rax
14061124c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140611251:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140611256:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14061125b:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140611260:	48 83 c4 20          	add    $0x20,%rsp
140611264:	41 5e                	pop    %r14
140611266:	c3                   	ret
140611267:	b9 02 00 00 00       	mov    $0x2,%ecx
14061126c:	e8 8f 94 17 00       	call   0x14078a700
140611271:	cc                   	int3
140611272:	cc                   	int3
140611273:	cc                   	int3
140611274:	cc                   	int3
140611275:	cc                   	int3
140611276:	cc                   	int3
140611277:	cc                   	int3
140611278:	cc                   	int3
140611279:	cc                   	int3
14061127a:	cc                   	int3
14061127b:	cc                   	int3
14061127c:	cc                   	int3
14061127d:	cc                   	int3
14061127e:	cc                   	int3
14061127f:	cc                   	int3
140611280:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140611285:	57                   	push   %rdi
140611286:	48 83 ec 20          	sub    $0x20,%rsp
14061128a:	48 8b 02             	mov    (%rdx),%rax
14061128d:	48 8b da             	mov    %rdx,%rbx
140611290:	48 8b f9             	mov    %rcx,%rdi
140611293:	48 8b d1             	mov    %rcx,%rdx
140611296:	48 8b cb             	mov    %rbx,%rcx
140611299:	48 8b 40 18          	mov    0x18(%rax),%rax
14061129d:	ff 15 7d 27 97 00    	call   *0x97277d(%rip)        # 0x140f83a20
1406112a3:	83 f8 01             	cmp    $0x1,%eax
1406112a6:	74 3d                	je     0x1406112e5
1406112a8:	83 f8 02             	cmp    $0x2,%eax
1406112ab:	74 2b                	je     0x1406112d8
1406112ad:	48 8b 03             	mov    (%rbx),%rax
1406112b0:	48 8b d7             	mov    %rdi,%rdx
1406112b3:	48 8b cb             	mov    %rbx,%rcx
1406112b6:	48 8b 40 20          	mov    0x20(%rax),%rax
1406112ba:	ff 15 60 27 97 00    	call   *0x972760(%rip)        # 0x140f83a20
1406112c0:	83 f8 01             	cmp    $0x1,%eax
1406112c3:	74 20                	je     0x1406112e5
1406112c5:	33 c9                	xor    %ecx,%ecx
1406112c7:	83 f8 02             	cmp    $0x2,%eax
1406112ca:	0f 44 c1             	cmove  %ecx,%eax
1406112cd:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1406112d2:	48 83 c4 20          	add    $0x20,%rsp
1406112d6:	5f                   	pop    %rdi
1406112d7:	c3                   	ret
1406112d8:	33 c0                	xor    %eax,%eax
1406112da:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1406112df:	48 83 c4 20          	add    $0x20,%rsp
1406112e3:	5f                   	pop    %rdi
1406112e4:	c3                   	ret
1406112e5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1406112ea:	b8 01 00 00 00       	mov    $0x1,%eax
1406112ef:	48 83 c4 20          	add    $0x20,%rsp
1406112f3:	5f                   	pop    %rdi
1406112f4:	c3                   	ret
1406112f5:	cc                   	int3
1406112f6:	cc                   	int3
1406112f7:	cc                   	int3
1406112f8:	cc                   	int3
1406112f9:	cc                   	int3
1406112fa:	cc                   	int3
1406112fb:	cc                   	int3
1406112fc:	cc                   	int3
1406112fd:	cc                   	int3
1406112fe:	cc                   	int3
1406112ff:	cc                   	int3
140611300:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140611305:	57                   	push   %rdi
140611306:	48 83 ec 20          	sub    $0x20,%rsp
14061130a:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
140611311:	ff ff 1f
140611314:	48 8b f9             	mov    %rcx,%rdi
140611317:	48 3b d0             	cmp    %rax,%rdx
14061131a:	77 5f                	ja     0x14061137b
14061131c:	48 8d 1c d5 00 00 00 	lea    0x0(,%rdx,8),%rbx
140611323:	00
140611324:	48 85 db             	test   %rbx,%rbx
140611327:	75 04                	jne    0x14061132d
140611329:	33 c0                	xor    %eax,%eax
14061132b:	eb 35                	jmp    0x140611362
14061132d:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140611334:	72 24                	jb     0x14061135a
140611336:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
14061133a:	48 3b cb             	cmp    %rbx,%rcx
14061133d:	76 3c                	jbe    0x14061137b
14061133f:	e8 c4 9d 80 00       	call   0x140e1b108
140611344:	48 8b c8             	mov    %rax,%rcx
140611347:	48 85 c0             	test   %rax,%rax
14061134a:	74 35                	je     0x140611381
14061134c:	48 83 c0 27          	add    $0x27,%rax
140611350:	48 83 e0 e0          	and    $0xffffffffffffffe0,%rax
140611354:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
140611358:	eb 08                	jmp    0x140611362
14061135a:	48 8b cb             	mov    %rbx,%rcx
14061135d:	e8 a6 9d 80 00       	call   0x140e1b108
140611362:	48 89 07             	mov    %rax,(%rdi)
140611365:	48 89 47 08          	mov    %rax,0x8(%rdi)
140611369:	48 03 c3             	add    %rbx,%rax
14061136c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140611371:	48 89 47 10          	mov    %rax,0x10(%rdi)
140611375:	48 83 c4 20          	add    $0x20,%rsp
140611379:	5f                   	pop    %rdi
14061137a:	c3                   	ret
14061137b:	e8 10 be b8 ff       	call   0x14019d190
140611380:	cc                   	int3
140611381:	e8 1e 8e 81 00       	call   0x140e2a1a4
140611386:	cc                   	int3
140611387:	cc                   	int3
140611388:	cc                   	int3
140611389:	cc                   	int3
14061138a:	cc                   	int3
14061138b:	cc                   	int3
14061138c:	cc                   	int3
14061138d:	cc                   	int3
14061138e:	cc                   	int3
14061138f:	cc                   	int3
140611390:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140611395:	57                   	push   %rdi
140611396:	48 83 ec 20          	sub    $0x20,%rsp
14061139a:	48 b8 aa aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaa,%rax
1406113a1:	aa aa 02
1406113a4:	48 8b f9             	mov    %rcx,%rdi
1406113a7:	48 3b d0             	cmp    %rax,%rdx
1406113aa:	77 5f                	ja     0x14061140b
1406113ac:	48 8d 1c 52          	lea    (%rdx,%rdx,2),%rbx
1406113b0:	48 c1 e3 05          	shl    $0x5,%rbx
1406113b4:	48 85 db             	test   %rbx,%rbx
1406113b7:	75 04                	jne    0x1406113bd
1406113b9:	33 c0                	xor    %eax,%eax
1406113bb:	eb 35                	jmp    0x1406113f2
1406113bd:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
1406113c4:	72 24                	jb     0x1406113ea
1406113c6:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
1406113ca:	48 3b cb             	cmp    %rbx,%rcx
1406113cd:	76 3c                	jbe    0x14061140b
1406113cf:	e8 34 9d 80 00       	call   0x140e1b108
1406113d4:	48 8b c8             	mov    %rax,%rcx
1406113d7:	48 85 c0             	test   %rax,%rax
1406113da:	74 35                	je     0x140611411
1406113dc:	48 83 c0 27          	add    $0x27,%rax
1406113e0:	48 83 e0 e0          	and    $0xffffffffffffffe0,%rax
1406113e4:	48 89 48 f8          	mov    %rcx,-0x8(%rax)
1406113e8:	eb 08                	jmp    0x1406113f2
1406113ea:	48 8b cb             	mov    %rbx,%rcx
1406113ed:	e8 16 9d 80 00       	call   0x140e1b108
1406113f2:	48 89 07             	mov    %rax,(%rdi)
1406113f5:	48 89 47 08          	mov    %rax,0x8(%rdi)
1406113f9:	48 03 c3             	add    %rbx,%rax
1406113fc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140611401:	48 89 47 10          	mov    %rax,0x10(%rdi)
140611405:	48 83 c4 20          	add    $0x20,%rsp
140611409:	5f                   	pop    %rdi
14061140a:	c3                   	ret
14061140b:	e8 80 bd b8 ff       	call   0x14019d190
140611410:	cc                   	int3
140611411:	e8 8e 8d 81 00       	call   0x140e2a1a4
140611416:	cc                   	int3
140611417:	cc                   	int3
140611418:	cc                   	int3
140611419:	cc                   	int3
14061141a:	cc                   	int3
14061141b:	cc                   	int3
14061141c:	cc                   	int3
14061141d:	cc                   	int3
14061141e:	cc                   	int3
14061141f:	cc                   	int3
140611420:	40 56                	rex push %rsi
140611422:	41 57                	push   %r15
140611424:	48 83 ec 28          	sub    $0x28,%rsp
140611428:	49 bf 33 33 33 33 33 	movabs $0x333333333333333,%r15
14061142f:	33 33 03
140611432:	4c 8b c2             	mov    %rdx,%r8
140611435:	48 8b f1             	mov    %rcx,%rsi
140611438:	49 3b d7             	cmp    %r15,%rdx
14061143b:	0f 87 73 01 00 00    	ja     0x1406115b4
140611441:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140611446:	48 8b 19             	mov    (%rcx),%rbx
140611449:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14061144d:	48 2b cb             	sub    %rbx,%rcx
140611450:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140611455:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
14061145a:	49 bc 67 66 66 66 66 	movabs $0x6666666666666667,%r12
140611461:	66 66 66
140611464:	49 8b c4             	mov    %r12,%rax
140611467:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14061146c:	48 f7 e9             	imul   %rcx
14061146f:	48 c1 fa 05          	sar    $0x5,%rdx
140611473:	48 8b c2             	mov    %rdx,%rax
140611476:	48 c1 e8 3f          	shr    $0x3f,%rax
14061147a:	48 03 d0             	add    %rax,%rdx
14061147d:	49 8b c7             	mov    %r15,%rax
140611480:	48 8b ca             	mov    %rdx,%rcx
140611483:	48 d1 e9             	shr    $1,%rcx
140611486:	48 2b c1             	sub    %rcx,%rax
140611489:	48 3b d0             	cmp    %rax,%rdx
14061148c:	76 05                	jbe    0x140611493
14061148e:	4d 8b f7             	mov    %r15,%r14
140611491:	eb 0b                	jmp    0x14061149e
140611493:	4c 8d 34 11          	lea    (%rcx,%rdx,1),%r14
140611497:	4d 3b f0             	cmp    %r8,%r14
14061149a:	4d 0f 42 f0          	cmovb  %r8,%r14
14061149e:	33 ff                	xor    %edi,%edi
1406114a0:	48 85 db             	test   %rbx,%rbx
1406114a3:	0f 84 8d 00 00 00    	je     0x140611536
1406114a9:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
1406114ae:	48 8b 6e 08          	mov    0x8(%rsi),%rbp
1406114b2:	48 3b dd             	cmp    %rbp,%rbx
1406114b5:	74 1c                	je     0x1406114d3
1406114b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1406114be:	00 00
1406114c0:	33 d2                	xor    %edx,%edx
1406114c2:	48 8b cb             	mov    %rbx,%rcx
1406114c5:	e8 46 9d fa ff       	call   0x1405bb210
1406114ca:	48 83 c3 50          	add    $0x50,%rbx
1406114ce:	48 3b dd             	cmp    %rbp,%rbx
1406114d1:	75 ed                	jne    0x1406114c0
1406114d3:	4c 8b 06             	mov    (%rsi),%r8
1406114d6:	49 8b c4             	mov    %r12,%rax
1406114d9:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1406114dd:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp