140023287:	48 8b 19             	mov    (%rcx),%rbx
14002328a:	4c 3b db             	cmp    %rbx,%r11
14002328d:	73 14                	jae    0x1400232a3
14002328f:	48 89 1a             	mov    %rbx,(%rdx)
140023292:	4c 89 19             	mov    %r11,(%rcx)
140023295:	49 8b 10             	mov    (%r8),%rdx
140023298:	4c 3b da             	cmp    %rdx,%r11
14002329b:	73 06                	jae    0x1400232a3
14002329d:	48 89 11             	mov    %rdx,(%rcx)
1400232a0:	4d 89 18             	mov    %r11,(%r8)
1400232a3:	49 8b 11             	mov    (%r9),%rdx
1400232a6:	4e 8b 04 10          	mov    (%rax,%r10,1),%r8
1400232aa:	49 3b d0             	cmp    %r8,%rdx
1400232ad:	73 07                	jae    0x1400232b6
1400232af:	4d 89 01             	mov    %r8,(%r9)
1400232b2:	4a 89 14 10          	mov    %rdx,(%rax,%r10,1)
1400232b6:	48 8b 11             	mov    (%rcx),%rdx
1400232b9:	4d 8b 01             	mov    (%r9),%r8
1400232bc:	49 3b d0             	cmp    %r8,%rdx
1400232bf:	73 48                	jae    0x140023309
1400232c1:	4c 89 01             	mov    %r8,(%rcx)
1400232c4:	49 89 11             	mov    %rdx,(%r9)
1400232c7:	4a 8b 0c 10          	mov    (%rax,%r10,1),%rcx
1400232cb:	48 3b d1             	cmp    %rcx,%rdx
1400232ce:	73 39                	jae    0x140023309
1400232d0:	49 89 09             	mov    %rcx,(%r9)
1400232d3:	4a 89 14 10          	mov    %rdx,(%rax,%r10,1)
1400232d7:	eb 30                	jmp    0x140023309
1400232d9:	49 8b 01             	mov    (%r9),%rax
1400232dc:	49 8b 0a             	mov    (%r10),%rcx
1400232df:	48 3b c1             	cmp    %rcx,%rax
1400232e2:	73 06                	jae    0x1400232ea
1400232e4:	49 89 09             	mov    %rcx,(%r9)
1400232e7:	49 89 02             	mov    %rax,(%r10)
1400232ea:	48 8b 02             	mov    (%rdx),%rax
1400232ed:	49 8b 09             	mov    (%r9),%rcx
1400232f0:	48 3b c1             	cmp    %rcx,%rax
1400232f3:	73 14                	jae    0x140023309
1400232f5:	48 89 0a             	mov    %rcx,(%rdx)
1400232f8:	49 89 01             	mov    %rax,(%r9)
1400232fb:	49 8b 0a             	mov    (%r10),%rcx
1400232fe:	48 3b c1             	cmp    %rcx,%rax
140023301:	73 06                	jae    0x140023309
140023303:	49 89 09             	mov    %rcx,(%r9)
140023306:	49 89 02             	mov    %rax,(%r10)
140023309:	49 8d 51 08          	lea    0x8(%r9),%rdx
14002330d:	4d 3b d1             	cmp    %r9,%r10
140023310:	73 1f                	jae    0x140023331
140023312:	49 8b 09             	mov    (%r9),%rcx
140023315:	4d 8d 41 f8          	lea    -0x8(%r9),%r8
140023319:	49 8b 00             	mov    (%r8),%rax
14002331c:	48 3b c1             	cmp    %rcx,%rax
14002331f:	72 10                	jb     0x140023331
140023321:	49 39 01             	cmp    %rax,(%r9)
140023324:	72 0b                	jb     0x140023331
140023326:	4d 8b c8             	mov    %r8,%r9
140023329:	48 8b c8             	mov    %rax,%rcx
14002332c:	4d 3b d0             	cmp    %r8,%r10
14002332f:	72 e4                	jb     0x140023315
140023331:	48 3b d7             	cmp    %rdi,%rdx
140023334:	73 13                	jae    0x140023349
140023336:	49 8b 01             	mov    (%r9),%rax
140023339:	48 39 02             	cmp    %rax,(%rdx)
14002333c:	72 0b                	jb     0x140023349
14002333e:	77 09                	ja     0x140023349
140023340:	48 83 c2 08          	add    $0x8,%rdx
140023344:	48 3b d7             	cmp    %rdi,%rdx
140023347:	72 f0                	jb     0x140023339
140023349:	4c 8b c2             	mov    %rdx,%r8
14002334c:	4d 8b d9             	mov    %r9,%r11
14002334f:	eb 20                	jmp    0x140023371
140023351:	49 8b 08             	mov    (%r8),%rcx
140023354:	49 39 09             	cmp    %rcx,(%r9)
140023357:	72 14                	jb     0x14002336d
140023359:	77 1b                	ja     0x140023376
14002335b:	49 3b d0             	cmp    %r8,%rdx
14002335e:	74 09                	je     0x140023369
140023360:	48 8b 02             	mov    (%rdx),%rax
140023363:	48 89 0a             	mov    %rcx,(%rdx)
140023366:	49 89 00             	mov    %rax,(%r8)
140023369:	48 83 c2 08          	add    $0x8,%rdx
14002336d:	49 83 c0 08          	add    $0x8,%r8
140023371:	4c 3b c7             	cmp    %rdi,%r8
140023374:	72 db                	jb     0x140023351
140023376:	4d 3b da             	cmp    %r10,%r11
140023379:	76 30                	jbe    0x1400233ab
14002337b:	49 8d 4b f8          	lea    -0x8(%r11),%rcx
14002337f:	48 8b 19             	mov    (%rcx),%rbx
140023382:	49 3b 19             	cmp    (%r9),%rbx
140023385:	72 14                	jb     0x14002339b
140023387:	77 1f                	ja     0x1400233a8
140023389:	49 83 e9 08          	sub    $0x8,%r9
14002338d:	4c 3b c9             	cmp    %rcx,%r9
140023390:	74 09                	je     0x14002339b
140023392:	49 8b 01             	mov    (%r9),%rax
140023395:	49 89 19             	mov    %rbx,(%r9)
140023398:	48 89 01             	mov    %rax,(%rcx)
14002339b:	49 83 eb 08          	sub    $0x8,%r11
14002339f:	48 83 e9 08          	sub    $0x8,%rcx
1400233a3:	4d 3b d3             	cmp    %r11,%r10
1400233a6:	72 d7                	jb     0x14002337f
1400233a8:	4d 3b da             	cmp    %r10,%r11
1400233ab:	75 2c                	jne    0x1400233d9
1400233ad:	4c 3b c7             	cmp    %rdi,%r8
1400233b0:	74 6b                	je     0x14002341d
1400233b2:	49 3b d0             	cmp    %r8,%rdx
1400233b5:	74 0c                	je     0x1400233c3
1400233b7:	48 8b 02             	mov    (%rdx),%rax
1400233ba:	49 8b 09             	mov    (%r9),%rcx
1400233bd:	49 89 01             	mov    %rax,(%r9)
1400233c0:	48 89 0a             	mov    %rcx,(%rdx)
1400233c3:	49 8b 09             	mov    (%r9),%rcx
1400233c6:	48 83 c2 08          	add    $0x8,%rdx
1400233ca:	49 8b 00             	mov    (%r8),%rax
1400233cd:	49 89 01             	mov    %rax,(%r9)
1400233d0:	49 83 c1 08          	add    $0x8,%r9
1400233d4:	49 89 08             	mov    %rcx,(%r8)
1400233d7:	eb 94                	jmp    0x14002336d
1400233d9:	49 83 c3 f8          	add    $0xfffffffffffffff8,%r11
1400233dd:	4c 3b c7             	cmp    %rdi,%r8
1400233e0:	75 2a                	jne    0x14002340c
1400233e2:	49 83 e9 08          	sub    $0x8,%r9
1400233e6:	4d 3b d9             	cmp    %r9,%r11
1400233e9:	74 0c                	je     0x1400233f7
1400233eb:	49 8b 01             	mov    (%r9),%rax
1400233ee:	49 8b 0b             	mov    (%r11),%rcx
1400233f1:	49 89 03             	mov    %rax,(%r11)
1400233f4:	49 89 09             	mov    %rcx,(%r9)
1400233f7:	49 8b 09             	mov    (%r9),%rcx
1400233fa:	48 83 ea 08          	sub    $0x8,%rdx
1400233fe:	48 8b 02             	mov    (%rdx),%rax
140023401:	49 89 01             	mov    %rax,(%r9)
140023404:	48 89 0a             	mov    %rcx,(%rdx)
140023407:	e9 65 ff ff ff       	jmp    0x140023371
14002340c:	49 8b 03             	mov    (%r11),%rax
14002340f:	49 8b 08             	mov    (%r8),%rcx
140023412:	49 89 00             	mov    %rax,(%r8)
140023415:	49 89 0b             	mov    %rcx,(%r11)
140023418:	e9 50 ff ff ff       	jmp    0x14002336d
14002341d:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140023422:	48 8b c6             	mov    %rsi,%rax
140023425:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14002342a:	4c 89 0e             	mov    %r9,(%rsi)
14002342d:	48 89 56 08          	mov    %rdx,0x8(%rsi)
140023431:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140023436:	c3                   	ret
140023437:	90                   	nop
140023438:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002343d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140023442:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140023447:	49 8d 58 ff          	lea    -0x1(%r8),%rbx
14002344b:	4c 8b d2             	mov    %rdx,%r10
14002344e:	48 d1 fb             	sar    $1,%rbx
140023451:	48 8b fa             	mov    %rdx,%rdi
140023454:	4c 8b da             	mov    %rdx,%r11
140023457:	48 3b d3             	cmp    %rbx,%rdx
14002345a:	7d 28                	jge    0x140023484
14002345c:	4b 8d 14 1b          	lea    (%r11,%r11,1),%rdx
140023460:	48 8b 44 d1 10       	mov    0x10(%rcx,%rdx,8),%rax
140023465:	48 39 44 d1 08       	cmp    %rax,0x8(%rcx,%rdx,8)
14002346a:	4d 1b db             	sbb    %r11,%r11
14002346d:	49 83 c3 02          	add    $0x2,%r11
140023471:	4c 03 da             	add    %rdx,%r11
140023474:	4a 8b 04 d9          	mov    (%rcx,%r11,8),%rax
140023478:	4a 89 04 d1          	mov    %rax,(%rcx,%r10,8)
14002347c:	4d 8b d3             	mov    %r11,%r10
14002347f:	4c 3b db             	cmp    %rbx,%r11
140023482:	7c d8                	jl     0x14002345c
140023484:	4c 3b db             	cmp    %rbx,%r11
140023487:	75 13                	jne    0x14002349c
140023489:	41 f6 c0 01          	test   $0x1,%r8b
14002348d:	75 0d                	jne    0x14002349c
14002348f:	4a 8b 44 c1 f8       	mov    -0x8(%rcx,%r8,8),%rax
140023494:	4a 89 04 d1          	mov    %rax,(%rcx,%r10,8)
140023498:	4d 8d 50 ff          	lea    -0x1(%r8),%r10
14002349c:	49 8d 42 ff          	lea    -0x1(%r10),%rax
1400234a0:	eb 13                	jmp    0x1400234b5
1400234a2:	48 8b 14 c1          	mov    (%rcx,%rax,8),%rdx
1400234a6:	49 3b 11             	cmp    (%r9),%rdx
1400234a9:	76 12                	jbe    0x1400234bd
1400234ab:	4a 89 14 d1          	mov    %rdx,(%rcx,%r10,8)
1400234af:	4c 8b d0             	mov    %rax,%r10
1400234b2:	48 ff c8             	dec    %rax
1400234b5:	48 d1 f8             	sar    $1,%rax
1400234b8:	49 3b fa             	cmp    %r10,%rdi
1400234bb:	7c e5                	jl     0x1400234a2
1400234bd:	49 8b 01             	mov    (%r9),%rax
1400234c0:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1400234c5:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
1400234ca:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
1400234cf:	4a 89 04 d1          	mov    %rax,(%rcx,%r10,8)
1400234d3:	c3                   	ret
1400234d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400234d9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400234de:	57                   	push   %rdi
1400234df:	48 83 ec 20          	sub    $0x20,%rsp
1400234e3:	48 8b 59 30          	mov    0x30(%rcx),%rbx
1400234e7:	83 ce ff             	or     $0xffffffff,%esi
1400234ea:	48 8b f9             	mov    %rcx,%rdi
1400234ed:	48 85 db             	test   %rbx,%rbx
1400234f0:	74 35                	je     0x140023527
1400234f2:	8b c6                	mov    %esi,%eax
1400234f4:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1400234f9:	03 c6                	add    %esi,%eax
1400234fb:	75 2a                	jne    0x140023527
1400234fd:	48 8b 03             	mov    (%rbx),%rax
140023500:	48 8b cb             	mov    %rbx,%rcx
140023503:	48 8b 00             	mov    (%rax),%rax
140023506:	ff 15 2c 97 ae 00    	call   *0xae972c(%rip)        # 0x140b0cc38
14002350c:	8b c6                	mov    %esi,%eax
14002350e:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140023513:	03 c6                	add    %esi,%eax
140023515:	75 10                	jne    0x140023527
140023517:	48 8b 03             	mov    (%rbx),%rax
14002351a:	48 8b cb             	mov    %rbx,%rcx
14002351d:	48 8b 40 08          	mov    0x8(%rax),%rax
140023521:	ff 15 11 97 ae 00    	call   *0xae9711(%rip)        # 0x140b0cc38
140023527:	48 8b 5f 18          	mov    0x18(%rdi),%rbx
14002352b:	48 85 db             	test   %rbx,%rbx
14002352e:	74 35                	je     0x140023565
140023530:	8b c6                	mov    %esi,%eax
140023532:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140023537:	03 c6                	add    %esi,%eax
140023539:	75 2a                	jne    0x140023565
14002353b:	48 8b 03             	mov    (%rbx),%rax
14002353e:	48 8b cb             	mov    %rbx,%rcx
140023541:	48 8b 00             	mov    (%rax),%rax
140023544:	ff 15 ee 96 ae 00    	call   *0xae96ee(%rip)        # 0x140b0cc38
14002354a:	8b c6                	mov    %esi,%eax
14002354c:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140023551:	03 c6                	add    %esi,%eax
140023553:	75 10                	jne    0x140023565
140023555:	48 8b 03             	mov    (%rbx),%rax
140023558:	48 8b cb             	mov    %rbx,%rcx
14002355b:	48 8b 40 08          	mov    0x8(%rax),%rax
14002355f:	ff 15 d3 96 ae 00    	call   *0xae96d3(%rip)        # 0x140b0cc38
140023565:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002356a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14002356f:	48 83 c4 20          	add    $0x20,%rsp
140023573:	5f                   	pop    %rdi
140023574:	c3                   	ret
140023575:	90                   	nop
140023576:	90                   	nop
140023577:	90                   	nop
140023578:	40 53                	rex push %rbx
14002357a:	48 83 ec 20          	sub    $0x20,%rsp
14002357e:	48 8b d9             	mov    %rcx,%rbx
140023581:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140023585:	48 85 c9             	test   %rcx,%rcx
140023588:	74 1a                	je     0x1400235a4
14002358a:	83 c8 ff             	or     $0xffffffff,%eax
14002358d:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%rcx)
140023592:	83 f8 01             	cmp    $0x1,%eax
140023595:	75 0d                	jne    0x1400235a4
140023597:	48 8b 01             	mov    (%rcx),%rax
14002359a:	48 8b 40 08          	mov    0x8(%rax),%rax
14002359e:	ff 15 94 96 ae 00    	call   *0xae9694(%rip)        # 0x140b0cc38
1400235a4:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1400235a8:	48 85 db             	test   %rbx,%rbx
1400235ab:	74 39                	je     0x1400235e6
1400235ad:	83 c8 ff             	or     $0xffffffff,%eax
1400235b0:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1400235b5:	83 f8 01             	cmp    $0x1,%eax
1400235b8:	75 2c                	jne    0x1400235e6
1400235ba:	48 8b 03             	mov    (%rbx),%rax
1400235bd:	48 8b cb             	mov    %rbx,%rcx
1400235c0:	48 8b 00             	mov    (%rax),%rax
1400235c3:	ff 15 6f 96 ae 00    	call   *0xae966f(%rip)        # 0x140b0cc38
1400235c9:	83 c8 ff             	or     $0xffffffff,%eax
1400235cc:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1400235d1:	83 f8 01             	cmp    $0x1,%eax
1400235d4:	75 10                	jne    0x1400235e6
1400235d6:	48 8b 03             	mov    (%rbx),%rax
1400235d9:	48 8b cb             	mov    %rbx,%rcx
1400235dc:	48 8b 40 08          	mov    0x8(%rax),%rax
1400235e0:	ff 15 52 96 ae 00    	call   *0xae9652(%rip)        # 0x140b0cc38
1400235e6:	48 83 c4 20          	add    $0x20,%rsp
1400235ea:	5b                   	pop    %rbx
1400235eb:	c3                   	ret
1400235ec:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400235f1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400235f6:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1400235fb:	49 8d 58 ff          	lea    -0x1(%r8),%rbx
1400235ff:	4c 8b d2             	mov    %rdx,%r10
140023602:	48 d1 fb             	sar    $1,%rbx
140023605:	48 8b fa             	mov    %rdx,%rdi
140023608:	4c 8b da             	mov    %rdx,%r11
14002360b:	48 3b d3             	cmp    %rbx,%rdx
14002360e:	7d 28                	jge    0x140023638
140023610:	4b 8d 14 1b          	lea    (%r11,%r11,1),%rdx
140023614:	48 8b 44 d1 08       	mov    0x8(%rcx,%rdx,8),%rax
140023619:	48 39 44 d1 10       	cmp    %rax,0x10(%rcx,%rdx,8)
14002361e:	4d 1b db             	sbb    %r11,%r11
140023621:	49 83 c3 02          	add    $0x2,%r11
140023625:	4c 03 da             	add    %rdx,%r11
140023628:	4a 8b 04 d9          	mov    (%rcx,%r11,8),%rax
14002362c:	4a 89 04 d1          	mov    %rax,(%rcx,%r10,8)
140023630:	4d 8b d3             	mov    %r11,%r10
140023633:	4c 3b db             	cmp    %rbx,%r11
140023636:	7c d8                	jl     0x140023610
140023638:	4c 3b db             	cmp    %rbx,%r11
14002363b:	75 13                	jne    0x140023650
14002363d:	41 f6 c0 01          	test   $0x1,%r8b
140023641:	75 0d                	jne    0x140023650
140023643:	4a 8b 44 c1 f8       	mov    -0x8(%rcx,%r8,8),%rax
140023648:	4a 89 04 d1          	mov    %rax,(%rcx,%r10,8)
14002364c:	4d 8d 50 ff          	lea    -0x1(%r8),%r10
140023650:	49 8d 42 ff          	lea    -0x1(%r10),%rax
140023654:	eb 13                	jmp    0x140023669
140023656:	48 8b 14 c1          	mov    (%rcx,%rax,8),%rdx
14002365a:	49 3b 11             	cmp    (%r9),%rdx
14002365d:	73 12                	jae    0x140023671
14002365f:	4a 89 14 d1          	mov    %rdx,(%rcx,%r10,8)
140023663:	4c 8b d0             	mov    %rax,%r10
140023666:	48 ff c8             	dec    %rax
140023669:	48 d1 f8             	sar    $1,%rax
14002366c:	49 3b fa             	cmp    %r10,%rdi
14002366f:	7c e5                	jl     0x140023656
140023671:	49 8b 01             	mov    (%r9),%rax
140023674:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140023679:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14002367e:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140023683:	4a 89 04 d1          	mov    %rax,(%rcx,%r10,8)
140023687:	c3                   	ret
140023688:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14002368d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140023692:	55                   	push   %rbp
140023693:	56                   	push   %rsi
140023694:	57                   	push   %rdi
140023695:	41 55                	push   %r13
140023697:	41 56                	push   %r14
140023699:	48 8b ec             	mov    %rsp,%rbp
14002369c:	48 83 ec 40          	sub    $0x40,%rsp
1400236a0:	48 8b fa             	mov    %rdx,%rdi
1400236a3:	48 8b d9             	mov    %rcx,%rbx
1400236a6:	e8 39 08 00 00       	call   0x140023ee4
1400236ab:	48 8d 05 46 18 af 00 	lea    0xaf1846(%rip),%rax        # 0x140b14ef8
1400236b2:	48 89 83 88 01 00 00 	mov    %rax,0x188(%rbx)
1400236b9:	8b 87 90 01 00 00    	mov    0x190(%rdi),%eax
1400236bf:	89 83 90 01 00 00    	mov    %eax,0x190(%rbx)
1400236c5:	48 8d 05 cc 1c af 00 	lea    0xaf1ccc(%rip),%rax        # 0x140b15398
1400236cc:	48 89 03             	mov    %rax,(%rbx)
1400236cf:	48 8d 05 f2 18 af 00 	lea    0xaf18f2(%rip),%rax        # 0x140b14fc8
1400236d6:	48 89 83 88 01 00 00 	mov    %rax,0x188(%rbx)
1400236dd:	45 33 f6             	xor    %r14d,%r14d
1400236e0:	4c 89 b3 98 01 00 00 	mov    %r14,0x198(%rbx)
1400236e7:	4c 89 b3 a0 01 00 00 	mov    %r14,0x1a0(%rbx)
1400236ee:	48 8b 87 a0 01 00 00 	mov    0x1a0(%rdi),%rax
1400236f5:	48 85 c0             	test   %rax,%rax
1400236f8:	74 04                	je     0x1400236fe