1400960d8:	5f                   	pop    %rdi
1400960d9:	5d                   	pop    %rbp
1400960da:	41 5c                	pop    %r12
1400960dc:	41 5d                	pop    %r13
1400960de:	c3                   	ret
1400960df:	49 89 c8             	mov    %rcx,%r8
1400960e2:	ba 04 00 00 00       	mov    $0x4,%edx
1400960e7:	48 8d 0d da 29 17 00 	lea    0x1729da(%rip),%rcx        # 0x140208ac8
1400960ee:	e8 9d d2 02 00       	call   0x1400c3390
1400960f3:	90                   	nop
1400960f4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400960fb:	00 00 00 00
1400960ff:	90                   	nop
140096100:	56                   	push   %rsi
140096101:	53                   	push   %rbx
140096102:	48 83 ec 28          	sub    $0x28,%rsp
140096106:	48 89 ce             	mov    %rcx,%rsi
140096109:	48 8b 49 30          	mov    0x30(%rcx),%rcx
14009610d:	48 85 c9             	test   %rcx,%rcx
140096110:	74 2d                	je     0x14009613f
140096112:	48 8b 06             	mov    (%rsi),%rax
140096115:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
14009611a:	74 1e                	je     0x14009613a
14009611c:	31 db                	xor    %ebx,%ebx
14009611e:	66 90                	xchg   %ax,%ax
140096120:	48 8b 0c d9          	mov    (%rcx,%rbx,8),%rcx
140096124:	48 83 c3 01          	add    $0x1,%rbx
140096128:	e8 83 2d 06 00       	call   0x1400f8eb0
14009612d:	48 8b 06             	mov    (%rsi),%rax
140096130:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
140096134:	48 3b 58 08          	cmp    0x8(%rax),%rbx
140096138:	72 e6                	jb     0x140096120
14009613a:	e8 71 2d 06 00       	call   0x1400f8eb0
14009613f:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
140096143:	e8 68 2d 06 00       	call   0x1400f8eb0
140096148:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
14009614c:	e8 5f 2d 06 00       	call   0x1400f8eb0
140096151:	48 8b 4e 48          	mov    0x48(%rsi),%rcx
140096155:	e8 56 2d 06 00       	call   0x1400f8eb0
14009615a:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
14009615e:	e8 4d 2d 06 00       	call   0x1400f8eb0
140096163:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
140096167:	48 83 c4 28          	add    $0x28,%rsp
14009616b:	5b                   	pop    %rbx
14009616c:	5e                   	pop    %rsi
14009616d:	e9 3e 2d 06 00       	jmp    0x1400f8eb0
140096172:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140096179:	00 00 00 00
14009617d:	0f 1f 00             	nopl   (%rax)
140096180:	41 54                	push   %r12
140096182:	55                   	push   %rbp
140096183:	57                   	push   %rdi
140096184:	56                   	push   %rsi
140096185:	53                   	push   %rbx
140096186:	48 83 ec 20          	sub    $0x20,%rsp
14009618a:	48 ba 00 00 00 00 01 	movabs $0x100000000,%rdx
140096191:	00 00 00
140096194:	48 8b 01             	mov    (%rcx),%rax
140096197:	48 8b 28             	mov    (%rax),%rbp
14009619a:	48 b8 ff ff ff ff 01 	movabs $0x1ffffffff,%rax
1400961a1:	00 00 00
1400961a4:	48 23 05 0d 61 15 00 	and    0x15610d(%rip),%rax        # 0x1401ec2b8
1400961ab:	48 89 cf             	mov    %rcx,%rdi
1400961ae:	48 39 d0             	cmp    %rdx,%rax
1400961b1:	74 1f                	je     0x1400961d2
1400961b3:	4c 8d 0d c6 2a 17 00 	lea    0x172ac6(%rip),%r9        # 0x140208c80
1400961ba:	4c 8d 05 ef 60 15 00 	lea    0x1560ef(%rip),%r8        # 0x1401ec2b0
1400961c1:	ba ff 01 00 00       	mov    $0x1ff,%edx
1400961c6:	48 8d 0d df 28 17 00 	lea    0x1728df(%rip),%rcx        # 0x140208aac
1400961cd:	e8 de 5c 01 00       	call   0x1400abeb0
1400961d2:	8b 47 20             	mov    0x20(%rdi),%eax
1400961d5:	85 c0                	test   %eax,%eax
1400961d7:	7e 67                	jle    0x140096240
1400961d9:	4c 8b 25 20 32 1a 00 	mov    0x1a3220(%rip),%r12        # 0x140239400
1400961e0:	31 db                	xor    %ebx,%ebx
1400961e2:	31 f6                	xor    %esi,%esi
1400961e4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400961eb:	00 00 00 00
1400961ef:	90                   	nop
1400961f0:	48 8b 47 18          	mov    0x18(%rdi),%rax
1400961f4:	48 8d 14 9d 00 00 00 	lea    0x0(,%rbx,4),%rdx
1400961fb:	00
1400961fc:	39 de                	cmp    %ebx,%esi
1400961fe:	74 0b                	je     0x14009620b
140096200:	44 8b 04 98          	mov    (%rax,%rbx,4),%r8d
140096204:	48 63 ce             	movslq %esi,%rcx
140096207:	44 89 04 88          	mov    %r8d,(%rax,%rcx,4)
14009620b:	48 63 04 10          	movslq (%rax,%rdx,1),%rax
14009620f:	49 8b 0c 24          	mov    (%r12),%rcx
140096213:	48 8d 04 c0          	lea    (%rax,%rax,8),%rax
140096217:	48 8d 54 85 00       	lea    0x0(%rbp,%rax,4),%rdx
14009621c:	e8 6f 44 fa ff       	call   0x14003a690
140096221:	83 f8 01             	cmp    $0x1,%eax
140096224:	83 de ff             	sbb    $0xffffffff,%esi
140096227:	48 83 c3 01          	add    $0x1,%rbx
14009622b:	39 5f 20             	cmp    %ebx,0x20(%rdi)
14009622e:	7f c0                	jg     0x1400961f0
140096230:	89 77 20             	mov    %esi,0x20(%rdi)
140096233:	48 83 c4 20          	add    $0x20,%rsp
140096237:	5b                   	pop    %rbx
140096238:	5e                   	pop    %rsi
140096239:	5f                   	pop    %rdi
14009623a:	5d                   	pop    %rbp
14009623b:	41 5c                	pop    %r12
14009623d:	c3                   	ret
14009623e:	66 90                	xchg   %ax,%ax
140096240:	31 f6                	xor    %esi,%esi
140096242:	89 77 20             	mov    %esi,0x20(%rdi)
140096245:	48 83 c4 20          	add    $0x20,%rsp
140096249:	5b                   	pop    %rbx
14009624a:	5e                   	pop    %rsi
14009624b:	5f                   	pop    %rdi
14009624c:	5d                   	pop    %rbp
14009624d:	41 5c                	pop    %r12
14009624f:	c3                   	ret
140096250:	41 57                	push   %r15
140096252:	41 56                	push   %r14
140096254:	41 55                	push   %r13
140096256:	41 54                	push   %r12
140096258:	55                   	push   %rbp
140096259:	57                   	push   %rdi
14009625a:	56                   	push   %rsi
14009625b:	53                   	push   %rbx
14009625c:	48 81 ec 08 01 00 00 	sub    $0x108,%rsp
140096263:	48 8b 35 86 28 1a 00 	mov    0x1a2886(%rip),%rsi        # 0x140238af0
14009626a:	48 8b 06             	mov    (%rsi),%rax
14009626d:	48 89 84 24 f8 00 00 	mov    %rax,0xf8(%rsp)
140096274:	00
140096275:	48 8b 01             	mov    (%rcx),%rax
140096278:	48 89 94 24 80 00 00 	mov    %rdx,0x80(%rsp)
14009627f:	00
140096280:	48 ba 00 00 00 00 01 	movabs $0x100000000,%rdx
140096287:	00 00 00
14009628a:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
14009628f:	4c 89 84 24 90 00 00 	mov    %r8,0x90(%rsp)
140096296:	00
140096297:	48 8b 00             	mov    (%rax),%rax
14009629a:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
1400962a1:	00
1400962a2:	48 8b 41 28          	mov    0x28(%rcx),%rax
1400962a6:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1400962ab:	48 b8 ff ff ff ff 01 	movabs $0x1ffffffff,%rax
1400962b2:	00 00 00
1400962b5:	48 23 05 fc 5f 15 00 	and    0x155ffc(%rip),%rax        # 0x1401ec2b8
1400962bc:	48 39 d0             	cmp    %rdx,%rax
1400962bf:	74 1f                	je     0x1400962e0
1400962c1:	4c 8d 0d e8 29 17 00 	lea    0x1729e8(%rip),%r9        # 0x140208cb0
1400962c8:	4c 8d 05 e1 5f 15 00 	lea    0x155fe1(%rip),%r8        # 0x1401ec2b0
1400962cf:	ba 9a 02 00 00       	mov    $0x29a,%edx
1400962d4:	48 8d 0d d1 27 17 00 	lea    0x1727d1(%rip),%rcx        # 0x140208aac
1400962db:	e8 d0 5b 01 00       	call   0x1400abeb0
1400962e0:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
1400962e5:	44 8b 40 20          	mov    0x20(%rax),%r8d
1400962e9:	44 03 40 10          	add    0x10(%rax),%r8d
1400962ed:	4d 63 c0             	movslq %r8d,%r8
1400962f0:	4c 89 c0             	mov    %r8,%rax
1400962f3:	48 c1 e8 3e          	shr    $0x3e,%rax
1400962f7:	0f 85 2b 0c 00 00    	jne    0x140096f28
1400962fd:	4a 8d 0c 85 00 00 00 	lea    0x0(,%r8,4),%rcx
140096304:	00
140096305:	e8 16 47 03 00       	call   0x1400caa20
14009630a:	4c 8b 4c 24 78       	mov    0x78(%rsp),%r9
14009630f:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140096316:	00
140096317:	49 89 c0             	mov    %rax,%r8
14009631a:	41 8b 79 10          	mov    0x10(%r9),%edi
14009631e:	89 7c 24 74          	mov    %edi,0x74(%rsp)
140096322:	85 ff                	test   %edi,%edi
140096324:	74 35                	je     0x14009635b
140096326:	49 8b 49 08          	mov    0x8(%r9),%rcx
14009632a:	31 c0                	xor    %eax,%eax
14009632c:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140096333:	00 00 00 00
140096337:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14009633e:	00 00
140096340:	8b 14 81             	mov    (%rcx,%rax,4),%edx
140096343:	41 89 14 80          	mov    %edx,(%r8,%rax,4)
140096347:	48 89 c2             	mov    %rax,%rdx
14009634a:	48 83 c0 01          	add    $0x1,%rax
14009634e:	41 3b 41 10          	cmp    0x10(%r9),%eax
140096352:	72 ec                	jb     0x140096340
140096354:	8d 42 01             	lea    0x1(%rdx),%eax
140096357:	89 44 24 74          	mov    %eax,0x74(%rsp)
14009635b:	4c 8b 4c 24 78       	mov    0x78(%rsp),%r9
140096360:	45 8b 41 20          	mov    0x20(%r9),%r8d
140096364:	45 85 c0             	test   %r8d,%r8d
140096367:	74 37                	je     0x1400963a0
140096369:	48 63 44 24 74       	movslq 0x74(%rsp),%rax
14009636e:	48 8b bc 24 88 00 00 	mov    0x88(%rsp),%rdi
140096375:	00
140096376:	4d 8b 41 18          	mov    0x18(%r9),%r8
14009637a:	48 8d 0c 87          	lea    (%rdi,%rax,4),%rcx
14009637e:	31 c0                	xor    %eax,%eax
140096380:	41 8b 14 80          	mov    (%r8,%rax,4),%edx
140096384:	89 14 81             	mov    %edx,(%rcx,%rax,4)
140096387:	48 89 c2             	mov    %rax,%rdx
14009638a:	48 83 c0 01          	add    $0x1,%rax
14009638e:	41 3b 41 20          	cmp    0x20(%r9),%eax
140096392:	72 ec                	jb     0x140096380
140096394:	8b 44 24 74          	mov    0x74(%rsp),%eax
140096398:	8d 44 10 01          	lea    0x1(%rax,%rdx,1),%eax
14009639c:	89 44 24 74          	mov    %eax,0x74(%rsp)
1400963a0:	e8 7b 8e fa ff       	call   0x14003f220
1400963a5:	31 db                	xor    %ebx,%ebx
1400963a7:	89 c6                	mov    %eax,%esi
1400963a9:	85 c0                	test   %eax,%eax
1400963ab:	74 27                	je     0x1400963d4
1400963ad:	0f 1f 00             	nopl   (%rax)
1400963b0:	89 d9                	mov    %ebx,%ecx
1400963b2:	e8 89 8e fa ff       	call   0x14003f240
1400963b7:	48 85 c0             	test   %rax,%rax
1400963ba:	74 11                	je     0x1400963cd
1400963bc:	0f b6 10             	movzbl (%rax),%edx
1400963bf:	83 e2 0e             	and    $0xe,%edx
1400963c2:	80 fa 02             	cmp    $0x2,%dl
1400963c5:	75 06                	jne    0x1400963cd
1400963c7:	81 20 cf bf ff ff    	andl   $0xffffbfcf,(%rax)
1400963cd:	83 c3 01             	add    $0x1,%ebx
1400963d0:	39 de                	cmp    %ebx,%esi
1400963d2:	75 dc                	jne    0x1400963b0
1400963d4:	48 8b 05 35 29 17 00 	mov    0x172935(%rip),%rax        # 0x140208d10
1400963db:	66 0f ef c0          	pxor   %xmm0,%xmm0
1400963df:	48 8d 1d 0a e8 ff ff 	lea    -0x17f6(%rip),%rbx        # 0x140094bf0
1400963e6:	48 c7 84 24 e8 00 00 	movq   $0x0,0xe8(%rsp)
1400963ed:	00 00 00 00 00
1400963f2:	0f 11 84 24 b8 00 00 	movups %xmm0,0xb8(%rsp)
1400963f9:	00
1400963fa:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
140096401:	00
140096402:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140096407:	0f 11 84 24 c8 00 00 	movups %xmm0,0xc8(%rsp)
14009640e:	00
14009640f:	8b 70 08             	mov    0x8(%rax),%esi
140096412:	48 8b 05 e7 2f 1a 00 	mov    0x1a2fe7(%rip),%rax        # 0x140239400
140096419:	0f 11 84 24 d8 00 00 	movups %xmm0,0xd8(%rsp)
140096420:	00
140096421:	48 8b 08             	mov    (%rax),%rcx
140096424:	e8 b7 e9 fc ff       	call   0x140064de0
140096429:	45 31 c0             	xor    %r8d,%r8d
14009642c:	48 89 da             	mov    %rbx,%rdx
14009642f:	48 89 c1             	mov    %rax,%rcx
140096432:	e8 69 e6 fc ff       	call   0x140064aa0
140096437:	48 8b 05 c2 2f 1a 00 	mov    0x1a2fc2(%rip),%rax        # 0x140239400
14009643e:	48 8b 08             	mov    (%rax),%rcx
140096441:	e8 9a e9 fc ff       	call   0x140064de0
140096446:	45 31 c0             	xor    %r8d,%r8d
140096449:	48 89 da             	mov    %rbx,%rdx
14009644c:	48 89 c1             	mov    %rax,%rcx
14009644f:	e8 7c d8 fc ff       	call   0x140063cd0
140096454:	8b 4c 24 74          	mov    0x74(%rsp),%ecx
140096458:	85 c9                	test   %ecx,%ecx
14009645a:	74 4e                	je     0x1400964aa
14009645c:	8b 44 24 74          	mov    0x74(%rsp),%eax
140096460:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140096467:	00
140096468:	48 8b ac 24 98 00 00 	mov    0x98(%rsp),%rbp
14009646f:	00
140096470:	83 e8 01             	sub    $0x1,%eax
140096473:	48 89 df             	mov    %rbx,%rdi
140096476:	48 8d 5c 83 04       	lea    0x4(%rbx,%rax,4),%rbx
14009647b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140096480:	48 63 07             	movslq (%rdi),%rax
140096483:	48 83 c7 04          	add    $0x4,%rdi
140096487:	48 8d 04 c0          	lea    (%rax,%rax,8),%rax
14009648b:	48 8d 54 85 00       	lea    0x0(%rbp,%rax,4),%rdx
140096490:	48 8b 05 69 2f 1a 00 	mov    0x1a2f69(%rip),%rax        # 0x140239400
140096497:	48 8b 08             	mov    (%rax),%rcx
14009649a:	e8 a1 d7 08 00       	call   0x140123c40
14009649f:	81 08 00 40 00 00    	orl    $0x4000,(%rax)
1400964a5:	48 39 df             	cmp    %rbx,%rdi
1400964a8:	75 d6                	jne    0x140096480
1400964aa:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1400964af:	45 31 ff             	xor    %r15d,%r15d
1400964b2:	31 ed                	xor    %ebp,%ebp
1400964b4:	45 31 e4             	xor    %r12d,%r12d
1400964b7:	31 ff                	xor    %edi,%edi
1400964b9:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
1400964be:	0f 84 b4 02 00 00    	je     0x140096778
1400964c4:	48 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%rbx
1400964cb:	00
1400964cc:	c7 44 24 58 00 00 00 	movl   $0x0,0x58(%rsp)
1400964d3:	00
1400964d4:	31 c0                	xor    %eax,%eax
1400964d6:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
1400964db:	48 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%rbx
1400964e2:	00
1400964e3:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
1400964e8:	89 74 24 38          	mov    %esi,0x38(%rsp)
1400964ec:	0f 1f 40 00          	nopl   0x0(%rax)
1400964f0:	48 8d 14 c0          	lea    (%rax,%rax,8),%rdx
1400964f4:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1400964f9:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400964ff:	48 8b 00             	mov    (%rax),%rax
140096502:	48 c7 84 24 a0 00 00 	movq   $0x0,0xa0(%rsp)
140096509:	00 00 00 00 00
14009650e:	48 8d 14 90          	lea    (%rax,%rdx,4),%rdx
140096512:	48 8b 05 e7 2e 1a 00 	mov    0x1a2ee7(%rip),%rax        # 0x140239400
140096519:	48 8b 08             	mov    (%rax),%rcx
14009651c:	e8 5f d5 08 00       	call   0x140123a80
140096521:	49 89 c5             	mov    %rax,%r13
140096524:	48 85 c0             	test   %rax,%rax
140096527:	0f 84 2f 02 00 00    	je     0x14009675c
14009652d:	8b 44 24 38          	mov    0x38(%rsp),%eax
140096531:	83 c0 1f             	add    $0x1f,%eax
140096534:	c1 e8 05             	shr    $0x5,%eax
140096537:	41 89 c6             	mov    %eax,%r14d
14009653a:	89 44 24 60          	mov    %eax,0x60(%rsp)
14009653e:	4a 8d 34 b5 00 00 00 	lea    0x0(,%r14,4),%rsi
140096545:	00
140096546:	48 89 f1             	mov    %rsi,%rcx
140096549:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
14009654e:	e8 cd 44 03 00       	call   0x1400caa20
140096553:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140096558:	89 bc 24 b8 00 00 00 	mov    %edi,0xb8(%rsp)
14009655f:	48 89 c3             	mov    %rax,%rbx
140096562:	8b 44 24 38          	mov    0x38(%rsp),%eax
140096566:	4c 89 a4 24 c0 00 00 	mov    %r12,0xc0(%rsp)
14009656d:	00
14009656e:	48 89 ac 24 d0 00 00 	mov    %rbp,0xd0(%rsp)
140096575:	00
140096576:	44 89 bc 24 e8 00 00 	mov    %r15d,0xe8(%rsp)
14009657d:	00
14009657e:	89 84 24 c8 00 00 00 	mov    %eax,0xc8(%rsp)
140096585:	e8 c6 e4 ff ff       	call   0x140094a50
14009658a:	49 89 f0             	mov    %rsi,%r8
14009658d:	31 d2                	xor    %edx,%edx
14009658f:	8b bc 24 b8 00 00 00 	mov    0xb8(%rsp),%edi
140096596:	49 89 c6             	mov    %rax,%r14
140096599:	8b 84 24 c8 00 00 00 	mov    0xc8(%rsp),%eax
1400965a0:	4c 8b a4 24 c0 00 00 	mov    0xc0(%rsp),%r12
1400965a7:	00
1400965a8:	4c 89 f1             	mov    %r14,%rcx
1400965ab:	48 8b ac 24 d0 00 00 	mov    0xd0(%rsp),%rbp
1400965b2:	00
1400965b3:	44 8b bc 24 e8 00 00 	mov    0xe8(%rsp),%r15d
1400965ba:	00
1400965bb:	89 44 24 38          	mov    %eax,0x38(%rsp)
1400965bf:	e8 3c 38 15 00       	call   0x1401e9e00
1400965c4:	8b 74 24 58          	mov    0x58(%rsp),%esi
1400965c8:	ba 01 00 00 00       	mov    $0x1,%edx
1400965cd:	89 f0                	mov    %esi,%eax
1400965cf:	89 f1                	mov    %esi,%ecx
1400965d1:	4c 89 f6             	mov    %r14,%rsi
1400965d4:	c1 e8 05             	shr    $0x5,%eax
1400965d7:	d3 e2                	shl    %cl,%edx
1400965d9:	4c 89 e9             	mov    %r13,%rcx
1400965dc:	41 09 14 86          	or     %edx,(%r14,%rax,4)
1400965e0:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1400965e5:	49 89 de             	mov    %rbx,%r14
1400965e8:	e8 23 ec 08 00       	call   0x140125210