140a5915f:	74 04                	je     0x140a59165
140a59161:	49 89 57 28          	mov    %rdx,0x28(%r15)
140a59165:	49 89 45 28          	mov    %rax,0x28(%r13)
140a59169:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140a5916e:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a59172:	48 8b 0e             	mov    (%rsi),%rcx
140a59175:	4c 3b d2             	cmp    %rdx,%r10
140a59178:	75 05                	jne    0x140a5917f
140a5917a:	48 8b df             	mov    %rdi,%rbx
140a5917d:	eb 1f                	jmp    0x140a5919e
140a5917f:	4c 8b ce             	mov    %rsi,%r9
140a59182:	4c 8b c7             	mov    %rdi,%r8
140a59185:	49 8b d2             	mov    %r10,%rdx
140a59188:	e8 43 39 fb ff       	call   0x140a0cad0
140a5918d:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a59192:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140a59199:	00
140a5919a:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a5919e:	4c 8b ce             	mov    %rsi,%r9
140a591a1:	4c 8b c3             	mov    %rbx,%r8
140a591a4:	e8 27 39 fb ff       	call   0x140a0cad0
140a591a9:	90                   	nop
140a591aa:	48 8b 1e             	mov    (%rsi),%rbx
140a591ad:	48 85 db             	test   %rbx,%rbx
140a591b0:	74 75                	je     0x140a59227
140a591b2:	4c 8b 7e 08          	mov    0x8(%rsi),%r15
140a591b6:	49 3b df             	cmp    %r15,%rbx
140a591b9:	74 16                	je     0x140a591d1
140a591bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a591c0:	48 8b cb             	mov    %rbx,%rcx
140a591c3:	e8 a8 39 fb ff       	call   0x140a0cb70
140a591c8:	48 83 c3 30          	add    $0x30,%rbx
140a591cc:	49 3b df             	cmp    %r15,%rbx
140a591cf:	75 ef                	jne    0x140a591c0
140a591d1:	4c 8b 06             	mov    (%rsi),%r8
140a591d4:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a591d8:	49 2b c8             	sub    %r8,%rcx
140a591db:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140a591e2:	aa aa 2a
140a591e5:	48 f7 e9             	imul   %rcx
140a591e8:	48 c1 fa 03          	sar    $0x3,%rdx
140a591ec:	48 8b c2             	mov    %rdx,%rax
140a591ef:	48 c1 e8 3f          	shr    $0x3f,%rax
140a591f3:	48 03 d0             	add    %rax,%rdx
140a591f6:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140a591fa:	48 c1 e2 04          	shl    $0x4,%rdx
140a591fe:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a59205:	72 18                	jb     0x140a5921f
140a59207:	48 83 c2 27          	add    $0x27,%rdx
140a5920b:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140a5920f:	4c 2b c1             	sub    %rcx,%r8
140a59212:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140a59216:	48 83 f8 1f          	cmp    $0x1f,%rax
140a5921a:	77 44                	ja     0x140a59260
140a5921c:	4c 8b c1             	mov    %rcx,%r8
140a5921f:	49 8b c8             	mov    %r8,%rcx
140a59222:	e8 1d 1f 3c 00       	call   0x140e1b144
140a59227:	48 89 3e             	mov    %rdi,(%rsi)
140a5922a:	4b 8d 0c 64          	lea    (%r12,%r12,2),%rcx
140a5922e:	48 c1 e1 04          	shl    $0x4,%rcx
140a59232:	48 03 cf             	add    %rdi,%rcx
140a59235:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
140a59239:	49 8d 0c 3e          	lea    (%r14,%rdi,1),%rcx
140a5923d:	48 89 4e 10          	mov    %rcx,0x10(%rsi)
140a59241:	49 8b c5             	mov    %r13,%rax
140a59244:	48 83 c4 40          	add    $0x40,%rsp
140a59248:	41 5f                	pop    %r15
140a5924a:	41 5e                	pop    %r14
140a5924c:	41 5d                	pop    %r13
140a5924e:	41 5c                	pop    %r12
140a59250:	5f                   	pop    %rdi
140a59251:	5e                   	pop    %rsi
140a59252:	5b                   	pop    %rbx
140a59253:	c3                   	ret
140a59254:	e8 37 3f 74 ff       	call   0x14019d190
140a59259:	cc                   	int3
140a5925a:	e8 31 43 74 ff       	call   0x14019d590
140a5925f:	cc                   	int3
140a59260:	e8 3f 0f 3d 00       	call   0x140e2a1a4
140a59265:	cc                   	int3
140a59266:	cc                   	int3
140a59267:	cc                   	int3
140a59268:	cc                   	int3
140a59269:	cc                   	int3
140a5926a:	cc                   	int3
140a5926b:	cc                   	int3
140a5926c:	cc                   	int3
140a5926d:	cc                   	int3
140a5926e:	cc                   	int3
140a5926f:	cc                   	int3
140a59270:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a59275:	53                   	push   %rbx
140a59276:	56                   	push   %rsi
140a59277:	57                   	push   %rdi
140a59278:	41 54                	push   %r12
140a5927a:	41 55                	push   %r13
140a5927c:	41 56                	push   %r14
140a5927e:	41 57                	push   %r15
140a59280:	48 83 ec 40          	sub    $0x40,%rsp
140a59284:	4d 8b f8             	mov    %r8,%r15
140a59287:	48 8b da             	mov    %rdx,%rbx
140a5928a:	4c 8b f1             	mov    %rcx,%r14
140a5928d:	48 8b 11             	mov    (%rcx),%rdx
140a59290:	48 8b f3             	mov    %rbx,%rsi
140a59293:	48 2b f2             	sub    %rdx,%rsi
140a59296:	48 c1 fe 03          	sar    $0x3,%rsi
140a5929a:	48 8b 41 08          	mov    0x8(%rcx),%rax
140a5929e:	48 2b c2             	sub    %rdx,%rax
140a592a1:	48 c1 f8 03          	sar    $0x3,%rax
140a592a5:	49 b9 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r9
140a592ac:	ff ff 1f
140a592af:	49 3b c1             	cmp    %r9,%rax
140a592b2:	0f 84 f4 01 00 00    	je     0x140a594ac
140a592b8:	4c 8d 40 01          	lea    0x1(%rax),%r8
140a592bc:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140a592c1:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a592c5:	48 2b ca             	sub    %rdx,%rcx
140a592c8:	48 c1 f9 03          	sar    $0x3,%rcx
140a592cc:	48 8b d1             	mov    %rcx,%rdx
140a592cf:	48 d1 ea             	shr    $1,%rdx
140a592d2:	49 8b c1             	mov    %r9,%rax
140a592d5:	48 2b c2             	sub    %rdx,%rax
140a592d8:	48 3b c8             	cmp    %rax,%rcx
140a592db:	0f 87 c5 01 00 00    	ja     0x140a594a6
140a592e1:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140a592e5:	49 8b c8             	mov    %r8,%rcx
140a592e8:	49 3b c0             	cmp    %r8,%rax
140a592eb:	48 0f 43 c8          	cmovae %rax,%rcx
140a592ef:	49 3b c9             	cmp    %r9,%rcx
140a592f2:	0f 87 ae 01 00 00    	ja     0x140a594a6
140a592f8:	4c 8d 24 cd 00 00 00 	lea    0x0(,%rcx,8),%r12
140a592ff:	00
140a59300:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140a59305:	4d 85 e4             	test   %r12,%r12
140a59308:	75 15                	jne    0x140a5931f
140a5930a:	45 33 c0             	xor    %r8d,%r8d
140a5930d:	41 8b f8             	mov    %r8d,%edi
140a59310:	4c 89 84 24 88 00 00 	mov    %r8,0x88(%rsp)
140a59317:	00
140a59318:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140a5931d:	eb 51                	jmp    0x140a59370
140a5931f:	49 81 fc 00 10 00 00 	cmp    $0x1000,%r12
140a59326:	72 32                	jb     0x140a5935a
140a59328:	49 8d 4c 24 27       	lea    0x27(%r12),%rcx
140a5932d:	49 3b cc             	cmp    %r12,%rcx
140a59330:	0f 86 70 01 00 00    	jbe    0x140a594a6
140a59336:	e8 cd 1d 3c 00       	call   0x140e1b108
140a5933b:	48 85 c0             	test   %rax,%rax
140a5933e:	0f 84 6e 01 00 00    	je     0x140a594b2
140a59344:	48 8d 78 27          	lea    0x27(%rax),%rdi
140a59348:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140a5934c:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140a59350:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140a59357:	00
140a59358:	eb 13                	jmp    0x140a5936d
140a5935a:	49 8b cc             	mov    %r12,%rcx
140a5935d:	e8 a6 1d 3c 00       	call   0x140e1b108
140a59362:	48 8b f8             	mov    %rax,%rdi
140a59365:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140a5936c:	00
140a5936d:	45 33 c0             	xor    %r8d,%r8d
140a59370:	4c 8d 14 f5 00 00 00 	lea    0x0(,%rsi,8),%r10
140a59377:	00
140a59378:	4d 8d 2c 3a          	lea    (%r10,%rdi,1),%r13
140a5937c:	49 8d 4d 08          	lea    0x8(%r13),%rcx
140a59380:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140a59385:	49 8b 07             	mov    (%r15),%rax
140a59388:	48 85 c0             	test   %rax,%rax
140a5938b:	74 03                	je     0x140a59390
140a5938d:	4d 89 07             	mov    %r8,(%r15)
140a59390:	49 89 45 00          	mov    %rax,0x0(%r13)
140a59394:	4c 89 ac 24 98 00 00 	mov    %r13,0x98(%rsp)
140a5939b:	00
140a5939c:	4d 8b 4e 08          	mov    0x8(%r14),%r9
140a593a0:	49 8b 06             	mov    (%r14),%rax
140a593a3:	48 8b cf             	mov    %rdi,%rcx
140a593a6:	49 3b d9             	cmp    %r9,%rbx
140a593a9:	75 22                	jne    0x140a593cd
140a593ab:	49 3b c1             	cmp    %r9,%rax
140a593ae:	74 6d                	je     0x140a5941d
140a593b0:	48 8b 10             	mov    (%rax),%rdx
140a593b3:	48 85 d2             	test   %rdx,%rdx
140a593b6:	74 03                	je     0x140a593bb
140a593b8:	4c 89 00             	mov    %r8,(%rax)
140a593bb:	48 89 11             	mov    %rdx,(%rcx)
140a593be:	48 83 c1 08          	add    $0x8,%rcx
140a593c2:	48 83 c0 08          	add    $0x8,%rax
140a593c6:	49 3b c1             	cmp    %r9,%rax
140a593c9:	75 e5                	jne    0x140a593b0
140a593cb:	eb 50                	jmp    0x140a5941d
140a593cd:	48 3b c3             	cmp    %rbx,%rax
140a593d0:	74 1b                	je     0x140a593ed
140a593d2:	48 8b 10             	mov    (%rax),%rdx
140a593d5:	48 85 d2             	test   %rdx,%rdx
140a593d8:	74 03                	je     0x140a593dd
140a593da:	4c 89 00             	mov    %r8,(%rax)
140a593dd:	48 89 11             	mov    %rdx,(%rcx)
140a593e0:	48 83 c1 08          	add    $0x8,%rcx
140a593e4:	48 83 c0 08          	add    $0x8,%rax
140a593e8:	48 3b c3             	cmp    %rbx,%rax
140a593eb:	75 e5                	jne    0x140a593d2
140a593ed:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
140a593f4:	00
140a593f5:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140a593f9:	48 3b d9             	cmp    %rcx,%rbx
140a593fc:	74 1f                	je     0x140a5941d
140a593fe:	4c 2b d3             	sub    %rbx,%r10
140a59401:	4c 03 d7             	add    %rdi,%r10
140a59404:	48 8b 03             	mov    (%rbx),%rax
140a59407:	48 85 c0             	test   %rax,%rax
140a5940a:	74 03                	je     0x140a5940f
140a5940c:	4c 89 03             	mov    %r8,(%rbx)
140a5940f:	4a 89 44 13 08       	mov    %rax,0x8(%rbx,%r10,1)
140a59414:	48 83 c3 08          	add    $0x8,%rbx
140a59418:	48 3b d9             	cmp    %rcx,%rbx
140a5941b:	75 e7                	jne    0x140a59404
140a5941d:	49 8b 1e             	mov    (%r14),%rbx
140a59420:	48 85 db             	test   %rbx,%rbx
140a59423:	74 56                	je     0x140a5947b
140a59425:	49 8b 76 08          	mov    0x8(%r14),%rsi
140a59429:	48 3b de             	cmp    %rsi,%rbx
140a5942c:	74 19                	je     0x140a59447
140a5942e:	66 90                	xchg   %ax,%ax
140a59430:	48 8b 0b             	mov    (%rbx),%rcx
140a59433:	48 85 c9             	test   %rcx,%rcx
140a59436:	74 06                	je     0x140a5943e
140a59438:	e8 93 ec fa ff       	call   0x140a080d0
140a5943d:	90                   	nop
140a5943e:	48 83 c3 08          	add    $0x8,%rbx
140a59442:	48 3b de             	cmp    %rsi,%rbx
140a59445:	75 e9                	jne    0x140a59430
140a59447:	49 8b 0e             	mov    (%r14),%rcx
140a5944a:	49 8b 56 10          	mov    0x10(%r14),%rdx
140a5944e:	48 2b d1             	sub    %rcx,%rdx
140a59451:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140a59455:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a5945c:	72 18                	jb     0x140a59476
140a5945e:	48 83 c2 27          	add    $0x27,%rdx
140a59462:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140a59466:	49 2b c8             	sub    %r8,%rcx
140a59469:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140a5946d:	48 83 f8 1f          	cmp    $0x1f,%rax
140a59471:	77 3f                	ja     0x140a594b2
140a59473:	49 8b c8             	mov    %r8,%rcx
140a59476:	e8 c9 1c 3c 00       	call   0x140e1b144
140a5947b:	49 89 3e             	mov    %rdi,(%r14)
140a5947e:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140a59483:	48 8d 0c c7          	lea    (%rdi,%rax,8),%rcx
140a59487:	49 89 4e 08          	mov    %rcx,0x8(%r14)
140a5948b:	49 8d 0c 3c          	lea    (%r12,%rdi,1),%rcx
140a5948f:	49 89 4e 10          	mov    %rcx,0x10(%r14)
140a59493:	49 8b c5             	mov    %r13,%rax
140a59496:	48 83 c4 40          	add    $0x40,%rsp
140a5949a:	41 5f                	pop    %r15
140a5949c:	41 5e                	pop    %r14
140a5949e:	41 5d                	pop    %r13
140a594a0:	41 5c                	pop    %r12
140a594a2:	5f                   	pop    %rdi
140a594a3:	5e                   	pop    %rsi
140a594a4:	5b                   	pop    %rbx
140a594a5:	c3                   	ret
140a594a6:	e8 e5 3c 74 ff       	call   0x14019d190
140a594ab:	cc                   	int3
140a594ac:	e8 df 40 74 ff       	call   0x14019d590
140a594b1:	cc                   	int3
140a594b2:	e8 ed 0c 3d 00       	call   0x140e2a1a4
140a594b7:	cc                   	int3
140a594b8:	cc                   	int3
140a594b9:	cc                   	int3
140a594ba:	cc                   	int3
140a594bb:	cc                   	int3
140a594bc:	cc                   	int3
140a594bd:	cc                   	int3
140a594be:	cc                   	int3
140a594bf:	cc                   	int3
140a594c0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a594c5:	53                   	push   %rbx
140a594c6:	56                   	push   %rsi
140a594c7:	57                   	push   %rdi
140a594c8:	41 54                	push   %r12
140a594ca:	41 55                	push   %r13
140a594cc:	41 56                	push   %r14
140a594ce:	41 57                	push   %r15
140a594d0:	48 83 ec 40          	sub    $0x40,%rsp
140a594d4:	4d 8b f8             	mov    %r8,%r15
140a594d7:	48 8b da             	mov    %rdx,%rbx
140a594da:	4c 8b f1             	mov    %rcx,%r14
140a594dd:	48 8b 11             	mov    (%rcx),%rdx
140a594e0:	48 8b fb             	mov    %rbx,%rdi
140a594e3:	48 2b fa             	sub    %rdx,%rdi
140a594e6:	48 8b 41 08          	mov    0x8(%rcx),%rax
140a594ea:	48 2b c2             	sub    %rdx,%rax
140a594ed:	48 c1 f8 04          	sar    $0x4,%rax
140a594f1:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
140a594f8:	ff ff 0f
140a594fb:	49 3b c0             	cmp    %r8,%rax
140a594fe:	0f 84 19 02 00 00    	je     0x140a5971d
140a59504:	4c 8d 68 01          	lea    0x1(%rax),%r13
140a59508:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a5950c:	48 2b ca             	sub    %rdx,%rcx
140a5950f:	48 c1 f9 04          	sar    $0x4,%rcx
140a59513:	48 8b d1             	mov    %rcx,%rdx
140a59516:	48 d1 ea             	shr    $1,%rdx
140a59519:	49 8b c0             	mov    %r8,%rax
140a5951c:	48 2b c2             	sub    %rdx,%rax
140a5951f:	48 3b c8             	cmp    %rax,%rcx
140a59522:	0f 87 ef 01 00 00    	ja     0x140a59717
140a59528:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140a5952c:	49 8b cd             	mov    %r13,%rcx
140a5952f:	49 3b c5             	cmp    %r13,%rax
140a59532:	48 0f 43 c8          	cmovae %rax,%rcx
140a59536:	49 3b c8             	cmp    %r8,%rcx
140a59539:	0f 87 d8 01 00 00    	ja     0x140a59717
140a5953f:	4c 8b e1             	mov    %rcx,%r12
140a59542:	49 c1 e4 04          	shl    $0x4,%r12
140a59546:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140a5954b:	4d 85 e4             	test   %r12,%r12
140a5954e:	75 15                	jne    0x140a59565
140a59550:	45 33 c0             	xor    %r8d,%r8d
140a59553:	41 8b f0             	mov    %r8d,%esi
140a59556:	4c 89 84 24 88 00 00 	mov    %r8,0x88(%rsp)
140a5955d:	00
140a5955e:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140a59563:	eb 51                	jmp    0x140a595b6
140a59565:	49 81 fc 00 10 00 00 	cmp    $0x1000,%r12
140a5956c:	72 32                	jb     0x140a595a0
140a5956e:	49 8d 4c 24 27       	lea    0x27(%r12),%rcx
140a59573:	49 3b cc             	cmp    %r12,%rcx
140a59576:	0f 86 9b 01 00 00    	jbe    0x140a59717
140a5957c:	e8 87 1b 3c 00       	call   0x140e1b108
140a59581:	48 85 c0             	test   %rax,%rax
140a59584:	0f 84 99 01 00 00    	je     0x140a59723
140a5958a:	48 8d 70 27          	lea    0x27(%rax),%rsi
140a5958e:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
140a59592:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
140a59596:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
140a5959d:	00
140a5959e:	eb 13                	jmp    0x140a595b3
140a595a0:	49 8b cc             	mov    %r12,%rcx
140a595a3:	e8 60 1b 3c 00       	call   0x140e1b108
140a595a8:	48 8b f0             	mov    %rax,%rsi
140a595ab:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140a595b2:	00
140a595b3:	45 33 c0             	xor    %r8d,%r8d
140a595b6:	48 83 e7 f0          	and    $0xfffffffffffffff0,%rdi
140a595ba:	48 8d 14 37          	lea    (%rdi,%rsi,1),%rdx
140a595be:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140a595c3:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
140a595c7:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140a595cc:	49 8b 47 08          	mov    0x8(%r15),%rax