1800b37b6:	48 81 fe 00 20 00 00 	cmp    $0x2000,%rsi
1800b37bd:	73 1b                	jae    0x1800b37da
1800b37bf:	8b 47 74             	mov    0x74(%rdi),%eax
1800b37c2:	bb 00 20 00 00       	mov    $0x2000,%ebx
1800b37c7:	48 3b f0             	cmp    %rax,%rsi
1800b37ca:	0f 42 d8             	cmovb  %eax,%ebx
1800b37cd:	33 c9                	xor    %ecx,%ecx
1800b37cf:	48 3b f0             	cmp    %rax,%rsi
1800b37d2:	0f 92 c1             	setb   %cl
1800b37d5:	e9 85 00 00 00       	jmp    0x1800b385f
1800b37da:	48 3b f5             	cmp    %rbp,%rsi
1800b37dd:	72 23                	jb     0x1800b3802
1800b37df:	8b 5f 74             	mov    0x74(%rdi),%ebx
1800b37e2:	48 03 dd             	add    %rbp,%rbx
1800b37e5:	48 3b f3             	cmp    %rbx,%rsi
1800b37e8:	73 07                	jae    0x1800b37f1
1800b37ea:	b9 01 00 00 00       	mov    $0x1,%ecx
1800b37ef:	eb 6e                	jmp    0x1800b385f
1800b37f1:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
1800b37f5:	48 3b f3             	cmp    %rbx,%rsi
1800b37f8:	0f 83 c9 00 00 00    	jae    0x1800b38c7
1800b37fe:	33 c9                	xor    %ecx,%ecx
1800b3800:	eb 5d                	jmp    0x1800b385f
1800b3802:	44 8b 97 a8 00 00 00 	mov    0xa8(%rdi),%r10d
1800b3809:	33 c9                	xor    %ecx,%ecx
1800b380b:	33 d2                	xor    %edx,%edx
1800b380d:	48 8b dd             	mov    %rbp,%rbx
1800b3810:	45 85 d2             	test   %r10d,%r10d
1800b3813:	74 36                	je     0x1800b384b
1800b3815:	48 8d 87 b8 00 00 00 	lea    0xb8(%rdi),%rax
1800b381c:	4c 8b 40 f8          	mov    -0x8(%rax),%r8
1800b3820:	4c 8b cb             	mov    %rbx,%r9
1800b3823:	4c 8b 38             	mov    (%rax),%r15
1800b3826:	49 3b f0             	cmp    %r8,%rsi
1800b3829:	73 0c                	jae    0x1800b3837
1800b382b:	4d 3b c8             	cmp    %r8,%r9
1800b382e:	49 8b d8             	mov    %r8,%rbx
1800b3831:	49 0f 46 d9          	cmovbe %r9,%rbx
1800b3835:	eb 09                	jmp    0x1800b3840
1800b3837:	4f 8d 0c 07          	lea    (%r15,%r8,1),%r9
1800b383b:	49 3b f1             	cmp    %r9,%rsi
1800b383e:	72 2f                	jb     0x1800b386f
1800b3840:	ff c2                	inc    %edx
1800b3842:	48 83 c0 10          	add    $0x10,%rax
1800b3846:	41 3b d2             	cmp    %r10d,%edx
1800b3849:	72 d1                	jb     0x1800b381c
1800b384b:	48 8b 07             	mov    (%rdi),%rax
1800b384e:	48 3b f0             	cmp    %rax,%rsi
1800b3851:	73 0c                	jae    0x1800b385f
1800b3853:	48 3b d8             	cmp    %rax,%rbx
1800b3856:	b9 03 00 00 00       	mov    $0x3,%ecx
1800b385b:	48 0f 47 d8          	cmova  %rax,%rbx
1800b385f:	41 8b c6             	mov    %r14d,%eax
1800b3862:	48 03 c6             	add    %rsi,%rax
1800b3865:	48 3b d8             	cmp    %rax,%rbx
1800b3868:	76 0f                	jbe    0x1800b3879
1800b386a:	41 8b de             	mov    %r14d,%ebx
1800b386d:	eb 0c                	jmp    0x1800b387b
1800b386f:	b9 02 00 00 00       	mov    $0x2,%ecx
1800b3874:	49 8b d9             	mov    %r9,%rbx
1800b3877:	eb e6                	jmp    0x1800b385f
1800b3879:	2b de                	sub    %esi,%ebx
1800b387b:	48 8b 47 58          	mov    0x58(%rdi),%rax
1800b387f:	4d 8b cb             	mov    %r11,%r9
1800b3882:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
1800b3887:	4c 8b c6             	mov    %rsi,%r8
1800b388a:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
1800b388f:	48 8b d7             	mov    %rdi,%rdx
1800b3892:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
1800b3896:	ff d0                	call   *%rax
1800b3898:	0f 1f 00             	nopl   (%rax)
1800b389b:	44 8b c0             	mov    %eax,%r8d
1800b389e:	85 c0                	test   %eax,%eax
1800b38a0:	78 2b                	js     0x1800b38cd
1800b38a2:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1800b38a7:	8b d3                	mov    %ebx,%edx
1800b38a9:	48 03 f2             	add    %rdx,%rsi
1800b38ac:	4c 03 e2             	add    %rdx,%r12
1800b38af:	4c 03 ea             	add    %rdx,%r13
1800b38b2:	48 83 7f 28 00       	cmpq   $0x0,0x28(%rdi)
1800b38b7:	4c 8d 1c 02          	lea    (%rdx,%rax,1),%r11
1800b38bb:	4c 0f 44 d8          	cmove  %rax,%r11
1800b38bf:	44 2b f3             	sub    %ebx,%r14d
1800b38c2:	e9 e4 fe ff ff       	jmp    0x1800b37ab
1800b38c7:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
1800b38cd:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1800b38d2:	41 8b c0             	mov    %r8d,%eax
1800b38d5:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1800b38d9:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1800b38dd:	49 8b 73 48          	mov    0x48(%r11),%rsi
1800b38e1:	49 8b e3             	mov    %r11,%rsp
1800b38e4:	41 5f                	pop    %r15
1800b38e6:	41 5e                	pop    %r14
1800b38e8:	41 5d                	pop    %r13
1800b38ea:	41 5c                	pop    %r12
1800b38ec:	5f                   	pop    %rdi
1800b38ed:	c3                   	ret
1800b38ee:	cc                   	int3
1800b38ef:	cc                   	int3
1800b38f0:	48 8b c4             	mov    %rsp,%rax
1800b38f3:	48 89 58 18          	mov    %rbx,0x18(%rax)
1800b38f7:	48 89 50 10          	mov    %rdx,0x10(%rax)
1800b38fb:	55                   	push   %rbp
1800b38fc:	56                   	push   %rsi
1800b38fd:	57                   	push   %rdi
1800b38fe:	41 54                	push   %r12
1800b3900:	41 55                	push   %r13
1800b3902:	41 56                	push   %r14
1800b3904:	41 57                	push   %r15
1800b3906:	48 83 ec 70          	sub    $0x70,%rsp
1800b390a:	48 8b 79 10          	mov    0x10(%rcx),%rdi
1800b390e:	45 33 c0             	xor    %r8d,%r8d
1800b3911:	4c 21 40 08          	and    %r8,0x8(%rax)
1800b3915:	45 32 e4             	xor    %r12b,%r12b
1800b3918:	4c 21 40 10          	and    %r8,0x10(%rax)
1800b391c:	48 8b d9             	mov    %rcx,%rbx
1800b391f:	4c 8b 79 30          	mov    0x30(%rcx),%r15
1800b3923:	8b 69 70             	mov    0x70(%rcx),%ebp
1800b3926:	4c 8b 69 60          	mov    0x60(%rcx),%r13
1800b392a:	4c 8b 71 68          	mov    0x68(%rcx),%r14
1800b392e:	48 85 ff             	test   %rdi,%rdi
1800b3931:	0f 84 89 01 00 00    	je     0x1800b3ac0
1800b3937:	48 8d 04 2f          	lea    (%rdi,%rbp,1),%rax
1800b393b:	48 3b c7             	cmp    %rdi,%rax
1800b393e:	0f 82 7c 01 00 00    	jb     0x1800b3ac0
1800b3944:	44 8b 91 a8 00 00 00 	mov    0xa8(%rcx),%r10d
1800b394b:	41 83 fa 05          	cmp    $0x5,%r10d
1800b394f:	0f 87 6b 01 00 00    	ja     0x1800b3ac0
1800b3955:	45 33 c9             	xor    %r9d,%r9d
1800b3958:	45 85 d2             	test   %r10d,%r10d
1800b395b:	74 2d                	je     0x1800b398a
1800b395d:	41 8b c9             	mov    %r9d,%ecx
1800b3960:	49 8d 41 0b          	lea    0xb(%r9),%rax
1800b3964:	48 03 c9             	add    %rcx,%rcx
1800b3967:	48 03 c0             	add    %rax,%rax
1800b396a:	48 8b 14 c3          	mov    (%rbx,%rax,8),%rdx
1800b396e:	48 8b 8c cb b8 00 00 	mov    0xb8(%rbx,%rcx,8),%rcx
1800b3975:	00
1800b3976:	48 03 ca             	add    %rdx,%rcx
1800b3979:	48 3b ca             	cmp    %rdx,%rcx
1800b397c:	0f 82 3e 01 00 00    	jb     0x1800b3ac0
1800b3982:	41 ff c1             	inc    %r9d
1800b3985:	45 3b ca             	cmp    %r10d,%r9d
1800b3988:	72 d3                	jb     0x1800b395d
1800b398a:	85 ed                	test   %ebp,%ebp
1800b398c:	0f 84 34 01 00 00    	je     0x1800b3ac6
1800b3992:	48 8d 8b b0 00 00 00 	lea    0xb0(%rbx),%rcx
1800b3999:	44 8b 4b 74          	mov    0x74(%rbx),%r9d
1800b399d:	48 8d 84 24 b8 00 00 	lea    0xb8(%rsp),%rax
1800b39a4:	00
1800b39a5:	4c 8b 43 08          	mov    0x8(%rbx),%r8
1800b39a9:	8b d5                	mov    %ebp,%edx
1800b39ab:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1800b39b0:	8b 43 78             	mov    0x78(%rbx),%eax
1800b39b3:	89 44 24 60          	mov    %eax,0x60(%rsp)
1800b39b7:	48 8d 84 24 b0 00 00 	lea    0xb0(%rsp),%rax
1800b39be:	00
1800b39bf:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1800b39c4:	48 8b 43 50          	mov    0x50(%rbx),%rax
1800b39c8:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1800b39cd:	48 8b 43 48          	mov    0x48(%rbx),%rax
1800b39d1:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1800b39d6:	48 8b 43 40          	mov    0x40(%rbx),%rax
1800b39da:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1800b39df:	48 8b 03             	mov    (%rbx),%rax
1800b39e2:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1800b39e7:	8b 83 a8 00 00 00    	mov    0xa8(%rbx),%eax
1800b39ed:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1800b39f2:	48 8b cf             	mov    %rdi,%rcx
1800b39f5:	89 44 24 20          	mov    %eax,0x20(%rsp)
1800b39f9:	e8 e6 00 00 00       	call   0x1800b3ae4
1800b39fe:	48 8b b4 24 b8 00 00 	mov    0xb8(%rsp),%rsi
1800b3a05:	00
1800b3a06:	44 8b d0             	mov    %eax,%r10d
1800b3a09:	8b c5                	mov    %ebp,%eax
1800b3a0b:	48 03 c7             	add    %rdi,%rax
1800b3a0e:	48 3b f0             	cmp    %rax,%rsi
1800b3a11:	76 04                	jbe    0x1800b3a17
1800b3a13:	8b f5                	mov    %ebp,%esi
1800b3a15:	eb 0b                	jmp    0x1800b3a22
1800b3a17:	48 3b f7             	cmp    %rdi,%rsi
1800b3a1a:	0f 86 a0 00 00 00    	jbe    0x1800b3ac0
1800b3a20:	2b f7                	sub    %edi,%esi
1800b3a22:	8b 4b 78             	mov    0x78(%rbx),%ecx
1800b3a25:	8b c1                	mov    %ecx,%eax
1800b3a27:	83 e0 41             	and    $0x41,%eax
1800b3a2a:	3c 41                	cmp    $0x41,%al
1800b3a2c:	75 2d                	jne    0x1800b3a5b
1800b3a2e:	41 8b d6             	mov    %r14d,%edx
1800b3a31:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
1800b3a37:	74 22                	je     0x1800b3a5b
1800b3a39:	b8 00 10 00 00       	mov    $0x1000,%eax
1800b3a3e:	41 b4 01             	mov    $0x1,%r12b
1800b3a41:	2b c2                	sub    %edx,%eax
1800b3a43:	3b f0                	cmp    %eax,%esi
1800b3a45:	0f 42 c6             	cmovb  %esi,%eax
1800b3a48:	8b f0                	mov    %eax,%esi
1800b3a4a:	48 03 c7             	add    %rdi,%rax
1800b3a4d:	83 e1 bf             	and    $0xffffffbf,%ecx
1800b3a50:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
1800b3a57:	00
1800b3a58:	89 4b 78             	mov    %ecx,0x78(%rbx)
1800b3a5b:	48 8b 43 58          	mov    0x58(%rbx),%rax
1800b3a5f:	4d 8b cf             	mov    %r15,%r9
1800b3a62:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
1800b3a67:	4c 8b c7             	mov    %rdi,%r8
1800b3a6a:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1800b3a6f:	48 8b d3             	mov    %rbx,%rdx
1800b3a72:	41 8b ca             	mov    %r10d,%ecx
1800b3a75:	89 74 24 20          	mov    %esi,0x20(%rsp)
1800b3a79:	ff d0                	call   *%rax
1800b3a7b:	0f 1f 00             	nopl   (%rax)
1800b3a7e:	44 8b c0             	mov    %eax,%r8d
1800b3a81:	45 84 e4             	test   %r12b,%r12b
1800b3a84:	74 07                	je     0x1800b3a8d
1800b3a86:	83 4b 78 40          	orl    $0x40,0x78(%rbx)
1800b3a8a:	45 32 e4             	xor    %r12b,%r12b
1800b3a8d:	85 c0                	test   %eax,%eax
1800b3a8f:	78 35                	js     0x1800b3ac6
1800b3a91:	3b ee                	cmp    %esi,%ebp
1800b3a93:	72 2b                	jb     0x1800b3ac0
1800b3a95:	8b ce                	mov    %esi,%ecx
1800b3a97:	48 03 f9             	add    %rcx,%rdi
1800b3a9a:	4c 03 e9             	add    %rcx,%r13
1800b3a9d:	4c 03 f1             	add    %rcx,%r14
1800b3aa0:	49 03 cf             	add    %r15,%rcx
1800b3aa3:	48 83 7b 28 00       	cmpq   $0x0,0x28(%rbx)
1800b3aa8:	49 0f 44 cf          	cmove  %r15,%rcx
1800b3aac:	4c 8b f9             	mov    %rcx,%r15
1800b3aaf:	48 8d 8b b0 00 00 00 	lea    0xb0(%rbx),%rcx
1800b3ab6:	2b ee                	sub    %esi,%ebp
1800b3ab8:	0f 85 db fe ff ff    	jne    0x1800b3999
1800b3abe:	eb 06                	jmp    0x1800b3ac6
1800b3ac0:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
1800b3ac6:	48 8b 9c 24 c0 00 00 	mov    0xc0(%rsp),%rbx
1800b3acd:	00
1800b3ace:	41 8b c0             	mov    %r8d,%eax
1800b3ad1:	48 83 c4 70          	add    $0x70,%rsp
1800b3ad5:	41 5f                	pop    %r15
1800b3ad7:	41 5e                	pop    %r14
1800b3ad9:	41 5d                	pop    %r13
1800b3adb:	41 5c                	pop    %r12
1800b3add:	5f                   	pop    %rdi
1800b3ade:	5e                   	pop    %rsi
1800b3adf:	5d                   	pop    %rbp
1800b3ae0:	c3                   	ret
1800b3ae1:	cc                   	int3
1800b3ae2:	cc                   	int3
1800b3ae3:	cc                   	int3
1800b3ae4:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1800b3ae9:	89 54 24 10          	mov    %edx,0x10(%rsp)
1800b3aed:	55                   	push   %rbp
1800b3aee:	56                   	push   %rsi
1800b3aef:	57                   	push   %rdi
1800b3af0:	41 54                	push   %r12
1800b3af2:	41 55                	push   %r13
1800b3af4:	41 56                	push   %r14
1800b3af6:	41 57                	push   %r15
1800b3af8:	48 83 ec 30          	sub    $0x30,%rsp
1800b3afc:	45 8b f1             	mov    %r9d,%r14d
1800b3aff:	33 f6                	xor    %esi,%esi
1800b3b01:	41 83 ca ff          	or     $0xffffffff,%r10d
1800b3b05:	48 8b f9             	mov    %rcx,%rdi
1800b3b08:	45 8d 7e ff          	lea    -0x1(%r14),%r15d
1800b3b0c:	45 8b e7             	mov    %r15d,%r12d
1800b3b0f:	45 23 e1             	and    %r9d,%r12d
1800b3b12:	75 0a                	jne    0x1800b3b1e
1800b3b14:	45 85 c9             	test   %r9d,%r9d
1800b3b17:	74 05                	je     0x1800b3b1e
1800b3b19:	41 8b d7             	mov    %r15d,%edx
1800b3b1c:	eb 08                	jmp    0x1800b3b26
1800b3b1e:	33 d2                	xor    %edx,%edx
1800b3b20:	41 8b c2             	mov    %r10d,%eax
1800b3b23:	41 f7 f6             	div    %r14d
1800b3b26:	48 21 74 24 70       	and    %rsi,0x70(%rsp)
1800b3b2b:	f7 d2                	not    %edx
1800b3b2d:	8b ca                	mov    %edx,%ecx
1800b3b2f:	48 03 cf             	add    %rdi,%rcx
1800b3b32:	49 3b f8             	cmp    %r8,%rdi
1800b3b35:	72 1b                	jb     0x1800b3b52
1800b3b37:	48 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%rax
1800b3b3e:	00
1800b3b3f:	4a 8d 0c 37          	lea    (%rdi,%r14,1),%rcx
1800b3b43:	48 3b cf             	cmp    %rdi,%rcx
1800b3b46:	48 0f 46 cf          	cmovbe %rdi,%rcx
1800b3b4a:	48 89 08             	mov    %rcx,(%rax)
1800b3b4d:	e9 d2 03 00 00       	jmp    0x1800b3f24
1800b3b52:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
1800b3b59:	00
1800b3b5a:	48 3b cf             	cmp    %rdi,%rcx
1800b3b5d:	48 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%rbp
1800b3b64:	00
1800b3b65:	49 8b c0             	mov    %r8,%rax
1800b3b68:	48 0f 47 c1          	cmova  %rcx,%rax
1800b3b6c:	4c 3b c0             	cmp    %rax,%r8
1800b3b6f:	49 0f 42 c0          	cmovb  %r8,%rax
1800b3b73:	8b c8                	mov    %eax,%ecx
1800b3b75:	48 89 03             	mov    %rax,(%rbx)
1800b3b78:	2b cf                	sub    %edi,%ecx
1800b3b7a:	89 8c 24 a8 00 00 00 	mov    %ecx,0xa8(%rsp)
1800b3b81:	48 85 ed             	test   %rbp,%rbp
1800b3b84:	74 76                	je     0x1800b3bfc
1800b3b86:	8b 84 24 d0 00 00 00 	mov    0xd0(%rsp),%eax
1800b3b8d:	4c 8b ac 24 c8 00 00 	mov    0xc8(%rsp),%r13
1800b3b94:	00
1800b3b95:	83 e0 21             	and    $0x21,%eax
1800b3b98:	3c 21                	cmp    $0x21,%al
1800b3b9a:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
1800b3ba1:	00
1800b3ba2:	75 06                	jne    0x1800b3baa
1800b3ba4:	49 89 45 00          	mov    %rax,0x0(%r13)
1800b3ba8:	eb 52                	jmp    0x1800b3bfc
1800b3baa:	48 85 c0             	test   %rax,%rax
1800b3bad:	75 09                	jne    0x1800b3bb8
1800b3baf:	49 8b 45 00          	mov    0x0(%r13),%rax
1800b3bb3:	48 85 c0             	test   %rax,%rax
1800b3bb6:	74 04                	je     0x1800b3bbc
1800b3bb8:	44 8b 50 50          	mov    0x50(%rax),%r10d
1800b3bbc:	48 3b 7d 28          	cmp    0x28(%rbp),%rdi
1800b3bc0:	72 04                	jb     0x1800b3bc6
1800b3bc2:	33 c0                	xor    %eax,%eax
1800b3bc4:	eb 25                	jmp    0x1800b3beb
1800b3bc6:	48 8d 84 24 a8 00 00 	lea    0xa8(%rsp),%rax
1800b3bcd:	00
1800b3bce:	44 8b c9             	mov    %ecx,%r9d
1800b3bd1:	48 8b cd             	mov    %rbp,%rcx
1800b3bd4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800b3bd9:	4c 8b c7             	mov    %rdi,%r8
1800b3bdc:	41 8b d2             	mov    %r10d,%edx
1800b3bdf:	e8 b8 c9 ff ff       	call   0x1800b059c
1800b3be4:	8b 8c 24 a8 00 00 00 	mov    0xa8(%rsp),%ecx
1800b3beb:	49 89 45 00          	mov    %rax,0x0(%r13)
1800b3bef:	48 85 c0             	test   %rax,%rax
1800b3bf2:	74 08                	je     0x1800b3bfc
1800b3bf4:	8b c1                	mov    %ecx,%eax
1800b3bf6:	48 03 c7             	add    %rdi,%rax
1800b3bf9:	48 89 03             	mov    %rax,(%rbx)
1800b3bfc:	44 8b 8c 24 90 00 00 	mov    0x90(%rsp),%r9d
1800b3c03:	00
1800b3c04:	33 d2                	xor    %edx,%edx
1800b3c06:	44 8d 6a 01          	lea    0x1(%rdx),%r13d
1800b3c0a:	45 85 c9             	test   %r9d,%r9d
1800b3c0d:	74 32                	je     0x1800b3c41
1800b3c0f:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
1800b3c16:	00
1800b3c17:	48 8b 01             	mov    (%rcx),%rax
1800b3c1a:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1800b3c1e:	48 3b f8             	cmp    %rax,%rdi
1800b3c21:	73 0a                	jae    0x1800b3c2d
1800b3c23:	48 39 03             	cmp    %rax,(%rbx)