1405a5210:	48 8b c6             	mov    %rsi,%rax
1405a5213:	48 f7 e9             	imul   %rcx
1405a5216:	48 c1 fa 03          	sar    $0x3,%rdx
1405a521a:	48 8b c2             	mov    %rdx,%rax
1405a521d:	48 c1 e8 3f          	shr    $0x3f,%rax
1405a5221:	48 03 d0             	add    %rax,%rdx
1405a5224:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1405a5228:	48 c1 e2 04          	shl    $0x4,%rdx
1405a522c:	48 8b c3             	mov    %rbx,%rax
1405a522f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a5236:	72 15                	jb     0x1405a524d
1405a5238:	48 83 c2 27          	add    $0x27,%rdx
1405a523c:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1405a5240:	48 2b c3             	sub    %rbx,%rax
1405a5243:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405a5247:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a524b:	77 26                	ja     0x1405a5273
1405a524d:	48 8b cb             	mov    %rbx,%rcx
1405a5250:	e8 ef 5e 87 00       	call   0x140e1b144
1405a5255:	49 8b c5             	mov    %r13,%rax
1405a5258:	48 8b 9c 24 08 01 00 	mov    0x108(%rsp),%rbx
1405a525f:	00
1405a5260:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
1405a5267:	41 5f                	pop    %r15
1405a5269:	41 5e                	pop    %r14
1405a526b:	41 5d                	pop    %r13
1405a526d:	41 5c                	pop    %r12
1405a526f:	5f                   	pop    %rdi
1405a5270:	5e                   	pop    %rsi
1405a5271:	5d                   	pop    %rbp
1405a5272:	c3                   	ret
1405a5273:	e8 2c 4f 88 00       	call   0x140e2a1a4
1405a5278:	90                   	nop
1405a5279:	e8 12 83 bf ff       	call   0x14019d590
1405a527e:	90                   	nop
1405a527f:	cc                   	int3
1405a5280:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a5285:	4c 8b da             	mov    %rdx,%r11
1405a5288:	48 8b d9             	mov    %rcx,%rbx
1405a528b:	33 d2                	xor    %edx,%edx
1405a528d:	49 8b c3             	mov    %r11,%rax
1405a5290:	48 f7 35 c1 5d e0 00 	divq   0xe05dc1(%rip)        # 0x1413ab058
1405a5297:	33 d2                	xor    %edx,%edx
1405a5299:	45 84 c0             	test   %r8b,%r8b
1405a529c:	74 24                	je     0x1405a52c2
1405a529e:	4c 8b 01             	mov    (%rcx),%r8
1405a52a1:	4d 8d 14 c0          	lea    (%r8,%rax,8),%r10
1405a52a5:	49 8b c3             	mov    %r11,%rax
1405a52a8:	48 f7 35 a9 5d e0 00 	divq   0xe05da9(%rip)        # 0x1413ab058
1405a52af:	49 8b 02             	mov    (%r10),%rax
1405a52b2:	48 0f ab d0          	bts    %rdx,%rax
1405a52b6:	49 89 02             	mov    %rax,(%r10)
1405a52b9:	48 8b c1             	mov    %rcx,%rax
1405a52bc:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1405a52c1:	c3                   	ret
1405a52c2:	48 8b 09             	mov    (%rcx),%rcx
1405a52c5:	4c 8d 0c c1          	lea    (%rcx,%rax,8),%r9
1405a52c9:	49 8b c3             	mov    %r11,%rax
1405a52cc:	48 f7 35 85 5d e0 00 	divq   0xe05d85(%rip)        # 0x1413ab058
1405a52d3:	49 8b 01             	mov    (%r9),%rax
1405a52d6:	48 0f b3 d0          	btr    %rdx,%rax
1405a52da:	49 89 01             	mov    %rax,(%r9)
1405a52dd:	48 8b c3             	mov    %rbx,%rax
1405a52e0:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1405a52e5:	c3                   	ret
1405a52e6:	cc                   	int3
1405a52e7:	cc                   	int3
1405a52e8:	cc                   	int3
1405a52e9:	cc                   	int3
1405a52ea:	cc                   	int3
1405a52eb:	cc                   	int3
1405a52ec:	cc                   	int3
1405a52ed:	cc                   	int3
1405a52ee:	cc                   	int3
1405a52ef:	cc                   	int3
1405a52f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a52f5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a52fa:	56                   	push   %rsi
1405a52fb:	57                   	push   %rdi
1405a52fc:	41 54                	push   %r12
1405a52fe:	41 56                	push   %r14
1405a5300:	41 57                	push   %r15
1405a5302:	48 83 ec 30          	sub    $0x30,%rsp
1405a5306:	48 8b f2             	mov    %rdx,%rsi
1405a5309:	48 8b f9             	mov    %rcx,%rdi
1405a530c:	45 33 e4             	xor    %r12d,%r12d
1405a530f:	48 85 d2             	test   %rdx,%rdx
1405a5312:	0f 84 5d 01 00 00    	je     0x1405a5475
1405a5318:	80 7a 28 0e          	cmpb   $0xe,0x28(%rdx)
1405a531c:	0f 85 53 01 00 00    	jne    0x1405a5475
1405a5322:	4c 8b 3a             	mov    (%rdx),%r15
1405a5325:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1405a5329:	49 2b d7             	sub    %r15,%rdx
1405a532c:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1405a5333:	aa aa 2a
1405a5336:	48 f7 ea             	imul   %rdx
1405a5339:	48 c1 fa 03          	sar    $0x3,%rdx
1405a533d:	48 8b c2             	mov    %rdx,%rax
1405a5340:	48 c1 e8 3f          	shr    $0x3f,%rax
1405a5344:	48 03 d0             	add    %rax,%rdx
1405a5347:	48 83 fa 02          	cmp    $0x2,%rdx
1405a534b:	0f 82 24 01 00 00    	jb     0x1405a5475
1405a5351:	4d 85 ff             	test   %r15,%r15
1405a5354:	74 0a                	je     0x1405a5360
1405a5356:	41 80 7f 28 02       	cmpb   $0x2,0x28(%r15)
1405a535b:	4d 8b f7             	mov    %r15,%r14
1405a535e:	74 03                	je     0x1405a5363
1405a5360:	4d 8b f4             	mov    %r12,%r14
1405a5363:	49 83 c7 30          	add    $0x30,%r15
1405a5367:	74 07                	je     0x1405a5370
1405a5369:	41 80 7f 28 02       	cmpb   $0x2,0x28(%r15)
1405a536e:	74 03                	je     0x1405a5373
1405a5370:	4d 8b fc             	mov    %r12,%r15
1405a5373:	4d 85 f6             	test   %r14,%r14
1405a5376:	0f 84 f9 00 00 00    	je     0x1405a5475
1405a537c:	4d 85 ff             	test   %r15,%r15
1405a537f:	0f 84 f0 00 00 00    	je     0x1405a5475
1405a5385:	49 8b 07             	mov    (%r15),%rax
1405a5388:	48 83 c0 02          	add    $0x2,%rax
1405a538c:	48 3b d0             	cmp    %rax,%rdx
1405a538f:	0f 85 e0 00 00 00    	jne    0x1405a5475
1405a5395:	b9 20 00 00 00       	mov    $0x20,%ecx
1405a539a:	e8 69 5d 87 00       	call   0x140e1b108
1405a539f:	48 8b d8             	mov    %rax,%rbx
1405a53a2:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1405a53a7:	48 85 c0             	test   %rax,%rax
1405a53aa:	74 11                	je     0x1405a53bd
1405a53ac:	4c 89 20             	mov    %r12,(%rax)
1405a53af:	4c 89 60 08          	mov    %r12,0x8(%rax)
1405a53b3:	4c 89 60 10          	mov    %r12,0x10(%rax)
1405a53b7:	4c 89 60 18          	mov    %r12,0x18(%rax)
1405a53bb:	eb 03                	jmp    0x1405a53c0
1405a53bd:	49 8b dc             	mov    %r12,%rbx
1405a53c0:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
1405a53c5:	49 8b 06             	mov    (%r14),%rax
1405a53c8:	48 89 43 18          	mov    %rax,0x18(%rbx)
1405a53cc:	49 8b ec             	mov    %r12,%rbp
1405a53cf:	4d 39 27             	cmp    %r12,(%r15)
1405a53d2:	76 46                	jbe    0x1405a541a
1405a53d4:	41 be 60 00 00 00    	mov    $0x60,%r14d
1405a53da:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1405a53e0:	4c 8b 06             	mov    (%rsi),%r8
1405a53e3:	4d 03 c6             	add    %r14,%r8
1405a53e6:	74 37                	je     0x1405a541f
1405a53e8:	41 80 78 28 02       	cmpb   $0x2,0x28(%r8)
1405a53ed:	75 30                	jne    0x1405a541f
1405a53ef:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1405a53f3:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1405a53f7:	74 0d                	je     0x1405a5406
1405a53f9:	49 8b 00             	mov    (%r8),%rax
1405a53fc:	48 89 02             	mov    %rax,(%rdx)
1405a53ff:	48 83 43 08 08       	addq   $0x8,0x8(%rbx)
1405a5404:	eb 08                	jmp    0x1405a540e
1405a5406:	48 8b cb             	mov    %rbx,%rcx
1405a5409:	e8 b2 5b dd ff       	call   0x14037afc0
1405a540e:	48 ff c5             	inc    %rbp
1405a5411:	49 83 c6 30          	add    $0x30,%r14
1405a5415:	49 3b 2f             	cmp    (%r15),%rbp
1405a5418:	72 c6                	jb     0x1405a53e0
1405a541a:	48 89 1f             	mov    %rbx,(%rdi)
1405a541d:	eb 59                	jmp    0x1405a5478
1405a541f:	4c 89 27             	mov    %r12,(%rdi)
1405a5422:	48 8b 0b             	mov    (%rbx),%rcx
1405a5425:	48 85 c9             	test   %rcx,%rcx
1405a5428:	74 3c                	je     0x1405a5466
1405a542a:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1405a542e:	48 2b d1             	sub    %rcx,%rdx
1405a5431:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405a5435:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a543c:	72 18                	jb     0x1405a5456
1405a543e:	48 83 c2 27          	add    $0x27,%rdx
1405a5442:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405a5446:	49 2b c8             	sub    %r8,%rcx
1405a5449:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405a544d:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a5451:	77 3f                	ja     0x1405a5492
1405a5453:	49 8b c8             	mov    %r8,%rcx
1405a5456:	e8 e9 5c 87 00       	call   0x140e1b144
1405a545b:	4c 89 23             	mov    %r12,(%rbx)
1405a545e:	4c 89 63 08          	mov    %r12,0x8(%rbx)
1405a5462:	4c 89 63 10          	mov    %r12,0x10(%rbx)
1405a5466:	ba 20 00 00 00       	mov    $0x20,%edx
1405a546b:	48 8b cb             	mov    %rbx,%rcx
1405a546e:	e8 d1 5c 87 00       	call   0x140e1b144
1405a5473:	eb 03                	jmp    0x1405a5478
1405a5475:	4c 89 21             	mov    %r12,(%rcx)
1405a5478:	48 8b c7             	mov    %rdi,%rax
1405a547b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1405a5480:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1405a5485:	48 83 c4 30          	add    $0x30,%rsp
1405a5489:	41 5f                	pop    %r15
1405a548b:	41 5e                	pop    %r14
1405a548d:	41 5c                	pop    %r12
1405a548f:	5f                   	pop    %rdi
1405a5490:	5e                   	pop    %rsi
1405a5491:	c3                   	ret
1405a5492:	e8 0d 4d 88 00       	call   0x140e2a1a4
1405a5497:	cc                   	int3
1405a5498:	cc                   	int3
1405a5499:	cc                   	int3
1405a549a:	cc                   	int3
1405a549b:	cc                   	int3
1405a549c:	cc                   	int3
1405a549d:	cc                   	int3
1405a549e:	cc                   	int3
1405a549f:	cc                   	int3
1405a54a0:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a54a5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a54aa:	57                   	push   %rdi
1405a54ab:	48 83 ec 20          	sub    $0x20,%rsp
1405a54af:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
1405a54b4:	49 8b f8             	mov    %r8,%rdi
1405a54b7:	48 8b f2             	mov    %rdx,%rsi
1405a54ba:	48 8b e9             	mov    %rcx,%rbp
1405a54bd:	0f 85 86 00 00 00    	jne    0x1405a5549
1405a54c3:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1405a54c8:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
1405a54cd:	45 33 f6             	xor    %r14d,%r14d
1405a54d0:	4c 8b 47 10          	mov    0x10(%rdi),%r8
1405a54d4:	48 8b d6             	mov    %rsi,%rdx
1405a54d7:	48 8b cd             	mov    %rbp,%rcx
1405a54da:	e8 c1 ff ff ff       	call   0x1405a54a0
1405a54df:	48 8b df             	mov    %rdi,%rbx
1405a54e2:	48 8b 3f             	mov    (%rdi),%rdi
1405a54e5:	48 8b 53 38          	mov    0x38(%rbx),%rdx
1405a54e9:	48 83 fa 0f          	cmp    $0xf,%rdx
1405a54ed:	76 2d                	jbe    0x1405a551c
1405a54ef:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1405a54f3:	48 ff c2             	inc    %rdx
1405a54f6:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a54fd:	72 18                	jb     0x1405a5517
1405a54ff:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1405a5503:	48 83 c2 27          	add    $0x27,%rdx
1405a5507:	49 2b c8             	sub    %r8,%rcx
1405a550a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1405a550e:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a5512:	77 45                	ja     0x1405a5559
1405a5514:	49 8b c8             	mov    %r8,%rcx
1405a5517:	e8 28 5c 87 00       	call   0x140e1b144
1405a551c:	ba 58 00 00 00       	mov    $0x58,%edx
1405a5521:	4c 89 73 30          	mov    %r14,0x30(%rbx)
1405a5525:	48 8b cb             	mov    %rbx,%rcx
1405a5528:	48 c7 43 38 0f 00 00 	movq   $0xf,0x38(%rbx)
1405a552f:	00
1405a5530:	44 88 73 20          	mov    %r14b,0x20(%rbx)
1405a5534:	e8 0b 5c 87 00       	call   0x140e1b144
1405a5539:	44 38 77 19          	cmp    %r14b,0x19(%rdi)
1405a553d:	74 91                	je     0x1405a54d0
1405a553f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a5544:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
1405a5549:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1405a554e:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1405a5553:	48 83 c4 20          	add    $0x20,%rsp
1405a5557:	5f                   	pop    %rdi
1405a5558:	c3                   	ret
1405a5559:	e8 46 4c 88 00       	call   0x140e2a1a4
1405a555e:	cc                   	int3
1405a555f:	cc                   	int3
1405a5560:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a5565:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1405a556a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405a556f:	57                   	push   %rdi
1405a5570:	48 83 ec 20          	sub    $0x20,%rsp
1405a5574:	48 8b 71 30          	mov    0x30(%rcx),%rsi
1405a5578:	49 8b e8             	mov    %r8,%rbp
1405a557b:	48 8b 41 08          	mov    0x8(%rcx),%rax
1405a557f:	49 23 f1             	and    %r9,%rsi
1405a5582:	48 c1 e6 04          	shl    $0x4,%rsi
1405a5586:	48 8b fa             	mov    %rdx,%rdi
1405a5589:	48 03 71 18          	add    0x18(%rcx),%rsi
1405a558d:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1405a5591:	48 3b d8             	cmp    %rax,%rbx
1405a5594:	75 0d                	jne    0x1405a55a3
1405a5596:	48 89 02             	mov    %rax,(%rdx)
1405a5599:	48 c7 42 08 00 00 00 	movq   $0x0,0x8(%rdx)
1405a55a0:	00
1405a55a1:	eb 36                	jmp    0x1405a55d9
1405a55a3:	48 8b 36             	mov    (%rsi),%rsi
1405a55a6:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a55aa:	48 8b cd             	mov    %rbp,%rcx
1405a55ad:	e8 2e 26 00 00       	call   0x1405a7be0
1405a55b2:	84 c0                	test   %al,%al
1405a55b4:	75 19                	jne    0x1405a55cf
1405a55b6:	48 3b de             	cmp    %rsi,%rbx
1405a55b9:	74 36                	je     0x1405a55f1
1405a55bb:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1405a55bf:	48 8b cd             	mov    %rbp,%rcx
1405a55c2:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a55c6:	e8 15 26 00 00       	call   0x1405a7be0
1405a55cb:	84 c0                	test   %al,%al
1405a55cd:	74 e7                	je     0x1405a55b6
1405a55cf:	48 8b 03             	mov    (%rbx),%rax
1405a55d2:	48 89 07             	mov    %rax,(%rdi)
1405a55d5:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
1405a55d9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a55de:	48 8b c7             	mov    %rdi,%rax
1405a55e1:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1405a55e6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1405a55eb:	48 83 c4 20          	add    $0x20,%rsp
1405a55ef:	5f                   	pop    %rdi
1405a55f0:	c3                   	ret
1405a55f1:	48 89 1f             	mov    %rbx,(%rdi)
1405a55f4:	48 c7 47 08 00 00 00 	movq   $0x0,0x8(%rdi)
1405a55fb:	00
1405a55fc:	eb db                	jmp    0x1405a55d9
1405a55fe:	cc                   	int3
1405a55ff:	cc                   	int3
1405a5600:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405a5605:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1405a560a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1405a560f:	57                   	push   %rdi
1405a5610:	41 54                	push   %r12
1405a5612:	41 55                	push   %r13
1405a5614:	41 56                	push   %r14
1405a5616:	41 57                	push   %r15
1405a5618:	48 83 ec 40          	sub    $0x40,%rsp
1405a561c:	4d 8b e1             	mov    %r9,%r12
1405a561f:	4d 8b f0             	mov    %r8,%r14
1405a5622:	48 8b f2             	mov    %rdx,%rsi
1405a5625:	48 8b e9             	mov    %rcx,%rbp
1405a5628:	49 8b 50 08          	mov    0x8(%r8),%rdx
1405a562c:	49 8b 08             	mov    (%r8),%rcx
1405a562f:	e8 5c ce 1f 00       	call   0x1407a2490
1405a5634:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1405a5639:	48 8b 7d 30          	mov    0x30(%rbp),%rdi
1405a563d:	48 23 f8             	and    %rax,%rdi
1405a5640:	48 03 ff             	add    %rdi,%rdi
1405a5643:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1405a5647:	48 8b 5c f9 08       	mov    0x8(%rcx,%rdi,8),%rbx
1405a564c:	48 8d 45 08          	lea    0x8(%rbp),%rax
1405a5650:	4c 8b 38             	mov    (%rax),%r15
1405a5653:	49 3b df             	cmp    %r15,%rbx
1405a5656:	74 68                	je     0x1405a56c0
1405a5658:	48 8b 3c f9          	mov    (%rcx,%rdi,8),%rdi
1405a565c:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a5660:	49 8b ce             	mov    %r14,%rcx
1405a5663:	e8 78 25 00 00       	call   0x1405a7be0
1405a5668:	84 c0                	test   %al,%al
1405a566a:	75 1d                	jne    0x1405a5689
1405a566c:	0f 1f 40 00          	nopl   0x0(%rax)
1405a5670:	48 3b df             	cmp    %rdi,%rbx
1405a5673:	74 44                	je     0x1405a56b9
1405a5675:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1405a5679:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1405a567d:	49 8b ce             	mov    %r14,%rcx
1405a5680:	e8 5b 25 00 00       	call   0x1405a7be0
1405a5685:	84 c0                	test   %al,%al
1405a5687:	74 e7                	je     0x1405a5670
1405a5689:	49 8b 04 24          	mov    (%r12),%rax
1405a568d:	48 89 43 30          	mov    %rax,0x30(%rbx)