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
18005b945:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
18005b94a:	48 83 c4 30          	add    $0x30,%rsp
18005b94e:	5f                   	pop    %rdi
18005b94f:	5e                   	pop    %rsi
18005b950:	5d                   	pop    %rbp
18005b951:	c3                   	ret
18005b952:	cc                   	int3
18005b953:	cc                   	int3
18005b954:	40 55                	rex push %rbp
18005b956:	53                   	push   %rbx
18005b957:	57                   	push   %rdi
18005b958:	48 8b ec             	mov    %rsp,%rbp
18005b95b:	48 83 ec 20          	sub    $0x20,%rsp
18005b95f:	48 c7 45 20 00 00 00 	movq   $0x0,0x20(%rbp)
18005b966:	00
18005b967:	48 8b f9             	mov    %rcx,%rdi
18005b96a:	48 c7 45 28 00 00 00 	movq   $0x0,0x28(%rbp)
18005b971:	00
18005b972:	48 8b 47 48          	mov    0x48(%rdi),%rax
18005b976:	33 db                	xor    %ebx,%ebx
18005b978:	48 89 45 28          	mov    %rax,0x28(%rbp)
18005b97c:	48 8b 47 48          	mov    0x48(%rdi),%rax
18005b980:	48 89 45 28          	mov    %rax,0x28(%rbp)
18005b984:	48 8b 4d 28          	mov    0x28(%rbp),%rcx
18005b988:	48 89 4d 20          	mov    %rcx,0x20(%rbp)
18005b98c:	48 8b c8             	mov    %rax,%rcx
18005b98f:	48 c1 e9 20          	shr    $0x20,%rcx
18005b993:	c1 e9 1d             	shr    $0x1d,%ecx
18005b996:	48 89 45 20          	mov    %rax,0x20(%rbp)
18005b99a:	85 c9                	test   %ecx,%ecx
18005b99c:	74 11                	je     0x18005b9af
18005b99e:	83 c1 fe             	add    $0xfffffffe,%ecx
18005b9a1:	83 f9 01             	cmp    $0x1,%ecx
18005b9a4:	77 12                	ja     0x18005b9b8
18005b9a6:	c7 45 24 00 00 00 20 	movl   $0x20000000,0x24(%rbp)
18005b9ad:	eb 09                	jmp    0x18005b9b8
18005b9af:	bb 20 00 e7 c0       	mov    $0xc0e70020,%ebx
18005b9b4:	85 c0                	test   %eax,%eax
18005b9b6:	75 33                	jne    0x18005b9eb
18005b9b8:	ff 45 20             	incl   0x20(%rbp)
18005b9bb:	4c 8d 45 30          	lea    0x30(%rbp),%r8
18005b9bf:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18005b9c3:	48 8d 55 38          	lea    0x38(%rbp),%rdx
18005b9c7:	48 89 4d 30          	mov    %rcx,0x30(%rbp)
18005b9cb:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18005b9cf:	48 89 4d 30          	mov    %rcx,0x30(%rbp)
18005b9d3:	48 8b 4d 28          	mov    0x28(%rbp),%rcx
18005b9d7:	48 89 4d 38          	mov    %rcx,0x38(%rbp)
18005b9db:	48 8b cf             	mov    %rdi,%rcx
18005b9de:	48 89 45 38          	mov    %rax,0x38(%rbp)
18005b9e2:	e8 11 00 00 00       	call   0x18005b9f8
18005b9e7:	84 c0                	test   %al,%al
18005b9e9:	74 87                	je     0x18005b972
18005b9eb:	8b c3                	mov    %ebx,%eax
18005b9ed:	48 83 c4 20          	add    $0x20,%rsp
18005b9f1:	5f                   	pop    %rdi
18005b9f2:	5b                   	pop    %rbx
18005b9f3:	5d                   	pop    %rbp
18005b9f4:	c3                   	ret
18005b9f5:	cc                   	int3
18005b9f6:	cc                   	int3
18005b9f7:	cc                   	int3
18005b9f8:	48 8b 02             	mov    (%rdx),%rax
18005b9fb:	4d 8b d0             	mov    %r8,%r10
18005b9fe:	4d 8b 08             	mov    (%r8),%r9
18005ba01:	f0 4c 0f b1 49 48    	lock cmpxchg %r9,0x48(%rcx)
18005ba07:	4c 8b 0a             	mov    (%rdx),%r9
18005ba0a:	4c 3b c8             	cmp    %rax,%r9
18005ba0d:	41 0f 94 c3          	sete   %r11b
18005ba11:	45 84 db             	test   %r11b,%r11b
18005ba14:	74 3a                	je     0x18005ba50
18005ba16:	44 8b 4a 04          	mov    0x4(%rdx),%r9d
18005ba1a:	41 8b 40 04          	mov    0x4(%r8),%eax
18005ba1e:	41 33 c1             	xor    %r9d,%eax
18005ba21:	a9 00 00 00 e0       	test   $0xe0000000,%eax
18005ba26:	74 28                	je     0x18005ba50
18005ba28:	48 8b 49 08          	mov    0x8(%rcx),%rcx
18005ba2c:	48 8b 91 48 01 00 00 	mov    0x148(%rcx),%rdx
18005ba33:	41 8b c9             	mov    %r9d,%ecx
18005ba36:	48 c1 e9 1d          	shr    $0x1d,%rcx
18005ba3a:	4c 8b 42 60          	mov    0x60(%rdx),%r8
18005ba3e:	f0 49 ff 0c c8       	lock decq (%r8,%rcx,8)
18005ba43:	41 8b 4a 04          	mov    0x4(%r10),%ecx
18005ba47:	48 c1 e9 1d          	shr    $0x1d,%rcx
18005ba4b:	f0 49 ff 04 c8       	lock incq (%r8,%rcx,8)
18005ba50:	41 8a c3             	mov    %r11b,%al
18005ba53:	c3                   	ret
18005ba54:	cc                   	int3
18005ba55:	cc                   	int3
18005ba56:	cc                   	int3
18005ba57:	cc                   	int3
18005ba58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005ba5d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005ba62:	56                   	push   %rsi
18005ba63:	57                   	push   %rdi
18005ba64:	41 55                	push   %r13
18005ba66:	41 56                	push   %r14
18005ba68:	41 57                	push   %r15
18005ba6a:	48 83 ec 30          	sub    $0x30,%rsp
18005ba6e:	45 33 ff             	xor    %r15d,%r15d
18005ba71:	4c 8b ea             	mov    %rdx,%r13
18005ba74:	44 89 7c 24 70       	mov    %r15d,0x70(%rsp)
18005ba79:	48 8b d9             	mov    %rcx,%rbx
18005ba7c:	4d 85 c0             	test   %r8,%r8
18005ba7f:	74 0b                	je     0x18005ba8c
18005ba81:	41 be 02 00 00 c0    	mov    $0xc0000002,%r14d
18005ba87:	e9 de 01 00 00       	jmp    0x18005bc6a
18005ba8c:	48 8b 72 08          	mov    0x8(%rdx),%rsi
18005ba90:	45 33 c0             	xor    %r8d,%r8d
18005ba93:	f6 41 28 40          	testb  $0x40,0x28(%rcx)
18005ba97:	48 8b 41 08          	mov    0x8(%rcx),%rax
18005ba9b:	48 8b 6e 78          	mov    0x78(%rsi),%rbp
18005ba9f:	48 8b 50 70          	mov    0x70(%rax),%rdx
18005baa3:	0f 84 93 00 00 00    	je     0x18005bb3c
18005baa9:	e8 2a f9 ff ff       	call   0x18005b3d8
18005baae:	48 8b 4e 78          	mov    0x78(%rsi),%rcx
18005bab2:	48 8b e8             	mov    %rax,%rbp
18005bab5:	48 3b c8             	cmp    %rax,%rcx
18005bab8:	0f 83 ae 00 00 00    	jae    0x18005bb6c
18005babe:	48 2b c1             	sub    %rcx,%rax
18005bac1:	49 89 85 a8 00 00 00 	mov    %rax,0xa8(%r13)
18005bac8:	48 89 6e 78          	mov    %rbp,0x78(%rsi)
18005bacc:	e9 9b 00 00 00       	jmp    0x18005bb6c
18005bad1:	33 ff                	xor    %edi,%edi
18005bad3:	40 38 7b 2b          	cmp    %dil,0x2b(%rbx)
18005bad7:	76 3f                	jbe    0x18005bb18
18005bad9:	8b 86 80 00 00 00    	mov    0x80(%rsi),%eax
18005badf:	4c 8b cd             	mov    %rbp,%r9
18005bae2:	8b 96 84 00 00 00    	mov    0x84(%rsi),%edx
18005bae8:	44 8b c7             	mov    %edi,%r8d
18005baeb:	48 8b cb             	mov    %rbx,%rcx
18005baee:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18005baf3:	e8 50 5a ff ff       	call   0x180051548
18005baf8:	84 c0                	test   %al,%al
18005bafa:	74 08                	je     0x18005bb04
18005bafc:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
18005bb01:	0f ab 38             	bts    %edi,(%rax)
18005bb04:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
18005bb08:	ff c7                	inc    %edi
18005bb0a:	3b f8                	cmp    %eax,%edi
18005bb0c:	72 cb                	jb     0x18005bad9
18005bb0e:	44 8b 7c 24 70       	mov    0x70(%rsp),%r15d
18005bb13:	45 85 ff             	test   %r15d,%r15d
18005bb16:	75 2e                	jne    0x18005bb46
18005bb18:	8b 86 80 00 00 00    	mov    0x80(%rsi),%eax
18005bb1e:	48 8b cb             	mov    %rbx,%rcx
18005bb21:	49 01 85 a8 00 00 00 	add    %rax,0xa8(%r13)
18005bb28:	8b 86 80 00 00 00    	mov    0x80(%rsi),%eax
18005bb2e:	48 03 e8             	add    %rax,%rbp
18005bb31:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005bb35:	45 33 c0             	xor    %r8d,%r8d
18005bb38:	48 8b 50 70          	mov    0x70(%rax),%rdx
18005bb3c:	e8 97 f8 ff ff       	call   0x18005b3d8
18005bb41:	48 3b e8             	cmp    %rax,%rbp
18005bb44:	72 8b                	jb     0x18005bad1
18005bb46:	48 89 6e 78          	mov    %rbp,0x78(%rsi)
18005bb4a:	45 33 c0             	xor    %r8d,%r8d
18005bb4d:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005bb51:	48 8b cb             	mov    %rbx,%rcx
18005bb54:	48 8b 50 70          	mov    0x70(%rax),%rdx
18005bb58:	e8 7b f8 ff ff       	call   0x18005b3d8
18005bb5d:	48 3b e8             	cmp    %rax,%rbp
18005bb60:	73 0a                	jae    0x18005bb6c
18005bb62:	8b 86 80 00 00 00    	mov    0x80(%rsi),%eax
18005bb68:	48 01 46 78          	add    %rax,0x78(%rsi)
18005bb6c:	48 8b 43 08          	mov    0x8(%rbx),%rax
18005bb70:	45 33 c0             	xor    %r8d,%r8d
18005bb73:	48 8b cb             	mov    %rbx,%rcx
18005bb76:	48 8b 50 70          	mov    0x70(%rax),%rdx
18005bb7a:	e8 59 f8 ff ff       	call   0x18005b3d8
18005bb7f:	48 3b e8             	cmp    %rax,%rbp
18005bb82:	72 0b                	jb     0x18005bb8f
18005bb84:	41 be 02 00 e7 00    	mov    $0xe70002,%r14d
18005bb8a:	e9 db 00 00 00       	jmp    0x18005bc6a
18005bb8f:	b9 e0 00 00 00       	mov    $0xe0,%ecx