140ab723e:	48 3b f5             	cmp    %rbp,%rsi
140ab7241:	72 ed                	jb     0x140ab7230
140ab7243:	48 8b d6             	mov    %rsi,%rdx
140ab7246:	4c 8b c7             	mov    %rdi,%r8
140ab7249:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140ab7250:	48 3b d5             	cmp    %rbp,%rdx
140ab7253:	73 37                	jae    0x140ab728c
140ab7255:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140ab725c:	00 00 00 00
140ab7260:	4c 8b 12             	mov    (%rdx),%r10
140ab7263:	48 8b 07             	mov    (%rdi),%rax
140ab7266:	41 8b 4a 78          	mov    0x78(%r10),%ecx
140ab726a:	39 48 78             	cmp    %ecx,0x78(%rax)
140ab726d:	7f 14                	jg     0x140ab7283
140ab726f:	7c 1b                	jl     0x140ab728c
140ab7271:	48 3b f2             	cmp    %rdx,%rsi
140ab7274:	74 09                	je     0x140ab727f
140ab7276:	48 8b 06             	mov    (%rsi),%rax
140ab7279:	4c 89 16             	mov    %r10,(%rsi)
140ab727c:	48 89 02             	mov    %rax,(%rdx)
140ab727f:	48 83 c6 08          	add    $0x8,%rsi
140ab7283:	48 83 c2 08          	add    $0x8,%rdx
140ab7287:	48 3b d5             	cmp    %rbp,%rdx
140ab728a:	72 d4                	jb     0x140ab7260
140ab728c:	4d 3b c6             	cmp    %r14,%r8
140ab728f:	76 43                	jbe    0x140ab72d4
140ab7291:	49 8d 48 f8          	lea    -0x8(%r8),%rcx
140ab7295:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140ab729c:	00 00 00 00
140ab72a0:	48 8b 07             	mov    (%rdi),%rax
140ab72a3:	4c 8b 11             	mov    (%rcx),%r10
140ab72a6:	44 8b 48 78          	mov    0x78(%rax),%r9d
140ab72aa:	45 39 4a 78          	cmp    %r9d,0x78(%r10)
140ab72ae:	7f 14                	jg     0x140ab72c4
140ab72b0:	7c 1f                	jl     0x140ab72d1
140ab72b2:	48 83 ef 08          	sub    $0x8,%rdi
140ab72b6:	48 3b f9             	cmp    %rcx,%rdi
140ab72b9:	74 09                	je     0x140ab72c4
140ab72bb:	48 8b 07             	mov    (%rdi),%rax
140ab72be:	4c 89 17             	mov    %r10,(%rdi)
140ab72c1:	48 89 01             	mov    %rax,(%rcx)
140ab72c4:	49 83 e8 08          	sub    $0x8,%r8
140ab72c8:	48 83 e9 08          	sub    $0x8,%rcx
140ab72cc:	4d 3b f0             	cmp    %r8,%r14
140ab72cf:	72 cf                	jb     0x140ab72a0
140ab72d1:	4d 3b c6             	cmp    %r14,%r8
140ab72d4:	75 33                	jne    0x140ab7309
140ab72d6:	48 3b d5             	cmp    %rbp,%rdx
140ab72d9:	74 77                	je     0x140ab7352
140ab72db:	48 3b f2             	cmp    %rdx,%rsi
140ab72de:	74 0c                	je     0x140ab72ec
140ab72e0:	48 8b 0e             	mov    (%rsi),%rcx
140ab72e3:	48 8b 07             	mov    (%rdi),%rax
140ab72e6:	48 89 0f             	mov    %rcx,(%rdi)
140ab72e9:	48 89 06             	mov    %rax,(%rsi)
140ab72ec:	48 8b 0a             	mov    (%rdx),%rcx
140ab72ef:	48 83 c6 08          	add    $0x8,%rsi
140ab72f3:	48 8b 07             	mov    (%rdi),%rax
140ab72f6:	48 89 0f             	mov    %rcx,(%rdi)
140ab72f9:	48 83 c7 08          	add    $0x8,%rdi
140ab72fd:	48 89 02             	mov    %rax,(%rdx)
140ab7300:	48 83 c2 08          	add    $0x8,%rdx
140ab7304:	e9 47 ff ff ff       	jmp    0x140ab7250
140ab7309:	49 83 c0 f8          	add    $0xfffffffffffffff8,%r8
140ab730d:	48 3b d5             	cmp    %rbp,%rdx
140ab7310:	75 2b                	jne    0x140ab733d
140ab7312:	48 83 ef 08          	sub    $0x8,%rdi
140ab7316:	4c 3b c7             	cmp    %rdi,%r8
140ab7319:	74 0c                	je     0x140ab7327
140ab731b:	48 8b 0f             	mov    (%rdi),%rcx
140ab731e:	49 8b 00             	mov    (%r8),%rax
140ab7321:	49 89 08             	mov    %rcx,(%r8)
140ab7324:	48 89 07             	mov    %rax,(%rdi)
140ab7327:	48 8b 4e f8          	mov    -0x8(%rsi),%rcx
140ab732b:	48 83 ee 08          	sub    $0x8,%rsi
140ab732f:	48 8b 07             	mov    (%rdi),%rax
140ab7332:	48 89 0f             	mov    %rcx,(%rdi)
140ab7335:	48 89 06             	mov    %rax,(%rsi)
140ab7338:	e9 13 ff ff ff       	jmp    0x140ab7250
140ab733d:	48 8b 02             	mov    (%rdx),%rax
140ab7340:	49 8b 08             	mov    (%r8),%rcx
140ab7343:	48 89 0a             	mov    %rcx,(%rdx)
140ab7346:	48 83 c2 08          	add    $0x8,%rdx
140ab734a:	49 89 00             	mov    %rax,(%r8)
140ab734d:	e9 fe fe ff ff       	jmp    0x140ab7250
140ab7352:	49 8b cf             	mov    %r15,%rcx
140ab7355:	48 8b c7             	mov    %rdi,%rax
140ab7358:	48 c1 f9 02          	sar    $0x2,%rcx
140ab735c:	49 2b c6             	sub    %r14,%rax
140ab735f:	49 d1 ff             	sar    $1,%r15
140ab7362:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140ab7366:	4c 03 f9             	add    %rcx,%r15
140ab7369:	44 0f b6 cb          	movzbl %bl,%r9d
140ab736d:	48 8b cd             	mov    %rbp,%rcx
140ab7370:	4d 8b c7             	mov    %r15,%r8
140ab7373:	48 2b ce             	sub    %rsi,%rcx
140ab7376:	48 83 e1 f8          	and    $0xfffffffffffffff8,%rcx
140ab737a:	48 3b c1             	cmp    %rcx,%rax
140ab737d:	7d 10                	jge    0x140ab738f
140ab737f:	48 8b d7             	mov    %rdi,%rdx
140ab7382:	49 8b ce             	mov    %r14,%rcx
140ab7385:	e8 f6 fd ff ff       	call   0x140ab7180
140ab738a:	4c 8b f6             	mov    %rsi,%r14
140ab738d:	eb 0e                	jmp    0x140ab739d
140ab738f:	48 8b d5             	mov    %rbp,%rdx
140ab7392:	48 8b ce             	mov    %rsi,%rcx
140ab7395:	e8 e6 fd ff ff       	call   0x140ab7180
140ab739a:	48 8b ef             	mov    %rdi,%rbp
140ab739d:	48 8b c5             	mov    %rbp,%rax
140ab73a0:	49 2b c6             	sub    %r14,%rax
140ab73a3:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140ab73a7:	48 3d 00 01 00 00    	cmp    $0x100,%rax
140ab73ad:	0f 8f 0d fe ff ff    	jg     0x140ab71c0
140ab73b3:	4c 3b f5             	cmp    %rbp,%r14
140ab73b6:	0f 84 8f 01 00 00    	je     0x140ab754b
140ab73bc:	4d 8d 7e 08          	lea    0x8(%r14),%r15
140ab73c0:	49 8b f7             	mov    %r15,%rsi
140ab73c3:	4c 3b fd             	cmp    %rbp,%r15
140ab73c6:	0f 84 7f 01 00 00    	je     0x140ab754b
140ab73cc:	bf 08 00 00 00       	mov    $0x8,%edi
140ab73d1:	48 8b 1e             	mov    (%rsi),%rbx
140ab73d4:	4c 8b c6             	mov    %rsi,%r8
140ab73d7:	49 8b 06             	mov    (%r14),%rax
140ab73da:	44 8b 4b 78          	mov    0x78(%rbx),%r9d
140ab73de:	44 3b 48 78          	cmp    0x78(%rax),%r9d
140ab73e2:	0f 8e 29 01 00 00    	jle    0x140ab7511
140ab73e8:	4c 8b c7             	mov    %rdi,%r8
140ab73eb:	49 8b d6             	mov    %r14,%rdx
140ab73ee:	49 8b cf             	mov    %r15,%rcx
140ab73f1:	e8 1a 7c 42 00       	call   0x140edf010
140ab73f6:	49 89 1e             	mov    %rbx,(%r14)
140ab73f9:	e9 3c 01 00 00       	jmp    0x140ab753a
140ab73fe:	48 c1 ff 03          	sar    $0x3,%rdi
140ab7402:	4c 8b df             	mov    %rdi,%r11
140ab7405:	49 d1 fb             	sar    $1,%r11
140ab7408:	4d 85 db             	test   %r11,%r11
140ab740b:	0f 8e 9e 00 00 00    	jle    0x140ab74af
140ab7411:	48 8d 77 ff          	lea    -0x1(%rdi),%rsi
140ab7415:	48 d1 fe             	sar    $1,%rsi
140ab7418:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140ab741f:	00
140ab7420:	4b 8b 44 de f8       	mov    -0x8(%r14,%r11,8),%rax
140ab7425:	49 ff cb             	dec    %r11
140ab7428:	4d 8b d3             	mov    %r11,%r10
140ab742b:	49 8b d3             	mov    %r11,%rdx
140ab742e:	4c 3b de             	cmp    %rsi,%r11
140ab7431:	7d 32                	jge    0x140ab7465
140ab7433:	4c 8d 0c 12          	lea    (%rdx,%rdx,1),%r9
140ab7437:	45 33 c0             	xor    %r8d,%r8d
140ab743a:	4b 8b 4c ce 08       	mov    0x8(%r14,%r9,8),%rcx
140ab743f:	4b 8b 54 ce 10       	mov    0x10(%r14,%r9,8),%rdx
140ab7444:	8b 49 78             	mov    0x78(%rcx),%ecx
140ab7447:	39 4a 78             	cmp    %ecx,0x78(%rdx)
140ab744a:	41 0f 9e c0          	setle  %r8b
140ab744e:	49 8d 50 01          	lea    0x1(%r8),%rdx
140ab7452:	49 03 d1             	add    %r9,%rdx
140ab7455:	49 8b 0c d6          	mov    (%r14,%rdx,8),%rcx
140ab7459:	4b 89 0c d6          	mov    %rcx,(%r14,%r10,8)
140ab745d:	4c 8b d2             	mov    %rdx,%r10
140ab7460:	48 3b d6             	cmp    %rsi,%rdx
140ab7463:	7c ce                	jl     0x140ab7433
140ab7465:	4c 3b d6             	cmp    %rsi,%r10
140ab7468:	75 13                	jne    0x140ab747d
140ab746a:	40 f6 c7 01          	test   $0x1,%dil
140ab746e:	75 0d                	jne    0x140ab747d
140ab7470:	49 8b 4c fe f8       	mov    -0x8(%r14,%rdi,8),%rcx
140ab7475:	4b 89 0c d6          	mov    %rcx,(%r14,%r10,8)
140ab7479:	4c 8d 57 ff          	lea    -0x1(%rdi),%r10
140ab747d:	4d 3b da             	cmp    %r10,%r11
140ab7480:	7d 20                	jge    0x140ab74a2
140ab7482:	8b 48 78             	mov    0x78(%rax),%ecx
140ab7485:	49 8d 52 ff          	lea    -0x1(%r10),%rdx
140ab7489:	48 d1 fa             	sar    $1,%rdx
140ab748c:	4d 8b 04 d6          	mov    (%r14,%rdx,8),%r8
140ab7490:	41 39 48 78          	cmp    %ecx,0x78(%r8)
140ab7494:	7e 0c                	jle    0x140ab74a2
140ab7496:	4f 89 04 d6          	mov    %r8,(%r14,%r10,8)
140ab749a:	4c 8b d2             	mov    %rdx,%r10
140ab749d:	4c 3b da             	cmp    %rdx,%r11
140ab74a0:	7c e0                	jl     0x140ab7482
140ab74a2:	4b 89 04 d6          	mov    %rax,(%r14,%r10,8)
140ab74a6:	4d 85 db             	test   %r11,%r11
140ab74a9:	0f 8f 71 ff ff ff    	jg     0x140ab7420
140ab74af:	48 8b c5             	mov    %rbp,%rax
140ab74b2:	49 2b c6             	sub    %r14,%rax
140ab74b5:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140ab74b9:	48 83 f8 10          	cmp    $0x10,%rax
140ab74bd:	0f 8c 88 00 00 00    	jl     0x140ab754b
140ab74c3:	48 83 c5 f8          	add    $0xfffffffffffffff8,%rbp
140ab74c7:	bf 08 00 00 00       	mov    $0x8,%edi
140ab74cc:	49 2b fe             	sub    %r14,%rdi
140ab74cf:	90                   	nop
140ab74d0:	48 8b 45 00          	mov    0x0(%rbp),%rax
140ab74d4:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
140ab74d9:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140ab74de:	4c 8b c5             	mov    %rbp,%r8
140ab74e1:	49 8b 06             	mov    (%r14),%rax
140ab74e4:	4d 2b c6             	sub    %r14,%r8
140ab74e7:	49 c1 f8 03          	sar    $0x3,%r8
140ab74eb:	33 d2                	xor    %edx,%edx
140ab74ed:	49 8b ce             	mov    %r14,%rcx
140ab74f0:	48 89 45 00          	mov    %rax,0x0(%rbp)
140ab74f4:	88 5c 24 20          	mov    %bl,0x20(%rsp)
140ab74f8:	e8 23 fb ff ff       	call   0x140ab7020
140ab74fd:	48 83 ed 08          	sub    $0x8,%rbp
140ab7501:	48 8d 04 2f          	lea    (%rdi,%rbp,1),%rax
140ab7505:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140ab7509:	48 83 f8 10          	cmp    $0x10,%rax
140ab750d:	7d c1                	jge    0x140ab74d0
140ab750f:	eb 3a                	jmp    0x140ab754b
140ab7511:	48 8d 4f f8          	lea    -0x8(%rdi),%rcx
140ab7515:	49 03 ce             	add    %r14,%rcx
140ab7518:	48 8b 11             	mov    (%rcx),%rdx
140ab751b:	44 3b 4a 78          	cmp    0x78(%rdx),%r9d
140ab751f:	7e 16                	jle    0x140ab7537
140ab7521:	49 89 10             	mov    %rdx,(%r8)
140ab7524:	4c 8b c1             	mov    %rcx,%r8
140ab7527:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140ab752b:	48 83 e9 08          	sub    $0x8,%rcx
140ab752f:	8b 42 78             	mov    0x78(%rdx),%eax
140ab7532:	39 43 78             	cmp    %eax,0x78(%rbx)
140ab7535:	7f ea                	jg     0x140ab7521
140ab7537:	49 89 18             	mov    %rbx,(%r8)
140ab753a:	48 83 c6 08          	add    $0x8,%rsi
140ab753e:	48 83 c7 08          	add    $0x8,%rdi
140ab7542:	48 3b f5             	cmp    %rbp,%rsi
140ab7545:	0f 85 86 fe ff ff    	jne    0x140ab73d1
140ab754b:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140ab7550:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140ab7555:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140ab755a:	48 83 c4 30          	add    $0x30,%rsp
140ab755e:	41 5f                	pop    %r15
140ab7560:	41 5e                	pop    %r14
140ab7562:	5f                   	pop    %rdi
140ab7563:	c3                   	ret
140ab7564:	cc                   	int3
140ab7565:	cc                   	int3
140ab7566:	cc                   	int3
140ab7567:	cc                   	int3
140ab7568:	cc                   	int3
140ab7569:	cc                   	int3
140ab756a:	cc                   	int3
140ab756b:	cc                   	int3
140ab756c:	cc                   	int3
140ab756d:	cc                   	int3
140ab756e:	cc                   	int3
140ab756f:	cc                   	int3
140ab7570:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ab7575:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140ab757a:	57                   	push   %rdi
140ab757b:	48 83 ec 40          	sub    $0x40,%rsp
140ab757f:	49 8b f8             	mov    %r8,%rdi
140ab7582:	48 8b f2             	mov    %rdx,%rsi
140ab7585:	48 8b d9             	mov    %rcx,%rbx
140ab7588:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140ab758d:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140ab7592:	4c 89 4c 24 30       	mov    %r9,0x30(%rsp)
140ab7597:	48 85 d2             	test   %rdx,%rdx
140ab759a:	74 22                	je     0x140ab75be
140ab759c:	0f 1f 40 00          	nopl   0x0(%rax)
140ab75a0:	48 8b d3             	mov    %rbx,%rdx
140ab75a3:	48 8b cf             	mov    %rdi,%rcx
140ab75a6:	e8 35 b8 8d ff       	call   0x140392de0
140ab75ab:	48 83 c7 28          	add    $0x28,%rdi
140ab75af:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140ab75b4:	48 83 c3 28          	add    $0x28,%rbx
140ab75b8:	48 83 ee 01          	sub    $0x1,%rsi
140ab75bc:	75 e2                	jne    0x140ab75a0
140ab75be:	48 8b c7             	mov    %rdi,%rax
140ab75c1:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140ab75c6:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140ab75cb:	48 83 c4 40          	add    $0x40,%rsp
140ab75cf:	5f                   	pop    %rdi
140ab75d0:	c3                   	ret
140ab75d1:	cc                   	int3
140ab75d2:	cc                   	int3
140ab75d3:	cc                   	int3
140ab75d4:	cc                   	int3
140ab75d5:	cc                   	int3
140ab75d6:	cc                   	int3
140ab75d7:	cc                   	int3
140ab75d8:	cc                   	int3
140ab75d9:	cc                   	int3
140ab75da:	cc                   	int3
140ab75db:	cc                   	int3
140ab75dc:	cc                   	int3
140ab75dd:	cc                   	int3
140ab75de:	cc                   	int3
140ab75df:	cc                   	int3
140ab75e0:	48 83 ec 08          	sub    $0x8,%rsp
140ab75e4:	4d 8b c8             	mov    %r8,%r9
140ab75e7:	48 3b ca             	cmp    %rdx,%rcx
140ab75ea:	0f 84 8e 00 00 00    	je     0x140ab767e
140ab75f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140ab75f5:	4c 8d 41 10          	lea    0x10(%rcx),%r8
140ab75f9:	4d 8b d1             	mov    %r9,%r10
140ab75fc:	48 89 3c 24          	mov    %rdi,(%rsp)
140ab7600:	4c 2b d1             	sub    %rcx,%r10
140ab7603:	48 8d 1d 96 be 52 00 	lea    0x52be96(%rip),%rbx        # 0x140fe34a0
140ab760a:	45 33 db             	xor    %r11d,%r11d
140ab760d:	48 8d 3d ac be 52 00 	lea    0x52beac(%rip),%rdi        # 0x140fe34c0
140ab7614:	0f 1f 40 00          	nopl   0x0(%rax)
140ab7618:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140ab761f:	00
140ab7620:	49 89 19             	mov    %rbx,(%r9)
140ab7623:	49 8b 40 f8          	mov    -0x8(%r8),%rax
140ab7627:	4d 89 58 f8          	mov    %r11,-0x8(%r8)
140ab762b:	4b 89 44 02 f8       	mov    %rax,-0x8(%r10,%r8,1)
140ab7630:	49 89 39             	mov    %rdi,(%r9)
140ab7633:	49 8b 00             	mov    (%r8),%rax
140ab7636:	4d 89 18             	mov    %r11,(%r8)
140ab7639:	4b 89 04 02          	mov    %rax,(%r10,%r8,1)
140ab763d:	49 8b 40 08          	mov    0x8(%r8),%rax
140ab7641:	4d 89 58 08          	mov    %r11,0x8(%r8)
140ab7645:	4b 89 44 02 08       	mov    %rax,0x8(%r10,%r8,1)
140ab764a:	49 8b 40 10          	mov    0x10(%r8),%rax
140ab764e:	4d 89 58 10          	mov    %r11,0x10(%r8)
140ab7652:	4b 89 44 02 10       	mov    %rax,0x10(%r10,%r8,1)
140ab7657:	4b 8b 04 02          	mov    (%r10,%r8,1),%rax
140ab765b:	48 85 c0             	test   %rax,%rax
140ab765e:	74 04                	je     0x140ab7664
140ab7660:	4c 89 48 08          	mov    %r9,0x8(%rax)
140ab7664:	49 83 c0 28          	add    $0x28,%r8
140ab7668:	49 83 c1 28          	add    $0x28,%r9
140ab766c:	49 8d 48 f0          	lea    -0x10(%r8),%rcx
140ab7670:	48 3b ca             	cmp    %rdx,%rcx
140ab7673:	75 ab                	jne    0x140ab7620
140ab7675:	48 8b 3c 24          	mov    (%rsp),%rdi
140ab7679:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140ab767e:	49 8b c1             	mov    %r9,%rax
140ab7681:	48 83 c4 08          	add    $0x8,%rsp
140ab7685:	c3                   	ret
140ab7686:	cc                   	int3
140ab7687:	cc                   	int3
140ab7688:	cc                   	int3
140ab7689:	cc                   	int3
140ab768a:	cc                   	int3
140ab768b:	cc                   	int3
140ab768c:	cc                   	int3
140ab768d:	cc                   	int3
140ab768e:	cc                   	int3
140ab768f:	cc                   	int3
140ab7690:	40 53                	rex push %rbx
140ab7692:	48 83 ec 30          	sub    $0x30,%rsp
140ab7696:	48 8b d9             	mov    %rcx,%rbx
140ab7699:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140ab769d:	e8 f2 65 36 00       	call   0x140e1dc94
140ab76a2:	48 8d 0d 4f 4b 90 00 	lea    0x904b4f(%rip),%rcx        # 0x1413bc1f8
140ab76a9:	48 8d 50 08          	lea    0x8(%rax),%rdx
140ab76ad:	e8 a6 66 36 00       	call   0x140e1dd58