1405b820c:	48 03 d0             	add    %rax,%rdx
1405b820f:	4c 3b f2             	cmp    %rdx,%r14
1405b8212:	76 2c                	jbe    0x1405b8240
1405b8214:	49 8b d6             	mov    %r14,%rdx
1405b8217:	e8 04 92 05 00       	call   0x140611420
1405b821c:	4d 8b 07             	mov    (%r15),%r8
1405b821f:	4d 8b cf             	mov    %r15,%r9
1405b8222:	49 8b d6             	mov    %r14,%rdx
1405b8225:	48 8b cf             	mov    %rdi,%rcx
1405b8228:	e8 23 0e 00 00       	call   0x1405b9050
1405b822d:	49 89 47 08          	mov    %rax,0x8(%r15)
1405b8231:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1405b8236:	48 83 c4 20          	add    $0x20,%rsp
1405b823a:	41 5f                	pop    %r15
1405b823c:	41 5e                	pop    %r14
1405b823e:	5f                   	pop    %rdi
1405b823f:	c3                   	ret
1405b8240:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1405b8244:	49 8b c1             	mov    %r9,%rax
1405b8247:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
1405b824c:	49 8b c8             	mov    %r8,%rcx
1405b824f:	48 2b cb             	sub    %rbx,%rcx
1405b8252:	48 f7 e9             	imul   %rcx
1405b8255:	48 8b f2             	mov    %rdx,%rsi
1405b8258:	48 c1 fe 05          	sar    $0x5,%rsi
1405b825c:	48 8b c6             	mov    %rsi,%rax
1405b825f:	48 c1 e8 3f          	shr    $0x3f,%rax
1405b8263:	48 03 f0             	add    %rax,%rsi
1405b8266:	4c 3b f6             	cmp    %rsi,%r14
1405b8269:	76 3b                	jbe    0x1405b82a6
1405b826b:	49 3b d8             	cmp    %r8,%rbx
1405b826e:	74 1c                	je     0x1405b828c
1405b8270:	48 8b d7             	mov    %rdi,%rdx
1405b8273:	48 8b cb             	mov    %rbx,%rcx
1405b8276:	e8 65 28 00 00       	call   0x1405baae0
1405b827b:	4d 8b 47 08          	mov    0x8(%r15),%r8
1405b827f:	48 83 c3 50          	add    $0x50,%rbx
1405b8283:	48 83 c7 50          	add    $0x50,%rdi
1405b8287:	49 3b d8             	cmp    %r8,%rbx
1405b828a:	75 e4                	jne    0x1405b8270
1405b828c:	4c 2b f6             	sub    %rsi,%r14
1405b828f:	4d 8b cf             	mov    %r15,%r9
1405b8292:	49 8b d6             	mov    %r14,%rdx
1405b8295:	48 8b cf             	mov    %rdi,%rcx
1405b8298:	e8 b3 0d 00 00       	call   0x1405b9050
1405b829d:	49 89 47 08          	mov    %rax,0x8(%r15)
1405b82a1:	e9 c6 00 00 00       	jmp    0x1405b836c
1405b82a6:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
1405b82ab:	4b 8d 2c b6          	lea    (%r14,%r14,4),%rbp
1405b82af:	48 c1 e5 04          	shl    $0x4,%rbp
1405b82b3:	48 03 eb             	add    %rbx,%rbp
1405b82b6:	4d 85 f6             	test   %r14,%r14
1405b82b9:	0f 84 84 00 00 00    	je     0x1405b8343
1405b82bf:	48 8d 73 30          	lea    0x30(%rbx),%rsi
1405b82c3:	48 83 c7 38          	add    $0x38,%rdi
1405b82c7:	48 8d 57 c8          	lea    -0x38(%rdi),%rdx
1405b82cb:	48 3b da             	cmp    %rdx,%rbx
1405b82ce:	74 16                	je     0x1405b82e6
1405b82d0:	48 8b 12             	mov    (%rdx),%rdx
1405b82d3:	48 8b cb             	mov    %rbx,%rcx
1405b82d6:	4c 8b 47 d0          	mov    -0x30(%rdi),%r8
1405b82da:	4c 2b c2             	sub    %rdx,%r8
1405b82dd:	49 c1 f8 03          	sar    $0x3,%r8
1405b82e1:	e8 8a f8 ff ff       	call   0x1405b7b70
1405b82e6:	48 8d 57 e0          	lea    -0x20(%rdi),%rdx
1405b82ea:	48 8d 4e e8          	lea    -0x18(%rsi),%rcx
1405b82ee:	48 3b ca             	cmp    %rdx,%rcx
1405b82f1:	74 13                	je     0x1405b8306
1405b82f3:	48 8b 12             	mov    (%rdx),%rdx
1405b82f6:	4c 8b 47 e8          	mov    -0x18(%rdi),%r8
1405b82fa:	4c 2b c2             	sub    %rdx,%r8
1405b82fd:	49 c1 f8 03          	sar    $0x3,%r8
1405b8301:	e8 ca c6 fe ff       	call   0x1405a49d0
1405b8306:	48 8d 57 f8          	lea    -0x8(%rdi),%rdx
1405b830a:	48 3b f2             	cmp    %rdx,%rsi
1405b830d:	74 15                	je     0x1405b8324
1405b830f:	48 8b 12             	mov    (%rdx),%rdx
1405b8312:	48 8b ce             	mov    %rsi,%rcx
1405b8315:	4c 8b 07             	mov    (%rdi),%r8
1405b8318:	4c 2b c2             	sub    %rdx,%r8
1405b831b:	49 c1 f8 03          	sar    $0x3,%r8
1405b831f:	e8 ac c6 fe ff       	call   0x1405a49d0
1405b8324:	8b 47 10             	mov    0x10(%rdi),%eax
1405b8327:	48 83 c3 50          	add    $0x50,%rbx
1405b832b:	89 46 18             	mov    %eax,0x18(%rsi)
1405b832e:	0f b6 47 14          	movzbl 0x14(%rdi),%eax
1405b8332:	48 83 c7 50          	add    $0x50,%rdi
1405b8336:	88 46 1c             	mov    %al,0x1c(%rsi)
1405b8339:	48 83 c6 50          	add    $0x50,%rsi
1405b833d:	49 83 ee 01          	sub    $0x1,%r14
1405b8341:	75 84                	jne    0x1405b82c7
1405b8343:	49 8b 7f 08          	mov    0x8(%r15),%rdi
1405b8347:	48 8b dd             	mov    %rbp,%rbx
1405b834a:	48 3b ef             	cmp    %rdi,%rbp
1405b834d:	74 14                	je     0x1405b8363
1405b834f:	90                   	nop
1405b8350:	33 d2                	xor    %edx,%edx
1405b8352:	48 8b cb             	mov    %rbx,%rcx
1405b8355:	e8 b6 2e 00 00       	call   0x1405bb210
1405b835a:	48 83 c3 50          	add    $0x50,%rbx
1405b835e:	48 3b df             	cmp    %rdi,%rbx
1405b8361:	75 ed                	jne    0x1405b8350
1405b8363:	49 89 6f 08          	mov    %rbp,0x8(%r15)
1405b8367:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1405b836c:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1405b8371:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1405b8376:	48 83 c4 20          	add    $0x20,%rsp
1405b837a:	41 5f                	pop    %r15
1405b837c:	41 5e                	pop    %r14
1405b837e:	5f                   	pop    %rdi
1405b837f:	c3                   	ret
1405b8380:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405b8385:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1405b838a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405b838f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1405b8394:	41 54                	push   %r12
1405b8396:	41 56                	push   %r14
1405b8398:	41 57                	push   %r15
1405b839a:	48 83 ec 20          	sub    $0x20,%rsp
1405b839e:	49 8b f0             	mov    %r8,%rsi
1405b83a1:	48 8b da             	mov    %rdx,%rbx
1405b83a4:	4c 8b f9             	mov    %rcx,%r15
1405b83a7:	48 8b 39             	mov    (%rcx),%rdi
1405b83aa:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1405b83ae:	48 2b cf             	sub    %rdi,%rcx
1405b83b1:	48 c1 f9 04          	sar    $0x4,%rcx
1405b83b5:	4c 3b c1             	cmp    %rcx,%r8
1405b83b8:	0f 86 3c 01 00 00    	jbe    0x1405b84fa
1405b83be:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffffff,%r12
1405b83c5:	ff ff 0f
1405b83c8:	4d 3b c4             	cmp    %r12,%r8
1405b83cb:	0f 87 68 02 00 00    	ja     0x1405b8639
1405b83d1:	48 8b d1             	mov    %rcx,%rdx
1405b83d4:	48 d1 ea             	shr    $1,%rdx
1405b83d7:	49 8b c4             	mov    %r12,%rax
1405b83da:	48 2b c2             	sub    %rdx,%rax
1405b83dd:	48 3b c8             	cmp    %rax,%rcx
1405b83e0:	76 05                	jbe    0x1405b83e7
1405b83e2:	49 8b ec             	mov    %r12,%rbp
1405b83e5:	eb 0b                	jmp    0x1405b83f2
1405b83e7:	48 8d 2c 0a          	lea    (%rdx,%rcx,1),%rbp
1405b83eb:	48 3b ee             	cmp    %rsi,%rbp
1405b83ee:	48 0f 42 ee          	cmovb  %rsi,%rbp
1405b83f2:	45 33 f6             	xor    %r14d,%r14d
1405b83f5:	48 85 ff             	test   %rdi,%rdi
1405b83f8:	74 52                	je     0x1405b844c
1405b83fa:	4d 8b c7             	mov    %r15,%r8
1405b83fd:	49 8b 57 08          	mov    0x8(%r15),%rdx
1405b8401:	48 8b cf             	mov    %rdi,%rcx
1405b8404:	e8 67 08 00 00       	call   0x1405b8c70
1405b8409:	49 8b 0f             	mov    (%r15),%rcx
1405b840c:	49 8b 57 10          	mov    0x10(%r15),%rdx
1405b8410:	48 2b d1             	sub    %rcx,%rdx
1405b8413:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
1405b8417:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405b841e:	72 1c                	jb     0x1405b843c
1405b8420:	48 83 c2 27          	add    $0x27,%rdx
1405b8424:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405b8428:	49 2b c8             	sub    %r8,%rcx
1405b842b:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405b842f:	48 83 f8 1f          	cmp    $0x1f,%rax
1405b8433:	0f 87 06 02 00 00    	ja     0x1405b863f
1405b8439:	49 8b c8             	mov    %r8,%rcx
1405b843c:	e8 03 2d 86 00       	call   0x140e1b144
1405b8441:	4d 89 37             	mov    %r14,(%r15)
1405b8444:	4d 89 77 08          	mov    %r14,0x8(%r15)
1405b8448:	4d 89 77 10          	mov    %r14,0x10(%r15)
1405b844c:	49 3b ec             	cmp    %r12,%rbp
1405b844f:	0f 87 03 02 00 00    	ja     0x1405b8658
1405b8455:	48 c1 e5 04          	shl    $0x4,%rbp
1405b8459:	48 85 ed             	test   %rbp,%rbp
1405b845c:	74 3d                	je     0x1405b849b
1405b845e:	48 81 fd 00 10 00 00 	cmp    $0x1000,%rbp
1405b8465:	72 29                	jb     0x1405b8490
1405b8467:	48 8d 4d 27          	lea    0x27(%rbp),%rcx
1405b846b:	48 3b cd             	cmp    %rbp,%rcx
1405b846e:	0f 86 e4 01 00 00    	jbe    0x1405b8658
1405b8474:	e8 8f 2c 86 00       	call   0x140e1b108
1405b8479:	48 85 c0             	test   %rax,%rax
1405b847c:	0f 84 bd 01 00 00    	je     0x1405b863f
1405b8482:	4c 8d 70 27          	lea    0x27(%rax),%r14
1405b8486:	49 83 e6 e0          	and    $0xffffffffffffffe0,%r14
1405b848a:	49 89 46 f8          	mov    %rax,-0x8(%r14)
1405b848e:	eb 0b                	jmp    0x1405b849b
1405b8490:	48 8b cd             	mov    %rbp,%rcx
1405b8493:	e8 70 2c 86 00       	call   0x140e1b108
1405b8498:	4c 8b f0             	mov    %rax,%r14
1405b849b:	4d 89 37             	mov    %r14,(%r15)
1405b849e:	4d 89 77 08          	mov    %r14,0x8(%r15)
1405b84a2:	49 8d 0c 2e          	lea    (%r14,%rbp,1),%rcx
1405b84a6:	49 89 4f 10          	mov    %rcx,0x10(%r15)
1405b84aa:	48 85 f6             	test   %rsi,%rsi
1405b84ad:	74 42                	je     0x1405b84f1
1405b84af:	49 8b d6             	mov    %r14,%rdx
1405b84b2:	48 2b d3             	sub    %rbx,%rdx
1405b84b5:	48 8b 0b             	mov    (%rbx),%rcx
1405b84b8:	49 89 0e             	mov    %rcx,(%r14)
1405b84bb:	48 85 c9             	test   %rcx,%rcx
1405b84be:	74 1c                	je     0x1405b84dc
1405b84c0:	8b 41 10             	mov    0x10(%rcx),%eax
1405b84c3:	ff c0                	inc    %eax
1405b84c5:	89 41 10             	mov    %eax,0x10(%rcx)
1405b84c8:	83 f8 01             	cmp    $0x1,%eax
1405b84cb:	0f 8e 7f 01 00 00    	jle    0x1405b8650
1405b84d1:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1405b84d6:	0f 84 69 01 00 00    	je     0x1405b8645
1405b84dc:	8b 43 08             	mov    0x8(%rbx),%eax
1405b84df:	89 44 1a 08          	mov    %eax,0x8(%rdx,%rbx,1)
1405b84e3:	49 83 c6 10          	add    $0x10,%r14
1405b84e7:	48 83 c3 10          	add    $0x10,%rbx
1405b84eb:	48 83 ee 01          	sub    $0x1,%rsi
1405b84ef:	75 c4                	jne    0x1405b84b5
1405b84f1:	4d 89 77 08          	mov    %r14,0x8(%r15)
1405b84f5:	e9 0d 01 00 00       	jmp    0x1405b8607
1405b84fa:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1405b84fe:	48 8b e9             	mov    %rcx,%rbp
1405b8501:	48 2b ef             	sub    %rdi,%rbp
1405b8504:	48 c1 fd 04          	sar    $0x4,%rbp
1405b8508:	48 3b f5             	cmp    %rbp,%rsi
1405b850b:	76 79                	jbe    0x1405b8586
1405b850d:	48 3b f9             	cmp    %rcx,%rdi
1405b8510:	74 1c                	je     0x1405b852e
1405b8512:	48 8b d3             	mov    %rbx,%rdx
1405b8515:	48 8b cf             	mov    %rdi,%rcx
1405b8518:	e8 53 26 00 00       	call   0x1405bab70
1405b851d:	48 83 c7 10          	add    $0x10,%rdi
1405b8521:	48 83 c3 10          	add    $0x10,%rbx
1405b8525:	49 8b 4f 08          	mov    0x8(%r15),%rcx
1405b8529:	48 3b f9             	cmp    %rcx,%rdi
1405b852c:	75 e4                	jne    0x1405b8512
1405b852e:	48 2b f5             	sub    %rbp,%rsi
1405b8531:	74 4a                	je     0x1405b857d
1405b8533:	4c 8b c1             	mov    %rcx,%r8
1405b8536:	4c 2b c3             	sub    %rbx,%r8
1405b8539:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1405b8540:	48 8b 13             	mov    (%rbx),%rdx
1405b8543:	48 89 11             	mov    %rdx,(%rcx)
1405b8546:	48 85 d2             	test   %rdx,%rdx
1405b8549:	74 1c                	je     0x1405b8567
1405b854b:	8b 42 10             	mov    0x10(%rdx),%eax
1405b854e:	ff c0                	inc    %eax
1405b8550:	89 42 10             	mov    %eax,0x10(%rdx)
1405b8553:	83 f8 01             	cmp    $0x1,%eax
1405b8556:	0f 8e 0d 01 00 00    	jle    0x1405b8669
1405b855c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1405b8561:	0f 84 f7 00 00 00    	je     0x1405b865e
1405b8567:	8b 43 08             	mov    0x8(%rbx),%eax
1405b856a:	41 89 44 18 08       	mov    %eax,0x8(%r8,%rbx,1)
1405b856f:	48 83 c1 10          	add    $0x10,%rcx
1405b8573:	48 83 c3 10          	add    $0x10,%rbx
1405b8577:	48 83 ee 01          	sub    $0x1,%rsi
1405b857b:	75 c3                	jne    0x1405b8540
1405b857d:	49 89 4f 08          	mov    %rcx,0x8(%r15)
1405b8581:	e9 81 00 00 00       	jmp    0x1405b8607
1405b8586:	48 8b ee             	mov    %rsi,%rbp
1405b8589:	48 c1 e5 04          	shl    $0x4,%rbp
1405b858d:	48 03 ef             	add    %rdi,%rbp
1405b8590:	48 85 f6             	test   %rsi,%rsi
1405b8593:	74 5f                	je     0x1405b85f4
1405b8595:	48 8b 13             	mov    (%rbx),%rdx
1405b8598:	48 85 d2             	test   %rdx,%rdx
1405b859b:	74 18                	je     0x1405b85b5
1405b859d:	8b 42 10             	mov    0x10(%rdx),%eax
1405b85a0:	ff c0                	inc    %eax
1405b85a2:	89 42 10             	mov    %eax,0x10(%rdx)
1405b85a5:	83 f8 01             	cmp    $0x1,%eax
1405b85a8:	7e 7c                	jle    0x1405b8626
1405b85aa:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1405b85af:	0f 84 bc 00 00 00    	je     0x1405b8671
1405b85b5:	48 8b 0f             	mov    (%rdi),%rcx
1405b85b8:	48 89 17             	mov    %rdx,(%rdi)
1405b85bb:	48 85 c9             	test   %rcx,%rcx
1405b85be:	74 20                	je     0x1405b85e0
1405b85c0:	8b 41 10             	mov    0x10(%rcx),%eax
1405b85c3:	ff c8                	dec    %eax
1405b85c5:	89 41 10             	mov    %eax,0x10(%rcx)
1405b85c8:	85 c0                	test   %eax,%eax
1405b85ca:	7f 14                	jg     0x1405b85e0
1405b85cc:	78 60                	js     0x1405b862e
1405b85ce:	48 8b 01             	mov    (%rcx),%rax
1405b85d1:	ba 01 00 00 00       	mov    $0x1,%edx
1405b85d6:	48 8b 00             	mov    (%rax),%rax
1405b85d9:	ff 15 41 b4 9c 00    	call   *0x9cb441(%rip)        # 0x140f83a20
1405b85df:	90                   	nop
1405b85e0:	8b 43 08             	mov    0x8(%rbx),%eax
1405b85e3:	89 47 08             	mov    %eax,0x8(%rdi)
1405b85e6:	48 83 c7 10          	add    $0x10,%rdi
1405b85ea:	48 83 c3 10          	add    $0x10,%rbx
1405b85ee:	48 83 ee 01          	sub    $0x1,%rsi
1405b85f2:	75 a1                	jne    0x1405b8595
1405b85f4:	4d 8b c7             	mov    %r15,%r8
1405b85f7:	49 8b 57 08          	mov    0x8(%r15),%rdx
1405b85fb:	48 8b cd             	mov    %rbp,%rcx
1405b85fe:	e8 6d 06 00 00       	call   0x1405b8c70
1405b8603:	49 89 6f 08          	mov    %rbp,0x8(%r15)
1405b8607:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1405b860c:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1405b8611:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1405b8616:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1405b861b:	48 83 c4 20          	add    $0x20,%rsp
1405b861f:	41 5f                	pop    %r15
1405b8621:	41 5e                	pop    %r14
1405b8623:	41 5c                	pop    %r12
1405b8625:	c3                   	ret
1405b8626:	33 c9                	xor    %ecx,%ecx
1405b8628:	e8 d3 20 1d 00       	call   0x14078a700
1405b862d:	90                   	nop
1405b862e:	b9 02 00 00 00       	mov    $0x2,%ecx
1405b8633:	e8 c8 20 1d 00       	call   0x14078a700
1405b8638:	90                   	nop
1405b8639:	e8 52 4f be ff       	call   0x14019d590
1405b863e:	cc                   	int3
1405b863f:	e8 60 1b 87 00       	call   0x140e2a1a4
1405b8644:	90                   	nop
1405b8645:	b9 01 00 00 00       	mov    $0x1,%ecx
1405b864a:	e8 b1 20 1d 00       	call   0x14078a700
1405b864f:	cc                   	int3
1405b8650:	33 c9                	xor    %ecx,%ecx
1405b8652:	e8 a9 20 1d 00       	call   0x14078a700
1405b8657:	90                   	nop
1405b8658:	e8 33 4b be ff       	call   0x14019d190
1405b865d:	90                   	nop
1405b865e:	b9 01 00 00 00       	mov    $0x1,%ecx
1405b8663:	e8 98 20 1d 00       	call   0x14078a700
1405b8668:	cc                   	int3
1405b8669:	33 c9                	xor    %ecx,%ecx
1405b866b:	e8 90 20 1d 00       	call   0x14078a700
1405b8670:	90                   	nop
1405b8671:	b9 01 00 00 00       	mov    $0x1,%ecx
1405b8676:	e8 85 20 1d 00       	call   0x14078a700
1405b867b:	cc                   	int3
1405b867c:	cc                   	int3
1405b867d:	cc                   	int3
1405b867e:	cc                   	int3
1405b867f:	cc                   	int3
1405b8680:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405b8685:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1405b868a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405b868f:	57                   	push   %rdi
1405b8690:	41 56                	push   %r14
1405b8692:	41 57                	push   %r15
1405b8694:	48 83 ec 20          	sub    $0x20,%rsp
1405b8698:	48 8b 19             	mov    (%rcx),%rbx
1405b869b:	4d 8b f0             	mov    %r8,%r14
1405b869e:	4c 8b 41 10          	mov    0x10(%rcx),%r8
1405b86a2:	48 8b fa             	mov    %rdx,%rdi
1405b86a5:	4c 2b c3             	sub    %rbx,%r8
1405b86a8:	49 bf ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r15
1405b86af:	aa aa 2a
1405b86b2:	49 8b c7             	mov    %r15,%rax