14057b17b:	48 83 ec 20          	sub    $0x20,%rsp
14057b17f:	4c 8b 41 40          	mov    0x40(%rcx),%r8
14057b183:	48 8b d9             	mov    %rcx,%rbx
14057b186:	4d 85 c0             	test   %r8,%r8
14057b189:	74 05                	je     0x14057b190
14057b18b:	8b 71 04             	mov    0x4(%rcx),%esi
14057b18e:	eb 02                	jmp    0x14057b192
14057b190:	33 f6                	xor    %esi,%esi
14057b192:	66 ff 41 02          	incw   0x2(%rcx)
14057b196:	b8 01 00 00 00       	mov    $0x1,%eax
14057b19b:	0f b7 49 02          	movzwl 0x2(%rcx),%ecx
14057b19f:	d3 e0                	shl    %cl,%eax
14057b1a1:	89 43 08             	mov    %eax,0x8(%rbx)
14057b1a4:	8d 14 08             	lea    (%rax,%rcx,1),%edx
14057b1a7:	33 c0                	xor    %eax,%eax
14057b1a9:	89 53 04             	mov    %edx,0x4(%rbx)
14057b1ac:	4d 85 c0             	test   %r8,%r8
14057b1af:	49 8b c8             	mov    %r8,%rcx
14057b1b2:	0f 45 c2             	cmovne %edx,%eax
14057b1b5:	48 63 f8             	movslq %eax,%rdi
14057b1b8:	48 8b d7             	mov    %rdi,%rdx
14057b1bb:	48 c1 e2 05          	shl    $0x5,%rdx
14057b1bf:	e8 e4 5f 8b 00       	call   0x140e311a8
14057b1c4:	48 89 43 40          	mov    %rax,0x40(%rbx)
14057b1c8:	48 63 c6             	movslq %esi,%rax
14057b1cb:	48 3b c7             	cmp    %rdi,%rax
14057b1ce:	7d 25                	jge    0x14057b1f5
14057b1d0:	48 8b c8             	mov    %rax,%rcx
14057b1d3:	48 c1 e1 05          	shl    $0x5,%rcx
14057b1d7:	48 2b f8             	sub    %rax,%rdi
14057b1da:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14057b1e0:	48 8b 43 40          	mov    0x40(%rbx),%rax
14057b1e4:	48 8d 49 20          	lea    0x20(%rcx),%rcx
14057b1e8:	66 c7 44 01 e0 ff ff 	movw   $0xffff,-0x20(%rcx,%rax,1)
14057b1ef:	48 83 ef 01          	sub    $0x1,%rdi
14057b1f3:	75 eb                	jne    0x14057b1e0
14057b1f5:	66 ff 03             	incw   (%rbx)
14057b1f8:	89 73 10             	mov    %esi,0x10(%rbx)
14057b1fb:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14057b200:	48 c7 43 30 00 00 00 	movq   $0x0,0x30(%rbx)
14057b207:	00
14057b208:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%rbx)
14057b20f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14057b214:	48 83 c4 20          	add    $0x20,%rsp
14057b218:	5f                   	pop    %rdi
14057b219:	c3                   	ret
14057b21a:	cc                   	int3
14057b21b:	cc                   	int3
14057b21c:	cc                   	int3
14057b21d:	cc                   	int3
14057b21e:	cc                   	int3
14057b21f:	cc                   	int3
14057b220:	40 53                	rex push %rbx
14057b222:	48 83 ec 20          	sub    $0x20,%rsp
14057b226:	48 8b 01             	mov    (%rcx),%rax
14057b229:	48 8b d9             	mov    %rcx,%rbx
14057b22c:	48 8b 40 10          	mov    0x10(%rax),%rax
14057b230:	ff 15 ea 87 a0 00    	call   *0xa087ea(%rip)        # 0x140f83a20
14057b236:	48 8b 03             	mov    (%rbx),%rax
14057b239:	ba 01 00 00 00       	mov    $0x1,%edx
14057b23e:	48 8b cb             	mov    %rbx,%rcx
14057b241:	48 8b 00             	mov    (%rax),%rax
14057b244:	48 83 c4 20          	add    $0x20,%rsp
14057b248:	5b                   	pop    %rbx
14057b249:	48 ff 25 d0 87 a0 00 	rex.W jmp *0xa087d0(%rip)        # 0x140f83a20
14057b250:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14057b255:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14057b25a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14057b25f:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14057b264:	41 57                	push   %r15
14057b266:	48 83 ec 20          	sub    $0x20,%rsp
14057b26a:	48 8b d9             	mov    %rcx,%rbx
14057b26d:	4c 8b fa             	mov    %rdx,%r15
14057b270:	48 8b 49 20          	mov    0x20(%rcx),%rcx
14057b274:	0f b6 c1             	movzbl %cl,%eax
14057b277:	02 43 18             	add    0x18(%rbx),%al
14057b27a:	a8 01                	test   $0x1,%al
14057b27c:	75 1a                	jne    0x14057b298
14057b27e:	48 8d 41 02          	lea    0x2(%rcx),%rax
14057b282:	48 d1 e8             	shr    $1,%rax
14057b285:	48 39 43 10          	cmp    %rax,0x10(%rbx)
14057b289:	77 0d                	ja     0x14057b298
14057b28b:	ba 01 00 00 00       	mov    $0x1,%edx
14057b290:	48 8b cb             	mov    %rbx,%rcx
14057b293:	e8 68 62 f6 ff       	call   0x1404e1500
14057b298:	48 8b 53 10          	mov    0x10(%rbx),%rdx
14057b29c:	48 8d 04 55 ff ff ff 	lea    -0x1(,%rdx,2),%rax
14057b2a3:	ff
14057b2a4:	48 21 43 18          	and    %rax,0x18(%rbx)
14057b2a8:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
14057b2ac:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
14057b2b0:	48 03 7b 20          	add    0x20(%rbx),%rdi
14057b2b4:	48 8b f7             	mov    %rdi,%rsi
14057b2b7:	48 d1 ee             	shr    $1,%rsi
14057b2ba:	48 23 c6             	and    %rsi,%rax
14057b2bd:	4c 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%r14
14057b2c4:	00
14057b2c5:	48 8b 43 08          	mov    0x8(%rbx),%rax
14057b2c9:	49 83 3c 06 00       	cmpq   $0x0,(%r14,%rax,1)
14057b2ce:	75 12                	jne    0x14057b2e2
14057b2d0:	b9 10 00 00 00       	mov    $0x10,%ecx
14057b2d5:	e8 2e fe 89 00       	call   0x140e1b108
14057b2da:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14057b2de:	49 89 04 0e          	mov    %rax,(%r14,%rcx,1)
14057b2e2:	48 8b 43 10          	mov    0x10(%rbx),%rax
14057b2e6:	83 e7 01             	and    $0x1,%edi
14057b2e9:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14057b2ed:	48 ff c8             	dec    %rax
14057b2f0:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
14057b2f5:	48 23 c6             	and    %rsi,%rax
14057b2f8:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14057b2fd:	48 8b 0c c1          	mov    (%rcx,%rax,8),%rcx
14057b301:	49 8b 07             	mov    (%r15),%rax
14057b304:	48 89 04 f9          	mov    %rax,(%rcx,%rdi,8)
14057b308:	48 ff 43 20          	incq   0x20(%rbx)
14057b30c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14057b311:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
14057b316:	48 83 c4 20          	add    $0x20,%rsp
14057b31a:	41 5f                	pop    %r15
14057b31c:	c3                   	ret
14057b31d:	cc                   	int3
14057b31e:	cc                   	int3
14057b31f:	cc                   	int3
14057b320:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14057b325:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14057b32a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14057b32f:	56                   	push   %rsi
14057b330:	57                   	push   %rdi
14057b331:	41 56                	push   %r14
14057b333:	48 83 ec 20          	sub    $0x20,%rsp
14057b337:	49 8b d9             	mov    %r9,%rbx
14057b33a:	49 8b f0             	mov    %r8,%rsi
14057b33d:	48 8b fa             	mov    %rdx,%rdi
14057b340:	4c 8b f1             	mov    %rcx,%r14
14057b343:	48 8d 05 46 51 a9 00 	lea    0xa95146(%rip),%rax        # 0x141010490
14057b34a:	48 89 01             	mov    %rax,(%rcx)
14057b34d:	48 83 c1 10          	add    $0x10,%rcx
14057b351:	e8 9a bb 1d 00       	call   0x140756ef0
14057b356:	48 8b 06             	mov    (%rsi),%rax
14057b359:	33 c9                	xor    %ecx,%ecx
14057b35b:	48 89 0e             	mov    %rcx,(%rsi)
14057b35e:	49 89 46 28          	mov    %rax,0x28(%r14)
14057b362:	49 89 5e 30          	mov    %rbx,0x30(%r14)
14057b366:	66 41 89 4e 38       	mov    %cx,0x38(%r14)
14057b36b:	41 88 4e 3a          	mov    %cl,0x3a(%r14)
14057b36f:	49 89 4e 40          	mov    %rcx,0x40(%r14)
14057b373:	8b 05 b3 11 eb 00    	mov    0xeb11b3(%rip),%eax        # 0x14142c52c
14057b379:	ff c0                	inc    %eax
14057b37b:	89 05 ab 11 eb 00    	mov    %eax,0xeb11ab(%rip)        # 0x14142c52c
14057b381:	41 89 46 08          	mov    %eax,0x8(%r14)
14057b385:	48 8b cf             	mov    %rdi,%rcx
14057b388:	e8 33 be 1d 00       	call   0x1407571c0
14057b38d:	90                   	nop
14057b38e:	48 8b 0e             	mov    (%rsi),%rcx
14057b391:	48 85 c9             	test   %rcx,%rcx
14057b394:	74 20                	je     0x14057b3b6
14057b396:	8b 41 10             	mov    0x10(%rcx),%eax
14057b399:	ff c8                	dec    %eax
14057b39b:	89 41 10             	mov    %eax,0x10(%rcx)
14057b39e:	85 c0                	test   %eax,%eax
14057b3a0:	7f 14                	jg     0x14057b3b6
14057b3a2:	78 23                	js     0x14057b3c7
14057b3a4:	48 8b 01             	mov    (%rcx),%rax
14057b3a7:	ba 01 00 00 00       	mov    $0x1,%edx
14057b3ac:	48 8b 00             	mov    (%rax),%rax
14057b3af:	ff 15 6b 86 a0 00    	call   *0xa0866b(%rip)        # 0x140f83a20
14057b3b5:	90                   	nop
14057b3b6:	49 8b c6             	mov    %r14,%rax
14057b3b9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14057b3be:	48 83 c4 20          	add    $0x20,%rsp
14057b3c2:	41 5e                	pop    %r14
14057b3c4:	5f                   	pop    %rdi
14057b3c5:	5e                   	pop    %rsi
14057b3c6:	c3                   	ret
14057b3c7:	b9 02 00 00 00       	mov    $0x2,%ecx
14057b3cc:	e8 2f f3 20 00       	call   0x14078a700
14057b3d1:	cc                   	int3
14057b3d2:	cc                   	int3
14057b3d3:	cc                   	int3
14057b3d4:	cc                   	int3
14057b3d5:	cc                   	int3
14057b3d6:	cc                   	int3
14057b3d7:	cc                   	int3
14057b3d8:	cc                   	int3
14057b3d9:	cc                   	int3
14057b3da:	cc                   	int3
14057b3db:	cc                   	int3
14057b3dc:	cc                   	int3
14057b3dd:	cc                   	int3
14057b3de:	cc                   	int3
14057b3df:	cc                   	int3
14057b3e0:	40 53                	rex push %rbx
14057b3e2:	48 83 ec 20          	sub    $0x20,%rsp
14057b3e6:	48 8b d9             	mov    %rcx,%rbx
14057b3e9:	48 8d 05 a0 50 a9 00 	lea    0xa950a0(%rip),%rax        # 0x141010490
14057b3f0:	48 89 01             	mov    %rax,(%rcx)
14057b3f3:	48 8b 49 28          	mov    0x28(%rcx),%rcx
14057b3f7:	48 85 c9             	test   %rcx,%rcx
14057b3fa:	74 20                	je     0x14057b41c
14057b3fc:	8b 41 10             	mov    0x10(%rcx),%eax
14057b3ff:	ff c8                	dec    %eax
14057b401:	89 41 10             	mov    %eax,0x10(%rcx)
14057b404:	85 c0                	test   %eax,%eax
14057b406:	7f 14                	jg     0x14057b41c
14057b408:	78 20                	js     0x14057b42a
14057b40a:	48 8b 01             	mov    (%rcx),%rax
14057b40d:	ba 01 00 00 00       	mov    $0x1,%edx
14057b412:	48 8b 00             	mov    (%rax),%rax
14057b415:	ff 15 05 86 a0 00    	call   *0xa08605(%rip)        # 0x140f83a20
14057b41b:	90                   	nop
14057b41c:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
14057b420:	48 83 c4 20          	add    $0x20,%rsp
14057b424:	5b                   	pop    %rbx
14057b425:	e9 96 bd 1d 00       	jmp    0x1407571c0
14057b42a:	b9 02 00 00 00       	mov    $0x2,%ecx
14057b42f:	e8 cc f2 20 00       	call   0x14078a700
14057b434:	cc                   	int3
14057b435:	cc                   	int3
14057b436:	cc                   	int3
14057b437:	cc                   	int3
14057b438:	cc                   	int3
14057b439:	cc                   	int3
14057b43a:	cc                   	int3
14057b43b:	cc                   	int3
14057b43c:	cc                   	int3
14057b43d:	cc                   	int3
14057b43e:	cc                   	int3
14057b43f:	cc                   	int3
14057b440:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14057b445:	57                   	push   %rdi
14057b446:	48 83 ec 20          	sub    $0x20,%rsp
14057b44a:	8b fa                	mov    %edx,%edi
14057b44c:	48 8b d9             	mov    %rcx,%rbx
14057b44f:	48 8d 05 3a 50 a9 00 	lea    0xa9503a(%rip),%rax        # 0x141010490
14057b456:	48 89 01             	mov    %rax,(%rcx)
14057b459:	48 8b 49 28          	mov    0x28(%rcx),%rcx
14057b45d:	48 85 c9             	test   %rcx,%rcx
14057b460:	74 20                	je     0x14057b482
14057b462:	8b 41 10             	mov    0x10(%rcx),%eax
14057b465:	ff c8                	dec    %eax
14057b467:	89 41 10             	mov    %eax,0x10(%rcx)
14057b46a:	85 c0                	test   %eax,%eax
14057b46c:	7f 14                	jg     0x14057b482
14057b46e:	78 3c                	js     0x14057b4ac
14057b470:	48 8b 01             	mov    (%rcx),%rax
14057b473:	ba 01 00 00 00       	mov    $0x1,%edx
14057b478:	48 8b 00             	mov    (%rax),%rax
14057b47b:	ff 15 9f 85 a0 00    	call   *0xa0859f(%rip)        # 0x140f83a20
14057b481:	90                   	nop
14057b482:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
14057b486:	e8 35 bd 1d 00       	call   0x1407571c0
14057b48b:	40 f6 c7 01          	test   $0x1,%dil
14057b48f:	74 0d                	je     0x14057b49e
14057b491:	ba 48 00 00 00       	mov    $0x48,%edx
14057b496:	48 8b cb             	mov    %rbx,%rcx
14057b499:	e8 a6 fc 89 00       	call   0x140e1b144
14057b49e:	48 8b c3             	mov    %rbx,%rax
14057b4a1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14057b4a6:	48 83 c4 20          	add    $0x20,%rsp
14057b4aa:	5f                   	pop    %rdi
14057b4ab:	c3                   	ret
14057b4ac:	b9 02 00 00 00       	mov    $0x2,%ecx
14057b4b1:	e8 4a f2 20 00       	call   0x14078a700
14057b4b6:	cc                   	int3
14057b4b7:	cc                   	int3
14057b4b8:	cc                   	int3
14057b4b9:	cc                   	int3
14057b4ba:	cc                   	int3
14057b4bb:	cc                   	int3
14057b4bc:	cc                   	int3
14057b4bd:	cc                   	int3
14057b4be:	cc                   	int3
14057b4bf:	cc                   	int3
14057b4c0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14057b4c5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14057b4ca:	56                   	push   %rsi
14057b4cb:	57                   	push   %rdi
14057b4cc:	41 56                	push   %r14
14057b4ce:	48 83 ec 30          	sub    $0x30,%rsp
14057b4d2:	48 8b fa             	mov    %rdx,%rdi
14057b4d5:	48 8b f1             	mov    %rcx,%rsi
14057b4d8:	33 db                	xor    %ebx,%ebx
14057b4da:	38 59 3a             	cmp    %bl,0x3a(%rcx)
14057b4dd:	0f 85 61 01 00 00    	jne    0x14057b644
14057b4e3:	c6 41 3a 01          	movb   $0x1,0x3a(%rcx)
14057b4e7:	48 8b 0d 12 5c eb 00 	mov    0xeb5c12(%rip),%rcx        # 0x141431100
14057b4ee:	48 85 c9             	test   %rcx,%rcx
14057b4f1:	0f 84 4d 01 00 00    	je     0x14057b644
14057b4f7:	e8 34 a0 29 00       	call   0x140815530
14057b4fc:	84 c0                	test   %al,%al
14057b4fe:	0f 84 40 01 00 00    	je     0x14057b644
14057b504:	8b 0d fe 37 f2 00    	mov    0xf237fe(%rip),%ecx        # 0x14149ed08
14057b50a:	65 48 8b 04 25 58 00 	mov    %gs:0x58,%rax
14057b511:	00 00
14057b513:	ba 00 13 00 00       	mov    $0x1300,%edx
14057b518:	4c 8b 34 c8          	mov    (%rax,%rcx,8),%r14
14057b51c:	4c 03 f2             	add    %rdx,%r14
14057b51f:	41 8b 06             	mov    (%r14),%eax
14057b522:	39 05 10 10 eb 00    	cmp    %eax,0xeb1010(%rip)        # 0x14142c538
14057b528:	0f 8f 36 01 00 00    	jg     0x14057b664
14057b52e:	41 8b 06             	mov    (%r14),%eax
14057b531:	39 05 09 10 eb 00    	cmp    %eax,0xeb1009(%rip)        # 0x14142c540
14057b537:	0f 8f be 01 00 00    	jg     0x14057b6fb
14057b53d:	b9 50 00 00 00       	mov    $0x50,%ecx
14057b542:	e8 c1 fb 89 00       	call   0x140e1b108
14057b547:	4c 8b c8             	mov    %rax,%r9
14057b54a:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14057b54f:	48 85 c0             	test   %rax,%rax
14057b552:	74 40                	je     0x14057b594
14057b554:	48 8b 0d d5 0f eb 00 	mov    0xeb0fd5(%rip),%rcx        # 0x14142c530
14057b55b:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
14057b560:	48 85 c9             	test   %rcx,%rcx
14057b563:	74 1c                	je     0x14057b581
14057b565:	8b 41 10             	mov    0x10(%rcx),%eax
14057b568:	ff c0                	inc    %eax
14057b56a:	89 41 10             	mov    %eax,0x10(%rcx)
14057b56d:	83 f8 01             	cmp    $0x1,%eax
14057b570:	0f 8e c8 01 00 00    	jle    0x14057b73e
14057b576:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14057b57b:	0f 84 c5 01 00 00    	je     0x14057b746
14057b581:	41 b0 01             	mov    $0x1,%r8b
14057b584:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
14057b589:	49 8b c9             	mov    %r9,%rcx
14057b58c:	e8 2f 64 1b 00       	call   0x1407319c0
14057b591:	48 8b d8             	mov    %rax,%rbx
14057b594:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
14057b599:	48 8b 46 30          	mov    0x30(%rsi),%rax
14057b59d:	48 8b 48 20          	mov    0x20(%rax),%rcx
14057b5a1:	48 85 c9             	test   %rcx,%rcx
14057b5a4:	74 1c                	je     0x14057b5c2
14057b5a6:	8b 41 10             	mov    0x10(%rcx),%eax
14057b5a9:	ff c0                	inc    %eax
14057b5ab:	89 41 10             	mov    %eax,0x10(%rcx)
14057b5ae:	83 f8 01             	cmp    $0x1,%eax
14057b5b1:	0f 8e 9a 01 00 00    	jle    0x14057b751
14057b5b7:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14057b5bc:	0f 84 97 01 00 00    	je     0x14057b759
14057b5c2:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
14057b5c7:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
14057b5cc:	8b 15 6a 0f eb 00    	mov    0xeb0f6a(%rip),%edx        # 0x14142c53c
14057b5d2:	48 8b cb             	mov    %rbx,%rcx
14057b5d5:	e8 26 95 1b 00       	call   0x140734b00
14057b5da:	8b 05 08 51 eb 00    	mov    0xeb5108(%rip),%eax        # 0x1414306e8
14057b5e0:	39 07                	cmp    %eax,(%rdi)
14057b5e2:	75 0f                	jne    0x14057b5f3
14057b5e4:	8b 05 02 51 eb 00    	mov    0xeb5102(%rip),%eax        # 0x1414306ec
14057b5ea:	39 47 04             	cmp    %eax,0x4(%rdi)
14057b5ed:	75 04                	jne    0x14057b5f3
14057b5ef:	32 c9                	xor    %cl,%cl
14057b5f1:	eb 02                	jmp    0x14057b5f5