18005c54e:	76 43                	jbe    0x18005c593
18005c550:	44 8b c6             	mov    %esi,%r8d
18005c553:	8b d7                	mov    %edi,%edx
18005c555:	48 8b cb             	mov    %rbx,%rcx
18005c558:	e8 f3 4d ff ff       	call   0x180051350
18005c55d:	8a 50 02             	mov    0x2(%rax),%dl
18005c560:	80 e2 0f             	and    $0xf,%dl
18005c563:	8d 4a ff             	lea    -0x1(%rdx),%ecx
18005c566:	f6 c1 fa             	test   $0xfa,%cl
18005c569:	75 1e                	jne    0x18005c589
18005c56b:	80 fa 02             	cmp    $0x2,%dl
18005c56e:	74 19                	je     0x18005c589
18005c570:	48 8b d0             	mov    %rax,%rdx
18005c573:	48 8b cb             	mov    %rbx,%rcx
18005c576:	e8 41 4e ff ff       	call   0x1800513bc
18005c57b:	44 8b c7             	mov    %edi,%r8d
18005c57e:	48 8b d0             	mov    %rax,%rdx
18005c581:	48 8b cb             	mov    %rbx,%rcx
18005c584:	e8 df 9e ff ff       	call   0x180056468
18005c589:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
18005c58d:	ff c6                	inc    %esi
18005c58f:	3b f0                	cmp    %eax,%esi
18005c591:	72 bd                	jb     0x18005c550
18005c593:	ff c7                	inc    %edi
18005c595:	eb 82                	jmp    0x18005c519
18005c597:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
18005c59c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18005c5a1:	48 83 c4 20          	add    $0x20,%rsp
18005c5a5:	5f                   	pop    %rdi
18005c5a6:	c3                   	ret
18005c5a7:	cc                   	int3
18005c5a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005c5ad:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005c5b2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005c5b7:	57                   	push   %rdi
18005c5b8:	48 83 ec 20          	sub    $0x20,%rsp
18005c5bc:	33 db                	xor    %ebx,%ebx
18005c5be:	49 8b f0             	mov    %r8,%rsi
18005c5c1:	41 21 18             	and    %ebx,(%r8)
18005c5c4:	8b ea                	mov    %edx,%ebp
18005c5c6:	48 8b f9             	mov    %rcx,%rdi
18005c5c9:	e8 36 f0 ff ff       	call   0x18005b604
18005c5ce:	83 f8 04             	cmp    $0x4,%eax
18005c5d1:	75 04                	jne    0x18005c5d7
18005c5d3:	32 c0                	xor    %al,%al
18005c5d5:	eb 37                	jmp    0x18005c60e
18005c5d7:	44 0f b6 4f 2b       	movzbl 0x2b(%rdi),%r9d
18005c5dc:	45 33 c0             	xor    %r8d,%r8d
18005c5df:	45 85 c9             	test   %r9d,%r9d
18005c5e2:	74 23                	je     0x18005c607
18005c5e4:	8b d5                	mov    %ebp,%edx
18005c5e6:	48 8b cf             	mov    %rdi,%rcx
18005c5e9:	e8 62 4d ff ff       	call   0x180051350
18005c5ee:	8a 48 02             	mov    0x2(%rax),%cl
18005c5f1:	8d 43 01             	lea    0x1(%rbx),%eax
18005c5f4:	80 e1 0f             	and    $0xf,%cl
18005c5f7:	80 f9 05             	cmp    $0x5,%cl
18005c5fa:	0f 45 c3             	cmovne %ebx,%eax
18005c5fd:	41 ff c0             	inc    %r8d
18005c600:	8b d8                	mov    %eax,%ebx
18005c602:	45 3b c1             	cmp    %r9d,%r8d
18005c605:	72 dd                	jb     0x18005c5e4
18005c607:	85 db                	test   %ebx,%ebx
18005c609:	89 1e                	mov    %ebx,(%rsi)
18005c60b:	0f 95 c0             	setne  %al
18005c60e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005c613:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18005c618:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18005c61d:	48 83 c4 20          	add    $0x20,%rsp
18005c621:	5f                   	pop    %rdi
18005c622:	c3                   	ret
18005c623:	cc                   	int3
18005c624:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18005c629:	55                   	push   %rbp
18005c62a:	56                   	push   %rsi
18005c62b:	57                   	push   %rdi
18005c62c:	41 54                	push   %r12
18005c62e:	41 55                	push   %r13
18005c630:	41 56                	push   %r14
18005c632:	41 57                	push   %r15
18005c634:	48 83 ec 30          	sub    $0x30,%rsp
18005c638:	48 8b f9             	mov    %rcx,%rdi
18005c63b:	33 db                	xor    %ebx,%ebx
18005c63d:	48 8b 49 20          	mov    0x20(%rcx),%rcx
18005c641:	48 8b 47 08          	mov    0x8(%rdi),%rax
18005c645:	48 85 c9             	test   %rcx,%rcx
18005c648:	74 06                	je     0x18005c650
18005c64a:	48 83 c1 38          	add    $0x38,%rcx
18005c64e:	eb 04                	jmp    0x18005c654
18005c650:	48 8d 48 30          	lea    0x30(%rax),%rcx
18005c654:	48 8b 49 08          	mov    0x8(%rcx),%rcx
18005c658:	8b eb                	mov    %ebx,%ebp
18005c65a:	4c 8b a0 a8 00 00 00 	mov    0xa8(%rax),%r12
18005c661:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
18005c666:	48 8b 47 20          	mov    0x20(%rdi),%rax
18005c66a:	48 85 c0             	test   %rax,%rax
18005c66d:	74 06                	je     0x18005c675
18005c66f:	48 83 c0 58          	add    $0x58,%rax
18005c673:	eb 08                	jmp    0x18005c67d
18005c675:	48 8b 47 08          	mov    0x8(%rdi),%rax
18005c679:	48 83 c0 50          	add    $0x50,%rax
18005c67d:	3b 68 10             	cmp    0x10(%rax),%ebp
18005c680:	0f 83 3d 02 00 00    	jae    0x18005c8c3
18005c686:	4c 8d 44 24 70       	lea    0x70(%rsp),%r8
18005c68b:	89 5c 24 70          	mov    %ebx,0x70(%rsp)
18005c68f:	8b d5                	mov    %ebp,%edx
18005c691:	48 8b cf             	mov    %rdi,%rcx
18005c694:	41 83 cf ff          	or     $0xffffffff,%r15d
18005c698:	e8 0b ff ff ff       	call   0x18005c5a8
18005c69d:	84 c0                	test   %al,%al
18005c69f:	0f 84 12 02 00 00    	je     0x18005c8b7
18005c6a5:	44 8b f3             	mov    %ebx,%r14d
18005c6a8:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
18005c6ab:	0f 86 06 02 00 00    	jbe    0x18005c8b7
18005c6b1:	45 8b c6             	mov    %r14d,%r8d
18005c6b4:	8b d5                	mov    %ebp,%edx
18005c6b6:	48 8b cf             	mov    %rdi,%rcx
18005c6b9:	e8 92 4c ff ff       	call   0x180051350
18005c6be:	48 8b d0             	mov    %rax,%rdx
18005c6c1:	4c 8b e8             	mov    %rax,%r13
18005c6c4:	e8 f3 4c ff ff       	call   0x1800513bc
18005c6c9:	41 f6 45 03 0f       	testb  $0xf,0x3(%r13)
18005c6ce:	48 8b f0             	mov    %rax,%rsi
18005c6d1:	0f 85 e0 01 00 00    	jne    0x18005c8b7
18005c6d7:	41 0f b6 4d 02       	movzbl 0x2(%r13),%ecx
18005c6dc:	83 e1 0f             	and    $0xf,%ecx
18005c6df:	83 e9 01             	sub    $0x1,%ecx
18005c6e2:	74 35                	je     0x18005c719
18005c6e4:	83 f9 04             	cmp    $0x4,%ecx
18005c6e7:	75 5e                	jne    0x18005c747
18005c6e9:	48 8b 00             	mov    (%rax),%rax
18005c6ec:	48 8b ce             	mov    %rsi,%rcx
18005c6ef:	48 8b 40 58          	mov    0x58(%rax),%rax
18005c6f3:	ff d0                	call   *%rax
18005c6f5:	0f 1f 00             	nopl   (%rax)
18005c6f8:	38 58 04             	cmp    %bl,0x4(%rax)
18005c6fb:	0f 85 b6 01 00 00    	jne    0x18005c8b7
18005c701:	44 8b c5             	mov    %ebp,%r8d
18005c704:	48 8b d6             	mov    %rsi,%rdx
18005c707:	48 8b cf             	mov    %rdi,%rcx
18005c70a:	e8 59 9d ff ff       	call   0x180056468
18005c70f:	84 c0                	test   %al,%al
18005c711:	0f 84 a0 01 00 00    	je     0x18005c8b7
18005c717:	eb 2e                	jmp    0x18005c747
18005c719:	41 83 ff ff          	cmp    $0xffffffff,%r15d
18005c71d:	75 28                	jne    0x18005c747
18005c71f:	48 8b 00             	mov    (%rax),%rax
18005c722:	48 8b ce             	mov    %rsi,%rcx
18005c725:	48 8b 40 58          	mov    0x58(%rax),%rax
18005c729:	ff d0                	call   *%rax
18005c72b:	0f 1f 00             	nopl   (%rax)
18005c72e:	38 58 04             	cmp    %bl,0x4(%rax)
18005c731:	75 14                	jne    0x18005c747
18005c733:	44 8b c5             	mov    %ebp,%r8d
18005c736:	48 8b d6             	mov    %rsi,%rdx
18005c739:	48 8b cf             	mov    %rdi,%rcx
18005c73c:	e8 27 9d ff ff       	call   0x180056468
18005c741:	84 c0                	test   %al,%al
18005c743:	45 0f 45 fe          	cmovne %r14d,%r15d
18005c747:	0f b6 47 2b          	movzbl 0x2b(%rdi),%eax
18005c74b:	41 ff c6             	inc    %r14d
18005c74e:	44 3b f0             	cmp    %eax,%r14d
18005c751:	0f 82 5a ff ff ff    	jb     0x18005c6b1
18005c757:	41 83 ff ff          	cmp    $0xffffffff,%r15d
18005c75b:	0f 84 56 01 00 00    	je     0x18005c8b7
18005c761:	b9 f8 00 00 00       	mov    $0xf8,%ecx
18005c766:	e8 a9 a1 fe ff       	call   0x180046914
18005c76b:	48 8b f0             	mov    %rax,%rsi
18005c76e:	48 85 c0             	test   %rax,%rax
18005c771:	74 29                	je     0x18005c79c
18005c773:	48 8b c8             	mov    %rax,%rcx
18005c776:	e8 ed a7 fe ff       	call   0x180046f68
18005c77b:	48 8d 0d a6 6c 0e 00 	lea    0xe6ca6(%rip),%rcx        # 0x180143428
18005c782:	48 89 9e e0 00 00 00 	mov    %rbx,0xe0(%rsi)
18005c789:	48 89 0e             	mov    %rcx,(%rsi)
18005c78c:	48 89 9e e8 00 00 00 	mov    %rbx,0xe8(%rsi)
18005c793:	48 89 9e f0 00 00 00 	mov    %rbx,0xf0(%rsi)
18005c79a:	eb 03                	jmp    0x18005c79f
18005c79c:	48 8b f3             	mov    %rbx,%rsi
18005c79f:	48 85 f6             	test   %rsi,%rsi
18005c7a2:	0f 84 16 01 00 00    	je     0x18005c8be
18005c7a8:	45 8b c7             	mov    %r15d,%r8d
18005c7ab:	8b d5                	mov    %ebp,%edx
18005c7ad:	48 8b cf             	mov    %rdi,%rcx
18005c7b0:	e8 9b 4b ff ff       	call   0x180051350
18005c7b5:	48 8b d0             	mov    %rax,%rdx
18005c7b8:	e8 ff 4b ff ff       	call   0x1800513bc
18005c7bd:	48 8b c8             	mov    %rax,%rcx
18005c7c0:	48 8b 00             	mov    (%rax),%rax
18005c7c3:	48 8b 40 58          	mov    0x58(%rax),%rax
18005c7c7:	ff d0                	call   *%rax
18005c7c9:	0f 1f 00             	nopl   (%rax)
18005c7cc:	44 8b f3             	mov    %ebx,%r14d
18005c7cf:	c6 40 04 01          	movb   $0x1,0x4(%rax)
18005c7d3:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
18005c7d6:	76 5b                	jbe    0x18005c833
18005c7d8:	45 8b c6             	mov    %r14d,%r8d
18005c7db:	8b d5                	mov    %ebp,%edx
18005c7dd:	48 8b cf             	mov    %rdi,%rcx
18005c7e0:	e8 6b 4b ff ff       	call   0x180051350
18005c7e5:	4c 8b e8             	mov    %rax,%r13
18005c7e8:	8a 50 02             	mov    0x2(%rax),%dl
18005c7eb:	8a ca                	mov    %dl,%cl
18005c7ed:	80 e1 0f             	and    $0xf,%cl
18005c7f0:	80 f9 05             	cmp    $0x5,%cl
18005c7f3:	75 32                	jne    0x18005c827
18005c7f5:	c0 ea 04             	shr    $0x4,%dl
18005c7f8:	41 b1 06             	mov    $0x6,%r9b
18005c7fb:	88 54 24 20          	mov    %dl,0x20(%rsp)
18005c7ff:	48 8b cf             	mov    %rdi,%rcx
18005c802:	8b d5                	mov    %ebp,%edx
18005c804:	e8 ff 90 ff ff       	call   0x180055908
18005c809:	49 8b d5             	mov    %r13,%rdx
18005c80c:	48 8b cf             	mov    %rdi,%rcx
18005c80f:	e8 a8 4b ff ff       	call   0x1800513bc
18005c814:	48 8b c8             	mov    %rax,%rcx
18005c817:	48 8b 00             	mov    (%rax),%rax
18005c81a:	48 8b 40 58          	mov    0x58(%rax),%rax
18005c81e:	ff d0                	call   *%rax
18005c820:	0f 1f 00             	nopl   (%rax)
18005c823:	c6 40 04 01          	movb   $0x1,0x4(%rax)
18005c827:	0f b6 47 2b          	movzbl 0x2b(%rdi),%eax
18005c82b:	41 ff c6             	inc    %r14d
18005c82e:	44 3b f0             	cmp    %eax,%r14d
18005c831:	72 a5                	jb     0x18005c7d8
18005c833:	48 89 5e 78          	mov    %rbx,0x78(%rsi)
18005c837:	41 be 00 00 04 00    	mov    $0x40000,%r14d
18005c83d:	8a 4f 2a             	mov    0x2a(%rdi),%cl
18005c840:	41 8b c6             	mov    %r14d,%eax
18005c843:	ba 01 00 00 00       	mov    $0x1,%edx
18005c848:	89 ae 84 00 00 00    	mov    %ebp,0x84(%rsi)
18005c84e:	48 d3 e2             	shl    %cl,%rdx
18005c851:	45 8b c7             	mov    %r15d,%r8d
18005c854:	41 3b d6             	cmp    %r14d,%edx
18005c857:	48 8b cf             	mov    %rdi,%rcx
18005c85a:	0f 42 c2             	cmovb  %edx,%eax
18005c85d:	8b d5                	mov    %ebp,%edx
18005c85f:	89 86 80 00 00 00    	mov    %eax,0x80(%rsi)
18005c865:	e8 e6 4a ff ff       	call   0x180051350
18005c86a:	8b 48 10             	mov    0x10(%rax),%ecx
18005c86d:	89 8e 88 00 00 00    	mov    %ecx,0x88(%rsi)
18005c873:	8b 4c 24 70          	mov    0x70(%rsp),%ecx
18005c877:	48 89 4e 70          	mov    %rcx,0x70(%rsi)
18005c87b:	48 0f af 4c 24 78    	imul   0x78(%rsp),%rcx
18005c881:	48 89 be d8 00 00 00 	mov    %rdi,0xd8(%rsi)
18005c888:	48 8b 47 10          	mov    0x10(%rdi),%rax
18005c88c:	48 89 8e f0 00 00 00 	mov    %rcx,0xf0(%rsi)
18005c893:	48 89 86 e0 00 00 00 	mov    %rax,0xe0(%rsi)
18005c89a:	f0 49 0f c1 8c 24 d0 	lock xadd %rcx,0x1d0(%r12)
18005c8a1:	01 00 00
18005c8a4:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
18005c8a8:	48 8b d6             	mov    %rsi,%rdx
18005c8ab:	48 8b 01             	mov    (%rcx),%rax
18005c8ae:	48 8b 40 68          	mov    0x68(%rax),%rax
18005c8b2:	ff d0                	call   *%rax
18005c8b4:	0f 1f 00             	nopl   (%rax)
18005c8b7:	ff c5                	inc    %ebp
18005c8b9:	e9 a8 fd ff ff       	jmp    0x18005c666
18005c8be:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18005c8c3:	8b c3                	mov    %ebx,%eax
18005c8c5:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18005c8cc:	00
18005c8cd:	48 83 c4 30          	add    $0x30,%rsp
18005c8d1:	41 5f                	pop    %r15
18005c8d3:	41 5e                	pop    %r14
18005c8d5:	41 5d                	pop    %r13
18005c8d7:	41 5c                	pop    %r12
18005c8d9:	5f                   	pop    %rdi
18005c8da:	5e                   	pop    %rsi
18005c8db:	5d                   	pop    %rbp
18005c8dc:	c3                   	ret
18005c8dd:	cc                   	int3
18005c8de:	cc                   	int3
18005c8df:	cc                   	int3
18005c8e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005c8e5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005c8ea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005c8ef:	57                   	push   %rdi
18005c8f0:	41 56                	push   %r14
18005c8f2:	41 57                	push   %r15
18005c8f4:	48 83 ec 30          	sub    $0x30,%rsp
18005c8f8:	48 8b 41 20          	mov    0x20(%rcx),%rax
18005c8fc:	33 db                	xor    %ebx,%ebx
18005c8fe:	48 8b ea             	mov    %rdx,%rbp
18005c901:	48 8b f9             	mov    %rcx,%rdi
18005c904:	44 8b cb             	mov    %ebx,%r9d
18005c907:	48 85 c0             	test   %rax,%rax
18005c90a:	74 06                	je     0x18005c912
18005c90c:	48 83 c0 38          	add    $0x38,%rax
18005c910:	eb 08                	jmp    0x18005c91a
18005c912:	48 8b 41 08          	mov    0x8(%rcx),%rax
18005c916:	48 83 c0 30          	add    $0x30,%rax
18005c91a:	44 0f b6 51 2b       	movzbl 0x2b(%rcx),%r10d
18005c91f:	83 ce ff             	or     $0xffffffff,%esi
18005c922:	4c 8b 58 08          	mov    0x8(%rax),%r11
18005c926:	44 8b f3             	mov    %ebx,%r14d
18005c929:	44 8b ba 84 00 00 00 	mov    0x84(%rdx),%r15d
18005c930:	44 8b c3             	mov    %ebx,%r8d
18005c933:	45 85 d2             	test   %r10d,%r10d
18005c936:	74 46                	je     0x18005c97e
18005c938:	41 8b d7             	mov    %r15d,%edx
18005c93b:	48 8b cf             	mov    %rdi,%rcx
18005c93e:	e8 0d 4a ff ff       	call   0x180051350
18005c943:	48 8b d0             	mov    %rax,%rdx
18005c946:	0f b6 48 02          	movzbl 0x2(%rax),%ecx
18005c94a:	83 e1 0f             	and    $0xf,%ecx
18005c94d:	83 e9 01             	sub    $0x1,%ecx
18005c950:	74 17                	je     0x18005c969
18005c952:	83 e9 04             	sub    $0x4,%ecx
18005c955:	74 0a                	je     0x18005c961
18005c957:	83 f9 01             	cmp    $0x1,%ecx
18005c95a:	75 1a                	jne    0x18005c976
18005c95c:	41 ff c1             	inc    %r9d
18005c95f:	eb 15                	jmp    0x18005c976
18005c961:	41 be 25 02 00 c0    	mov    $0xc0000225,%r14d
18005c967:	eb 0d                	jmp    0x18005c976
18005c969:	8b 85 88 00 00 00    	mov    0x88(%rbp),%eax
18005c96f:	39 42 10             	cmp    %eax,0x10(%rdx)
18005c972:	41 0f 44 f0          	cmove  %r8d,%esi
18005c976:	41 ff c0             	inc    %r8d
18005c979:	45 3b c2             	cmp    %r10d,%r8d
18005c97c:	72 ba                	jb     0x18005c938
18005c97e:	4d 8b c3             	mov    %r11,%r8
18005c981:	41 8b d1             	mov    %r9d,%edx
18005c984:	48 8b cd             	mov    %rbp,%rcx
18005c987:	e8 88 a4 fe ff       	call   0x180046e14
18005c98c:	48 39 9d f0 00 00 00 	cmp    %rbx,0xf0(%rbp)
18005c993:	74 05                	je     0x18005c99a
18005c995:	83 fe ff             	cmp    $0xffffffff,%esi
18005c998:	75 06                	jne    0x18005c9a0
18005c99a:	41 be 25 02 00 c0    	mov    $0xc0000225,%r14d
18005c9a0:	8b b5 84 00 00 00    	mov    0x84(%rbp),%esi
18005c9a6:	45 85 f6             	test   %r14d,%r14d
18005c9a9:	79 42                	jns    0x18005c9ed
18005c9ab:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
18005c9ae:	0f 86 ba 00 00 00    	jbe    0x18005ca6e
18005c9b4:	44 8b c3             	mov    %ebx,%r8d
18005c9b7:	8b d6                	mov    %esi,%edx
18005c9b9:	48 8b cf             	mov    %rdi,%rcx
18005c9bc:	e8 8f 49 ff ff       	call   0x180051350
18005c9c1:	8a 48 02             	mov    0x2(%rax),%cl
18005c9c4:	8a c1                	mov    %cl,%al
18005c9c6:	24 0f                	and    $0xf,%al
18005c9c8:	3c 06                	cmp    $0x6,%al
18005c9ca:	75 12                	jne    0x18005c9de
18005c9cc:	c0 e9 04             	shr    $0x4,%cl
18005c9cf:	41 b1 05             	mov    $0x5,%r9b
18005c9d2:	88 4c 24 20          	mov    %cl,0x20(%rsp)
18005c9d6:	48 8b cf             	mov    %rdi,%rcx
18005c9d9:	e8 2a 8f ff ff       	call   0x180055908