140a560d8:	00
140a560d9:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140a560de:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140a560e3:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140a560e8:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
140a560ed:	48 8d 94 24 90 00 00 	lea    0x90(%rsp),%rdx
140a560f4:	00
140a560f5:	48 8b cf             	mov    %rdi,%rcx
140a560f8:	48 8b 40 20          	mov    0x20(%rax),%rax
140a560fc:	ff 15 1e d9 52 00    	call   *0x52d91e(%rip)        # 0x140f83a20
140a56102:	90                   	nop
140a56103:	48 8b 06             	mov    (%rsi),%rax
140a56106:	48 8b ce             	mov    %rsi,%rcx
140a56109:	48 8b 40 10          	mov    0x10(%rax),%rax
140a5610d:	ff 15 0d d9 52 00    	call   *0x52d90d(%rip)        # 0x140f83a20
140a56113:	4c 8b c0             	mov    %rax,%r8
140a56116:	48 85 c0             	test   %rax,%rax
140a56119:	74 15                	je     0x140a56130
140a5611b:	48 8b 08             	mov    (%rax),%rcx
140a5611e:	48 8b 01             	mov    (%rcx),%rax
140a56121:	ba 01 00 00 00       	mov    $0x1,%edx
140a56126:	49 8b c8             	mov    %r8,%rcx
140a56129:	ff 15 f1 d8 52 00    	call   *0x52d8f1(%rip)        # 0x140f83a20
140a5612f:	90                   	nop
140a56130:	eb 0b                	jmp    0x140a5613d
140a56132:	45 33 e4             	xor    %r12d,%r12d
140a56135:	48 8b 9c 24 10 01 00 	mov    0x110(%rsp),%rbx
140a5613c:	00
140a5613d:	48 8b 03             	mov    (%rbx),%rax
140a56140:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a56144:	48 03 cb             	add    %rbx,%rcx
140a56147:	8b 84 24 20 01 00 00 	mov    0x120(%rsp),%eax
140a5614e:	0b 41 10             	or     0x10(%rcx),%eax
140a56151:	ba 04 00 00 00       	mov    $0x4,%edx
140a56156:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
140a5615b:	41 0f 45 d4          	cmovne %r12d,%edx
140a5615f:	0b d0                	or     %eax,%edx
140a56161:	83 e2 17             	and    $0x17,%edx
140a56164:	89 51 10             	mov    %edx,0x10(%rcx)
140a56167:	23 51 14             	and    0x14(%rcx),%edx
140a5616a:	75 3b                	jne    0x140a561a7
140a5616c:	48 8b 03             	mov    (%rbx),%rax
140a5616f:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a56173:	48 8b 4c 19 48       	mov    0x48(%rcx,%rbx,1),%rcx
140a56178:	48 85 c9             	test   %rcx,%rcx
140a5617b:	74 0e                	je     0x140a5618b
140a5617d:	48 8b 01             	mov    (%rcx),%rax
140a56180:	48 8b 40 10          	mov    0x10(%rax),%rax
140a56184:	ff 15 96 d8 52 00    	call   *0x52d896(%rip)        # 0x140f83a20
140a5618a:	90                   	nop
140a5618b:	48 8b c3             	mov    %rbx,%rax
140a5618e:	48 81 c4 d0 00 00 00 	add    $0xd0,%rsp
140a56195:	41 5f                	pop    %r15
140a56197:	41 5e                	pop    %r14
140a56199:	41 5d                	pop    %r13
140a5619b:	41 5c                	pop    %r12
140a5619d:	5f                   	pop    %rdi
140a5619e:	5e                   	pop    %rsi
140a5619f:	5b                   	pop    %rbx
140a561a0:	c3                   	ret
140a561a1:	e8 aa 25 79 ff       	call   0x1401e8750
140a561a6:	90                   	nop
140a561a7:	f6 c2 04             	test   $0x4,%dl
140a561aa:	74 09                	je     0x140a561b5
140a561ac:	48 8d 1d 35 35 55 00 	lea    0x553535(%rip),%rbx        # 0x140fa96e8
140a561b3:	eb 15                	jmp    0x140a561ca
140a561b5:	f6 c2 02             	test   $0x2,%dl
140a561b8:	48 8d 1d 41 35 55 00 	lea    0x553541(%rip),%rbx        # 0x140fa9700
140a561bf:	48 8d 05 52 35 55 00 	lea    0x553552(%rip),%rax        # 0x140fa9718
140a561c6:	48 0f 44 d8          	cmove  %rax,%rbx
140a561ca:	ba 01 00 00 00       	mov    $0x1,%edx
140a561cf:	48 8d 8c 24 90 00 00 	lea    0x90(%rsp),%rcx
140a561d6:	00
140a561d7:	e8 e4 15 7b ff       	call   0x1402077c0
140a561dc:	4c 8b c0             	mov    %rax,%r8
140a561df:	48 8b d3             	mov    %rbx,%rdx
140a561e2:	48 8d 8c 24 a0 00 00 	lea    0xa0(%rsp),%rcx
140a561e9:	00
140a561ea:	e8 41 a6 78 ff       	call   0x1401e0830
140a561ef:	48 8d 15 22 ab 94 00 	lea    0x94ab22(%rip),%rdx        # 0x1413a0d18
140a561f6:	48 8d 8c 24 a0 00 00 	lea    0xa0(%rsp),%rcx
140a561fd:	00
140a561fe:	e8 15 66 3c 00       	call   0x140e1c818
140a56203:	cc                   	int3
140a56204:	cc                   	int3
140a56205:	cc                   	int3
140a56206:	cc                   	int3
140a56207:	cc                   	int3
140a56208:	cc                   	int3
140a56209:	cc                   	int3
140a5620a:	cc                   	int3
140a5620b:	cc                   	int3
140a5620c:	cc                   	int3
140a5620d:	cc                   	int3
140a5620e:	cc                   	int3
140a5620f:	cc                   	int3
140a56210:	40 56                	rex push %rsi
140a56212:	57                   	push   %rdi
140a56213:	41 56                	push   %r14
140a56215:	41 57                	push   %r15
140a56217:	48 83 ec 28          	sub    $0x28,%rsp
140a5621b:	4c 8b 71 10          	mov    0x10(%rcx),%r14
140a5621f:	48 bf fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rdi
140a56226:	ff ff 7f
140a56229:	48 8b c7             	mov    %rdi,%rax
140a5622c:	45 0f b7 f9          	movzwl %r9w,%r15d
140a56230:	49 2b c6             	sub    %r14,%rax
140a56233:	48 8b f1             	mov    %rcx,%rsi
140a56236:	48 3b c2             	cmp    %rdx,%rax
140a56239:	0f 82 5a 01 00 00    	jb     0x140a56399
140a5623f:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140a56244:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
140a56249:	48 8b 69 18          	mov    0x18(%rcx),%rbp
140a5624d:	4c 89 64 24 60       	mov    %r12,0x60(%rsp)
140a56252:	4d 8d 24 16          	lea    (%r14,%rdx,1),%r12
140a56256:	49 8b d4             	mov    %r12,%rdx
140a56259:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140a5625e:	48 83 ca 07          	or     $0x7,%rdx
140a56262:	45 33 ed             	xor    %r13d,%r13d
140a56265:	48 3b d7             	cmp    %rdi,%rdx
140a56268:	77 40                	ja     0x140a562aa
140a5626a:	48 8b cd             	mov    %rbp,%rcx
140a5626d:	48 8b c7             	mov    %rdi,%rax
140a56270:	48 d1 e9             	shr    $1,%rcx
140a56273:	48 2b c1             	sub    %rcx,%rax
140a56276:	48 3b e8             	cmp    %rax,%rbp
140a56279:	77 2f                	ja     0x140a562aa
140a5627b:	48 8d 04 29          	lea    (%rcx,%rbp,1),%rax
140a5627f:	48 8b fa             	mov    %rdx,%rdi
140a56282:	48 3b d0             	cmp    %rax,%rdx
140a56285:	48 0f 42 f8          	cmovb  %rax,%rdi
140a56289:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140a56290:	ff ff 7f
140a56293:	48 8d 4f 01          	lea    0x1(%rdi),%rcx
140a56297:	48 3b c8             	cmp    %rax,%rcx
140a5629a:	0f 87 f3 00 00 00    	ja     0x140a56393
140a562a0:	48 03 c9             	add    %rcx,%rcx
140a562a3:	75 13                	jne    0x140a562b8
140a562a5:	41 8b dd             	mov    %r13d,%ebx
140a562a8:	eb 4b                	jmp    0x140a562f5
140a562aa:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140a562b1:	ff ff 7f
140a562b4:	48 8d 0c 00          	lea    (%rax,%rax,1),%rcx
140a562b8:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a562bf:	72 2c                	jb     0x140a562ed
140a562c1:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a562c5:	48 3b c1             	cmp    %rcx,%rax
140a562c8:	0f 86 c5 00 00 00    	jbe    0x140a56393
140a562ce:	48 8b c8             	mov    %rax,%rcx
140a562d1:	e8 32 4e 3c 00       	call   0x140e1b108
140a562d6:	48 85 c0             	test   %rax,%rax
140a562d9:	0f 84 ae 00 00 00    	je     0x140a5638d
140a562df:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a562e3:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a562e7:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a562eb:	eb 08                	jmp    0x140a562f5
140a562ed:	e8 16 4e 3c 00       	call   0x140e1b108
140a562f2:	48 8b d8             	mov    %rax,%rbx
140a562f5:	4d 03 f6             	add    %r14,%r14
140a562f8:	4c 89 66 10          	mov    %r12,0x10(%rsi)
140a562fc:	48 89 7e 18          	mov    %rdi,0x18(%rsi)
140a56300:	4d 8b c6             	mov    %r14,%r8
140a56303:	48 8b cb             	mov    %rbx,%rcx
140a56306:	48 83 fd 07          	cmp    $0x7,%rbp
140a5630a:	76 49                	jbe    0x140a56355
140a5630c:	48 8b 3e             	mov    (%rsi),%rdi
140a5630f:	48 8b d7             	mov    %rdi,%rdx
140a56312:	e8 f9 8c 48 00       	call   0x140edf010
140a56317:	48 8d 14 6d 02 00 00 	lea    0x2(,%rbp,2),%rdx
140a5631e:	00
140a5631f:	66 45 89 3c 1e       	mov    %r15w,(%r14,%rbx,1)
140a56324:	66 45 89 6c 1e 02    	mov    %r13w,0x2(%r14,%rbx,1)
140a5632a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a56331:	72 18                	jb     0x140a5634b
140a56333:	48 8b 4f f8          	mov    -0x8(%rdi),%rcx
140a56337:	48 83 c2 27          	add    $0x27,%rdx
140a5633b:	48 2b f9             	sub    %rcx,%rdi
140a5633e:	48 8d 47 f8          	lea    -0x8(%rdi),%rax
140a56342:	48 83 f8 1f          	cmp    $0x1f,%rax
140a56346:	77 45                	ja     0x140a5638d
140a56348:	48 8b f9             	mov    %rcx,%rdi
140a5634b:	48 8b cf             	mov    %rdi,%rcx
140a5634e:	e8 f1 4d 3c 00       	call   0x140e1b144
140a56353:	eb 13                	jmp    0x140a56368
140a56355:	48 8b d6             	mov    %rsi,%rdx
140a56358:	e8 b3 8c 48 00       	call   0x140edf010
140a5635d:	66 45 89 3c 1e       	mov    %r15w,(%r14,%rbx,1)
140a56362:	66 45 89 6c 1e 02    	mov    %r13w,0x2(%r14,%rbx,1)
140a56368:	48 89 1e             	mov    %rbx,(%rsi)
140a5636b:	48 8b c6             	mov    %rsi,%rax
140a5636e:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
140a56373:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140a56378:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140a5637d:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140a56382:	48 83 c4 28          	add    $0x28,%rsp
140a56386:	41 5f                	pop    %r15
140a56388:	41 5e                	pop    %r14
140a5638a:	5f                   	pop    %rdi
140a5638b:	5e                   	pop    %rsi
140a5638c:	c3                   	ret
140a5638d:	e8 12 3e 3d 00       	call   0x140e2a1a4
140a56392:	cc                   	int3
140a56393:	e8 f8 6d 74 ff       	call   0x14019d190
140a56398:	cc                   	int3
140a56399:	e8 d2 71 74 ff       	call   0x14019d570
140a5639e:	cc                   	int3
140a5639f:	cc                   	int3
140a563a0:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a563a5:	57                   	push   %rdi
140a563a6:	41 56                	push   %r14
140a563a8:	41 57                	push   %r15
140a563aa:	48 83 ec 20          	sub    $0x20,%rsp
140a563ae:	4c 8b 71 10          	mov    0x10(%rcx),%r14
140a563b2:	48 bf fe ff ff ff ff 	movabs $0x3ffffffffffffffe,%rdi
140a563b9:	ff ff 3f
140a563bc:	48 8b c7             	mov    %rdi,%rax
140a563bf:	45 8b f9             	mov    %r9d,%r15d
140a563c2:	49 2b c6             	sub    %r14,%rax
140a563c5:	48 8b f1             	mov    %rcx,%rsi
140a563c8:	48 3b c2             	cmp    %rdx,%rax
140a563cb:	0f 82 65 01 00 00    	jb     0x140a56536
140a563d1:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140a563d6:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
140a563db:	48 8b 69 18          	mov    0x18(%rcx),%rbp
140a563df:	4c 89 64 24 50       	mov    %r12,0x50(%rsp)
140a563e4:	4d 8d 24 16          	lea    (%r14,%rdx,1),%r12
140a563e8:	49 8b d4             	mov    %r12,%rdx
140a563eb:	48 83 ca 03          	or     $0x3,%rdx
140a563ef:	48 3b d7             	cmp    %rdi,%rdx
140a563f2:	77 11                	ja     0x140a56405
140a563f4:	48 8b cd             	mov    %rbp,%rcx
140a563f7:	48 8b c7             	mov    %rdi,%rax
140a563fa:	48 d1 e9             	shr    $1,%rcx
140a563fd:	48 2b c1             	sub    %rcx,%rax
140a56400:	48 3b e8             	cmp    %rax,%rbp
140a56403:	76 47                	jbe    0x140a5644c
140a56405:	48 b8 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rax
140a5640c:	ff ff 3f
140a5640f:	48 8d 0c 85 00 00 00 	lea    0x0(,%rax,4),%rcx
140a56416:	00
140a56417:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a5641e:	72 62                	jb     0x140a56482
140a56420:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a56424:	48 3b c1             	cmp    %rcx,%rax
140a56427:	0f 86 03 01 00 00    	jbe    0x140a56530
140a5642d:	48 8b c8             	mov    %rax,%rcx
140a56430:	e8 d3 4c 3c 00       	call   0x140e1b108
140a56435:	48 85 c0             	test   %rax,%rax
140a56438:	0f 84 ec 00 00 00    	je     0x140a5652a
140a5643e:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a56442:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a56446:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a5644a:	eb 3e                	jmp    0x140a5648a
140a5644c:	48 8d 04 29          	lea    (%rcx,%rbp,1),%rax
140a56450:	48 8b fa             	mov    %rdx,%rdi
140a56453:	48 3b d0             	cmp    %rax,%rdx
140a56456:	48 0f 42 f8          	cmovb  %rax,%rdi
140a5645a:	48 b8 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rax
140a56461:	ff ff 3f
140a56464:	48 8d 4f 01          	lea    0x1(%rdi),%rcx
140a56468:	48 3b c8             	cmp    %rax,%rcx
140a5646b:	0f 87 bf 00 00 00    	ja     0x140a56530
140a56471:	48 8d 0c 8d 00 00 00 	lea    0x0(,%rcx,4),%rcx
140a56478:	00
140a56479:	48 85 c9             	test   %rcx,%rcx
140a5647c:	75 99                	jne    0x140a56417
140a5647e:	33 db                	xor    %ebx,%ebx
140a56480:	eb 08                	jmp    0x140a5648a
140a56482:	e8 81 4c 3c 00       	call   0x140e1b108
140a56487:	48 8b d8             	mov    %rax,%rbx
140a5648a:	4c 89 66 10          	mov    %r12,0x10(%rsi)
140a5648e:	4e 8d 34 b5 00 00 00 	lea    0x0(,%r14,4),%r14
140a56495:	00
140a56496:	48 89 7e 18          	mov    %rdi,0x18(%rsi)
140a5649a:	4d 8b c6             	mov    %r14,%r8
140a5649d:	48 8b cb             	mov    %rbx,%rcx
140a564a0:	48 83 fd 03          	cmp    $0x3,%rbp
140a564a4:	76 4b                	jbe    0x140a564f1
140a564a6:	48 8b 3e             	mov    (%rsi),%rdi
140a564a9:	48 8b d7             	mov    %rdi,%rdx
140a564ac:	e8 5f 8b 48 00       	call   0x140edf010
140a564b1:	48 8d 14 ad 04 00 00 	lea    0x4(,%rbp,4),%rdx
140a564b8:	00
140a564b9:	45 89 3c 1e          	mov    %r15d,(%r14,%rbx,1)
140a564bd:	41 c7 44 1e 04 00 00 	movl   $0x0,0x4(%r14,%rbx,1)
140a564c4:	00 00
140a564c6:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a564cd:	72 18                	jb     0x140a564e7
140a564cf:	48 8b 4f f8          	mov    -0x8(%rdi),%rcx
140a564d3:	48 83 c2 27          	add    $0x27,%rdx
140a564d7:	48 2b f9             	sub    %rcx,%rdi
140a564da:	48 8d 47 f8          	lea    -0x8(%rdi),%rax
140a564de:	48 83 f8 1f          	cmp    $0x1f,%rax
140a564e2:	77 46                	ja     0x140a5652a
140a564e4:	48 8b f9             	mov    %rcx,%rdi
140a564e7:	48 8b cf             	mov    %rdi,%rcx
140a564ea:	e8 55 4c 3c 00       	call   0x140e1b144
140a564ef:	eb 15                	jmp    0x140a56506
140a564f1:	48 8b d6             	mov    %rsi,%rdx
140a564f4:	e8 17 8b 48 00       	call   0x140edf010
140a564f9:	45 89 3c 1e          	mov    %r15d,(%r14,%rbx,1)
140a564fd:	41 c7 44 1e 04 00 00 	movl   $0x0,0x4(%r14,%rbx,1)
140a56504:	00 00
140a56506:	48 89 1e             	mov    %rbx,(%rsi)
140a56509:	48 8b c6             	mov    %rsi,%rax
140a5650c:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140a56511:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140a56516:	4c 8b 64 24 50       	mov    0x50(%rsp),%r12
140a5651b:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a56520:	48 83 c4 20          	add    $0x20,%rsp
140a56524:	41 5f                	pop    %r15
140a56526:	41 5e                	pop    %r14
140a56528:	5f                   	pop    %rdi
140a56529:	c3                   	ret
140a5652a:	e8 75 3c 3d 00       	call   0x140e2a1a4
140a5652f:	cc                   	int3
140a56530:	e8 5b 6c 74 ff       	call   0x14019d190
140a56535:	cc                   	int3
140a56536:	e8 35 70 74 ff       	call   0x14019d570
140a5653b:	cc                   	int3
140a5653c:	cc                   	int3
140a5653d:	cc                   	int3
140a5653e:	cc                   	int3
140a5653f:	cc                   	int3
140a56540:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a56545:	57                   	push   %rdi
140a56546:	48 83 ec 20          	sub    $0x20,%rsp
140a5654a:	48 8b fa             	mov    %rdx,%rdi
140a5654d:	48 8b d9             	mov    %rcx,%rbx
140a56550:	33 c0                	xor    %eax,%eax
140a56552:	89 44 24 30          	mov    %eax,0x30(%rsp)
140a56556:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140a5655a:	48 8d 42 04          	lea    0x4(%rdx),%rax
140a5655e:	48 3b 41 18          	cmp    0x18(%rcx),%rax
140a56562:	76 32                	jbe    0x140a56596
140a56564:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5656a:	b2 18                	mov    $0x18,%dl
140a5656c:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a56571:	e8 6a 0a fb ff       	call   0x140a06fe0
140a56576:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5657a:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140a5657f:	e8 6c 87 f6 ff       	call   0x1409becf0
140a56584:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a56589:	e8 62 8c f6 ff       	call   0x1409bf1f0
140a5658e:	32 c0                	xor    %al,%al
140a56590:	8b 54 24 30          	mov    0x30(%rsp),%edx
140a56594:	eb 09                	jmp    0x140a5659f
140a56596:	8b 12                	mov    (%rdx),%edx
140a56598:	48 83 41 10 04       	addq   $0x4,0x10(%rcx)
140a5659d:	b0 01                	mov    $0x1,%al