1405401f7:	49 0f af f9          	imul   %r9,%rdi
1405401fb:	48 ff c1             	inc    %rcx
1405401fe:	49 3b c8             	cmp    %r8,%rcx
140540201:	72 ed                	jb     0x1405401f0
140540203:	4c 8b cf             	mov    %rdi,%r9
140540206:	4c 8b c6             	mov    %rsi,%r8
140540209:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
14054020e:	49 8b cd             	mov    %r13,%rcx
140540211:	e8 ea 3f cd ff       	call   0x140214200
140540216:	48 83 7c 24 58 00    	cmpq   $0x0,0x58(%rsp)
14054021c:	0f 85 e2 01 00 00    	jne    0x140540404
140540222:	49 39 6d 10          	cmp    %rbp,0x10(%r13)
140540226:	0f 84 fd 01 00 00    	je     0x140540429
14054022c:	49 8d 6d 08          	lea    0x8(%r13),%rbp
140540230:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
140540235:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
14054023a:	b9 60 00 00 00       	mov    $0x60,%ecx
14054023f:	e8 c4 ae 8d 00       	call   0x140e1b108
140540244:	4c 8b f8             	mov    %rax,%r15
140540247:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14054024c:	4c 8d 70 10          	lea    0x10(%rax),%r14
140540250:	4c 89 b4 24 b8 00 00 	mov    %r14,0xb8(%rsp)
140540257:	00
140540258:	48 8b d6             	mov    %rsi,%rdx
14054025b:	49 8b ce             	mov    %r14,%rcx
14054025e:	e8 dd 87 c6 ff       	call   0x1401a8a40
140540263:	90                   	nop
140540264:	49 8d 4e 20          	lea    0x20(%r14),%rcx
140540268:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14054026d:	c6 41 28 ff          	movb   $0xff,0x28(%rcx)
140540271:	48 89 8c 24 a8 00 00 	mov    %rcx,0xa8(%rsp)
140540278:	00
140540279:	48 0f be 4e 48       	movsbq 0x48(%rsi),%rcx
14054027e:	48 8d 56 20          	lea    0x20(%rsi),%rdx
140540282:	4c 8d 84 24 a8 00 00 	lea    0xa8(%rsp),%r8
140540289:	00
14054028a:	e8 51 03 00 00       	call   0x1405405e0
14054028f:	90                   	nop
140540290:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140540294:	48 83 c1 01          	add    $0x1,%rcx
140540298:	0f 57 c0             	xorps  %xmm0,%xmm0
14054029b:	78 07                	js     0x1405402a4
14054029d:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1405402a2:	eb 15                	jmp    0x1405402b9
1405402a4:	48 8b c1             	mov    %rcx,%rax
1405402a7:	48 d1 e8             	shr    $1,%rax
1405402aa:	83 e1 01             	and    $0x1,%ecx
1405402ad:	48 0b c1             	or     %rcx,%rax
1405402b0:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1405402b5:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1405402b9:	49 8b 4d 38          	mov    0x38(%r13),%rcx
1405402bd:	0f 57 c9             	xorps  %xmm1,%xmm1
1405402c0:	48 85 c9             	test   %rcx,%rcx
1405402c3:	78 07                	js     0x1405402cc
1405402c5:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
1405402ca:	eb 15                	jmp    0x1405402e1
1405402cc:	48 8b c1             	mov    %rcx,%rax
1405402cf:	48 d1 e8             	shr    $1,%rax
1405402d2:	83 e1 01             	and    $0x1,%ecx
1405402d5:	48 0b c1             	or     %rcx,%rax
1405402d8:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1405402dd:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1405402e1:	f3 0f 5e c1          	divss  %xmm1,%xmm0
1405402e5:	41 0f 2f 45 00       	comiss 0x0(%r13),%xmm0
1405402ea:	0f 86 b5 00 00 00    	jbe    0x1405403a5
1405402f0:	49 8b cd             	mov    %r13,%rcx
1405402f3:	e8 08 f7 e6 ff       	call   0x1403afa00
1405402f8:	49 8b 45 30          	mov    0x30(%r13),%rax
1405402fc:	48 23 c7             	and    %rdi,%rax
1405402ff:	48 03 c0             	add    %rax,%rax
140540302:	49 8b 55 18          	mov    0x18(%r13),%rdx
140540306:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
14054030b:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
14054030f:	48 3b d9             	cmp    %rcx,%rbx
140540312:	75 07                	jne    0x14054031b
140540314:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140540319:	eb 72                	jmp    0x14054038d
14054031b:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
14054031f:	49 8b 6e 10          	mov    0x10(%r14),%rbp
140540323:	0f 1f 40 00          	nopl   0x0(%rax)
140540327:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14054032e:	00 00
140540330:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140540334:	48 8b 42 10          	mov    0x10(%rdx),%rax
140540338:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14054033d:	76 03                	jbe    0x140540342
14054033f:	48 8b 12             	mov    (%rdx),%rdx
140540342:	49 8b ce             	mov    %r14,%rcx
140540345:	49 83 7e 18 0f       	cmpq   $0xf,0x18(%r14)
14054034a:	76 03                	jbe    0x14054034f
14054034c:	49 8b 0e             	mov    (%r14),%rcx
14054034f:	48 3b e8             	cmp    %rax,%rbp
140540352:	75 0c                	jne    0x140540360
140540354:	4c 8b c5             	mov    %rbp,%r8
140540357:	e8 f4 f6 99 00       	call   0x140edfa50
14054035c:	85 c0                	test   %eax,%eax
14054035e:	74 0b                	je     0x14054036b
140540360:	49 3b dc             	cmp    %r12,%rbx
140540363:	74 1c                	je     0x140540381
140540365:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140540369:	eb c5                	jmp    0x140540330
14054036b:	48 8b 03             	mov    (%rbx),%rax
14054036e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140540373:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140540378:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14054037c:	45 33 e4             	xor    %r12d,%r12d
14054037f:	eb 11                	jmp    0x140540392
140540381:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140540386:	45 33 e4             	xor    %r12d,%r12d
140540389:	49 8d 6d 08          	lea    0x8(%r13),%rbp
14054038d:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140540392:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140540397:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
14054039d:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
1405403a4:	00
1405403a5:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
1405403aa:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
1405403af:	4c 8b 42 08          	mov    0x8(%rdx),%r8
1405403b3:	49 ff 45 10          	incq   0x10(%r13)
1405403b7:	49 89 17             	mov    %rdx,(%r15)
1405403ba:	4d 89 47 08          	mov    %r8,0x8(%r15)
1405403be:	4d 89 38             	mov    %r15,(%r8)
1405403c1:	4c 89 7a 08          	mov    %r15,0x8(%rdx)
1405403c5:	49 8b 4d 18          	mov    0x18(%r13),%rcx
1405403c9:	49 8b 45 30          	mov    0x30(%r13),%rax
1405403cd:	48 23 c7             	and    %rdi,%rax
1405403d0:	48 03 c0             	add    %rax,%rax
1405403d3:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
1405403d7:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
1405403db:	75 06                	jne    0x1405403e3
1405403dd:	4c 89 3c c1          	mov    %r15,(%rcx,%rax,8)
1405403e1:	eb 12                	jmp    0x1405403f5
1405403e3:	4c 3b ca             	cmp    %rdx,%r9
1405403e6:	75 06                	jne    0x1405403ee
1405403e8:	4c 89 3c c1          	mov    %r15,(%rcx,%rax,8)
1405403ec:	eb 0c                	jmp    0x1405403fa
1405403ee:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
1405403f3:	75 05                	jne    0x1405403fa
1405403f5:	4c 89 7c c1 08       	mov    %r15,0x8(%rcx,%rax,8)
1405403fa:	48 bd aa aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaa,%rbp
140540401:	aa aa 02
140540404:	48 83 c6 50          	add    $0x50,%rsi
140540408:	48 3b f3             	cmp    %rbx,%rsi
14054040b:	0f 85 a7 fd ff ff    	jne    0x1405401b8
140540411:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140540418:	00
140540419:	48 83 c4 60          	add    $0x60,%rsp
14054041d:	41 5f                	pop    %r15
14054041f:	41 5e                	pop    %r14
140540421:	41 5d                	pop    %r13
140540423:	41 5c                	pop    %r12
140540425:	5f                   	pop    %rdi
140540426:	5e                   	pop    %rsi
140540427:	5d                   	pop    %rbp
140540428:	c3                   	ret
140540429:	48 8d 0d 70 e0 a6 00 	lea    0xa6e070(%rip),%rcx        # 0x140fae4a0
140540430:	e8 7f af 8b 00       	call   0x140dfb3b4
140540435:	cc                   	int3
140540436:	cc                   	int3
140540437:	cc                   	int3
140540438:	cc                   	int3
140540439:	cc                   	int3
14054043a:	cc                   	int3
14054043b:	cc                   	int3
14054043c:	cc                   	int3
14054043d:	cc                   	int3
14054043e:	cc                   	int3
14054043f:	cc                   	int3
140540440:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140540445:	53                   	push   %rbx
140540446:	56                   	push   %rsi
140540447:	57                   	push   %rdi
140540448:	41 54                	push   %r12
14054044a:	41 55                	push   %r13
14054044c:	41 56                	push   %r14
14054044e:	41 57                	push   %r15
140540450:	48 83 ec 40          	sub    $0x40,%rsp
140540454:	4c 8b ea             	mov    %rdx,%r13
140540457:	4c 8b f1             	mov    %rcx,%r14
14054045a:	48 89 8c 24 90 00 00 	mov    %rcx,0x90(%rsp)
140540461:	00
140540462:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140540466:	4c 2b 01             	sub    (%rcx),%r8
140540469:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140540470:	aa aa 2a
140540473:	49 f7 e8             	imul   %r8
140540476:	4c 8b e2             	mov    %rdx,%r12
140540479:	49 c1 fc 03          	sar    $0x3,%r12
14054047d:	49 8b c4             	mov    %r12,%rax
140540480:	48 c1 e8 3f          	shr    $0x3f,%rax
140540484:	4c 03 e0             	add    %rax,%r12
140540487:	49 8b d5             	mov    %r13,%rdx
14054048a:	e8 81 f4 ff ff       	call   0x14053f910
14054048f:	4c 8b f8             	mov    %rax,%r15
140540492:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
140540499:	00
14054049a:	49 8b 76 08          	mov    0x8(%r14),%rsi
14054049e:	49 8b 1e             	mov    (%r14),%rbx
1405404a1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1405404a6:	48 8b f8             	mov    %rax,%rdi
1405404a9:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1405404ae:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1405404b3:	48 3b de             	cmp    %rsi,%rbx
1405404b6:	74 1a                	je     0x1405404d2
1405404b8:	48 8b d3             	mov    %rbx,%rdx
1405404bb:	48 8b cf             	mov    %rdi,%rcx
1405404be:	e8 5d 1d 00 00       	call   0x140542220
1405404c3:	48 83 c7 30          	add    $0x30,%rdi
1405404c7:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
1405404cc:	48 83 c3 30          	add    $0x30,%rbx
1405404d0:	eb e1                	jmp    0x1405404b3
1405404d2:	4d 8b 4d 00          	mov    0x0(%r13),%r9
1405404d6:	4d 8b c4             	mov    %r12,%r8
1405404d9:	49 8b d7             	mov    %r15,%rdx
1405404dc:	49 8b ce             	mov    %r14,%rcx
1405404df:	48 83 c4 40          	add    $0x40,%rsp
1405404e3:	41 5f                	pop    %r15
1405404e5:	41 5e                	pop    %r14
1405404e7:	41 5d                	pop    %r13
1405404e9:	41 5c                	pop    %r12
1405404eb:	5f                   	pop    %rdi
1405404ec:	5e                   	pop    %rsi
1405404ed:	5b                   	pop    %rbx
1405404ee:	e9 fd c4 00 00       	jmp    0x14054c9f0
1405404f3:	cc                   	int3
1405404f4:	cc                   	int3
1405404f5:	cc                   	int3
1405404f6:	cc                   	int3
1405404f7:	cc                   	int3
1405404f8:	cc                   	int3
1405404f9:	cc                   	int3
1405404fa:	cc                   	int3
1405404fb:	cc                   	int3
1405404fc:	cc                   	int3
1405404fd:	cc                   	int3
1405404fe:	cc                   	int3
1405404ff:	cc                   	int3
140540500:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140540505:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14054050a:	57                   	push   %rdi
14054050b:	48 83 ec 40          	sub    $0x40,%rsp
14054050f:	49 8b f8             	mov    %r8,%rdi
140540512:	48 8b f2             	mov    %rdx,%rsi
140540515:	48 8b d9             	mov    %rcx,%rbx
140540518:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14054051d:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140540522:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140540527:	48 3b ca             	cmp    %rdx,%rcx
14054052a:	74 21                	je     0x14054054d
14054052c:	0f 1f 40 00          	nopl   0x0(%rax)
140540530:	48 8b d3             	mov    %rbx,%rdx
140540533:	48 8b cf             	mov    %rdi,%rcx
140540536:	e8 e5 1c 00 00       	call   0x140542220
14054053b:	48 83 c7 30          	add    $0x30,%rdi
14054053f:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140540544:	48 83 c3 30          	add    $0x30,%rbx
140540548:	48 3b de             	cmp    %rsi,%rbx
14054054b:	75 e3                	jne    0x140540530
14054054d:	48 8b c7             	mov    %rdi,%rax
140540550:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140540555:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
14054055a:	48 83 c4 40          	add    $0x40,%rsp
14054055e:	5f                   	pop    %rdi
14054055f:	c3                   	ret
140540560:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140540565:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14054056a:	57                   	push   %rdi
14054056b:	48 83 ec 40          	sub    $0x40,%rsp
14054056f:	49 8b f8             	mov    %r8,%rdi
140540572:	48 8b f2             	mov    %rdx,%rsi
140540575:	48 8b d9             	mov    %rcx,%rbx
140540578:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14054057d:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140540582:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140540587:	48 3b ca             	cmp    %rdx,%rcx
14054058a:	74 3a                	je     0x1405405c6
14054058c:	0f 1f 40 00          	nopl   0x0(%rax)
140540590:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
140540595:	c6 47 28 ff          	movb   $0xff,0x28(%rdi)
140540599:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
14054059e:	48 0f be 4b 28       	movsbq 0x28(%rbx),%rcx
1405405a3:	48 ff c1             	inc    %rcx
1405405a6:	4c 8b c3             	mov    %rbx,%r8
1405405a9:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1405405ae:	e8 ad 04 00 00       	call   0x140540a60
1405405b3:	90                   	nop
1405405b4:	48 83 c7 30          	add    $0x30,%rdi
1405405b8:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
1405405bd:	48 83 c3 30          	add    $0x30,%rbx
1405405c1:	48 3b de             	cmp    %rsi,%rbx
1405405c4:	75 ca                	jne    0x140540590
1405405c6:	48 8b c7             	mov    %rdi,%rax
1405405c9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1405405ce:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1405405d3:	48 83 c4 40          	add    $0x40,%rsp
1405405d7:	5f                   	pop    %rdi
1405405d8:	c3                   	ret
1405405d9:	cc                   	int3
1405405da:	cc                   	int3
1405405db:	cc                   	int3
1405405dc:	cc                   	int3
1405405dd:	cc                   	int3
1405405de:	cc                   	int3
1405405df:	cc                   	int3
1405405e0:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1405405e5:	57                   	push   %rdi
1405405e6:	48 83 ec 20          	sub    $0x20,%rsp
1405405ea:	48 ff c1             	inc    %rcx
1405405ed:	49 8b f8             	mov    %r8,%rdi
1405405f0:	48 8b f2             	mov    %rdx,%rsi
1405405f3:	48 83 f9 0f          	cmp    $0xf,%rcx
1405405f7:	0f 87 d8 01 00 00    	ja     0x1405407d5
1405405fd:	48 8d 15 fc f9 ab ff 	lea    -0x540604(%rip),%rdx        # 0x140000000
140540604:	8b 84 8a dc 07 54 00 	mov    0x5407dc(%rdx,%rcx,4),%eax
14054060b:	48 03 c2             	add    %rdx,%rax
14054060e:	ff e0                	jmp    *%rax
140540610:	49 8b 00             	mov    (%r8),%rax
140540613:	c6 40 28 00          	movb   $0x0,0x28(%rax)
140540617:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14054061c:	48 83 c4 20          	add    $0x20,%rsp
140540620:	5f                   	pop    %rdi
140540621:	c3                   	ret
140540622:	0f b6 06             	movzbl (%rsi),%eax
140540625:	49 8b 08             	mov    (%r8),%rcx
140540628:	88 01                	mov    %al,(%rcx)
14054062a:	49 8b 00             	mov    (%r8),%rax
14054062d:	c6 40 28 01          	movb   $0x1,0x28(%rax)
140540631:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140540636:	48 83 c4 20          	add    $0x20,%rsp
14054063a:	5f                   	pop    %rdi
14054063b:	c3                   	ret
14054063c:	48 8b 06             	mov    (%rsi),%rax
14054063f:	49 8b 08             	mov    (%r8),%rcx
140540642:	48 89 01             	mov    %rax,(%rcx)
140540645:	49 8b 00             	mov    (%r8),%rax
140540648:	c6 40 28 02          	movb   $0x2,0x28(%rax)
14054064c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140540651:	48 83 c4 20          	add    $0x20,%rsp
140540655:	5f                   	pop    %rdi
140540656:	c3                   	ret
140540657:	48 8b 06             	mov    (%rsi),%rax
14054065a:	49 8b 08             	mov    (%r8),%rcx
14054065d:	48 89 01             	mov    %rax,(%rcx)
140540660:	49 8b 00             	mov    (%r8),%rax
140540663:	c6 40 28 03          	movb   $0x3,0x28(%rax)
140540667:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14054066c:	48 83 c4 20          	add    $0x20,%rsp
140540670:	5f                   	pop    %rdi
140540671:	c3                   	ret
140540672:	49 8b 08             	mov    (%r8),%rcx