140096057:	49 8b d7             	mov    %r15,%rdx
14009605a:	48 83 ca 0f          	or     $0xf,%rdx
14009605e:	48 3b d3             	cmp    %rbx,%rdx
140096061:	77 44                	ja     0x1400960a7
140096063:	48 8b cd             	mov    %rbp,%rcx
140096066:	48 8b c3             	mov    %rbx,%rax
140096069:	48 d1 e9             	shr    $1,%rcx
14009606c:	48 2b c1             	sub    %rcx,%rax
14009606f:	48 3b e8             	cmp    %rax,%rbp
140096072:	77 33                	ja     0x1400960a7
140096074:	48 8d 04 29          	lea    (%rcx,%rbp,1),%rax
140096078:	48 8b da             	mov    %rdx,%rbx
14009607b:	48 3b d0             	cmp    %rax,%rdx
14009607e:	48 0f 42 d8          	cmovb  %rax,%rbx
140096082:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
140096086:	48 85 c9             	test   %rcx,%rcx
140096089:	75 04                	jne    0x14009608f
14009608b:	33 ff                	xor    %edi,%edi
14009608d:	eb 4d                	jmp    0x1400960dc
14009608f:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140096096:	72 3c                	jb     0x1400960d4
140096098:	48 8d 41 27          	lea    0x27(%rcx),%rax
14009609c:	48 3b c1             	cmp    %rcx,%rax
14009609f:	0f 86 d4 00 00 00    	jbe    0x140096179
1400960a5:	eb 0e                	jmp    0x1400960b5
1400960a7:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1400960ae:	00 00 80
1400960b1:	48 83 c0 27          	add    $0x27,%rax
1400960b5:	48 8b c8             	mov    %rax,%rcx
1400960b8:	e8 13 9e 21 00       	call   0x1402afed0
1400960bd:	48 85 c0             	test   %rax,%rax
1400960c0:	0f 84 ad 00 00 00    	je     0x140096173
1400960c6:	48 8d 78 27          	lea    0x27(%rax),%rdi
1400960ca:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
1400960ce:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
1400960d2:	eb 08                	jmp    0x1400960dc
1400960d4:	e8 f7 9d 21 00       	call   0x1402afed0
1400960d9:	48 8b f8             	mov    %rax,%rdi
1400960dc:	4c 8b 44 24 78       	mov    0x78(%rsp),%r8
1400960e1:	49 8b d4             	mov    %r12,%rdx
1400960e4:	4c 89 7e 10          	mov    %r15,0x10(%rsi)
1400960e8:	48 8b cf             	mov    %rdi,%rcx
1400960eb:	48 89 5e 18          	mov    %rbx,0x18(%rsi)
1400960ef:	4e 8d 3c 07          	lea    (%rdi,%r8,1),%r15
1400960f3:	48 83 fd 0f          	cmp    $0xf,%rbp
1400960f7:	76 46                	jbe    0x14009613f
1400960f9:	48 8b 1e             	mov    (%rsi),%rbx
1400960fc:	e8 5f b2 24 00       	call   0x1402e1360
140096101:	4d 8d 46 01          	lea    0x1(%r14),%r8
140096105:	48 8b d3             	mov    %rbx,%rdx
140096108:	49 8b cf             	mov    %r15,%rcx
14009610b:	e8 50 b2 24 00       	call   0x1402e1360
140096110:	48 8d 55 01          	lea    0x1(%rbp),%rdx
140096114:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14009611b:	72 18                	jb     0x140096135
14009611d:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140096121:	48 83 c2 27          	add    $0x27,%rdx
140096125:	48 2b d9             	sub    %rcx,%rbx
140096128:	48 8d 43 f8          	lea    -0x8(%rbx),%rax
14009612c:	48 83 f8 1f          	cmp    $0x1f,%rax
140096130:	77 41                	ja     0x140096173
140096132:	48 8b d9             	mov    %rcx,%rbx
140096135:	48 8b cb             	mov    %rbx,%rcx
140096138:	e8 cf 9d 21 00       	call   0x1402aff0c
14009613d:	eb 14                	jmp    0x140096153
14009613f:	e8 1c b2 24 00       	call   0x1402e1360
140096144:	4d 8d 46 01          	lea    0x1(%r14),%r8
140096148:	48 8b d6             	mov    %rsi,%rdx
14009614b:	49 8b cf             	mov    %r15,%rcx
14009614e:	e8 0d b2 24 00       	call   0x1402e1360
140096153:	48 89 3e             	mov    %rdi,(%rsi)
140096156:	48 8b c6             	mov    %rsi,%rax
140096159:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
14009615e:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140096163:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140096168:	48 83 c4 28          	add    $0x28,%rsp
14009616c:	41 5e                	pop    %r14
14009616e:	41 5c                	pop    %r12
140096170:	5e                   	pop    %rsi
140096171:	5b                   	pop    %rbx
140096172:	c3                   	ret
140096173:	e8 ac 02 22 00       	call   0x1402b6424
140096178:	cc                   	int3
140096179:	e8 42 4c fe ff       	call   0x14007adc0
14009617e:	cc                   	int3
14009617f:	e8 dc 4c fe ff       	call   0x14007ae60
140096184:	cc                   	int3
140096185:	cc                   	int3
140096186:	cc                   	int3
140096187:	cc                   	int3
140096188:	cc                   	int3
140096189:	cc                   	int3
14009618a:	cc                   	int3
14009618b:	cc                   	int3
14009618c:	cc                   	int3
14009618d:	cc                   	int3
14009618e:	cc                   	int3
14009618f:	cc                   	int3
140096190:	40 56                	rex push %rsi
140096192:	48 83 ec 20          	sub    $0x20,%rsp
140096196:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
14009619b:	48 8b f1             	mov    %rcx,%rsi
14009619e:	74 69                	je     0x140096209
1400961a0:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1400961a5:	48 8b 59 18          	mov    0x18(%rcx),%rbx
1400961a9:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
1400961ae:	48 8b 79 20          	mov    0x20(%rcx),%rdi
1400961b2:	48 3b df             	cmp    %rdi,%rbx
1400961b5:	74 11                	je     0x1400961c8
1400961b7:	48 8b cb             	mov    %rbx,%rcx
1400961ba:	e8 e1 49 ff ff       	call   0x14008aba0
1400961bf:	48 83 c3 10          	add    $0x10,%rbx
1400961c3:	48 3b df             	cmp    %rdi,%rbx
1400961c6:	75 ef                	jne    0x1400961b7
1400961c8:	48 8b 56 10          	mov    0x10(%rsi),%rdx
1400961cc:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400961d0:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1400961d5:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400961da:	48 c1 e2 04          	shl    $0x4,%rdx
1400961de:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400961e5:	72 18                	jb     0x1400961ff
1400961e7:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1400961eb:	48 83 c2 27          	add    $0x27,%rdx
1400961ef:	49 2b c8             	sub    %r8,%rcx
1400961f2:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400961f6:	48 83 f8 1f          	cmp    $0x1f,%rax
1400961fa:	77 13                	ja     0x14009620f
1400961fc:	49 8b c8             	mov    %r8,%rcx
1400961ff:	48 83 c4 20          	add    $0x20,%rsp
140096203:	5e                   	pop    %rsi
140096204:	e9 03 9d 21 00       	jmp    0x1402aff0c
140096209:	48 83 c4 20          	add    $0x20,%rsp
14009620d:	5e                   	pop    %rsi
14009620e:	c3                   	ret
14009620f:	e8 10 02 22 00       	call   0x1402b6424
140096214:	cc                   	int3
140096215:	cc                   	int3
140096216:	cc                   	int3
140096217:	cc                   	int3
140096218:	cc                   	int3
140096219:	cc                   	int3
14009621a:	cc                   	int3
14009621b:	cc                   	int3
14009621c:	cc                   	int3
14009621d:	cc                   	int3
14009621e:	cc                   	int3
14009621f:	cc                   	int3
140096220:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140096225:	57                   	push   %rdi
140096226:	48 83 ec 20          	sub    $0x20,%rsp
14009622a:	48 8b 79 08          	mov    0x8(%rcx),%rdi
14009622e:	48 8b 19             	mov    (%rcx),%rbx
140096231:	48 3b df             	cmp    %rdi,%rbx
140096234:	74 11                	je     0x140096247
140096236:	48 8b cb             	mov    %rbx,%rcx
140096239:	e8 62 49 ff ff       	call   0x14008aba0
14009623e:	48 83 c3 10          	add    $0x10,%rbx
140096242:	48 3b df             	cmp    %rdi,%rbx
140096245:	75 ef                	jne    0x140096236
140096247:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14009624c:	48 83 c4 20          	add    $0x20,%rsp
140096250:	5f                   	pop    %rdi
140096251:	c3                   	ret
140096252:	cc                   	int3
140096253:	cc                   	int3
140096254:	cc                   	int3
140096255:	cc                   	int3
140096256:	cc                   	int3
140096257:	cc                   	int3
140096258:	cc                   	int3
140096259:	cc                   	int3
14009625a:	cc                   	int3
14009625b:	cc                   	int3
14009625c:	cc                   	int3
14009625d:	cc                   	int3
14009625e:	cc                   	int3
14009625f:	cc                   	int3
140096260:	48 8b 09             	mov    (%rcx),%rcx
140096263:	48 85 c9             	test   %rcx,%rcx
140096266:	74 0a                	je     0x140096272
140096268:	ba 10 00 00 00       	mov    $0x10,%edx
14009626d:	e9 9a 9c 21 00       	jmp    0x1402aff0c
140096272:	c3                   	ret
140096273:	cc                   	int3
140096274:	cc                   	int3
140096275:	cc                   	int3
140096276:	cc                   	int3
140096277:	cc                   	int3
140096278:	cc                   	int3
140096279:	cc                   	int3
14009627a:	cc                   	int3
14009627b:	cc                   	int3
14009627c:	cc                   	int3
14009627d:	cc                   	int3
14009627e:	cc                   	int3
14009627f:	cc                   	int3
140096280:	40 53                	rex push %rbx
140096282:	48 83 ec 40          	sub    $0x40,%rsp
140096286:	48 8b 05 f3 f7 33 00 	mov    0x33f7f3(%rip),%rax        # 0x1403d5a80
14009628d:	48 33 c4             	xor    %rsp,%rax
140096290:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140096295:	48 8b 41 10          	mov    0x10(%rcx),%rax
140096299:	48 8b d9             	mov    %rcx,%rbx
14009629c:	4c 8b 48 f8          	mov    -0x8(%rax),%r9
1400962a0:	4d 85 c9             	test   %r9,%r9
1400962a3:	0f 84 af 00 00 00    	je     0x140096358
1400962a9:	48 2b 41 08          	sub    0x8(%rcx),%rax
1400962ad:	48 8b 89 a8 00 00 00 	mov    0xa8(%rcx),%rcx
1400962b4:	48 c1 f8 03          	sar    $0x3,%rax
1400962b8:	ff c8                	dec    %eax
1400962ba:	c6 44 24 20 03       	movb   $0x3,0x20(%rsp)
1400962bf:	89 44 24 28          	mov    %eax,0x28(%rsp)
1400962c3:	48 85 c9             	test   %rcx,%rcx
1400962c6:	0f 84 af 00 00 00    	je     0x14009637b
1400962cc:	48 8b 01             	mov    (%rcx),%rax
1400962cf:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1400962d4:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1400962d9:	ff 50 10             	call   *0x10(%rax)
1400962dc:	84 c0                	test   %al,%al
1400962de:	75 78                	jne    0x140096358
1400962e0:	48 8d 93 b8 00 00 00 	lea    0xb8(%rbx),%rdx
1400962e7:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1400962ec:	e8 af 4e ff ff       	call   0x14008b1a0
1400962f1:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1400962f5:	4c 8b 49 f8          	mov    -0x8(%rcx),%r9
1400962f9:	0f b6 08             	movzbl (%rax),%ecx
1400962fc:	41 0f b6 11          	movzbl (%r9),%edx
140096300:	41 88 09             	mov    %cl,(%r9)
140096303:	48 8d 48 08          	lea    0x8(%rax),%rcx
140096307:	88 10                	mov    %dl,(%rax)
140096309:	49 8b 51 08          	mov    0x8(%r9),%rdx
14009630d:	4c 8b 01             	mov    (%rcx),%r8
140096310:	4d 89 41 08          	mov    %r8,0x8(%r9)
140096314:	48 89 11             	mov    %rdx,(%rcx)
140096317:	0f b6 10             	movzbl (%rax),%edx
14009631a:	e8 e1 61 ff ff       	call   0x14008c500
14009631f:	48 83 43 10 f8       	addq   $0xfffffffffffffff8,0x10(%rbx)
140096324:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140096328:	e8 33 05 00 00       	call   0x140096860
14009632d:	48 8b 43 10          	mov    0x10(%rbx),%rax
140096331:	48 39 43 08          	cmp    %rax,0x8(%rbx)
140096335:	74 2f                	je     0x140096366
140096337:	48 8b 58 f8          	mov    -0x8(%rax),%rbx
14009633b:	80 3b 02             	cmpb   $0x2,(%rbx)
14009633e:	75 26                	jne    0x140096366
140096340:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140096344:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140096348:	48 83 e9 10          	sub    $0x10,%rcx
14009634c:	e8 4f 48 ff ff       	call   0x14008aba0
140096351:	48 83 43 08 f0       	addq   $0xfffffffffffffff0,0x8(%rbx)
140096356:	eb 0e                	jmp    0x140096366
140096358:	48 83 43 10 f8       	addq   $0xfffffffffffffff8,0x10(%rbx)
14009635d:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140096361:	e8 fa 04 00 00       	call   0x140096860
140096366:	b0 01                	mov    $0x1,%al
140096368:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14009636d:	48 33 cc             	xor    %rsp,%rcx
140096370:	e8 3b 9b 21 00       	call   0x1402afeb0
140096375:	48 83 c4 40          	add    $0x40,%rsp
140096379:	5b                   	pop    %rbx
14009637a:	c3                   	ret
14009637b:	e8 10 7c 21 00       	call   0x1402adf90
140096380:	cc                   	int3
140096381:	cc                   	int3
140096382:	cc                   	int3
140096383:	cc                   	int3
140096384:	cc                   	int3
140096385:	cc                   	int3
140096386:	cc                   	int3
140096387:	cc                   	int3
140096388:	cc                   	int3
140096389:	cc                   	int3
14009638a:	cc                   	int3
14009638b:	cc                   	int3
14009638c:	cc                   	int3
14009638d:	cc                   	int3
14009638e:	cc                   	int3
14009638f:	cc                   	int3
140096390:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140096395:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14009639a:	55                   	push   %rbp
14009639b:	57                   	push   %rdi
14009639c:	41 56                	push   %r14
14009639e:	48 8d 6c 24 b9       	lea    -0x47(%rsp),%rbp
1400963a3:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1400963aa:	48 8b 05 cf f6 33 00 	mov    0x33f6cf(%rip),%rax        # 0x1403d5a80
1400963b1:	48 33 c4             	xor    %rsp,%rax
1400963b4:	48 89 45 37          	mov    %rax,0x37(%rbp)
1400963b8:	48 8b f1             	mov    %rcx,%rsi
1400963bb:	48 8b 41 10          	mov    0x10(%rcx),%rax
1400963bf:	4c 8b 48 f8          	mov    -0x8(%rax),%r9
1400963c3:	4d 85 c9             	test   %r9,%r9
1400963c6:	74 71                	je     0x140096439
1400963c8:	48 2b 41 08          	sub    0x8(%rcx),%rax
1400963cc:	48 c1 f8 03          	sar    $0x3,%rax
1400963d0:	ff c8                	dec    %eax
1400963d2:	89 45 ff             	mov    %eax,-0x1(%rbp)
1400963d5:	c6 45 f7 01          	movb   $0x1,-0x9(%rbp)
1400963d9:	48 8b 89 a8 00 00 00 	mov    0xa8(%rcx),%rcx
1400963e0:	48 85 c9             	test   %rcx,%rcx
1400963e3:	0f 84 b4 02 00 00    	je     0x14009669d
1400963e9:	48 8b 01             	mov    (%rcx),%rax
1400963ec:	4c 8d 45 f7          	lea    -0x9(%rbp),%r8
1400963f0:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
1400963f4:	ff 50 10             	call   *0x10(%rax)
1400963f7:	84 c0                	test   %al,%al
1400963f9:	75 3e                	jne    0x140096439
1400963fb:	48 8d 96 b8 00 00 00 	lea    0xb8(%rsi),%rdx
140096402:	48 8d 4d ff          	lea    -0x1(%rbp),%rcx
140096406:	e8 95 4d ff ff       	call   0x14008b1a0
14009640b:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14009640f:	4c 8b 49 f8          	mov    -0x8(%rcx),%r9
140096413:	41 0f b6 11          	movzbl (%r9),%edx
140096417:	0f b6 08             	movzbl (%rax),%ecx
14009641a:	41 88 09             	mov    %cl,(%r9)
14009641d:	88 10                	mov    %dl,(%rax)
14009641f:	48 8d 48 08          	lea    0x8(%rax),%rcx
140096423:	49 8b 51 08          	mov    0x8(%r9),%rdx
140096427:	4c 8b 01             	mov    (%rcx),%r8
14009642a:	4d 89 41 08          	mov    %r8,0x8(%r9)
14009642e:	48 89 11             	mov    %rdx,(%rcx)
140096431:	0f b6 10             	movzbl (%rax),%edx
140096434:	e8 c7 60 ff ff       	call   0x14008c500
140096439:	48 83 46 10 f8       	addq   $0xfffffffffffffff8,0x10(%rsi)
14009643e:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
140096442:	e8 19 04 00 00       	call   0x140096860
140096447:	48 8b 5e 10          	mov    0x10(%rsi),%rbx
14009644b:	48 39 5e 08          	cmp    %rbx,0x8(%rsi)
14009644f:	0f 84 ee 01 00 00    	je     0x140096643
140096455:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140096459:	48 85 db             	test   %rbx,%rbx
14009645c:	0f 84 e1 01 00 00    	je     0x140096643
140096462:	0f b6 03             	movzbl (%rbx),%eax
140096465:	fe c8                	dec    %al
140096467:	3c 01                	cmp    $0x1,%al
140096469:	0f 87 d4 01 00 00    	ja     0x140096643
14009646f:	0f 57 c0             	xorps  %xmm0,%xmm0
140096472:	f3 0f 7f 45 07       	movdqu %xmm0,0x7(%rbp)
140096477:	0f 57 c9             	xorps  %xmm1,%xmm1
14009647a:	f3 0f 7f 4d 0f       	movdqu %xmm1,0xf(%rbp)
14009647f:	49 be 00 00 00 00 00 	movabs $0x8000000000000000,%r14
140096486:	00 00 80
140096489:	4d 8b ce             	mov    %r14,%r9
14009648c:	4c 89 75 17          	mov    %r14,0x17(%rbp)
140096490:	0f b6 3b             	movzbl (%rbx),%edi
140096493:	8b cf                	mov    %edi,%ecx
140096495:	83 e9 01             	sub    $0x1,%ecx
140096498:	74 43                	je     0x1400964dd
14009649a:	83 f9 01             	cmp    $0x1,%ecx
14009649d:	74 2d                	je     0x1400964cc