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
18005b6f7:	48 83 b8 48 01 00 00 	cmpq   $0x0,0x148(%rax)
18005b6fe:	00
18005b6ff:	74 19                	je     0x18005b71a
18005b701:	f6 43 28 02          	testb  $0x2,0x28(%rbx)
18005b705:	74 13                	je     0x18005b71a
18005b707:	f7 47 3c 00 00 00 20 	testl  $0x20000000,0x3c(%rdi)
18005b70e:	75 0a                	jne    0x18005b71a
18005b710:	48 8b cb             	mov    %rbx,%rcx
18005b713:	e8 3c 02 00 00       	call   0x18005b954
18005b718:	8b c8                	mov    %eax,%ecx
18005b71a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005b71f:	8b c1                	mov    %ecx,%eax
18005b721:	48 83 c4 20          	add    $0x20,%rsp
18005b725:	5f                   	pop    %rdi
18005b726:	c3                   	ret
18005b727:	cc                   	int3
18005b728:	48 83 ec 28          	sub    $0x28,%rsp
18005b72c:	4c 8b c9             	mov    %rcx,%r9
18005b72f:	41 80 f8 0c          	cmp    $0xc,%r8b
18005b733:	74 14                	je     0x18005b749
18005b735:	41 80 f8 0e          	cmp    $0xe,%r8b
18005b739:	74 07                	je     0x18005b742
18005b73b:	e8 fc 77 ff ff       	call   0x180052f3c
18005b740:	eb 41                	jmp    0x18005b783
18005b742:	e8 71 75 ff ff       	call   0x180052cb8
18005b747:	eb 3a                	jmp    0x18005b783
18005b749:	0f b6 8a 9a 00 00 00 	movzbl 0x9a(%rdx),%ecx
18005b750:	83 e9 01             	sub    $0x1,%ecx
18005b753:	74 23                	je     0x18005b778
18005b755:	83 e9 03             	sub    $0x3,%ecx
18005b758:	74 19                	je     0x18005b773
18005b75a:	83 f9 01             	cmp    $0x1,%ecx
18005b75d:	75 24                	jne    0x18005b783
18005b75f:	49 8b 01             	mov    (%r9),%rax
18005b762:	49 8b c9             	mov    %r9,%rcx
18005b765:	48 8b 80 08 01 00 00 	mov    0x108(%rax),%rax
18005b76c:	ff d0                	call   *%rax
18005b76e:	0f 1f 00             	nopl   (%rax)
18005b771:	eb 10                	jmp    0x18005b783
18005b773:	41 b0 14             	mov    $0x14,%r8b
18005b776:	eb 03                	jmp    0x18005b77b
18005b778:	41 b0 0a             	mov    $0xa,%r8b
18005b77b:	49 8b c9             	mov    %r9,%rcx
18005b77e:	e8 8d bd fe ff       	call   0x180047510
18005b783:	48 83 c4 28          	add    $0x28,%rsp
18005b787:	c3                   	ret
18005b788:	cc                   	int3
18005b789:	cc                   	int3
18005b78a:	cc                   	int3
18005b78b:	cc                   	int3
18005b78c:	40 53                	rex push %rbx
18005b78e:	48 83 ec 20          	sub    $0x20,%rsp
18005b792:	8b 9a a0 00 00 00    	mov    0xa0(%rdx),%ebx
18005b798:	4c 8b c1             	mov    %rcx,%r8
18005b79b:	8a 82 99 00 00 00    	mov    0x99(%rdx),%al
18005b7a1:	3c 0c                	cmp    $0xc,%al
18005b7a3:	74 14                	je     0x18005b7b9
18005b7a5:	3c 0e                	cmp    $0xe,%al
18005b7a7:	0f 84 9b 00 00 00    	je     0x18005b848
18005b7ad:	e8 22 79 ff ff       	call   0x1800530d4
18005b7b2:	8b d8                	mov    %eax,%ebx
18005b7b4:	e9 8f 00 00 00       	jmp    0x18005b848
18005b7b9:	8b 9a a0 00 00 00    	mov    0xa0(%rdx),%ebx
18005b7bf:	0f b6 8a 9a 00 00 00 	movzbl 0x9a(%rdx),%ecx
18005b7c6:	83 e9 01             	sub    $0x1,%ecx
18005b7c9:	74 6d                	je     0x18005b838
18005b7cb:	83 e9 03             	sub    $0x3,%ecx
18005b7ce:	74 5c                	je     0x18005b82c
18005b7d0:	83 f9 01             	cmp    $0x1,%ecx
18005b7d3:	75 24                	jne    0x18005b7f9
18005b7d5:	85 db                	test   %ebx,%ebx
18005b7d7:	78 20                	js     0x18005b7f9
18005b7d9:	8b 82 9c 00 00 00    	mov    0x9c(%rdx),%eax
18005b7df:	89 82 8c 00 00 00    	mov    %eax,0x8c(%rdx)
18005b7e5:	c6 82 98 00 00 00 04 	movb   $0x4,0x98(%rdx)
18005b7ec:	88 8a 9a 00 00 00    	mov    %cl,0x9a(%rdx)
18005b7f2:	bb 2d 02 00 c0       	mov    $0xc000022d,%ebx
18005b7f7:	eb 4f                	jmp    0x18005b848
18005b7f9:	8b 82 88 00 00 00    	mov    0x88(%rdx),%eax
18005b7ff:	83 c9 ff             	or     $0xffffffff,%ecx
18005b802:	3b c1                	cmp    %ecx,%eax
18005b804:	75 07                	jne    0x18005b80d
18005b806:	bb 1a 00 e7 c0       	mov    $0xc0e7001a,%ebx
18005b80b:	eb 33                	jmp    0x18005b840
18005b80d:	81 fb 9c 00 00 c0    	cmp    $0xc000009c,%ebx
18005b813:	74 08                	je     0x18005b81d
18005b815:	81 fb 83 04 00 c0    	cmp    $0xc0000483,%ebx
18005b81b:	75 07                	jne    0x18005b824
18005b81d:	0f ab 82 9c 00 00 00 	bts    %eax,0x9c(%rdx)
18005b824:	89 8a 88 00 00 00    	mov    %ecx,0x88(%rdx)
18005b82a:	eb c6                	jmp    0x18005b7f2
18005b82c:	c6 82 9a 00 00 00 05 	movb   $0x5,0x9a(%rdx)
18005b833:	bb 2d 02 00 c0       	mov    $0xc000022d,%ebx
18005b838:	81 fb 2d 02 00 c0    	cmp    $0xc000022d,%ebx
18005b83e:	74 08                	je     0x18005b848
18005b840:	49 8b c8             	mov    %r8,%rcx
18005b843:	e8 70 6b ff ff       	call   0x1800523b8
18005b848:	8b c3                	mov    %ebx,%eax
18005b84a:	48 83 c4 20          	add    $0x20,%rsp
18005b84e:	5b                   	pop    %rbx
18005b84f:	c3                   	ret
18005b850:	cc                   	int3
18005b851:	cc                   	int3
18005b852:	cc                   	int3
18005b853:	cc                   	int3
18005b854:	48 83 ec 28          	sub    $0x28,%rsp
18005b858:	8b 82 a0 00 00 00    	mov    0xa0(%rdx),%eax
18005b85e:	41 80 f8 0a          	cmp    $0xa,%r8b
18005b862:	74 1a                	je     0x18005b87e
18005b864:	41 80 f8 0c          	cmp    $0xc,%r8b
18005b868:	74 1c                	je     0x18005b886
18005b86a:	41 80 f8 0e          	cmp    $0xe,%r8b
18005b86e:	74 07                	je     0x18005b877
18005b870:	e8 6f 79 ff ff       	call   0x1800531e4
18005b875:	eb 0f                	jmp    0x18005b886
18005b877:	e8 70 05 00 00       	call   0x18005bdec
18005b87c:	eb 08                	jmp    0x18005b886
18005b87e:	45 8a c1             	mov    %r9b,%r8b
18005b881:	e8 06 00 00 00       	call   0x18005b88c
18005b886:	48 83 c4 28          	add    $0x28,%rsp
18005b88a:	c3                   	ret
18005b88b:	cc                   	int3
18005b88c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18005b891:	55                   	push   %rbp
18005b892:	56                   	push   %rsi
18005b893:	57                   	push   %rdi
18005b894:	48 8b ec             	mov    %rsp,%rbp
18005b897:	48 83 ec 30          	sub    $0x30,%rsp
18005b89b:	48 8b d9             	mov    %rcx,%rbx
18005b89e:	41 8a f0             	mov    %r8b,%sil
18005b8a1:	33 c9                	xor    %ecx,%ecx
18005b8a3:	48 8b fa             	mov    %rdx,%rdi
18005b8a6:	48 89 4d 20          	mov    %rcx,0x20(%rbp)
18005b8aa:	48 89 4d 38          	mov    %rcx,0x38(%rbp)
18005b8ae:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005b8b2:	48 39 88 48 01 00 00 	cmp    %rcx,0x148(%rax)
18005b8b9:	74 79                	je     0x18005b934
18005b8bb:	f6 43 28 02          	testb  $0x2,0x28(%rbx)
18005b8bf:	74 73                	je     0x18005b934
18005b8c1:	ba 00 00 00 20       	mov    $0x20000000,%edx
18005b8c6:	85 57 3c             	test   %edx,0x3c(%rdi)
18005b8c9:	75 69                	jne    0x18005b934
18005b8cb:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18005b8cf:	f0 48 0f c1 43 48    	lock xadd %rax,0x48(%rbx)
18005b8d5:	48 ff c8             	dec    %rax
18005b8d8:	48 89 45 38          	mov    %rax,0x38(%rbp)
18005b8dc:	48 8b 45 38          	mov    0x38(%rbp),%rax
18005b8e0:	85 c0                	test   %eax,%eax
18005b8e2:	75 50                	jne    0x18005b934
18005b8e4:	48 8b c8             	mov    %rax,%rcx
18005b8e7:	48 c1 e9 20          	shr    $0x20,%rcx
18005b8eb:	81 e1 00 00 00 e0    	and    $0xe0000000,%ecx
18005b8f1:	3b ca                	cmp    %edx,%ecx
18005b8f3:	75 3f                	jne    0x18005b934
18005b8f5:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18005b8f9:	8b 51 2c             	mov    0x2c(%rcx),%edx
18005b8fc:	f6 c2 01             	test   $0x1,%dl
18005b8ff:	74 33                	je     0x18005b934
18005b901:	c7 45 24 00 00 00 60 	movl   $0x60000000,0x24(%rbp)
18005b908:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
18005b90c:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18005b910:	48 8d 55 f8          	lea    -0x8(%rbp),%rdx
18005b914:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
18005b918:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18005b91c:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
18005b920:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
18005b924:	48 89 4d f8          	mov    %rcx,-0x8(%rbp)
18005b928:	48 8b cb             	mov    %rbx,%rcx
18005b92b:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18005b92f:	e8 c4 00 00 00       	call   0x18005b9f8
18005b934:	44 8a ce             	mov    %sil,%r9b
18005b937:	41 b0 0a             	mov    $0xa,%r8b
18005b93a:	48 8b d7             	mov    %rdi,%rdx
18005b93d:	48 8b cb             	mov    %rbx,%rcx
18005b940:	e8 9f 78 ff ff       	call   0x1800531e4