140890165:	48 83 c4 30          	add    $0x30,%rsp
140890169:	41 5f                	pop    %r15
14089016b:	41 5e                	pop    %r14
14089016d:	41 5d                	pop    %r13
14089016f:	5f                   	pop    %rdi
140890170:	5e                   	pop    %rsi
140890171:	c3                   	ret
140890172:	cc                   	int3
140890173:	cc                   	int3
140890174:	cc                   	int3
140890175:	cc                   	int3
140890176:	cc                   	int3
140890177:	cc                   	int3
140890178:	cc                   	int3
140890179:	cc                   	int3
14089017a:	cc                   	int3
14089017b:	cc                   	int3
14089017c:	cc                   	int3
14089017d:	cc                   	int3
14089017e:	cc                   	int3
14089017f:	cc                   	int3
140890180:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140890185:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14089018a:	56                   	push   %rsi
14089018b:	57                   	push   %rdi
14089018c:	41 55                	push   %r13
14089018e:	41 56                	push   %r14
140890190:	41 57                	push   %r15
140890192:	48 83 ec 30          	sub    $0x30,%rsp
140890196:	48 8b 01             	mov    (%rcx),%rax
140890199:	48 8b d9             	mov    %rcx,%rbx
14089019c:	48 63 f2             	movslq %edx,%rsi
14089019f:	48 8b f9             	mov    %rcx,%rdi
1408901a2:	4c 8b ce             	mov    %rsi,%r9
1408901a5:	49 c1 e1 05          	shl    $0x5,%r9
1408901a9:	4c 8b 40 20          	mov    0x20(%rax),%r8
1408901ad:	48 8b 81 a0 00 00 00 	mov    0xa0(%rcx),%rax
1408901b4:	48 85 c0             	test   %rax,%rax
1408901b7:	4f 8b 6c 01 18       	mov    0x18(%r9,%r8,1),%r13
1408901bc:	48 0f 45 d8          	cmovne %rax,%rbx
1408901c0:	8b 43 74             	mov    0x74(%rbx),%eax
1408901c3:	0f a3 f0             	bt     %esi,%eax
1408901c6:	72 13                	jb     0x1408901db
1408901c8:	0f ab f0             	bts    %esi,%eax
1408901cb:	89 43 74             	mov    %eax,0x74(%rbx)
1408901ce:	83 fe 01             	cmp    $0x1,%esi
1408901d1:	75 08                	jne    0x1408901db
1408901d3:	48 8b cb             	mov    %rbx,%rcx
1408901d6:	e8 b5 e6 05 00       	call   0x1408ee890
1408901db:	8b 43 70             	mov    0x70(%rbx),%eax
1408901de:	45 33 c9             	xor    %r9d,%r9d
1408901e1:	0f ab f0             	bts    %esi,%eax
1408901e4:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1408901eb:	00 00
1408901ed:	89 43 70             	mov    %eax,0x70(%rbx)
1408901f0:	8b d6                	mov    %esi,%edx
1408901f2:	8b 6f 34             	mov    0x34(%rdi),%ebp
1408901f5:	48 8b cf             	mov    %rdi,%rcx
1408901f8:	44 8b c5             	mov    %ebp,%r8d
1408901fb:	8d 45 03             	lea    0x3(%rbp),%eax
1408901fe:	89 47 34             	mov    %eax,0x34(%rdi)
140890201:	e8 9a 72 02 00       	call   0x1408b74a0
140890206:	44 8b 77 38          	mov    0x38(%rdi),%r14d
14089020a:	49 8b 5d 10          	mov    0x10(%r13),%rbx
14089020e:	41 ff c6             	inc    %r14d
140890211:	44 8b 7f 34          	mov    0x34(%rdi),%r15d
140890215:	48 85 db             	test   %rbx,%rbx
140890218:	74 2a                	je     0x140890244
14089021a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140890220:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140890224:	44 8b cd             	mov    %ebp,%r9d
140890227:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
14089022c:	45 33 c0             	xor    %r8d,%r8d
14089022f:	48 8b cf             	mov    %rdi,%rcx
140890232:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140890237:	e8 34 00 00 00       	call   0x140890270
14089023c:	48 8b 1b             	mov    (%rbx),%rbx
14089023f:	48 85 db             	test   %rbx,%rbx
140890242:	75 dc                	jne    0x140890220
140890244:	8b d6                	mov    %esi,%edx
140890246:	48 8b cf             	mov    %rdi,%rcx
140890249:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14089024e:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140890253:	48 83 c4 30          	add    $0x30,%rsp
140890257:	41 5f                	pop    %r15
140890259:	41 5e                	pop    %r14
14089025b:	41 5d                	pop    %r13
14089025d:	5f                   	pop    %rdi
14089025e:	5e                   	pop    %rsi
14089025f:	e9 4c 1e 02 00       	jmp    0x1408b20b0
140890264:	cc                   	int3
140890265:	cc                   	int3
140890266:	cc                   	int3
140890267:	cc                   	int3
140890268:	cc                   	int3
140890269:	cc                   	int3
14089026a:	cc                   	int3
14089026b:	cc                   	int3
14089026c:	cc                   	int3
14089026d:	cc                   	int3
14089026e:	cc                   	int3
14089026f:	cc                   	int3
140890270:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140890275:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14089027a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14089027f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140890284:	53                   	push   %rbx
140890285:	55                   	push   %rbp
140890286:	57                   	push   %rdi
140890287:	41 54                	push   %r12
140890289:	41 56                	push   %r14
14089028b:	41 57                	push   %r15
14089028d:	48 81 ec c8 00 00 00 	sub    $0xc8,%rsp
140890294:	44 8b a4 24 20 01 00 	mov    0x120(%rsp),%r12d
14089029b:	00
14089029c:	48 8b fa             	mov    %rdx,%rdi
14089029f:	8b 41 38             	mov    0x38(%rcx),%eax
1408902a2:	4c 8b f9             	mov    %rcx,%r15
1408902a5:	48 8b 59 10          	mov    0x10(%rcx),%rbx
1408902a9:	4c 8b 31             	mov    (%rcx),%r14
1408902ac:	44 89 64 24 5c       	mov    %r12d,0x5c(%rsp)
1408902b1:	41 ff c4             	inc    %r12d
1408902b4:	44 89 64 24 54       	mov    %r12d,0x54(%rsp)
1408902b9:	41 ff c4             	inc    %r12d
1408902bc:	44 89 64 24 44       	mov    %r12d,0x44(%rsp)
1408902c1:	41 ff c4             	inc    %r12d
1408902c4:	44 89 64 24 64       	mov    %r12d,0x64(%rsp)
1408902c9:	41 ff c4             	inc    %r12d
1408902cc:	41 8b ec             	mov    %r12d,%ebp
1408902cf:	44 89 64 24 40       	mov    %r12d,0x40(%rsp)
1408902d4:	41 ff c4             	inc    %r12d
1408902d7:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
1408902de:	00
1408902df:	44 89 64 24 68       	mov    %r12d,0x68(%rsp)
1408902e4:	41 ff c4             	inc    %r12d
1408902e7:	44 89 64 24 58       	mov    %r12d,0x58(%rsp)
1408902ec:	41 ff c4             	inc    %r12d
1408902ef:	44 89 64 24 78       	mov    %r12d,0x78(%rsp)
1408902f4:	41 ff c4             	inc    %r12d
1408902f7:	44 89 64 24 74       	mov    %r12d,0x74(%rsp)
1408902fc:	41 ff c4             	inc    %r12d
1408902ff:	41 3b c4             	cmp    %r12d,%eax
140890302:	c6 44 24 60 01       	movb   $0x1,0x60(%rsp)
140890307:	44 89 a4 24 20 01 00 	mov    %r12d,0x120(%rsp)
14089030e:	00
14089030f:	41 0f 4e c4          	cmovle %r12d,%eax
140890313:	89 41 38             	mov    %eax,0x38(%rcx)
140890316:	48 85 db             	test   %rbx,%rbx
140890319:	74 07                	je     0x140890322
14089031b:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)
140890320:	eb 2b                	jmp    0x14089034d
140890322:	48 83 b9 a0 00 00 00 	cmpq   $0x0,0xa0(%rcx)
140890329:	00
14089032a:	75 0b                	jne    0x140890337
14089032c:	41 f6 46 60 08       	testb  $0x8,0x60(%r14)
140890331:	75 04                	jne    0x140890337
140890333:	c6 41 23 01          	movb   $0x1,0x23(%rcx)
140890337:	e8 84 75 07 00       	call   0x1409078c0
14089033c:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140890341:	48 8b d8             	mov    %rax,%rbx
140890344:	48 85 c0             	test   %rax,%rax
140890347:	0f 84 85 10 00 00    	je     0x1408913d2
14089034d:	48 85 ff             	test   %rdi,%rdi
140890350:	0f 84 7c 10 00 00    	je     0x1408913d2
140890356:	80 7f 3f 00          	cmpb   $0x0,0x3f(%rdi)
14089035a:	0f 85 72 10 00 00    	jne    0x1408913d2
140890360:	48 8b 17             	mov    (%rdi),%rdx
140890363:	4c 8d 05 f2 5f 7b 00 	lea    0x7b5ff2(%rip),%r8        # 0x14104635c
14089036a:	41 b9 5c 00 00 00    	mov    $0x5c,%r9d
140890370:	48 8d 0d e1 0a 7c 00 	lea    0x7c0ae1(%rip),%rcx        # 0x141050e58
140890377:	e8 d4 b8 02 00       	call   0x1408bbc50
14089037c:	85 c0                	test   %eax,%eax
14089037e:	0f 84 4e 10 00 00    	je     0x1408913d2
140890384:	48 8b 4f 60          	mov    0x60(%rdi),%rcx
140890388:	33 c0                	xor    %eax,%eax
14089038a:	48 89 b4 24 c0 00 00 	mov    %rsi,0xc0(%rsp)
140890391:	00
140890392:	be 00 80 ff ff       	mov    $0xffff8000,%esi
140890397:	89 74 24 50          	mov    %esi,0x50(%rsp)
14089039b:	48 85 c9             	test   %rcx,%rcx
14089039e:	74 22                	je     0x1408903c2
1408903a0:	8b f0                	mov    %eax,%esi
1408903a2:	89 44 24 50          	mov    %eax,0x50(%rsp)
1408903a6:	49 8b 46 20          	mov    0x20(%r14),%rax
1408903aa:	48 83 c0 18          	add    $0x18,%rax
1408903ae:	48 39 08             	cmp    %rcx,(%rax)
1408903b1:	74 0f                	je     0x1408903c2
1408903b3:	ff c6                	inc    %esi
1408903b5:	48 8d 40 20          	lea    0x20(%rax),%rax
1408903b9:	48 39 08             	cmp    %rcx,(%rax)
1408903bc:	75 f5                	jne    0x1408903b3
1408903be:	89 74 24 50          	mov    %esi,0x50(%rsp)
1408903c2:	49 8b 46 20          	mov    0x20(%r14),%rax
1408903c6:	45 33 c9             	xor    %r9d,%r9d
1408903c9:	4c 8b b4 24 08 01 00 	mov    0x108(%rsp),%r14
1408903d0:	00
1408903d1:	ba 1c 00 00 00       	mov    $0x1c,%edx
1408903d6:	48 63 fe             	movslq %esi,%rdi
1408903d9:	48 c1 e7 05          	shl    $0x5,%rdi
1408903dd:	4d 8b 06             	mov    (%r14),%r8
1408903e0:	48 8b 0c 38          	mov    (%rax,%rdi,1),%rcx
1408903e4:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1408903e9:	49 8b cf             	mov    %r15,%rcx
1408903ec:	e8 0f a6 03 00       	call   0x1408caa00
1408903f1:	85 c0                	test   %eax,%eax
1408903f3:	0f 85 d1 0f 00 00    	jne    0x1408913ca
1408903f9:	4c 89 ac 24 b8 00 00 	mov    %r13,0xb8(%rsp)
140890400:	00
140890401:	83 fe 01             	cmp    $0x1,%esi
140890404:	74 2b                	je     0x140890431
140890406:	49 8b 07             	mov    (%r15),%rax
140890409:	48 8b 48 20          	mov    0x20(%rax),%rcx
14089040d:	48 8b 44 39 08       	mov    0x8(%rcx,%rdi,1),%rax
140890412:	80 78 11 00          	cmpb   $0x0,0x11(%rax)
140890416:	74 19                	je     0x140890431
140890418:	49 8b 06             	mov    (%r14),%rax
14089041b:	45 33 c9             	xor    %r9d,%r9d
14089041e:	45 8b 46 28          	mov    0x28(%r14),%r8d
140890422:	8b d6                	mov    %esi,%edx
140890424:	49 8b cf             	mov    %r15,%rcx
140890427:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14089042c:	e8 2f 20 02 00       	call   0x1408b2460
140890431:	41 8b 47 34          	mov    0x34(%r15),%eax
140890435:	4d 8b ce             	mov    %r14,%r9
140890438:	44 8b ac 24 28 01 00 	mov    0x128(%rsp),%r13d
14089043f:	00
140890440:	44 8b c6             	mov    %esi,%r8d
140890443:	41 8b d5             	mov    %r13d,%edx
140890446:	c7 44 24 20 70 00 00 	movl   $0x70,0x20(%rsp)
14089044d:	00
14089044e:	41 ff c5             	inc    %r13d
140890451:	89 94 24 90 00 00 00 	mov    %edx,0x90(%rsp)
140890458:	44 89 ac 24 28 01 00 	mov    %r13d,0x128(%rsp)
14089045f:	00
140890460:	41 8d 4d 01          	lea    0x1(%r13),%ecx
140890464:	3b c1                	cmp    %ecx,%eax
140890466:	0f 4e c1             	cmovle %ecx,%eax
140890469:	49 8b cf             	mov    %r15,%rcx
14089046c:	41 89 47 34          	mov    %eax,0x34(%r15)
140890470:	e8 fb df 05 00       	call   0x1408ee470
140890475:	8b 74 24 58          	mov    0x58(%rsp),%esi
140890479:	48 8b cb             	mov    %rbx,%rcx
14089047c:	4d 8b 06             	mov    (%r14),%r8
14089047f:	8b d6                	mov    %esi,%edx
140890481:	e8 6a 22 08 00       	call   0x1409126f0
140890486:	49 8b 7e 10          	mov    0x10(%r14),%rdi
14089048a:	48 89 bc 24 80 00 00 	mov    %rdi,0x80(%rsp)
140890491:	00
140890492:	48 85 ff             	test   %rdi,%rdi
140890495:	0f 84 3d 0e 00 00    	je     0x1408912d8
14089049b:	48 8b 84 24 10 01 00 	mov    0x110(%rsp),%rax
1408904a2:	00
1408904a3:	48 85 c0             	test   %rax,%rax
1408904a6:	74 09                	je     0x1408904b1
1408904a8:	48 3b c7             	cmp    %rdi,%rax
1408904ab:	0f 85 06 0e 00 00    	jne    0x1408912b7
1408904b1:	8b 44 24 60          	mov    0x60(%rsp),%eax
1408904b5:	b9 00 00 00 00       	mov    $0x0,%ecx
1408904ba:	48 83 7f 48 00       	cmpq   $0x0,0x48(%rdi)
1408904bf:	0f b6 c0             	movzbl %al,%eax
1408904c2:	0f 44 c1             	cmove  %ecx,%eax
1408904c5:	41 f6 46 30 80       	testb  $0x80,0x30(%r14)
1408904ca:	89 44 24 60          	mov    %eax,0x60(%rsp)
1408904ce:	74 14                	je     0x1408904e4
1408904d0:	8b 47 64             	mov    0x64(%rdi),%eax
1408904d3:	24 03                	and    $0x3,%al
1408904d5:	3c 02                	cmp    $0x2,%al
1408904d7:	75 0b                	jne    0x1408904e4
1408904d9:	0f b7 77 5e          	movzwl 0x5e(%rdi),%esi
1408904dd:	4d 8b c6             	mov    %r14,%r8
1408904e0:	8b ee                	mov    %esi,%ebp
1408904e2:	eb 13                	jmp    0x1408904f7
1408904e4:	f6 47 64 08          	testb  $0x8,0x64(%rdi)
1408904e8:	4c 8b c7             	mov    %rdi,%r8
1408904eb:	0f b7 77 60          	movzwl 0x60(%rdi),%esi
1408904ef:	8b ee                	mov    %esi,%ebp
1408904f1:	74 04                	je     0x1408904f7
1408904f3:	0f b7 6f 5e          	movzwl 0x5e(%rdi),%ebp
1408904f7:	4d 8b 00             	mov    (%r8),%r8
1408904fa:	44 8d 75 ff          	lea    -0x1(%rbp),%r14d
1408904fe:	8b 54 24 78          	mov    0x78(%rsp),%edx
140890502:	48 8b cb             	mov    %rbx,%rcx
140890505:	44 89 74 24 6c       	mov    %r14d,0x6c(%rsp)
14089050a:	e8 e1 21 08 00       	call   0x1409126f0
14089050f:	41 8b 47 38          	mov    0x38(%r15),%eax
140890513:	43 8d 0c 26          	lea    (%r14,%r12,1),%ecx
140890517:	3b c1                	cmp    %ecx,%eax
140890519:	0f 4e c1             	cmovle %ecx,%eax
14089051c:	41 89 47 38          	mov    %eax,0x38(%r15)
140890520:	48 63 8b 90 00 00 00 	movslq 0x90(%rbx),%rcx
140890527:	8b 57 58             	mov    0x58(%rdi),%edx
14089052a:	39 8b 94 00 00 00    	cmp    %ecx,0x94(%rbx)
140890530:	7f 1d                	jg     0x14089054f
140890532:	8b 44 24 50          	mov    0x50(%rsp),%eax
140890536:	44 8b ca             	mov    %edx,%r9d
140890539:	ba 70 00 00 00       	mov    $0x70,%edx
14089053e:	89 44 24 20          	mov    %eax,0x20(%rsp)
140890542:	45 8b c5             	mov    %r13d,%r8d
140890545:	48 8b cb             	mov    %rbx,%rcx
140890548:	e8 53 c8 01 00       	call   0x1408acda0
14089054d:	eb 34                	jmp    0x140890583
14089054f:	8d 41 01             	lea    0x1(%rcx),%eax
140890552:	45 33 c0             	xor    %r8d,%r8d
140890555:	89 83 90 00 00 00    	mov    %eax,0x90(%rbx)
14089055b:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
14089055f:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
140890566:	89 54 c8 08          	mov    %edx,0x8(%rax,%rcx,8)
14089056a:	8b 54 24 50          	mov    0x50(%rsp),%edx
14089056e:	89 54 c8 0c          	mov    %edx,0xc(%rax,%rcx,8)
140890572:	c7 04 c8 70 00 00 00 	movl   $0x70,(%rax,%rcx,8)
140890579:	44 89 6c c8 04       	mov    %r13d,0x4(%rax,%rcx,8)
14089057e:	4c 89 44 c8 10       	mov    %r8,0x10(%rax,%rcx,8)
140890583:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
14089058a:	00
14089058b:	49 8b cf             	mov    %r15,%rcx
14089058e:	49 8b 7f 10          	mov    0x10(%r15),%rdi
140890592:	e8 09 bb 05 00       	call   0x1408ec0a0
140890597:	48 8b d0             	mov    %rax,%rdx
14089059a:	48 85 c0             	test   %rax,%rax
14089059d:	74 39                	je     0x1408905d8
14089059f:	48 8b 07             	mov    (%rdi),%rax
1408905a2:	80 78 67 00          	cmpb   $0x0,0x67(%rax)
1408905a6:	74 14                	je     0x1408905bc
1408905a8:	48 83 b8 00 03 00 00 	cmpq   $0x0,0x300(%rax)
1408905af:	00
1408905b0:	75 26                	jne    0x1408905d8
1408905b2:	48 8b ca             	mov    %rdx,%rcx
1408905b5:	e8 56 bc 05 00       	call   0x1408ec210
1408905ba:	eb 1c                	jmp    0x1408905d8
1408905bc:	48 63 87 90 00 00 00 	movslq 0x90(%rdi),%rax
1408905c3:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1408905c7:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
1408905ce:	c6 44 c8 e9 f8       	movb   $0xf8,-0x17(%rax,%rcx,8)
1408905d3:	48 89 54 c8 f8       	mov    %rdx,-0x8(%rax,%rcx,8)
1408905d8:	8b 54 24 54          	mov    0x54(%rsp),%edx
1408905dc:	48 63 8b 90 00 00 00 	movslq 0x90(%rbx),%rcx
1408905e3:	ff c2                	inc    %edx
1408905e5:	39 8b 94 00 00 00    	cmp    %ecx,0x94(%rbx)
1408905eb:	7f 1e                	jg     0x14089060b
1408905ed:	33 c0                	xor    %eax,%eax
1408905ef:	44 8b ca             	mov    %edx,%r9d
1408905f2:	ba 47 00 00 00       	mov    $0x47,%edx
1408905f7:	89 44 24 20          	mov    %eax,0x20(%rsp)
1408905fb:	44 8b c6             	mov    %esi,%r8d
1408905fe:	48 8b cb             	mov    %rbx,%rcx
140890601:	e8 9a c7 01 00       	call   0x1408acda0
140890606:	45 33 c0             	xor    %r8d,%r8d
140890609:	eb 30                	jmp    0x14089063b
14089060b:	8d 41 01             	lea    0x1(%rcx),%eax
14089060e:	45 33 c0             	xor    %r8d,%r8d