14008522c:	48 8d 0d b5 a8 ab 00 	lea    0xaba8b5(%rip),%rcx        # 0x140b3fae8
140085233:	ff 15 87 72 a8 00    	call   *0xa87287(%rip)        # 0x140b0c4c0
140085239:	cc                   	int3
14008523a:	90                   	nop
14008523b:	90                   	nop
14008523c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140085241:	57                   	push   %rdi
140085242:	48 83 ec 30          	sub    $0x30,%rsp
140085246:	48 8b fa             	mov    %rdx,%rdi
140085249:	48 8b d9             	mov    %rcx,%rbx
14008524c:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
140085251:	4c 8d 0d 68 09 c4 00 	lea    0xc40968(%rip),%r9        # 0x140cc5bc0
140085258:	4c 8d 05 79 ea c3 00 	lea    0xc3ea79(%rip),%r8        # 0x140cc3cd8
14008525f:	33 d2                	xor    %edx,%edx
140085261:	48 8b 0f             	mov    (%rdi),%rcx
140085264:	e8 75 d0 a6 00       	call   0x140af22de
140085269:	48 83 23 00          	andq   $0x0,(%rbx)
14008526d:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140085272:	48 85 c0             	test   %rax,%rax
140085275:	74 18                	je     0x14008528f
140085277:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14008527b:	48 85 c9             	test   %rcx,%rcx
14008527e:	74 04                	je     0x140085284
140085280:	f0 ff 41 08          	lock incl 0x8(%rcx)
140085284:	48 89 03             	mov    %rax,(%rbx)
140085287:	48 8b 47 08          	mov    0x8(%rdi),%rax
14008528b:	48 89 43 08          	mov    %rax,0x8(%rbx)
14008528f:	48 8b c3             	mov    %rbx,%rax
140085292:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140085297:	48 83 c4 30          	add    $0x30,%rsp
14008529b:	5f                   	pop    %rdi
14008529c:	c3                   	ret
14008529d:	90                   	nop
14008529e:	90                   	nop
14008529f:	90                   	nop
1400852a0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400852a5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1400852aa:	53                   	push   %rbx
1400852ab:	56                   	push   %rsi
1400852ac:	57                   	push   %rdi
1400852ad:	41 54                	push   %r12
1400852af:	41 55                	push   %r13
1400852b1:	41 56                	push   %r14
1400852b3:	41 57                	push   %r15
1400852b5:	48 83 ec 60          	sub    $0x60,%rsp
1400852b9:	49 8b f9             	mov    %r9,%rdi
1400852bc:	4d 8b f8             	mov    %r8,%r15
1400852bf:	48 8b da             	mov    %rdx,%rbx
1400852c2:	4c 8b e9             	mov    %rcx,%r13
1400852c5:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1400852ca:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400852cf:	48 8d 41 08          	lea    0x8(%rcx),%rax
1400852d3:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
1400852da:	00
1400852db:	4c 8b 11             	mov    (%rcx),%r10
1400852de:	4c 89 94 24 a0 00 00 	mov    %r10,0xa0(%rsp)
1400852e5:	00
1400852e6:	4c 8b 30             	mov    (%rax),%r14
1400852e9:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1400852ee:	4c 8b 41 10          	mov    0x10(%rcx),%r8
1400852f2:	49 8b c8             	mov    %r8,%rcx
1400852f5:	49 2b ce             	sub    %r14,%rcx
1400852f8:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1400852ff:	66 66 66
140085302:	48 f7 e9             	imul   %rcx
140085305:	48 c1 fa 04          	sar    $0x4,%rdx
140085309:	48 8b c2             	mov    %rdx,%rax
14008530c:	48 c1 e8 3f          	shr    $0x3f,%rax
140085310:	48 03 d0             	add    %rax,%rdx
140085313:	4d 85 c9             	test   %r9,%r9
140085316:	0f 84 23 02 00 00    	je     0x14008553f
14008531c:	49 8b ce             	mov    %r14,%rcx
14008531f:	4c 3b ca             	cmp    %rdx,%r9
140085322:	0f 86 27 02 00 00    	jbe    0x14008554f
140085328:	49 2b ca             	sub    %r10,%rcx
14008532b:	48 c1 f9 03          	sar    $0x3,%rcx
14008532f:	48 ba cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rdx
140085336:	cc cc cc
140085339:	48 0f af ca          	imul   %rdx,%rcx
14008533d:	49 bb 66 66 66 66 66 	movabs $0x666666666666666,%r11
140085344:	66 66 06
140085347:	49 8b c3             	mov    %r11,%rax
14008534a:	48 2b c1             	sub    %rcx,%rax
14008534d:	4c 3b c8             	cmp    %rax,%r9
140085350:	0f 87 a4 03 00 00    	ja     0x1400856fa
140085356:	4c 03 c9             	add    %rcx,%r9
140085359:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
14008535e:	4d 2b c2             	sub    %r10,%r8
140085361:	49 c1 f8 03          	sar    $0x3,%r8
140085365:	4c 0f af c2          	imul   %rdx,%r8
140085369:	49 8b c8             	mov    %r8,%rcx
14008536c:	48 d1 e9             	shr    $1,%rcx
14008536f:	49 8b c3             	mov    %r11,%rax
140085372:	48 2b c1             	sub    %rcx,%rax
140085375:	4c 3b c0             	cmp    %rax,%r8
140085378:	76 05                	jbe    0x14008537f
14008537a:	4d 8b e3             	mov    %r11,%r12
14008537d:	eb 0b                	jmp    0x14008538a
14008537f:	4e 8d 24 01          	lea    (%rcx,%r8,1),%r12
140085383:	4d 3b e1             	cmp    %r9,%r12
140085386:	4d 0f 42 e1          	cmovb  %r9,%r12
14008538a:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
14008538f:	4d 3b e3             	cmp    %r11,%r12
140085392:	0f 87 68 03 00 00    	ja     0x140085700
140085398:	4b 8d 0c a4          	lea    (%r12,%r12,4),%rcx
14008539c:	48 c1 e1 03          	shl    $0x3,%rcx
1400853a0:	48 85 c9             	test   %rcx,%rcx
1400853a3:	75 04                	jne    0x1400853a9
1400853a5:	33 f6                	xor    %esi,%esi
1400853a7:	eb 40                	jmp    0x1400853e9
1400853a9:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
1400853b0:	0f 82 bb 00 00 00    	jb     0x140085471
1400853b6:	48 8d 41 27          	lea    0x27(%rcx),%rax
1400853ba:	48 3b c1             	cmp    %rcx,%rax
1400853bd:	0f 86 3d 03 00 00    	jbe    0x140085700
1400853c3:	48 8b c8             	mov    %rax,%rcx
1400853c6:	ff 15 fc 74 a8 00    	call   *0xa874fc(%rip)        # 0x140b0c8c8
1400853cc:	48 85 c0             	test   %rax,%rax
1400853cf:	0f 84 ae 00 00 00    	je     0x140085483
1400853d5:	48 8d 70 27          	lea    0x27(%rax),%rsi
1400853d9:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
1400853dd:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
1400853e1:	4c 8b 94 24 a0 00 00 	mov    0xa0(%rsp),%r10
1400853e8:	00
1400853e9:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
1400853ee:	48 8b d3             	mov    %rbx,%rdx
1400853f1:	49 2b d2             	sub    %r10,%rdx
1400853f4:	48 c1 fa 03          	sar    $0x3,%rdx
1400853f8:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
1400853ff:	cc cc cc
140085402:	48 0f af d0          	imul   %rax,%rdx
140085406:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
14008540a:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
14008540e:	48 8d 04 ce          	lea    (%rsi,%rcx,8),%rax
140085412:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140085417:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
14008541e:	00
14008541f:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
140085423:	48 8d 0c c6          	lea    (%rsi,%rax,8),%rcx
140085427:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14008542c:	48 8b c7             	mov    %rdi,%rax
14008542f:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
140085436:	00
140085437:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
14008543c:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140085441:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
140085446:	48 85 c0             	test   %rax,%rax
140085449:	74 3f                	je     0x14008548a
14008544b:	49 8b d7             	mov    %r15,%rdx
14008544e:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140085453:	e8 b8 a8 fc ff       	call   0x14004fd10
140085458:	49 83 c7 28          	add    $0x28,%r15
14008545c:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140085463:	00
140085464:	48 ff c8             	dec    %rax
140085467:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
14008546e:	00
14008546f:	eb d5                	jmp    0x140085446
140085471:	ff 15 51 74 a8 00    	call   *0xa87451(%rip)        # 0x140b0c8c8
140085477:	48 8b f0             	mov    %rax,%rsi
14008547a:	48 85 c0             	test   %rax,%rax
14008547d:	0f 85 5e ff ff ff    	jne    0x1400853e1
140085483:	ff 15 0f 70 a8 00    	call   *0xa8700f(%rip)        # 0x140b0c498
140085489:	90                   	nop
14008548a:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14008548f:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
140085496:	00
140085497:	48 83 ff 01          	cmp    $0x1,%rdi
14008549b:	75 5d                	jne    0x1400854fa
14008549d:	49 3b de             	cmp    %r14,%rbx
1400854a0:	75 58                	jne    0x1400854fa
1400854a2:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
1400854a7:	48 8b c6             	mov    %rsi,%rax
1400854aa:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1400854af:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
1400854b4:	4c 8b 94 24 a0 00 00 	mov    0xa0(%rsp),%r10
1400854bb:	00
1400854bc:	4d 3b d6             	cmp    %r14,%r10
1400854bf:	74 28                	je     0x1400854e9
1400854c1:	49 8b d2             	mov    %r10,%rdx
1400854c4:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1400854c9:	e8 42 a8 fc ff       	call   0x14004fd10
1400854ce:	4c 8b 94 24 a0 00 00 	mov    0xa0(%rsp),%r10
1400854d5:	00
1400854d6:	49 83 c2 28          	add    $0x28,%r10
1400854da:	4c 89 94 24 a0 00 00 	mov    %r10,0xa0(%rsp)
1400854e1:	00
1400854e2:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400854e7:	eb d3                	jmp    0x1400854bc
1400854e9:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1400854ee:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1400854f3:	e8 48 81 fc ff       	call   0x14004d640
1400854f8:	eb 32                	jmp    0x14008552c
1400854fa:	4d 8b cd             	mov    %r13,%r9
1400854fd:	4c 8b c6             	mov    %rsi,%r8
140085500:	48 8b d3             	mov    %rbx,%rdx
140085503:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
14008550a:	00
14008550b:	e8 40 83 ff ff       	call   0x14007d850
140085510:	48 89 b4 24 b8 00 00 	mov    %rsi,0xb8(%rsp)
140085517:	00
140085518:	4d 8b cd             	mov    %r13,%r9
14008551b:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
140085520:	49 8b d6             	mov    %r14,%rdx
140085523:	48 8b cb             	mov    %rbx,%rcx
140085526:	e8 25 83 ff ff       	call   0x14007d850
14008552b:	90                   	nop
14008552c:	4d 8b cc             	mov    %r12,%r9
14008552f:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
140085534:	48 8b d6             	mov    %rsi,%rdx
140085537:	49 8b cd             	mov    %r13,%rcx
14008553a:	e8 75 6e ff ff       	call   0x14007c3b4
14008553f:	48 83 c4 60          	add    $0x60,%rsp
140085543:	41 5f                	pop    %r15
140085545:	41 5e                	pop    %r14
140085547:	41 5d                	pop    %r13
140085549:	41 5c                	pop    %r12
14008554b:	5f                   	pop    %rdi
14008554c:	5e                   	pop    %rsi
14008554d:	5b                   	pop    %rbx
14008554e:	c3                   	ret
14008554f:	48 2b cb             	sub    %rbx,%rcx
140085552:	48 c1 f9 03          	sar    $0x3,%rcx
140085556:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
14008555d:	cc cc cc
140085560:	48 0f af c8          	imul   %rax,%rcx
140085564:	4b 8d 04 89          	lea    (%r9,%r9,4),%rax
140085568:	48 c1 e0 03          	shl    $0x3,%rax
14008556c:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
140085573:	00
140085574:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
140085579:	48 3b f9             	cmp    %rcx,%rdi
14008557c:	0f 83 d9 00 00 00    	jae    0x14008565b
140085582:	49 8b f6             	mov    %r14,%rsi
140085585:	48 2b f0             	sub    %rax,%rsi
140085588:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
14008558d:	4d 8b e6             	mov    %r14,%r12
140085590:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140085595:	49 3b f6             	cmp    %r14,%rsi
140085598:	74 28                	je     0x1400855c2
14008559a:	4c 8b fe             	mov    %rsi,%r15
14008559d:	49 8b d7             	mov    %r15,%rdx
1400855a0:	49 8b cc             	mov    %r12,%rcx
1400855a3:	e8 a0 51 fe ff       	call   0x14006a748
1400855a8:	49 83 c4 28          	add    $0x28,%r12
1400855ac:	4c 89 64 24 50       	mov    %r12,0x50(%rsp)
1400855b1:	49 83 c7 28          	add    $0x28,%r15
1400855b5:	4d 3b fe             	cmp    %r14,%r15
1400855b8:	75 e3                	jne    0x14008559d
1400855ba:	4c 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%r15
1400855c1:	00
1400855c2:	4d 89 65 08          	mov    %r12,0x8(%r13)
1400855c6:	48 3b f3             	cmp    %rbx,%rsi
1400855c9:	74 25                	je     0x1400855f0
1400855cb:	4c 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%r15
1400855d2:	00
1400855d3:	48 83 ee 28          	sub    $0x28,%rsi
1400855d7:	4a 8d 0c 3e          	lea    (%rsi,%r15,1),%rcx
1400855db:	48 8b d6             	mov    %rsi,%rdx
1400855de:	e8 59 4c fe ff       	call   0x14006a23c
1400855e3:	48 3b f3             	cmp    %rbx,%rsi
1400855e6:	75 eb                	jne    0x1400855d3
1400855e8:	4c 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%r15
1400855ef:	00
1400855f0:	4c 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%r14
1400855f7:	00
1400855f8:	4c 03 f3             	add    %rbx,%r14
1400855fb:	49 3b de             	cmp    %r14,%rbx
1400855fe:	74 2c                	je     0x14008562c
140085600:	48 8d 73 18          	lea    0x18(%rbx),%rsi
140085604:	4c 8b 06             	mov    (%rsi),%r8
140085607:	4d 8b 40 08          	mov    0x8(%r8),%r8
14008560b:	48 8b d6             	mov    %rsi,%rdx
14008560e:	48 8b ce             	mov    %rsi,%rcx
140085611:	e8 16 90 f9 ff       	call   0x14001e62c
140085616:	48 8b 0e             	mov    (%rsi),%rcx
140085619:	ff 15 a1 72 a8 00    	call   *0xa872a1(%rip)        # 0x140b0c8c0
14008561f:	48 83 c6 28          	add    $0x28,%rsi
140085623:	48 8d 46 e8          	lea    -0x18(%rsi),%rax
140085627:	49 3b c6             	cmp    %r14,%rax
14008562a:	75 d8                	jne    0x140085604
14008562c:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140085631:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140085636:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
14008563b:	48 85 ff             	test   %rdi,%rdi
14008563e:	74 16                	je     0x140085656
140085640:	49 8b d7             	mov    %r15,%rdx
140085643:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140085648:	e8 c3 a6 fc ff       	call   0x14004fd10
14008564d:	49 83 c7 28          	add    $0x28,%r15
140085651:	48 ff cf             	dec    %rdi
140085654:	eb e5                	jmp    0x14008563b
140085656:	e9 9a 00 00 00       	jmp    0x1400856f5
14008565b:	48 8d 34 18          	lea    (%rax,%rbx,1),%rsi
14008565f:	48 89 b4 24 b8 00 00 	mov    %rsi,0xb8(%rsp)
140085666:	00
140085667:	4c 8b e3             	mov    %rbx,%r12
14008566a:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
14008566f:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140085674:	49 3b de             	cmp    %r14,%rbx
140085677:	74 1d                	je     0x140085696
140085679:	49 8b d4             	mov    %r12,%rdx
14008567c:	48 8b ce             	mov    %rsi,%rcx
14008567f:	e8 c4 50 fe ff       	call   0x14006a748
140085684:	48 83 c6 28          	add    $0x28,%rsi
140085688:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
14008568d:	49 83 c4 28          	add    $0x28,%r12
140085691:	4d 3b e6             	cmp    %r14,%r12
140085694:	75 e3                	jne    0x140085679
140085696:	49 89 75 08          	mov    %rsi,0x8(%r13)
14008569a:	49 3b de             	cmp    %r14,%rbx
14008569d:	74 2c                	je     0x1400856cb
14008569f:	48 8d 73 18          	lea    0x18(%rbx),%rsi
1400856a3:	4c 8b 06             	mov    (%rsi),%r8
1400856a6:	4d 8b 40 08          	mov    0x8(%r8),%r8
1400856aa:	48 8b d6             	mov    %rsi,%rdx
1400856ad:	48 8b ce             	mov    %rsi,%rcx
1400856b0:	e8 77 8f f9 ff       	call   0x14001e62c
1400856b5:	48 8b 0e             	mov    (%rsi),%rcx
1400856b8:	ff 15 02 72 a8 00    	call   *0xa87202(%rip)        # 0x140b0c8c0
1400856be:	48 83 c6 28          	add    $0x28,%rsi
1400856c2:	48 8d 46 e8          	lea    -0x18(%rsi),%rax
1400856c6:	49 3b c6             	cmp    %r14,%rax
1400856c9:	75 d8                	jne    0x1400856a3
1400856cb:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
1400856d0:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
1400856d5:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
1400856da:	48 85 ff             	test   %rdi,%rdi
1400856dd:	74 16                	je     0x1400856f5
1400856df:	49 8b d7             	mov    %r15,%rdx
1400856e2:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1400856e7:	e8 24 a6 fc ff       	call   0x14004fd10
1400856ec:	49 83 c7 28          	add    $0x28,%r15
1400856f0:	48 ff cf             	dec    %rdi
1400856f3:	eb e5                	jmp    0x1400856da
1400856f5:	e9 45 fe ff ff       	jmp    0x14008553f
1400856fa:	e8 69 66 f9 ff       	call   0x14001bd68
1400856ff:	cc                   	int3
140085700:	e8 cb e5 f7 ff       	call   0x140003cd0
140085705:	cc                   	int3
140085706:	90                   	nop
140085707:	90                   	nop
140085708:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14008570d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140085712:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140085717:	57                   	push   %rdi
140085718:	48 83 ec 20          	sub    $0x20,%rsp
14008571c:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140085721:	49 8b f8             	mov    %r8,%rdi
140085724:	48 8b f2             	mov    %rdx,%rsi