140ab7020:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ab7025:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140ab702a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140ab702f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140ab7034:	49 8d 78 ff          	lea    -0x1(%r8),%rdi
140ab7038:	4c 8b d9             	mov    %rcx,%r11
140ab703b:	48 d1 ff             	sar    $1,%rdi
140ab703e:	49 8b f0             	mov    %r8,%rsi
140ab7041:	4c 8b d2             	mov    %rdx,%r10
140ab7044:	48 8b da             	mov    %rdx,%rbx
140ab7047:	48 8b ca             	mov    %rdx,%rcx
140ab704a:	48 3b d7             	cmp    %rdi,%rdx
140ab704d:	7d 31                	jge    0x140ab7080
140ab704f:	90                   	nop
140ab7050:	4c 8d 04 09          	lea    (%rcx,%rcx,1),%r8
140ab7054:	33 d2                	xor    %edx,%edx
140ab7056:	4b 8b 44 c3 08       	mov    0x8(%r11,%r8,8),%rax
140ab705b:	4b 8b 4c c3 10       	mov    0x10(%r11,%r8,8),%rcx
140ab7060:	8b 40 78             	mov    0x78(%rax),%eax
140ab7063:	39 41 78             	cmp    %eax,0x78(%rcx)
140ab7066:	0f 9e c2             	setle  %dl
140ab7069:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
140ab706d:	49 03 c8             	add    %r8,%rcx
140ab7070:	49 8b 04 cb          	mov    (%r11,%rcx,8),%rax
140ab7074:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
140ab7078:	4c 8b d1             	mov    %rcx,%r10
140ab707b:	48 3b cf             	cmp    %rdi,%rcx
140ab707e:	7c d0                	jl     0x140ab7050
140ab7080:	48 3b cf             	cmp    %rdi,%rcx
140ab7083:	75 13                	jne    0x140ab7098
140ab7085:	40 f6 c6 01          	test   $0x1,%sil
140ab7089:	75 0d                	jne    0x140ab7098
140ab708b:	49 8b 44 f3 f8       	mov    -0x8(%r11,%rsi,8),%rax
140ab7090:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
140ab7094:	4c 8d 56 ff          	lea    -0x1(%rsi),%r10
140ab7098:	49 3b da             	cmp    %r10,%rbx
140ab709b:	7d 26                	jge    0x140ab70c3
140ab709d:	0f 1f 00             	nopl   (%rax)
140ab70a0:	49 8b 09             	mov    (%r9),%rcx
140ab70a3:	49 8d 42 ff          	lea    -0x1(%r10),%rax
140ab70a7:	48 d1 f8             	sar    $1,%rax
140ab70aa:	8b 51 78             	mov    0x78(%rcx),%edx
140ab70ad:	4d 8b 04 c3          	mov    (%r11,%rax,8),%r8
140ab70b1:	41 39 50 78          	cmp    %edx,0x78(%r8)
140ab70b5:	7e 28                	jle    0x140ab70df
140ab70b7:	4f 89 04 d3          	mov    %r8,(%r11,%r10,8)
140ab70bb:	4c 8b d0             	mov    %rax,%r10
140ab70be:	48 3b d8             	cmp    %rax,%rbx
140ab70c1:	7c dd                	jl     0x140ab70a0
140ab70c3:	49 8b 01             	mov    (%r9),%rax
140ab70c6:	4b 89 04 d3          	mov    %rax,(%r11,%r10,8)
140ab70ca:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140ab70cf:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
140ab70d4:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140ab70d9:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140ab70de:	c3                   	ret
140ab70df:	4b 89 0c d3          	mov    %rcx,(%r11,%r10,8)
140ab70e3:	eb e5                	jmp    0x140ab70ca
140ab70e5:	cc                   	int3
140ab70e6:	cc                   	int3
140ab70e7:	cc                   	int3
140ab70e8:	cc                   	int3
140ab70e9:	cc                   	int3
140ab70ea:	cc                   	int3
140ab70eb:	cc                   	int3
140ab70ec:	cc                   	int3
140ab70ed:	cc                   	int3
140ab70ee:	cc                   	int3
140ab70ef:	cc                   	int3
140ab70f0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140ab70f5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140ab70fa:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140ab70ff:	56                   	push   %rsi
140ab7100:	57                   	push   %rdi
140ab7101:	41 56                	push   %r14
140ab7103:	48 83 ec 20          	sub    $0x20,%rsp
140ab7107:	4c 8b f2             	mov    %rdx,%r14
140ab710a:	48 8b d9             	mov    %rcx,%rbx
140ab710d:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140ab7111:	4c 2b 01             	sub    (%rcx),%r8
140ab7114:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140ab711b:	66 66 66
140ab711e:	49 f7 e8             	imul   %r8
140ab7121:	48 8b fa             	mov    %rdx,%rdi
140ab7124:	48 c1 ff 04          	sar    $0x4,%rdi
140ab7128:	48 8b c7             	mov    %rdi,%rax
140ab712b:	48 c1 e8 3f          	shr    $0x3f,%rax
140ab712f:	48 03 f8             	add    %rax,%rdi
140ab7132:	49 8b d6             	mov    %r14,%rdx
140ab7135:	e8 66 a0 8d ff       	call   0x1403911a0
140ab713a:	48 8b f0             	mov    %rax,%rsi
140ab713d:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140ab7142:	4c 8b cb             	mov    %rbx,%r9
140ab7145:	4c 8b c0             	mov    %rax,%r8
140ab7148:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140ab714c:	48 8b 0b             	mov    (%rbx),%rcx
140ab714f:	e8 8c 04 00 00       	call   0x140ab75e0
140ab7154:	90                   	nop
140ab7155:	4d 8b 0e             	mov    (%r14),%r9
140ab7158:	4c 8b c7             	mov    %rdi,%r8
140ab715b:	48 8b d6             	mov    %rsi,%rdx
140ab715e:	48 8b cb             	mov    %rbx,%rcx
140ab7161:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140ab7166:	48 83 c4 20          	add    $0x20,%rsp
140ab716a:	41 5e                	pop    %r14
140ab716c:	5f                   	pop    %rdi
140ab716d:	5e                   	pop    %rsi
140ab716e:	e9 9d 27 00 00       	jmp    0x140ab9910
140ab7173:	cc                   	int3
140ab7174:	cc                   	int3
140ab7175:	cc                   	int3
140ab7176:	cc                   	int3
140ab7177:	cc                   	int3
140ab7178:	cc                   	int3
140ab7179:	cc                   	int3
140ab717a:	cc                   	int3
140ab717b:	cc                   	int3
140ab717c:	cc                   	int3
140ab717d:	cc                   	int3
140ab717e:	cc                   	int3
140ab717f:	cc                   	int3
140ab7180:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140ab7185:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140ab718a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140ab718f:	57                   	push   %rdi
140ab7190:	41 56                	push   %r14
140ab7192:	41 57                	push   %r15
140ab7194:	48 83 ec 30          	sub    $0x30,%rsp
140ab7198:	48 8b c2             	mov    %rdx,%rax
140ab719b:	41 0f b6 d9          	movzbl %r9b,%ebx
140ab719f:	48 2b c1             	sub    %rcx,%rax
140ab71a2:	4d 8b f8             	mov    %r8,%r15
140ab71a5:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140ab71a9:	48 8b ea             	mov    %rdx,%rbp
140ab71ac:	4c 8b f1             	mov    %rcx,%r14
140ab71af:	48 3d 00 01 00 00    	cmp    $0x100,%rax
140ab71b5:	0f 8e f8 01 00 00    	jle    0x140ab73b3
140ab71bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140ab71c0:	48 8b fd             	mov    %rbp,%rdi
140ab71c3:	49 2b fe             	sub    %r14,%rdi
140ab71c6:	4d 85 ff             	test   %r15,%r15
140ab71c9:	0f 8e 2f 02 00 00    	jle    0x140ab73fe
140ab71cf:	48 c1 ff 04          	sar    $0x4,%rdi
140ab71d3:	4c 8d 45 f8          	lea    -0x8(%rbp),%r8
140ab71d7:	44 0f b6 cb          	movzbl %bl,%r9d
140ab71db:	49 8b ce             	mov    %r14,%rcx
140ab71de:	49 8d 3c fe          	lea    (%r14,%rdi,8),%rdi
140ab71e2:	48 8b d7             	mov    %rdi,%rdx
140ab71e5:	e8 b6 f7 ff ff       	call   0x140ab69a0
140ab71ea:	48 8d 77 08          	lea    0x8(%rdi),%rsi
140ab71ee:	4c 3b f7             	cmp    %rdi,%r14
140ab71f1:	73 2b                	jae    0x140ab721e
140ab71f3:	48 8b 0f             	mov    (%rdi),%rcx
140ab71f6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140ab71fd:	00 00 00
140ab7200:	4c 8b 47 f8          	mov    -0x8(%rdi),%r8
140ab7204:	48 8d 57 f8          	lea    -0x8(%rdi),%rdx
140ab7208:	41 8b 40 78          	mov    0x78(%r8),%eax
140ab720c:	3b 41 78             	cmp    0x78(%rcx),%eax
140ab720f:	7f 0d                	jg     0x140ab721e
140ab7211:	7c 0b                	jl     0x140ab721e
140ab7213:	48 8b fa             	mov    %rdx,%rdi
140ab7216:	49 8b c8             	mov    %r8,%rcx
140ab7219:	4c 3b f2             	cmp    %rdx,%r14
140ab721c:	72 e2                	jb     0x140ab7200
140ab721e:	48 3b f5             	cmp    %rbp,%rsi
140ab7221:	73 20                	jae    0x140ab7243
140ab7223:	48 8b 07             	mov    (%rdi),%rax
140ab7226:	8b 50 78             	mov    0x78(%rax),%edx
140ab7229:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140ab7230:	48 8b 06             	mov    (%rsi),%rax
140ab7233:	39 50 78             	cmp    %edx,0x78(%rax)
140ab7236:	7f 0b                	jg     0x140ab7243
140ab7238:	7c 09                	jl     0x140ab7243
140ab723a:	48 83 c6 08          	add    $0x8,%rsi
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)