140253f6a:	4c 8b cb             	mov    %rbx,%r9
140253f6d:	4d 8b c5             	mov    %r13,%r8
140253f70:	48 8b d6             	mov    %rsi,%rdx
140253f73:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140253f77:	e8 b0 0f 00 00       	call   0x140254f2c
140253f7c:	48 8b cf             	mov    %rdi,%rcx
140253f7f:	48 c1 f9 02          	sar    $0x2,%rcx
140253f83:	48 d1 ff             	sar    $1,%rdi
140253f86:	48 03 f9             	add    %rcx,%rdi
140253f89:	49 8b cd             	mov    %r13,%rcx
140253f8c:	4c 8b 75 f8          	mov    -0x8(%rbp),%r14
140253f90:	49 2b ce             	sub    %r14,%rcx
140253f93:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
140253f97:	4c 8b 7d f0          	mov    -0x10(%rbp),%r15
140253f9b:	49 8b c7             	mov    %r15,%rax
140253f9e:	48 2b c6             	sub    %rsi,%rax
140253fa1:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140253fa5:	4c 8b cb             	mov    %rbx,%r9
140253fa8:	4c 8b c7             	mov    %rdi,%r8
140253fab:	48 3b c1             	cmp    %rcx,%rax
140253fae:	7d 10                	jge    0x140253fc0
140253fb0:	49 8b d7             	mov    %r15,%rdx
140253fb3:	48 8b ce             	mov    %rsi,%rcx
140253fb6:	e8 6d ff ff ff       	call   0x140253f28
140253fbb:	49 8b f6             	mov    %r14,%rsi
140253fbe:	eb 0e                	jmp    0x140253fce
140253fc0:	49 8b d5             	mov    %r13,%rdx
140253fc3:	49 8b ce             	mov    %r14,%rcx
140253fc6:	e8 5d ff ff ff       	call   0x140253f28
140253fcb:	4d 8b ef             	mov    %r15,%r13
140253fce:	49 8b c5             	mov    %r13,%rax
140253fd1:	48 2b c6             	sub    %rsi,%rax
140253fd4:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140253fd8:	49 3b c4             	cmp    %r12,%rax
140253fdb:	7f 84                	jg     0x140253f61
140253fdd:	49 3b f5             	cmp    %r13,%rsi
140253fe0:	0f 84 e2 02 00 00    	je     0x1402542c8
140253fe6:	4c 8d 7e 10          	lea    0x10(%rsi),%r15
140253fea:	4d 3b fd             	cmp    %r13,%r15
140253fed:	0f 84 d5 02 00 00    	je     0x1402542c8
140253ff3:	4c 8b e6             	mov    %rsi,%r12
140253ff6:	41 83 ce ff          	or     $0xffffffff,%r14d
140253ffa:	4c 89 7d 30          	mov    %r15,0x30(%rbp)
140253ffe:	49 8b 07             	mov    (%r15),%rax
140254001:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140254005:	49 8b 44 24 18       	mov    0x18(%r12),%rax
14025400a:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
14025400e:	49 83 27 00          	andq   $0x0,(%r15)
140254012:	49 83 64 24 18 00    	andq   $0x0,0x18(%r12)
140254018:	4c 8b c6             	mov    %rsi,%r8
14025401b:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
14025401f:	48 8b cb             	mov    %rbx,%rcx
140254022:	e8 05 d6 ff ff       	call   0x14025162c
140254027:	84 c0                	test   %al,%al
140254029:	0f 84 ec 01 00 00    	je     0x14025421b
14025402f:	49 8b ff             	mov    %r15,%rdi
140254032:	4c 3b fe             	cmp    %rsi,%r15
140254035:	74 14                	je     0x14025404b
140254037:	48 8b cf             	mov    %rdi,%rcx
14025403a:	48 83 ef 10          	sub    $0x10,%rdi
14025403e:	48 8b d7             	mov    %rdi,%rdx
140254041:	e8 9e 22 db ff       	call   0x1400062e4
140254046:	48 3b fe             	cmp    %rsi,%rdi
140254049:	75 ec                	jne    0x140254037
14025404b:	48 8b ce             	mov    %rsi,%rcx
14025404e:	e9 13 02 00 00       	jmp    0x140254266
140254053:	49 8b fd             	mov    %r13,%rdi
140254056:	48 2b fe             	sub    %rsi,%rdi
140254059:	48 c1 ff 04          	sar    $0x4,%rdi
14025405d:	48 89 7d 30          	mov    %rdi,0x30(%rbp)
140254061:	4c 8b e7             	mov    %rdi,%r12
140254064:	49 d1 fc             	sar    $1,%r12
140254067:	41 83 ce ff          	or     $0xffffffff,%r14d
14025406b:	4d 85 e4             	test   %r12,%r12
14025406e:	0f 8e 94 00 00 00    	jle    0x140254108
140254074:	4d 8b fc             	mov    %r12,%r15
140254077:	49 c1 e7 04          	shl    $0x4,%r15
14025407b:	4c 03 fe             	add    %rsi,%r15
14025407e:	49 ff cc             	dec    %r12
140254081:	4d 8d 7f f0          	lea    -0x10(%r15),%r15
140254085:	49 8b 07             	mov    (%r15),%rax
140254088:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14025408c:	49 8b 47 08          	mov    0x8(%r15),%rax
140254090:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140254094:	49 83 27 00          	andq   $0x0,(%r15)
140254098:	49 83 67 08 00       	andq   $0x0,0x8(%r15)
14025409d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1402540a2:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
1402540a6:	4c 8b c7             	mov    %rdi,%r8
1402540a9:	49 8b d4             	mov    %r12,%rdx
1402540ac:	48 8b ce             	mov    %rsi,%rcx
1402540af:	e8 84 17 00 00       	call   0x140255838
1402540b4:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402540b8:	48 85 c9             	test   %rcx,%rcx
1402540bb:	74 42                	je     0x1402540ff
1402540bd:	41 8b c6             	mov    %r14d,%eax
1402540c0:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
1402540c5:	41 03 c6             	add    %r14d,%eax
1402540c8:	75 35                	jne    0x1402540ff
1402540ca:	48 8b 7d f8          	mov    -0x8(%rbp),%rdi
1402540ce:	48 8b 07             	mov    (%rdi),%rax
1402540d1:	48 8b cf             	mov    %rdi,%rcx
1402540d4:	48 8b 00             	mov    (%rax),%rax
1402540d7:	ff 15 5b 8b 8b 00    	call   *0x8b8b5b(%rip)        # 0x140b0cc38
1402540dd:	41 8b c6             	mov    %r14d,%eax
1402540e0:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1402540e5:	41 03 c6             	add    %r14d,%eax
1402540e8:	75 11                	jne    0x1402540fb
1402540ea:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402540ee:	48 8b 01             	mov    (%rcx),%rax
1402540f1:	48 8b 40 08          	mov    0x8(%rax),%rax
1402540f5:	ff 15 3d 8b 8b 00    	call   *0x8b8b3d(%rip)        # 0x140b0cc38
1402540fb:	48 8b 7d 30          	mov    0x30(%rbp),%rdi
1402540ff:	4d 85 e4             	test   %r12,%r12
140254102:	0f 8f 76 ff ff ff    	jg     0x14025407e
140254108:	48 83 ff 02          	cmp    $0x2,%rdi
14025410c:	0f 8c b6 01 00 00    	jl     0x1402542c8
140254112:	49 83 c5 f8          	add    $0xfffffffffffffff8,%r13
140254116:	49 c7 c4 f8 ff ff ff 	mov    $0xfffffffffffffff8,%r12
14025411d:	4c 2b e6             	sub    %rsi,%r12
140254120:	41 bf 08 00 00 00    	mov    $0x8,%r15d
140254126:	4c 2b fe             	sub    %rsi,%r15
140254129:	49 8b 45 f8          	mov    -0x8(%r13),%rax
14025412d:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140254131:	49 8b 45 00          	mov    0x0(%r13),%rax
140254135:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140254139:	49 83 65 f8 00       	andq   $0x0,-0x8(%r13)
14025413e:	49 83 65 00 00       	andq   $0x0,0x0(%r13)
140254143:	48 8b 06             	mov    (%rsi),%rax
140254146:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
14025414a:	48 83 26 00          	andq   $0x0,(%rsi)
14025414e:	48 83 66 08 00       	andq   $0x0,0x8(%rsi)
140254153:	49 89 45 f8          	mov    %rax,-0x8(%r13)
140254157:	49 8b 7d 00          	mov    0x0(%r13),%rdi
14025415b:	49 89 4d 00          	mov    %rcx,0x0(%r13)
14025415f:	48 85 ff             	test   %rdi,%rdi
140254162:	74 39                	je     0x14025419d
140254164:	41 8b c6             	mov    %r14d,%eax
140254167:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
14025416c:	41 03 c6             	add    %r14d,%eax
14025416f:	75 2c                	jne    0x14025419d
140254171:	48 8b 07             	mov    (%rdi),%rax
140254174:	48 8b cf             	mov    %rdi,%rcx
140254177:	48 8b 00             	mov    (%rax),%rax
14025417a:	ff 15 b8 8a 8b 00    	call   *0x8b8ab8(%rip)        # 0x140b0cc38
140254180:	41 8b c6             	mov    %r14d,%eax
140254183:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
140254188:	41 03 c6             	add    %r14d,%eax
14025418b:	75 10                	jne    0x14025419d
14025418d:	48 8b 07             	mov    (%rdi),%rax
140254190:	48 8b cf             	mov    %rdi,%rcx
140254193:	48 8b 40 08          	mov    0x8(%rax),%rax
140254197:	ff 15 9b 8a 8b 00    	call   *0x8b8a9b(%rip)        # 0x140b0cc38
14025419d:	4f 8d 04 2c          	lea    (%r12,%r13,1),%r8
1402541a1:	49 c1 f8 04          	sar    $0x4,%r8
1402541a5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1402541aa:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
1402541ae:	33 d2                	xor    %edx,%edx
1402541b0:	48 8b ce             	mov    %rsi,%rcx
1402541b3:	e8 80 16 00 00       	call   0x140255838
1402541b8:	90                   	nop
1402541b9:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402541bd:	48 85 c9             	test   %rcx,%rcx
1402541c0:	74 3e                	je     0x140254200
1402541c2:	41 8b c6             	mov    %r14d,%eax
1402541c5:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
1402541ca:	41 03 c6             	add    %r14d,%eax
1402541cd:	75 31                	jne    0x140254200
1402541cf:	48 8b 7d f8          	mov    -0x8(%rbp),%rdi
1402541d3:	48 8b 07             	mov    (%rdi),%rax
1402541d6:	48 8b cf             	mov    %rdi,%rcx
1402541d9:	48 8b 00             	mov    (%rax),%rax
1402541dc:	ff 15 56 8a 8b 00    	call   *0x8b8a56(%rip)        # 0x140b0cc38
1402541e2:	41 8b c6             	mov    %r14d,%eax
1402541e5:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1402541ea:	41 03 c6             	add    %r14d,%eax
1402541ed:	75 11                	jne    0x140254200
1402541ef:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402541f3:	48 8b 01             	mov    (%rcx),%rax
1402541f6:	48 8b 40 08          	mov    0x8(%rax),%rax
1402541fa:	ff 15 38 8a 8b 00    	call   *0x8b8a38(%rip)        # 0x140b0cc38
140254200:	49 83 ed 10          	sub    $0x10,%r13
140254204:	4b 8d 04 2f          	lea    (%r15,%r13,1),%rax
140254208:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
14025420c:	48 83 f8 20          	cmp    $0x20,%rax
140254210:	0f 8d 13 ff ff ff    	jge    0x140254129
140254216:	e9 ad 00 00 00       	jmp    0x1402542c8
14025421b:	49 8b fc             	mov    %r12,%rdi
14025421e:	4d 8b c4             	mov    %r12,%r8
140254221:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140254225:	48 8b cb             	mov    %rbx,%rcx
140254228:	e8 ff d3 ff ff       	call   0x14025162c
14025422d:	84 c0                	test   %al,%al
14025422f:	74 31                	je     0x140254262
140254231:	4c 8b 75 30          	mov    0x30(%rbp),%r14
140254235:	48 8b d7             	mov    %rdi,%rdx
140254238:	49 8b ce             	mov    %r14,%rcx
14025423b:	e8 a4 20 db ff       	call   0x1400062e4
140254240:	4c 8b f7             	mov    %rdi,%r14
140254243:	48 83 ef 10          	sub    $0x10,%rdi
140254247:	4c 8b c7             	mov    %rdi,%r8
14025424a:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
14025424e:	48 8b cb             	mov    %rbx,%rcx
140254251:	e8 d6 d3 ff ff       	call   0x14025162c
140254256:	84 c0                	test   %al,%al
140254258:	75 db                	jne    0x140254235
14025425a:	4c 89 75 30          	mov    %r14,0x30(%rbp)
14025425e:	41 83 ce ff          	or     $0xffffffff,%r14d
140254262:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140254266:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
14025426a:	e8 75 20 db ff       	call   0x1400062e4
14025426f:	90                   	nop
140254270:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140254274:	48 85 c9             	test   %rcx,%rcx
140254277:	74 3e                	je     0x1402542b7
140254279:	41 8b c6             	mov    %r14d,%eax
14025427c:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140254281:	41 03 c6             	add    %r14d,%eax
140254284:	75 31                	jne    0x1402542b7
140254286:	48 8b 7d f8          	mov    -0x8(%rbp),%rdi
14025428a:	48 8b 07             	mov    (%rdi),%rax
14025428d:	48 8b cf             	mov    %rdi,%rcx
140254290:	48 8b 00             	mov    (%rax),%rax
140254293:	ff 15 9f 89 8b 00    	call   *0x8b899f(%rip)        # 0x140b0cc38
140254299:	41 8b c6             	mov    %r14d,%eax
14025429c:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1402542a1:	41 03 c6             	add    %r14d,%eax
1402542a4:	75 11                	jne    0x1402542b7
1402542a6:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402542aa:	48 8b 01             	mov    (%rcx),%rax
1402542ad:	48 8b 40 08          	mov    0x8(%rax),%rax
1402542b1:	ff 15 81 89 8b 00    	call   *0x8b8981(%rip)        # 0x140b0cc38
1402542b7:	49 83 c7 10          	add    $0x10,%r15
1402542bb:	49 83 c4 10          	add    $0x10,%r12
1402542bf:	4d 3b fd             	cmp    %r13,%r15
1402542c2:	0f 85 32 fd ff ff    	jne    0x140253ffa
1402542c8:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1402542cd:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1402542d1:	49 8b 73 40          	mov    0x40(%r11),%rsi
1402542d5:	49 8b 7b 48          	mov    0x48(%r11),%rdi
1402542d9:	49 8b e3             	mov    %r11,%rsp
1402542dc:	41 5f                	pop    %r15
1402542de:	41 5e                	pop    %r14
1402542e0:	41 5d                	pop    %r13
1402542e2:	41 5c                	pop    %r12
1402542e4:	5d                   	pop    %rbp
1402542e5:	c3                   	ret
1402542e6:	90                   	nop
1402542e7:	90                   	nop
1402542e8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1402542ed:	55                   	push   %rbp
1402542ee:	56                   	push   %rsi
1402542ef:	57                   	push   %rdi
1402542f0:	41 54                	push   %r12
1402542f2:	41 55                	push   %r13
1402542f4:	41 56                	push   %r14
1402542f6:	41 57                	push   %r15
1402542f8:	48 8b ec             	mov    %rsp,%rbp
1402542fb:	48 83 ec 40          	sub    $0x40,%rsp
1402542ff:	49 8b d9             	mov    %r9,%rbx
140254302:	49 8b f0             	mov    %r8,%rsi
140254305:	4c 8b fa             	mov    %rdx,%r15
140254308:	48 8b f9             	mov    %rcx,%rdi
14025430b:	48 8b c2             	mov    %rdx,%rax
14025430e:	48 2b c1             	sub    %rcx,%rax
140254311:	41 bd 00 02 00 00    	mov    $0x200,%r13d
140254317:	eb 73                	jmp    0x14025438c
140254319:	48 85 f6             	test   %rsi,%rsi
14025431c:	0f 8e 26 01 00 00    	jle    0x140254448
140254322:	4c 8b cb             	mov    %rbx,%r9
140254325:	4d 8b c7             	mov    %r15,%r8
140254328:	48 8b d7             	mov    %rdi,%rdx
14025432b:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
14025432f:	e8 c4 0e 00 00       	call   0x1402551f8
140254334:	48 8b ce             	mov    %rsi,%rcx
140254337:	48 c1 f9 02          	sar    $0x2,%rcx
14025433b:	48 d1 fe             	sar    $1,%rsi
14025433e:	48 03 f1             	add    %rcx,%rsi
140254341:	49 8b cf             	mov    %r15,%rcx
140254344:	4c 8b 75 f8          	mov    -0x8(%rbp),%r14
140254348:	49 2b ce             	sub    %r14,%rcx
14025434b:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
14025434f:	4c 8b 65 f0          	mov    -0x10(%rbp),%r12
140254353:	49 8b c4             	mov    %r12,%rax
140254356:	48 2b c7             	sub    %rdi,%rax
140254359:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
14025435d:	4c 8b cb             	mov    %rbx,%r9
140254360:	4c 8b c6             	mov    %rsi,%r8
140254363:	48 3b c1             	cmp    %rcx,%rax
140254366:	7d 10                	jge    0x140254378
140254368:	49 8b d4             	mov    %r12,%rdx
14025436b:	48 8b cf             	mov    %rdi,%rcx
14025436e:	e8 75 ff ff ff       	call   0x1402542e8
140254373:	49 8b fe             	mov    %r14,%rdi
140254376:	eb 0e                	jmp    0x140254386
140254378:	49 8b d7             	mov    %r15,%rdx
14025437b:	49 8b ce             	mov    %r14,%rcx
14025437e:	e8 65 ff ff ff       	call   0x1402542e8
140254383:	4d 8b fc             	mov    %r12,%r15
140254386:	49 8b c7             	mov    %r15,%rax
140254389:	48 2b c7             	sub    %rdi,%rax
14025438c:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140254390:	49 3b c5             	cmp    %r13,%rax
140254393:	7f 84                	jg     0x140254319
140254395:	48 89 5d 40          	mov    %rbx,0x40(%rbp)
140254399:	49 3b ff             	cmp    %r15,%rdi
14025439c:	0f 84 c5 02 00 00    	je     0x140254667
1402543a2:	48 8d 5f 10          	lea    0x10(%rdi),%rbx
1402543a6:	49 3b df             	cmp    %r15,%rbx
1402543a9:	0f 84 b8 02 00 00    	je     0x140254667
1402543af:	83 ce ff             	or     $0xffffffff,%esi
1402543b2:	4c 8b e3             	mov    %rbx,%r12
1402543b5:	4c 8b 2b             	mov    (%rbx),%r13
1402543b8:	4c 89 6d f0          	mov    %r13,-0x10(%rbp)
1402543bc:	4c 8d 73 08          	lea    0x8(%rbx),%r14
1402543c0:	49 8b 06             	mov    (%r14),%rax
1402543c3:	48 89 45 48          	mov    %rax,0x48(%rbp)
1402543c7:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
1402543cb:	48 83 23 00          	andq   $0x0,(%rbx)
1402543cf:	49 83 26 00          	andq   $0x0,(%r14)
1402543d3:	4c 8b c7             	mov    %rdi,%r8
1402543d6:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1402543da:	48 8d 4d 40          	lea    0x40(%rbp),%rcx
1402543de:	e8 c9 d5 ff ff       	call   0x1402519ac
1402543e3:	84 c0                	test   %al,%al
1402543e5:	0f 84 bf 01 00 00    	je     0x1402545aa
1402543eb:	48 3b df             	cmp    %rdi,%rbx
1402543ee:	0f 84 a2 01 00 00    	je     0x140254596
1402543f4:	4d 8b c6             	mov    %r14,%r8
1402543f7:	49 83 ee 10          	sub    $0x10,%r14
1402543fb:	4d 8d 66 f8          	lea    -0x8(%r14),%r12
1402543ff:	49 8b 04 24          	mov    (%r12),%rax
140254403:	49 8b 16             	mov    (%r14),%rdx
140254406:	49 83 24 24 00       	andq   $0x0,(%r12)
14025440b:	49 83 26 00          	andq   $0x0,(%r14)
14025440f:	49 89 46 08          	mov    %rax,0x8(%r14)
140254413:	49 8b 08             	mov    (%r8),%rcx
140254416:	49 89 10             	mov    %rdx,(%r8)
140254419:	48 85 c9             	test   %rcx,%rcx
14025441c:	74 18                	je     0x140254436
14025441e:	8b c6                	mov    %esi,%eax
140254420:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%rcx)
140254425:	03 c6                	add    %esi,%eax
140254427:	75 0d                	jne    0x140254436
140254429:	48 8b 01             	mov    (%rcx),%rax
14025442c:	48 8b 40 08          	mov    0x8(%rax),%rax
140254430:	ff 15 02 88 8b 00    	call   *0x8b8802(%rip)        # 0x140b0cc38
140254436:	4c 3b e7             	cmp    %rdi,%r12
140254439:	75 b9                	jne    0x1402543f4
14025443b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax