100660109:	7c cf                	jl     1006600da <.text+0x25f0da>
10066010b:	eb e8                	jmp    1006600f5 <.text+0x25f0f5>
10066010d:	0f 1f 00             	nopl   (%rax)
100660110:	3b 51 44             	cmp    0x44(%rcx),%edx
100660113:	7c e0                	jl     1006600f5 <.text+0x25f0f5>
100660115:	8b 41 48             	mov    0x48(%rcx),%eax
100660118:	85 c0                	test   %eax,%eax
10066011a:	79 d1                	jns    1006600ed <.text+0x25f0ed>
10066011c:	eb cc                	jmp    1006600ea <.text+0x25f0ea>
10066011e:	66 90                	xchg   %ax,%ax
100660120:	41 57                	push   %r15
100660122:	41 56                	push   %r14
100660124:	41 55                	push   %r13
100660126:	41 54                	push   %r12
100660128:	55                   	push   %rbp
100660129:	57                   	push   %rdi
10066012a:	56                   	push   %rsi
10066012b:	53                   	push   %rbx
10066012c:	48 83 ec 58          	sub    $0x58,%rsp
100660130:	48 8b 32             	mov    (%rdx),%rsi
100660133:	48 8b 7a 08          	mov    0x8(%rdx),%rdi
100660137:	49 89 f4             	mov    %rsi,%r12
10066013a:	48 89 fa             	mov    %rdi,%rdx
10066013d:	49 c1 fc 20          	sar    $0x20,%r12
100660141:	48 c1 fa 20          	sar    $0x20,%rdx
100660145:	44 89 c0             	mov    %r8d,%eax
100660148:	48 89 cb             	mov    %rcx,%rbx
10066014b:	44 09 c8             	or     %r9d,%eax
10066014e:	0f 84 4f 01 00 00    	je     1006602a3 <.text+0x25f2a3>
100660154:	89 f0                	mov    %esi,%eax
100660156:	44 89 e1             	mov    %r12d,%ecx
100660159:	41 89 d5             	mov    %edx,%r13d
10066015c:	44 29 e0             	sub    %r12d,%eax
10066015f:	29 f1                	sub    %esi,%ecx
100660161:	44 39 c0             	cmp    %r8d,%eax
100660164:	41 0f 4c c0          	cmovl  %r8d,%eax
100660168:	41 39 c8             	cmp    %ecx,%r8d
10066016b:	0f 4f c1             	cmovg  %ecx,%eax
10066016e:	41 29 fd             	sub    %edi,%r13d
100660171:	89 c5                	mov    %eax,%ebp
100660173:	89 f8                	mov    %edi,%eax
100660175:	29 d0                	sub    %edx,%eax
100660177:	44 39 c8             	cmp    %r9d,%eax
10066017a:	41 0f 4c c1          	cmovl  %r9d,%eax
10066017e:	45 39 e9             	cmp    %r13d,%r9d
100660181:	44 0f 4e e8          	cmovle %eax,%r13d
100660185:	85 ff                	test   %edi,%edi
100660187:	0f 85 a3 00 00 00    	jne    100660230 <.text+0x25f230>
10066018d:	39 53 2c             	cmp    %edx,0x2c(%rbx)
100660190:	0f 85 9a 00 00 00    	jne    100660230 <.text+0x25f230>
100660196:	45 85 ed             	test   %r13d,%r13d
100660199:	0f 85 91 00 00 00    	jne    100660230 <.text+0x25f230>
10066019f:	41 89 e8             	mov    %ebp,%r8d
1006601a2:	45 31 f6             	xor    %r14d,%r14d
1006601a5:	48 8b 53 68          	mov    0x68(%rbx),%rdx
1006601a9:	4c 63 fe             	movslq %esi,%r15
1006601ac:	41 f7 d8             	neg    %r8d
1006601af:	4e 8d 0c bd 00 00 00 	lea    0x0(,%r15,4),%r9
1006601b6:	00
1006601b7:	48 63 c5             	movslq %ebp,%rax
1006601ba:	44 0f 48 c5          	cmovs  %ebp,%r8d
1006601be:	44 29 c1             	sub    %r8d,%ecx
1006601c1:	4c 63 c1             	movslq %ecx,%r8
1006601c4:	4a 8d 0c 0a          	lea    (%rdx,%r9,1),%rcx
1006601c8:	49 c1 e0 02          	shl    $0x2,%r8
1006601cc:	85 ed                	test   %ebp,%ebp
1006601ce:	0f 8e e4 00 00 00    	jle    1006602b8 <.text+0x25f2b8>
1006601d4:	4c 01 f8             	add    %r15,%rax
1006601d7:	48 8d 14 82          	lea    (%rdx,%rax,4),%rdx
1006601db:	e8 20 fd 03 00       	call   10069ff00 <.text+0x29ef00>
1006601e0:	44 89 e0             	mov    %r12d,%eax
1006601e3:	29 e8                	sub    %ebp,%eax
1006601e5:	41 39 c4             	cmp    %eax,%r12d
1006601e8:	7e 46                	jle    100660230 <.text+0x25f230>
1006601ea:	4c 8b 43 68          	mov    0x68(%rbx),%r8
1006601ee:	48 63 d0             	movslq %eax,%rdx
1006601f1:	89 e9                	mov    %ebp,%ecx
1006601f3:	49 8d 04 90          	lea    (%r8,%rdx,4),%rax
1006601f7:	48 01 ca             	add    %rcx,%rdx
1006601fa:	49 8d 14 90          	lea    (%r8,%rdx,4),%rdx
1006601fe:	48 89 d1             	mov    %rdx,%rcx
100660201:	48 29 c1             	sub    %rax,%rcx
100660204:	83 e1 04             	and    $0x4,%ecx
100660207:	74 17                	je     100660220 <.text+0x25f220>
100660209:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
10066020f:	48 83 c0 04          	add    $0x4,%rax
100660213:	48 39 c2             	cmp    %rax,%rdx
100660216:	74 18                	je     100660230 <.text+0x25f230>
100660218:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10066021f:	00
100660220:	44 89 30             	mov    %r14d,(%rax)
100660223:	48 83 c0 08          	add    $0x8,%rax
100660227:	44 89 70 fc          	mov    %r14d,-0x4(%rax)
10066022b:	48 39 c2             	cmp    %rax,%rdx
10066022e:	75 f0                	jne    100660220 <.text+0x25f220>
100660230:	48 8b 43 08          	mov    0x8(%rbx),%rax
100660234:	48 85 c0             	test   %rax,%rax
100660237:	74 6a                	je     1006602a3 <.text+0x25f2a3>
100660239:	4c 8b 50 10          	mov    0x10(%rax),%r10
10066023d:	4c 8b 4b 10          	mov    0x10(%rbx),%r9
100660241:	4c 8d 64 24 40       	lea    0x40(%rsp),%r12
100660246:	4d 85 d2             	test   %r10,%r10
100660249:	74 2b                	je     100660276 <.text+0x25f276>
10066024b:	4c 8d 64 24 40       	lea    0x40(%rsp),%r12
100660250:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
100660255:	45 89 e8             	mov    %r13d,%r8d
100660258:	89 ea                	mov    %ebp,%edx
10066025a:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
10066025f:	4c 89 e1             	mov    %r12,%rcx
100660262:	41 ff d2             	call   *%r10
100660265:	85 c0                	test   %eax,%eax
100660267:	75 3a                	jne    1006602a3 <.text+0x25f2a3>
100660269:	48 8b 43 08          	mov    0x8(%rbx),%rax
10066026d:	48 85 c0             	test   %rax,%rax
100660270:	74 31                	je     1006602a3 <.text+0x25f2a3>
100660272:	4c 8b 4b 10          	mov    0x10(%rbx),%r9
100660276:	48 8b 50 18          	mov    0x18(%rax),%rdx
10066027a:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
10066027f:	45 89 e8             	mov    %r13d,%r8d
100660282:	4c 89 e1             	mov    %r12,%rcx
100660285:	48 8b 40 20          	mov    0x20(%rax),%rax
100660289:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
10066028e:	49 89 d1             	mov    %rdx,%r9
100660291:	89 ea                	mov    %ebp,%edx
100660293:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
100660298:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
10066029d:	e8 4e 51 00 00       	call   1006653f0 <.text+0x2643f0>
1006602a2:	90                   	nop
1006602a3:	48 83 c4 58          	add    $0x58,%rsp
1006602a7:	5b                   	pop    %rbx
1006602a8:	5e                   	pop    %rsi
1006602a9:	5f                   	pop    %rdi
1006602aa:	5d                   	pop    %rbp
1006602ab:	41 5c                	pop    %r12
1006602ad:	41 5d                	pop    %r13
1006602af:	41 5e                	pop    %r14
1006602b1:	41 5f                	pop    %r15
1006602b3:	c3                   	ret
1006602b4:	0f 1f 40 00          	nopl   0x0(%rax)
1006602b8:	4d 89 fa             	mov    %r15,%r10
1006602bb:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
1006602c0:	49 29 c2             	sub    %rax,%r10
1006602c3:	4a 8d 04 92          	lea    (%rdx,%r10,4),%rax
1006602c7:	48 89 ca             	mov    %rcx,%rdx
1006602ca:	48 89 c1             	mov    %rax,%rcx
1006602cd:	e8 2e fc 03 00       	call   10069ff00 <.text+0x29ef00>
1006602d2:	89 f2                	mov    %esi,%edx
1006602d4:	29 ea                	sub    %ebp,%edx
1006602d6:	39 f2                	cmp    %esi,%edx
1006602d8:	0f 8e 52 ff ff ff    	jle    100660230 <.text+0x25f230>
1006602de:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
1006602e2:	29 f2                	sub    %esi,%edx
1006602e4:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
1006602e9:	4c 01 fa             	add    %r15,%rdx
1006602ec:	48 8d 14 91          	lea    (%rcx,%rdx,4),%rdx
1006602f0:	4a 8d 04 09          	lea    (%rcx,%r9,1),%rax
1006602f4:	48 89 d1             	mov    %rdx,%rcx
1006602f7:	48 29 c1             	sub    %rax,%rcx
1006602fa:	83 e1 04             	and    $0x4,%ecx
1006602fd:	74 19                	je     100660318 <.text+0x25f318>
1006602ff:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
100660305:	48 83 c0 04          	add    $0x4,%rax
100660309:	48 39 d0             	cmp    %rdx,%rax
10066030c:	0f 84 1e ff ff ff    	je     100660230 <.text+0x25f230>
100660312:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
100660318:	44 89 30             	mov    %r14d,(%rax)
10066031b:	48 83 c0 08          	add    $0x8,%rax
10066031f:	44 89 70 fc          	mov    %r14d,-0x4(%rax)
100660323:	48 39 d0             	cmp    %rdx,%rax
100660326:	75 f0                	jne    100660318 <.text+0x25f318>
100660328:	e9 03 ff ff ff       	jmp    100660230 <.text+0x25f230>
10066032d:	0f 1f 00             	nopl   (%rax)
100660330:	48 83 ec 38          	sub    $0x38,%rsp
100660334:	8b 41 40             	mov    0x40(%rcx),%eax
100660337:	8b 51 30             	mov    0x30(%rcx),%edx
10066033a:	85 c0                	test   %eax,%eax
10066033c:	78 22                	js     100660360 <.text+0x25f360>
10066033e:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
100660342:	44 39 c2             	cmp    %r8d,%edx
100660345:	74 25                	je     10066036c <.text+0x25f36c>
100660347:	8b 41 28             	mov    0x28(%rcx),%eax
10066034a:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
10066034e:	44 39 c2             	cmp    %r8d,%edx
100660351:	7d 06                	jge    100660359 <.text+0x25f359>
100660353:	83 c2 01             	add    $0x1,%edx
100660356:	89 51 30             	mov    %edx,0x30(%rcx)
100660359:	48 83 c4 38          	add    $0x38,%rsp
10066035d:	c3                   	ret
10066035e:	66 90                	xchg   %ax,%ax
100660360:	8b 41 28             	mov    0x28(%rcx),%eax
100660363:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
100660367:	44 39 c2             	cmp    %r8d,%edx
10066036a:	75 e2                	jne    10066034e <.text+0x25f34e>
10066036c:	8b 51 3c             	mov    0x3c(%rcx),%edx
10066036f:	48 c1 e0 20          	shl    $0x20,%rax
100660373:	45 31 c0             	xor    %r8d,%r8d
100660376:	48 09 d0             	or     %rdx,%rax
100660379:	f6 81 a5 00 00 00 10 	testb  $0x10,0xa5(%rcx)
100660380:	75 2e                	jne    1006603b0 <.text+0x25f3b0>
100660382:	8b 51 2c             	mov    0x2c(%rcx),%edx
100660385:	48 c1 e2 20          	shl    $0x20,%rdx
100660389:	45 31 c9             	xor    %r9d,%r9d
10066038c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
100660391:	4c 09 c2             	or     %r8,%rdx
100660394:	41 b8 01 00 00 00    	mov    $0x1,%r8d
10066039a:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
10066039f:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1006603a4:	e8 77 fd ff ff       	call   100660120 <.text+0x25f120>
1006603a9:	90                   	nop
1006603aa:	48 83 c4 38          	add    $0x38,%rsp
1006603ae:	c3                   	ret
1006603af:	90                   	nop
1006603b0:	8b 51 48             	mov    0x48(%rcx),%edx
1006603b3:	44 8b 41 44          	mov    0x44(%rcx),%r8d
1006603b7:	85 d2                	test   %edx,%edx
1006603b9:	79 ca                	jns    100660385 <.text+0x25f385>
1006603bb:	eb c5                	jmp    100660382 <.text+0x25f382>
1006603bd:	0f 1f 00             	nopl   (%rax)
1006603c0:	57                   	push   %rdi
1006603c1:	56                   	push   %rsi
1006603c2:	53                   	push   %rbx
1006603c3:	48 83 ec 20          	sub    $0x20,%rsp
1006603c7:	48 8b b1 90 00 00 00 	mov    0x90(%rcx),%rsi
1006603ce:	48 8d 14 f5 00 00 00 	lea    0x0(,%rsi,8),%rdx
1006603d5:	00
1006603d6:	48 01 f6             	add    %rsi,%rsi
1006603d9:	48 89 cb             	mov    %rcx,%rbx
1006603dc:	48 8b 09             	mov    (%rcx),%rcx
1006603df:	e8 3c 4b 00 00       	call   100664f20 <.text+0x263f20>
1006603e4:	48 8b 93 88 00 00 00 	mov    0x88(%rbx),%rdx
1006603eb:	48 89 c7             	mov    %rax,%rdi
1006603ee:	48 8b 83 90 00 00 00 	mov    0x90(%rbx),%rax
1006603f5:	48 89 f9             	mov    %rdi,%rcx
1006603f8:	4c 8d 04 85 00 00 00 	lea    0x0(,%rax,4),%r8
1006603ff:	00
100660400:	e8 eb fa 03 00       	call   10069fef0 <.text+0x29eef0>
100660405:	48 8b 93 88 00 00 00 	mov    0x88(%rbx),%rdx
10066040c:	48 8b 0b             	mov    (%rbx),%rcx
10066040f:	e8 1c 4b 00 00       	call   100664f30 <.text+0x263f30>
100660414:	48 89 bb 88 00 00 00 	mov    %rdi,0x88(%rbx)
10066041b:	48 89 b3 90 00 00 00 	mov    %rsi,0x90(%rbx)
100660422:	48 83 c4 20          	add    $0x20,%rsp
100660426:	5b                   	pop    %rbx
100660427:	5e                   	pop    %rsi
100660428:	5f                   	pop    %rdi
100660429:	c3                   	ret
10066042a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
100660430:	41 57                	push   %r15
100660432:	41 56                	push   %r14
100660434:	41 55                	push   %r13
100660436:	41 54                	push   %r12
100660438:	55                   	push   %rbp
100660439:	57                   	push   %rdi
10066043a:	56                   	push   %rsi
10066043b:	53                   	push   %rbx
10066043c:	48 83 ec 78          	sub    $0x78,%rsp
100660440:	49 8b 40 30          	mov    0x30(%r8),%rax
100660444:	49 89 c9             	mov    %rcx,%r9
100660447:	49 89 d2             	mov    %rdx,%r10
10066044a:	49 8b 08             	mov    (%r8),%rcx
10066044d:	49 63 90 28 01 00 00 	movslq 0x128(%r8),%rdx
100660454:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
100660459:	4c 89 c7             	mov    %r8,%rdi
10066045c:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%rsp)
100660463:	00
100660464:	4c 8b b1 18 01 00 00 	mov    0x118(%rcx),%r14
10066046b:	48 c7 44 24 60 00 00 	movq   $0x0,0x60(%rsp)
100660472:	00 00
100660474:	48 8b 81 20 01 00 00 	mov    0x120(%rcx),%rax
10066047b:	85 d2                	test   %edx,%edx
10066047d:	0f 84 b2 03 00 00    	je     100660835 <.text+0x25f835>
100660483:	48 8d 04 52          	lea    (%rdx,%rdx,2),%rax
100660487:	48 c1 e0 03          	shl    $0x3,%rax
10066048b:	49 8b 8c 00 a8 00 00 	mov    0xa8(%r8,%rax,1),%rcx
100660492:	00
100660493:	49 8d 94 00 a8 00 00 	lea    0xa8(%r8,%rax,1),%rdx
10066049a:	00
10066049b:	b8 01 00 00 00       	mov    $0x1,%eax
1006604a0:	4c 8b 59 08          	mov    0x8(%rcx),%r11
1006604a4:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1006604a9:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
1006604ae:	48 83 c2 08          	add    $0x8,%rdx
1006604b2:	4c 8d 4c 24 5c       	lea    0x5c(%rsp),%r9
1006604b7:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1006604bc:	4d 89 f0             	mov    %r14,%r8
1006604bf:	4c 89 54 24 38       	mov    %r10,0x38(%rsp)
1006604c4:	89 44 24 20          	mov    %eax,0x20(%rsp)
1006604c8:	41 ff d3             	call   *%r11
1006604cb:	8b 74 24 5c          	mov    0x5c(%rsp),%esi
1006604cf:	85 f6                	test   %esi,%esi
1006604d1:	0f 84 a1 02 00 00    	je     100660778 <.text+0x25f778>
1006604d7:	8b 9f 28 01 00 00    	mov    0x128(%rdi),%ebx
1006604dd:	85 db                	test   %ebx,%ebx
1006604df:	74 0a                	je     1006604eb <.text+0x25f4eb>
1006604e1:	c7 87 28 01 00 00 00 	movl   $0x0,0x128(%rdi)
1006604e8:	00 00 00
1006604eb:	41 8b 0e             	mov    (%r14),%ecx
1006604ee:	e8 9d 45 00 00       	call   100664a90 <.text+0x263a90>
1006604f3:	41 89 c4             	mov    %eax,%r12d
1006604f6:	85 c0                	test   %eax,%eax
1006604f8:	0f 85 6d 03 00 00    	jne    10066086b <.text+0x25f86b>
1006604fe:	8b 44 24 5c          	mov    0x5c(%rsp),%eax
100660502:	44 39 e0             	cmp    %r12d,%eax
100660505:	0f 8e 5d 02 00 00    	jle    100660768 <.text+0x25f768>
10066050b:	41 8d 5c 24 01       	lea    0x1(%r12),%ebx
100660510:	39 c3                	cmp    %eax,%ebx
100660512:	0f 8d 31 02 00 00    	jge    100660749 <.text+0x25f749>
100660518:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10066051f:	00
100660520:	48 63 c3             	movslq %ebx,%rax
100660523:	41 8d 6c 24 05       	lea    0x5(%r12),%ebp
100660528:	49 8d 34 86          	lea    (%r14,%rax,4),%rsi
10066052c:	eb 13                	jmp    100660541 <.text+0x25f541>
10066052e:	66 90                	xchg   %ax,%ax
100660530:	83 c3 01             	add    $0x1,%ebx
100660533:	39 5c 24 5c          	cmp    %ebx,0x5c(%rsp)
100660537:	7e 13                	jle    10066054c <.text+0x25f54c>
100660539:	48 83 c6 04          	add    $0x4,%rsi
10066053d:	39 eb                	cmp    %ebp,%ebx
10066053f:	7f 0b                	jg     10066054c <.text+0x25f54c>
100660541:	8b 0e                	mov    (%rsi),%ecx
100660543:	e8 48 45 00 00       	call   100664a90 <.text+0x263a90>
100660548:	85 c0                	test   %eax,%eax
10066054a:	75 e4                	jne    100660530 <.text+0x25f530>
10066054c:	48 8b 0f             	mov    (%rdi),%rcx
10066054f:	ba 1c 00 00 00       	mov    $0x1c,%edx
100660554:	e8 c7 49 00 00       	call   100664f20 <.text+0x263f20>
100660559:	49 89 c5             	mov    %rax,%r13
10066055c:	48 85 c0             	test   %rax,%rax
10066055f:	0f 84 03 02 00 00    	je     100660768 <.text+0x25f768>
100660565:	41 39 dc             	cmp    %ebx,%r12d
100660568:	0f 8d ba 02 00 00    	jge    100660828 <.text+0x25f828>
10066056e:	49 63 f4             	movslq %r12d,%rsi
100660571:	31 ed                	xor    %ebp,%ebp
100660573:	48 89 f0             	mov    %rsi,%rax
100660576:	48 f7 d8             	neg    %rax
100660579:	4d 8d 7c 85 00       	lea    0x0(%r13,%rax,4),%r15
10066057e:	eb 1e                	jmp    10066059e <.text+0x25f59e>
100660580:	41 8b 0c b6          	mov    (%r14,%rsi,4),%ecx
100660584:	41 89 0c b7          	mov    %ecx,(%r15,%rsi,4)
100660588:	e8 93 44 00 00       	call   100664a20 <.text+0x263a20>
10066058d:	41 39 f4             	cmp    %esi,%r12d
100660590:	74 4e                	je     1006605e0 <.text+0x25f5e0>
100660592:	39 e8                	cmp    %ebp,%eax
100660594:	7f 4a                	jg     1006605e0 <.text+0x25f5e0>
100660596:	48 83 c6 01          	add    $0x1,%rsi
10066059a:	39 f3                	cmp    %esi,%ebx
10066059c:	7e 4c                	jle    1006605ea <.text+0x25f5ea>
10066059e:	e8 fd 44 00 00       	call   100664aa0 <.text+0x263aa0>
1006605a3:	83 f8 02             	cmp    $0x2,%eax