1403c4210:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1403c4214:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1403c4219:	49 8b 57 20          	mov    0x20(%r15),%rdx
1403c421d:	48 0b c6             	or     %rsi,%rax
1403c4220:	48 0f bd c8          	bsr    %rax,%rcx
1403c4224:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
1403c4229:	48 8b c2             	mov    %rdx,%rax
1403c422c:	49 8b 6f 08          	mov    0x8(%r15),%rbp
1403c4230:	ff c1                	inc    %ecx
1403c4232:	48 d3 e6             	shl    %cl,%rsi
1403c4235:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1403c4239:	48 2b c1             	sub    %rcx,%rax
1403c423c:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
1403c4241:	48 c1 f8 03          	sar    $0x3,%rax
1403c4245:	48 8d 3c 36          	lea    (%rsi,%rsi,1),%rdi
1403c4249:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1403c424e:	48 3b c7             	cmp    %rdi,%rax
1403c4251:	0f 83 ca 00 00 00    	jae    0x1403c4321
1403c4257:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
1403c425e:	ff ff 1f
1403c4261:	48 3b f8             	cmp    %rax,%rdi
1403c4264:	0f 87 bb 02 00 00    	ja     0x1403c4525
1403c426a:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
1403c4271:	00
1403c4272:	48 85 ff             	test   %rdi,%rdi
1403c4275:	75 04                	jne    0x1403c427b
1403c4277:	33 db                	xor    %ebx,%ebx
1403c4279:	eb 3d                	jmp    0x1403c42b8
1403c427b:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
1403c4282:	72 29                	jb     0x1403c42ad
1403c4284:	48 8d 4f 27          	lea    0x27(%rdi),%rcx
1403c4288:	48 3b cf             	cmp    %rdi,%rcx
1403c428b:	0f 86 94 02 00 00    	jbe    0x1403c4525
1403c4291:	e8 72 6e a5 00       	call   0x140e1b108
1403c4296:	48 85 c0             	test   %rax,%rax
1403c4299:	0f 84 99 02 00 00    	je     0x1403c4538
1403c429f:	48 8d 58 27          	lea    0x27(%rax),%rbx
1403c42a3:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1403c42a7:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1403c42ab:	eb 0b                	jmp    0x1403c42b8
1403c42ad:	48 8b cf             	mov    %rdi,%rcx
1403c42b0:	e8 53 6e a5 00       	call   0x140e1b108
1403c42b5:	48 8b d8             	mov    %rax,%rbx
1403c42b8:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1403c42bc:	49 8b 47 28          	mov    0x28(%r15),%rax
1403c42c0:	48 2b c1             	sub    %rcx,%rax
1403c42c3:	48 c1 f8 03          	sar    $0x3,%rax
1403c42c7:	48 85 c0             	test   %rax,%rax
1403c42ca:	74 32                	je     0x1403c42fe
1403c42cc:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
1403c42d3:	00
1403c42d4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403c42db:	72 1c                	jb     0x1403c42f9
1403c42dd:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1403c42e1:	48 83 c2 27          	add    $0x27,%rdx
1403c42e5:	49 2b c8             	sub    %r8,%rcx
1403c42e8:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1403c42ec:	48 83 f8 1f          	cmp    $0x1f,%rax
1403c42f0:	0f 87 42 02 00 00    	ja     0x1403c4538
1403c42f6:	49 8b c8             	mov    %r8,%rcx
1403c42f9:	e8 46 6e a5 00       	call   0x140e1b144
1403c42fe:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
1403c4302:	49 89 5f 18          	mov    %rbx,0x18(%r15)
1403c4306:	49 89 47 20          	mov    %rax,0x20(%r15)
1403c430a:	49 89 47 28          	mov    %rax,0x28(%r15)
1403c430e:	48 3b d8             	cmp    %rax,%rbx
1403c4311:	74 18                	je     0x1403c432b
1403c4313:	48 89 2b             	mov    %rbp,(%rbx)
1403c4316:	48 83 c3 08          	add    $0x8,%rbx
1403c431a:	48 3b d8             	cmp    %rax,%rbx
1403c431d:	75 f4                	jne    0x1403c4313
1403c431f:	eb 0a                	jmp    0x1403c432b
1403c4321:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
1403c4326:	e8 b5 21 e5 ff       	call   0x1402164e0
1403c432b:	49 89 77 38          	mov    %rsi,0x38(%r15)
1403c432f:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
1403c4333:	49 89 47 30          	mov    %rax,0x30(%r15)
1403c4337:	49 8b 7f 08          	mov    0x8(%r15),%rdi
1403c433b:	48 8b 3f             	mov    (%rdi),%rdi
1403c433e:	48 8b f7             	mov    %rdi,%rsi
1403c4341:	48 3b fd             	cmp    %rbp,%rdi
1403c4344:	0f 84 9e 01 00 00    	je     0x1403c44e8
1403c434a:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
1403c434f:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
1403c4356:	9c f2 cb
1403c4359:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1403c435e:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
1403c4365:	01 00 00
1403c4368:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1403c436d:	0f 1f 00             	nopl   (%rax)
1403c4370:	48 8b 47 28          	mov    0x28(%rdi),%rax
1403c4374:	4c 8d 4f 10          	lea    0x10(%rdi),%r9
1403c4378:	4c 8b 47 20          	mov    0x20(%rdi),%r8
1403c437c:	4c 8b d8             	mov    %rax,%r11
1403c437f:	48 8b 36             	mov    (%rsi),%rsi
1403c4382:	4d 8b d0             	mov    %r8,%r10
1403c4385:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1403c438a:	48 83 f8 0f          	cmp    $0xf,%rax
1403c438e:	76 04                	jbe    0x1403c4394
1403c4390:	4c 8b 4f 10          	mov    0x10(%rdi),%r9
1403c4394:	33 d2                	xor    %edx,%edx
1403c4396:	4d 85 c0             	test   %r8,%r8
1403c4399:	74 20                	je     0x1403c43bb
1403c439b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1403c43a0:	41 0f b6 04 11       	movzbl (%r9,%rdx,1),%eax
1403c43a5:	48 ff c2             	inc    %rdx
1403c43a8:	48 33 c8             	xor    %rax,%rcx
1403c43ab:	48 0f af cb          	imul   %rbx,%rcx
1403c43af:	49 3b d0             	cmp    %r8,%rdx
1403c43b2:	72 ec                	jb     0x1403c43a0
1403c43b4:	4c 8b 5f 28          	mov    0x28(%rdi),%r11
1403c43b8:	4d 8b d0             	mov    %r8,%r10
1403c43bb:	49 23 4f 30          	and    0x30(%r15),%rcx
1403c43bf:	4d 8b 6f 18          	mov    0x18(%r15),%r13
1403c43c3:	48 c1 e1 04          	shl    $0x4,%rcx
1403c43c7:	4c 03 e9             	add    %rcx,%r13
1403c43ca:	4d 8b 65 00          	mov    0x0(%r13),%r12
1403c43ce:	4c 3b e5             	cmp    %rbp,%r12
1403c43d1:	75 0d                	jne    0x1403c43e0
1403c43d3:	49 89 7d 00          	mov    %rdi,0x0(%r13)
1403c43d7:	49 89 7d 08          	mov    %rdi,0x8(%r13)
1403c43db:	e9 e3 00 00 00       	jmp    0x1403c44c3
1403c43e0:	49 8b 5d 08          	mov    0x8(%r13),%rbx
1403c43e4:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
1403c43e9:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1403c43ed:	48 8b 42 10          	mov    0x10(%rdx),%rax
1403c43f1:	76 03                	jbe    0x1403c43f6
1403c43f3:	48 8b 12             	mov    (%rdx),%rdx
1403c43f6:	48 83 7c 24 68 0f    	cmpq   $0xf,0x68(%rsp)
1403c43fc:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1403c4400:	4d 8b f8             	mov    %r8,%r15
1403c4403:	76 0c                	jbe    0x1403c4411
1403c4405:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1403c4409:	4d 8b fa             	mov    %r10,%r15
1403c440c:	4c 89 5c 24 68       	mov    %r11,0x68(%rsp)
1403c4411:	4c 3b c0             	cmp    %rax,%r8
1403c4414:	75 38                	jne    0x1403c444e
1403c4416:	e8 35 b6 b1 00       	call   0x140edfa50
1403c441b:	85 c0                	test   %eax,%eax
1403c441d:	75 2f                	jne    0x1403c444e
1403c441f:	4c 8b 03             	mov    (%rbx),%r8
1403c4422:	4c 3b c7             	cmp    %rdi,%r8
1403c4425:	74 21                	je     0x1403c4448
1403c4427:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1403c442b:	48 89 32             	mov    %rsi,(%rdx)
1403c442e:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1403c4432:	4c 89 01             	mov    %r8,(%rcx)
1403c4435:	49 8b 40 08          	mov    0x8(%r8),%rax
1403c4439:	48 89 38             	mov    %rdi,(%rax)
1403c443c:	49 89 48 08          	mov    %rcx,0x8(%r8)
1403c4440:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1403c4444:	48 89 47 08          	mov    %rax,0x8(%rdi)
1403c4448:	49 89 7d 08          	mov    %rdi,0x8(%r13)
1403c444c:	eb 66                	jmp    0x1403c44b4
1403c444e:	4c 3b e3             	cmp    %rbx,%r12
1403c4451:	74 3c                	je     0x1403c448f
1403c4453:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1403c4457:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
1403c445c:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1403c4460:	48 8b 42 10          	mov    0x10(%rdx),%rax
1403c4464:	76 03                	jbe    0x1403c4469
1403c4466:	48 8b 12             	mov    (%rdx),%rdx
1403c4469:	48 83 7c 24 68 0f    	cmpq   $0xf,0x68(%rsp)
1403c446f:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1403c4473:	76 04                	jbe    0x1403c4479
1403c4475:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1403c4479:	4c 3b f8             	cmp    %rax,%r15
1403c447c:	75 0c                	jne    0x1403c448a
1403c447e:	4d 8b c7             	mov    %r15,%r8
1403c4481:	e8 ca b5 b1 00       	call   0x140edfa50
1403c4486:	85 c0                	test   %eax,%eax
1403c4488:	74 75                	je     0x1403c44ff
1403c448a:	4c 3b e3             	cmp    %rbx,%r12
1403c448d:	75 c4                	jne    0x1403c4453
1403c448f:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1403c4493:	48 89 32             	mov    %rsi,(%rdx)
1403c4496:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1403c449a:	48 89 19             	mov    %rbx,(%rcx)
1403c449d:	48 8b 43 08          	mov    0x8(%rbx),%rax
1403c44a1:	48 89 38             	mov    %rdi,(%rax)
1403c44a4:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
1403c44a8:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1403c44ac:	48 89 47 08          	mov    %rax,0x8(%rdi)
1403c44b0:	49 89 7d 00          	mov    %rdi,0x0(%r13)
1403c44b4:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
1403c44b9:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
1403c44c0:	01 00 00
1403c44c3:	48 8b fe             	mov    %rsi,%rdi
1403c44c6:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
1403c44cd:	9c f2 cb
1403c44d0:	48 3b f5             	cmp    %rbp,%rsi
1403c44d3:	0f 85 97 fe ff ff    	jne    0x1403c4370
1403c44d9:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
1403c44de:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
1403c44e3:	4c 8b 64 24 30       	mov    0x30(%rsp),%r12
1403c44e8:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1403c44ed:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1403c44f2:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1403c44f7:	48 83 c4 48          	add    $0x48,%rsp
1403c44fb:	41 5f                	pop    %r15
1403c44fd:	5e                   	pop    %rsi
1403c44fe:	c3                   	ret
1403c44ff:	4c 8b 03             	mov    (%rbx),%r8
1403c4502:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1403c4506:	48 89 32             	mov    %rsi,(%rdx)
1403c4509:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1403c450d:	4c 89 01             	mov    %r8,(%rcx)
1403c4510:	49 8b 40 08          	mov    0x8(%r8),%rax
1403c4514:	48 89 38             	mov    %rdi,(%rax)
1403c4517:	49 89 48 08          	mov    %rcx,0x8(%r8)
1403c451b:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1403c451f:	48 89 47 08          	mov    %rax,0x8(%rdi)
1403c4523:	eb 8f                	jmp    0x1403c44b4
1403c4525:	e8 66 8c dd ff       	call   0x14019d190
1403c452a:	cc                   	int3
1403c452b:	48 8d 0d be 9f be 00 	lea    0xbe9fbe(%rip),%rcx        # 0x140fae4f0
1403c4532:	e8 7d 6e a3 00       	call   0x140dfb3b4
1403c4537:	cc                   	int3
1403c4538:	e8 67 5c a6 00       	call   0x140e2a1a4
1403c453d:	cc                   	int3
1403c453e:	cc                   	int3
1403c453f:	cc                   	int3
1403c4540:	48 83 ec 28          	sub    $0x28,%rsp
1403c4544:	48 8b c2             	mov    %rdx,%rax
1403c4547:	4b 8d 14 40          	lea    (%r8,%r8,2),%rdx
1403c454b:	48 c1 e2 04          	shl    $0x4,%rdx
1403c454f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403c4556:	72 18                	jb     0x1403c4570
1403c4558:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1403c455c:	48 83 c2 27          	add    $0x27,%rdx
1403c4560:	48 2b c1             	sub    %rcx,%rax
1403c4563:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1403c4567:	48 83 f8 1f          	cmp    $0x1f,%rax
1403c456b:	77 0f                	ja     0x1403c457c
1403c456d:	48 8b c1             	mov    %rcx,%rax
1403c4570:	48 8b c8             	mov    %rax,%rcx
1403c4573:	48 83 c4 28          	add    $0x28,%rsp
1403c4577:	e9 c8 6b a5 00       	jmp    0x140e1b144
1403c457c:	e8 23 5c a6 00       	call   0x140e2a1a4
1403c4581:	cc                   	int3
1403c4582:	cc                   	int3
1403c4583:	cc                   	int3
1403c4584:	cc                   	int3
1403c4585:	cc                   	int3
1403c4586:	cc                   	int3
1403c4587:	cc                   	int3
1403c4588:	cc                   	int3
1403c4589:	cc                   	int3
1403c458a:	cc                   	int3
1403c458b:	cc                   	int3
1403c458c:	cc                   	int3
1403c458d:	cc                   	int3
1403c458e:	cc                   	int3
1403c458f:	cc                   	int3
1403c4590:	4c 8b dc             	mov    %rsp,%r11
1403c4593:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1403c4597:	49 89 73 20          	mov    %rsi,0x20(%r11)
1403c459b:	4d 89 43 18          	mov    %r8,0x18(%r11)
1403c459f:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1403c45a3:	57                   	push   %rdi
1403c45a4:	48 83 ec 50          	sub    $0x50,%rsp
1403c45a8:	49 8b d9             	mov    %r9,%rbx
1403c45ab:	49 8b f8             	mov    %r8,%rdi
1403c45ae:	48 8b f1             	mov    %rcx,%rsi
1403c45b1:	49 8d 43 08          	lea    0x8(%r11),%rax
1403c45b5:	49 89 43 c8          	mov    %rax,-0x38(%r11)
1403c45b9:	49 8b 00             	mov    (%r8),%rax
1403c45bc:	49 c7 00 00 00 00 00 	movq   $0x0,(%r8)
1403c45c3:	49 89 43 08          	mov    %rax,0x8(%r11)
1403c45c7:	49 8d 4b d8          	lea    -0x28(%r11),%rcx
1403c45cb:	e8 20 29 39 00       	call   0x140756ef0
1403c45d0:	90                   	nop
1403c45d1:	4c 8b cb             	mov    %rbx,%r9
1403c45d4:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1403c45d9:	48 8b d0             	mov    %rax,%rdx
1403c45dc:	48 8b ce             	mov    %rsi,%rcx
1403c45df:	e8 3c 6d 1b 00       	call   0x14057b320
1403c45e4:	48 8d 05 0d 33 c2 00 	lea    0xc2330d(%rip),%rax        # 0x140fe78f8
1403c45eb:	48 89 06             	mov    %rax,(%rsi)
1403c45ee:	48 8b 0f             	mov    (%rdi),%rcx
1403c45f1:	48 85 c9             	test   %rcx,%rcx
1403c45f4:	74 20                	je     0x1403c4616
1403c45f6:	8b 41 10             	mov    0x10(%rcx),%eax
1403c45f9:	ff c8                	dec    %eax
1403c45fb:	89 41 10             	mov    %eax,0x10(%rcx)
1403c45fe:	85 c0                	test   %eax,%eax
1403c4600:	7f 14                	jg     0x1403c4616
1403c4602:	78 25                	js     0x1403c4629
1403c4604:	48 8b 01             	mov    (%rcx),%rax
1403c4607:	ba 01 00 00 00       	mov    $0x1,%edx
1403c460c:	48 8b 00             	mov    (%rax),%rax
1403c460f:	ff 15 0b f4 bb 00    	call   *0xbbf40b(%rip)        # 0x140f83a20
1403c4615:	90                   	nop
1403c4616:	48 8b c6             	mov    %rsi,%rax
1403c4619:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1403c461e:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
1403c4623:	48 83 c4 50          	add    $0x50,%rsp
1403c4627:	5f                   	pop    %rdi
1403c4628:	c3                   	ret
1403c4629:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c462e:	e8 cd 60 3c 00       	call   0x14078a700
1403c4633:	cc                   	int3
1403c4634:	cc                   	int3
1403c4635:	cc                   	int3
1403c4636:	cc                   	int3
1403c4637:	cc                   	int3
1403c4638:	cc                   	int3
1403c4639:	cc                   	int3
1403c463a:	cc                   	int3
1403c463b:	cc                   	int3
1403c463c:	cc                   	int3
1403c463d:	cc                   	int3
1403c463e:	cc                   	int3
1403c463f:	cc                   	int3
1403c4640:	40 53                	rex push %rbx
1403c4642:	55                   	push   %rbp
1403c4643:	56                   	push   %rsi
1403c4644:	57                   	push   %rdi
1403c4645:	41 56                	push   %r14
1403c4647:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
1403c464e:	48 8b 05 ab 48 ff 00 	mov    0xff48ab(%rip),%rax        # 0x1413b8f00
1403c4655:	48 33 c4             	xor    %rsp,%rax
1403c4658:	48 89 84 24 c0 00 00 	mov    %rax,0xc0(%rsp)
1403c465f:	00
1403c4660:	49 8b e8             	mov    %r8,%rbp
1403c4663:	48 8b fa             	mov    %rdx,%rdi
1403c4666:	48 8b d9             	mov    %rcx,%rbx
1403c4669:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1403c466e:	45 33 f6             	xor    %r14d,%r14d
1403c4671:	45 33 c9             	xor    %r9d,%r9d
1403c4674:	45 33 c0             	xor    %r8d,%r8d
1403c4677:	ba 0b 00 00 00       	mov    $0xb,%edx
1403c467c:	48 8b cf             	mov    %rdi,%rcx
1403c467f:	e8 2c d9 8f 00       	call   0x140cc1fb0
1403c4684:	e8 f7 b9 90 00       	call   0x140cd0080
1403c4689:	45 33 c9             	xor    %r9d,%r9d
1403c468c:	45 33 c0             	xor    %r8d,%r8d
1403c468f:	ba 0a 00 00 00       	mov    $0xa,%edx
1403c4694:	48 8b cf             	mov    %rdi,%rcx
1403c4697:	e8 14 d9 8f 00       	call   0x140cc1fb0
1403c469c:	48 63 f0             	movslq %eax,%rsi
1403c469f:	e8 6c c4 90 00       	call   0x140cd0b10
1403c46a4:	85 c0                	test   %eax,%eax
1403c46a6:	74 72                	je     0x1403c471a
1403c46a8:	e8 d3 be 90 00       	call   0x140cd0580
1403c46ad:	8b c8                	mov    %eax,%ecx
1403c46af:	41 b8 78 00 00 00    	mov    $0x78,%r8d
1403c46b5:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1403c46ba:	e8 c1 ba 90 00       	call   0x140cd0180
1403c46bf:	4c 8d 05 c6 f0 bd 00 	lea    0xbdf0c6(%rip),%r8        # 0x140fa378c