18005b2c0:	c3                   	ret
18005b2c1:	cc                   	int3
18005b2c2:	cc                   	int3
18005b2c3:	cc                   	int3
18005b2c4:	48 8b c4             	mov    %rsp,%rax
18005b2c7:	48 89 58 08          	mov    %rbx,0x8(%rax)
18005b2cb:	48 89 70 10          	mov    %rsi,0x10(%rax)
18005b2cf:	48 89 78 18          	mov    %rdi,0x18(%rax)
18005b2d3:	55                   	push   %rbp
18005b2d4:	48 8d 68 e8          	lea    -0x18(%rax),%rbp
18005b2d8:	48 81 ec 10 01 00 00 	sub    $0x110,%rsp
18005b2df:	48 8b d9             	mov    %rcx,%rbx
18005b2e2:	48 8b f2             	mov    %rdx,%rsi
18005b2e5:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
18005b2ea:	e8 79 bc fe ff       	call   0x180046f68
18005b2ef:	4c 8b 55 40          	mov    0x40(%rbp),%r10
18005b2f3:	48 8b d6             	mov    %rsi,%rdx
18005b2f6:	48 8b cb             	mov    %rbx,%rcx
18005b2f9:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
18005b2fe:	e8 1d 65 ff ff       	call   0x180051820
18005b303:	8b f8                	mov    %eax,%edi
18005b305:	85 c0                	test   %eax,%eax
18005b307:	0f 88 a2 00 00 00    	js     0x18005b3af
18005b30d:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18005b311:	48 8b 91 48 01 00 00 	mov    0x148(%rcx),%rdx
18005b318:	48 85 d2             	test   %rdx,%rdx
18005b31b:	74 0f                	je     0x18005b32c
18005b31d:	8b 4b 4c             	mov    0x4c(%rbx),%ecx
18005b320:	48 8b 52 60          	mov    0x60(%rdx),%rdx
18005b324:	48 c1 e9 1d          	shr    $0x1d,%rcx
18005b328:	48 ff 04 ca          	incq   (%rdx,%rcx,8)
18005b32c:	48 8b 46 10          	mov    0x10(%rsi),%rax
18005b330:	8a 48 1e             	mov    0x1e(%rax),%cl
18005b333:	84 c9                	test   %cl,%cl
18005b335:	79 78                	jns    0x18005b3af
18005b337:	48 83 7b 10 00       	cmpq   $0x0,0x10(%rbx)
18005b33c:	75 71                	jne    0x18005b3af
18005b33e:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005b342:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
18005b346:	45 33 c0             	xor    %r8d,%r8d
18005b349:	8b 70 7c             	mov    0x7c(%rax),%esi
18005b34c:	44 8b ce             	mov    %esi,%r9d
18005b34f:	41 8d 50 03          	lea    0x3(%r8),%edx
18005b353:	e8 44 b8 fe ff       	call   0x180046b9c
18005b358:	8b f8                	mov    %eax,%edi
18005b35a:	85 c0                	test   %eax,%eax
18005b35c:	78 51                	js     0x18005b3af
18005b35e:	48 8b 4d 98          	mov    -0x68(%rbp),%rcx
18005b362:	44 8b c6             	mov    %esi,%r8d
18005b365:	33 d2                	xor    %edx,%edx
18005b367:	e8 14 a9 0d 00       	call   0x180135c80
18005b36c:	8a 4b 2b             	mov    0x2b(%rbx),%cl
18005b36f:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18005b374:	81 4c 24 6c 04 00 00 	orl    $0x20000004,0x6c(%rsp)
18005b37b:	20
18005b37c:	b8 01 00 00 00       	mov    $0x1,%eax
18005b381:	48 83 65 a8 00       	andq   $0x0,-0x58(%rbp)
18005b386:	41 b0 0a             	mov    $0xa,%r8b
18005b389:	83 65 b4 00          	andl   $0x0,-0x4c(%rbp)
18005b38d:	d3 e0                	shl    %cl,%eax
18005b38f:	48 8b cb             	mov    %rbx,%rcx
18005b392:	ff c8                	dec    %eax
18005b394:	89 75 b0             	mov    %esi,-0x50(%rbp)
18005b397:	89 45 bc             	mov    %eax,-0x44(%rbp)
18005b39a:	c6 45 c8 04          	movb   $0x4,-0x38(%rbp)
18005b39e:	c6 45 ca 06          	movb   $0x6,-0x36(%rbp)
18005b3a2:	48 89 5d 00          	mov    %rbx,0x0(%rbp)
18005b3a6:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
18005b3aa:	e8 61 c1 fe ff       	call   0x180047510
18005b3af:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
18005b3b4:	e8 7f bc fe ff       	call   0x180047038
18005b3b9:	4c 8d 9c 24 10 01 00 	lea    0x110(%rsp),%r11
18005b3c0:	00
18005b3c1:	8b c7                	mov    %edi,%eax
18005b3c3:	49 8b 5b 10          	mov    0x10(%r11),%rbx
18005b3c7:	49 8b 73 18          	mov    0x18(%r11),%rsi
18005b3cb:	49 8b 7b 20          	mov    0x20(%r11),%rdi
18005b3cf:	49 8b e3             	mov    %r11,%rsp
18005b3d2:	5d                   	pop    %rbp
18005b3d3:	c3                   	ret
18005b3d4:	cc                   	int3
18005b3d5:	cc                   	int3
18005b3d6:	cc                   	int3
18005b3d7:	cc                   	int3
18005b3d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005b3dd:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18005b3e2:	4c 8b 49 20          	mov    0x20(%rcx),%r9
18005b3e6:	49 8b d8             	mov    %r8,%rbx
18005b3e9:	48 8b fa             	mov    %rdx,%rdi
18005b3ec:	4c 8b d1             	mov    %rcx,%r10
18005b3ef:	4d 85 c9             	test   %r9,%r9
18005b3f2:	74 06                	je     0x18005b3fa
18005b3f4:	49 83 c1 58          	add    $0x58,%r9
18005b3f8:	eb 08                	jmp    0x18005b402
18005b3fa:	4c 8b 49 08          	mov    0x8(%rcx),%r9
18005b3fe:	49 83 c1 50          	add    $0x50,%r9
18005b402:	44 8a 59 2a          	mov    0x2a(%rcx),%r11b
18005b406:	33 d2                	xor    %edx,%edx
18005b408:	41 8a cb             	mov    %r11b,%cl
18005b40b:	48 8b c7             	mov    %rdi,%rax
18005b40e:	48 d3 e8             	shr    %cl,%rax
18005b411:	41 8b 49 10          	mov    0x10(%r9),%ecx
18005b415:	48 f7 f1             	div    %rcx
18005b418:	4c 8b c0             	mov    %rax,%r8
18005b41b:	48 85 db             	test   %rbx,%rbx
18005b41e:	74 06                	je     0x18005b426
18005b420:	89 13                	mov    %edx,(%rbx)
18005b422:	45 8a 5a 2a          	mov    0x2a(%r10),%r11b
18005b426:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18005b42b:	b8 01 00 00 00       	mov    $0x1,%eax
18005b430:	41 0f b6 cb          	movzbl %r11b,%ecx
18005b434:	48 d3 e0             	shl    %cl,%rax
18005b437:	ff c8                	dec    %eax
18005b439:	49 d3 e0             	shl    %cl,%r8
18005b43c:	48 23 c7             	and    %rdi,%rax
18005b43f:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
18005b444:	49 03 c0             	add    %r8,%rax
18005b447:	c3                   	ret
18005b448:	cc                   	int3
18005b449:	cc                   	int3
18005b44a:	cc                   	int3
18005b44b:	cc                   	int3
18005b44c:	48 8b 41 20          	mov    0x20(%rcx),%rax
18005b450:	4d 8b c8             	mov    %r8,%r9
18005b453:	48 85 c0             	test   %rax,%rax
18005b456:	74 06                	je     0x18005b45e
18005b458:	48 83 c0 58          	add    $0x58,%rax
18005b45c:	eb 08                	jmp    0x18005b466
18005b45e:	48 8b 41 08          	mov    0x8(%rcx),%rax
18005b462:	48 83 c0 50          	add    $0x50,%rax
18005b466:	0f b6 49 2a          	movzbl 0x2a(%rcx),%ecx
18005b46a:	8b 40 10             	mov    0x10(%rax),%eax
18005b46d:	49 d3 e8             	shr    %cl,%r8
18005b470:	49 0f af c0          	imul   %r8,%rax
18005b474:	8b d2                	mov    %edx,%edx
18005b476:	48 03 c2             	add    %rdx,%rax
18005b479:	ba 01 00 00 00       	mov    $0x1,%edx
18005b47e:	48 d3 e0             	shl    %cl,%rax
18005b481:	48 d3 e2             	shl    %cl,%rdx
18005b484:	8d 4a ff             	lea    -0x1(%rdx),%ecx
18005b487:	49 23 c9             	and    %r9,%rcx
18005b48a:	48 03 c1             	add    %rcx,%rax
18005b48d:	c3                   	ret
18005b48e:	cc                   	int3
18005b48f:	cc                   	int3
18005b490:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
18005b495:	48 83 ec 28          	sub    $0x28,%rsp
18005b499:	8b 41 4c             	mov    0x4c(%rcx),%eax
18005b49c:	44 8b da             	mov    %edx,%r11d
18005b49f:	25 00 00 00 e0       	and    $0xe0000000,%eax
18005b4a4:	4c 8b d1             	mov    %rcx,%r10
18005b4a7:	3d 00 00 00 80       	cmp    $0x80000000,%eax
18005b4ac:	74 0a                	je     0x18005b4b8
18005b4ae:	e8 71 6b ff ff       	call   0x180052024
18005b4b3:	44 8b c0             	mov    %eax,%r8d
18005b4b6:	eb 33                	jmp    0x18005b4eb
18005b4b8:	44 0f b6 49 2b       	movzbl 0x2b(%rcx),%r9d
18005b4bd:	45 33 c0             	xor    %r8d,%r8d
18005b4c0:	45 85 c9             	test   %r9d,%r9d
18005b4c3:	74 22                	je     0x18005b4e7
18005b4c5:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
18005b4ca:	44 0f a3 00          	bt     %r8d,(%rax)
18005b4ce:	73 0f                	jae    0x18005b4df
18005b4d0:	41 8b d3             	mov    %r11d,%edx
18005b4d3:	49 8b ca             	mov    %r10,%rcx
18005b4d6:	e8 09 60 ff ff       	call   0x1800514e4
18005b4db:	84 c0                	test   %al,%al
18005b4dd:	75 0c                	jne    0x18005b4eb
18005b4df:	41 ff c0             	inc    %r8d
18005b4e2:	45 3b c1             	cmp    %r9d,%r8d
18005b4e5:	72 de                	jb     0x18005b4c5
18005b4e7:	41 83 c8 ff          	or     $0xffffffff,%r8d
18005b4eb:	41 8b c0             	mov    %r8d,%eax
18005b4ee:	48 83 c4 28          	add    $0x28,%rsp
18005b4f2:	c3                   	ret
18005b4f3:	cc                   	int3
18005b4f4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005b4f9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005b4fe:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005b503:	57                   	push   %rdi
18005b504:	41 56                	push   %r14
18005b506:	41 57                	push   %r15
18005b508:	48 83 ec 20          	sub    $0x20,%rsp
18005b50c:	0f b6 69 2b          	movzbl 0x2b(%rcx),%ebp
18005b510:	33 db                	xor    %ebx,%ebx
18005b512:	45 8b f8             	mov    %r8d,%r15d
18005b515:	44 8b f2             	mov    %edx,%r14d
18005b518:	48 8b f1             	mov    %rcx,%rsi
18005b51b:	8b fb                	mov    %ebx,%edi
18005b51d:	85 ed                	test   %ebp,%ebp
18005b51f:	74 4d                	je     0x18005b56e
18005b521:	41 3b ff             	cmp    %r15d,%edi
18005b524:	74 3e                	je     0x18005b564
18005b526:	44 8b c7             	mov    %edi,%r8d
18005b529:	41 8b d6             	mov    %r14d,%edx
18005b52c:	48 8b ce             	mov    %rsi,%rcx
18005b52f:	e8 b0 5f ff ff       	call   0x1800514e4
18005b534:	84 c0                	test   %al,%al
18005b536:	74 2c                	je     0x18005b564
18005b538:	41 8b d6             	mov    %r14d,%edx
18005b53b:	48 8b ce             	mov    %rsi,%rcx
18005b53e:	e8 0d 5e ff ff       	call   0x180051350
18005b543:	48 8b d0             	mov    %rax,%rdx
18005b546:	e8 71 5e ff ff       	call   0x1800513bc
18005b54b:	48 39 98 a0 01 00 00 	cmp    %rbx,0x1a0(%rax)
18005b552:	76 10                	jbe    0x18005b564
18005b554:	38 98 f8 01 00 00    	cmp    %bl,0x1f8(%rax)
18005b55a:	75 08                	jne    0x18005b564
18005b55c:	38 98 f6 01 00 00    	cmp    %bl,0x1f6(%rax)
18005b562:	74 08                	je     0x18005b56c
18005b564:	ff c7                	inc    %edi
18005b566:	3b fd                	cmp    %ebp,%edi
18005b568:	73 04                	jae    0x18005b56e
18005b56a:	eb b5                	jmp    0x18005b521
18005b56c:	b3 01                	mov    $0x1,%bl
18005b56e:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18005b573:	8a c3                	mov    %bl,%al
18005b575:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18005b57a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18005b57f:	48 83 c4 20          	add    $0x20,%rsp
18005b583:	41 5f                	pop    %r15
18005b585:	41 5e                	pop    %r14
18005b587:	5f                   	pop    %rdi
18005b588:	c3                   	ret
18005b589:	cc                   	int3
18005b58a:	cc                   	int3
18005b58b:	cc                   	int3
18005b58c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005b591:	57                   	push   %rdi
18005b592:	48 83 ec 20          	sub    $0x20,%rsp
18005b596:	44 0f b6 51 2b       	movzbl 0x2b(%rcx),%r10d
18005b59b:	41 8b d8             	mov    %r8d,%ebx
18005b59e:	45 33 c0             	xor    %r8d,%r8d
18005b5a1:	8b fa                	mov    %edx,%edi
18005b5a3:	4c 8b d9             	mov    %rcx,%r11
18005b5a6:	41 b9 01 00 00 00    	mov    $0x1,%r9d
18005b5ac:	45 85 d2             	test   %r10d,%r10d
18005b5af:	74 20                	je     0x18005b5d1
18005b5b1:	44 3b c3             	cmp    %ebx,%r8d
18005b5b4:	74 0e                	je     0x18005b5c4
18005b5b6:	8b d7                	mov    %edi,%edx
18005b5b8:	49 8b cb             	mov    %r11,%rcx
18005b5bb:	e8 24 5f ff ff       	call   0x1800514e4
18005b5c0:	84 c0                	test   %al,%al
18005b5c2:	75 0a                	jne    0x18005b5ce
18005b5c4:	45 03 c1             	add    %r9d,%r8d
18005b5c7:	45 3b c2             	cmp    %r10d,%r8d
18005b5ca:	73 05                	jae    0x18005b5d1
18005b5cc:	eb e3                	jmp    0x18005b5b1
18005b5ce:	45 32 c9             	xor    %r9b,%r9b
18005b5d1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005b5d6:	41 8a c1             	mov    %r9b,%al
18005b5d9:	48 83 c4 20          	add    $0x20,%rsp
18005b5dd:	5f                   	pop    %rdi
18005b5de:	c3                   	ret
18005b5df:	cc                   	int3
18005b5e0:	8b 51 4c             	mov    0x4c(%rcx),%edx
18005b5e3:	32 c0                	xor    %al,%al
18005b5e5:	c1 ea 1d             	shr    $0x1d,%edx
18005b5e8:	8d 4a ff             	lea    -0x1(%rdx),%ecx
18005b5eb:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
18005b5f1:	75 0e                	jne    0x18005b601
18005b5f3:	83 fa 03             	cmp    $0x3,%edx
18005b5f6:	0f b6 c0             	movzbl %al,%eax
18005b5f9:	b9 01 00 00 00       	mov    $0x1,%ecx
18005b5fe:	0f 45 c1             	cmovne %ecx,%eax
18005b601:	c3                   	ret
18005b602:	cc                   	int3
18005b603:	cc                   	int3
18005b604:	40 53                	rex push %rbx
18005b606:	48 83 ec 20          	sub    $0x20,%rsp
18005b60a:	44 0f b6 59 2b       	movzbl 0x2b(%rcx),%r11d
18005b60f:	45 33 c9             	xor    %r9d,%r9d
18005b612:	45 33 c0             	xor    %r8d,%r8d
18005b615:	8b da                	mov    %edx,%ebx
18005b617:	4c 8b d1             	mov    %rcx,%r10
18005b61a:	45 85 db             	test   %r11d,%r11d
18005b61d:	74 1f                	je     0x18005b63e
18005b61f:	8b d3                	mov    %ebx,%edx
18005b621:	49 8b ca             	mov    %r10,%rcx
18005b624:	e8 bb 5e ff ff       	call   0x1800514e4
18005b629:	84 c0                	test   %al,%al
18005b62b:	41 8d 49 01          	lea    0x1(%r9),%ecx
18005b62f:	41 0f 44 c9          	cmove  %r9d,%ecx
18005b633:	41 ff c0             	inc    %r8d
18005b636:	44 8b c9             	mov    %ecx,%r9d
18005b639:	45 3b c3             	cmp    %r11d,%r8d
18005b63c:	72 e1                	jb     0x18005b61f
18005b63e:	49 8b 42 20          	mov    0x20(%r10),%rax
18005b642:	48 85 c0             	test   %rax,%rax
18005b645:	74 06                	je     0x18005b64d
18005b647:	48 83 c0 58          	add    $0x58,%rax
18005b64b:	eb 08                	jmp    0x18005b655
18005b64d:	49 8b 42 08          	mov    0x8(%r10),%rax
18005b651:	48 83 c0 50          	add    $0x50,%rax
18005b655:	44 3b 48 08          	cmp    0x8(%rax),%r9d
18005b659:	72 07                	jb     0x18005b662
18005b65b:	b8 01 00 00 00       	mov    $0x1,%eax
18005b660:	eb 1e                	jmp    0x18005b680
18005b662:	45 85 c9             	test   %r9d,%r9d
18005b665:	74 14                	je     0x18005b67b
18005b667:	41 83 f9 01          	cmp    $0x1,%r9d
18005b66b:	74 07                	je     0x18005b674
18005b66d:	b8 02 00 00 00       	mov    $0x2,%eax
18005b672:	eb 0c                	jmp    0x18005b680
18005b674:	b8 03 00 00 00       	mov    $0x3,%eax
18005b679:	eb 05                	jmp    0x18005b680
18005b67b:	b8 04 00 00 00       	mov    $0x4,%eax
18005b680:	48 83 c4 20          	add    $0x20,%rsp
18005b684:	5b                   	pop    %rbx
18005b685:	c3                   	ret
18005b686:	cc                   	int3
18005b687:	cc                   	int3
18005b688:	48 83 ec 28          	sub    $0x28,%rsp
18005b68c:	45 33 c0             	xor    %r8d,%r8d
18005b68f:	8d 42 f4             	lea    -0xc(%rdx),%eax
18005b692:	a8 fd                	test   $0xfd,%al
18005b694:	74 08                	je     0x18005b69e
18005b696:	e8 b1 76 ff ff       	call   0x180052d4c
18005b69b:	4c 8b c0             	mov    %rax,%r8
18005b69e:	49 8b c0             	mov    %r8,%rax
18005b6a1:	48 83 c4 28          	add    $0x28,%rsp
18005b6a5:	c3                   	ret
18005b6a6:	cc                   	int3
18005b6a7:	cc                   	int3
18005b6a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005b6ad:	57                   	push   %rdi
18005b6ae:	48 83 ec 20          	sub    $0x20,%rsp
18005b6b2:	48 8b fa             	mov    %rdx,%rdi
18005b6b5:	48 8b d9             	mov    %rcx,%rbx
18005b6b8:	41 80 f8 0a          	cmp    $0xa,%r8b
18005b6bc:	74 27                	je     0x18005b6e5
18005b6be:	41 80 f8 0c          	cmp    $0xc,%r8b
18005b6c2:	74 17                	je     0x18005b6db
18005b6c4:	41 80 f8 0e          	cmp    $0xe,%r8b
18005b6c8:	74 07                	je     0x18005b6d1
18005b6ca:	e8 19 77 ff ff       	call   0x180052de8
18005b6cf:	eb 47                	jmp    0x18005b718
18005b6d1:	4d 8b c1             	mov    %r9,%r8
18005b6d4:	e8 af 05 00 00       	call   0x18005bc88
18005b6d9:	eb 3d                	jmp    0x18005b718
18005b6db:	4d 8b c1             	mov    %r9,%r8
18005b6de:	e8 75 03 00 00       	call   0x18005ba58
18005b6e3:	eb 33                	jmp    0x18005b718
18005b6e5:	41 b0 0a             	mov    $0xa,%r8b
18005b6e8:	e8 fb 76 ff ff       	call   0x180052de8
18005b6ed:	8b c8                	mov    %eax,%ecx
18005b6ef:	85 c0                	test   %eax,%eax
18005b6f1:	78 27                	js     0x18005b71a
18005b6f3:	48 8b 43 08          	mov    0x8(%rbx),%rax