	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function tss32_restore
_tss32_restore:                         ## @tss32_restore
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%r8, %rbx
	movl	%esi, %r14d
	movq	%rdi, %r12
	movq	%rdx, -56(%rbp)                 ## 8-byte Spill
	movq	(%rdx), %rax
	movq	_TSR_IRET@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	sete	%dl
	movq	_TSR_JMP@GOTPCREL(%rip), %rsi
	cmpq	(%rsi), %rax
	sete	%r15b
	orb	%dl, %r15b
	movq	%r9, -80(%rbp)                  ## 8-byte Spill
	je	LBB0_1
## %bb.2:
	movl	(%rbx), %r13d
	jmp	LBB0_3
LBB0_1:
	movl	%ecx, 72(%rbx)
	movq	_PSL_NT@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	orl	(%rbx), %r13d
LBB0_3:
	movq	_VM_REG_GUEST_LDTR@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	4(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	movq	8(%rax), %rax
	movq	_PAGING_MODE_FLAT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_15
## %bb.4:
	movq	_PAGING_MODE_PAE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_14
## %bb.5:
	movl	8(%rbx), %esi
	andl	$-32, %esi
	movq	%r12, %rdi
	movl	$32, %edx
	callq	_paddr_guest2host
	movl	(%rax), %ecx
	testb	$1, %cl
	je	LBB0_7
## %bb.6:
	movl	%ecx, %edx
	andl	$486, %edx                      ## imm = 0x1E6
	jne	LBB0_34
LBB0_7:
	movl	4(%rax), %edx
	testb	$1, %dl
	je	LBB0_9
## %bb.8:
	andl	$486, %edx                      ## imm = 0x1E6
	jne	LBB0_34
LBB0_9:
	movl	8(%rax), %edx
	testb	$1, %dl
	je	LBB0_11
## %bb.10:
	andl	$486, %edx                      ## imm = 0x1E6
	jne	LBB0_34
LBB0_11:
	movl	12(%rax), %edx
	testb	$1, %dl
	je	LBB0_13
## %bb.12:
	andl	$486, %edx                      ## imm = 0x1E6
	je	LBB0_13
LBB0_34:
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_vm_inject_gp
	movl	$1, %eax
	jmp	LBB0_33
LBB0_13:
	movq	_VM_REG_GUEST_PDPTE0@GOTPCREL(%rip), %rdx
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movl	(%rdx), %edx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_PDPTE1@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	4(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_PDPTE2@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	8(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_PDPTE3@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	12(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
LBB0_14:
	movq	_VM_REG_GUEST_CR3@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	8(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movl	8(%rbx), %eax
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, 16(%rcx)
LBB0_15:
	movq	_VM_REG_GUEST_RFLAGS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movl	%r13d, %ecx
	callq	_SETREG
	movq	_VM_REG_GUEST_RIP@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	12(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RAX@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	16(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RCX@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	20(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RDX@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	24(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RBX@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	28(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RSP@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	32(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RBP@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	36(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RSI@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	40(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_RDI@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	44(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_ES@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	48(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_CS@GOTPCREL(%rip), %r13
	movl	(%r13), %edx
	movl	52(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_SS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	56(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_DS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	60(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_FS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	64(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	movq	_VM_REG_GUEST_GS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	68(%rbx), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_SETREG
	testb	%r15b, %r15b
	jne	LBB0_17
## %bb.16:
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%rbx, %rdx
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	movl	$76, %r8d
	callq	_vm_copyout
LBB0_17:
	movq	_VM_REG_GUEST_LDTR@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	-48(%rbp), %r8
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	movq	16(%rbp), %r15
	movq	%r15, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	jne	LBB0_33
## %bb.18:
	cmpl	$0, (%r15)
	je	LBB0_19
LBB0_32:
	xorl	%eax, %eax
	jmp	LBB0_33
LBB0_19:
	movq	_VM_REG_GUEST_LDTR@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edx
	leaq	-48(%rbp), %rcx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_update_seg_desc
	movl	(%r13), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	leaq	-48(%rbp), %r8
	movq	%r15, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	je	LBB0_20
LBB0_33:
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_20:
	movq	-56(%rbp), %r15                 ## 8-byte Reload
	movq	16(%rbp), %rax
	cmpl	$0, (%rax)
	jne	LBB0_32
## %bb.21:
	movq	_VM_REG_GUEST_SS@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	leaq	-72(%rbp), %r8
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%r15, %rdx
	movq	%rax, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	jne	LBB0_33
## %bb.22:
	movq	16(%rbp), %rax
	cmpl	$0, (%rax)
	jne	LBB0_32
## %bb.23:
	movl	(%r13), %edx
	leaq	-48(%rbp), %r13
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%r13, %rcx
	callq	_update_seg_desc
	movq	_VM_REG_GUEST_SS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-72(%rbp), %rcx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_update_seg_desc
	movq	_SEL_RPL_MASK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	andl	52(%rbx), %eax
	movq	%r15, %rdx
	movl	%eax, 20(%r15)
	movq	_VM_REG_GUEST_DS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%r13, %r8
	movq	16(%rbp), %r13
	movq	%r13, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	jne	LBB0_33
## %bb.24:
	cmpl	$0, (%r13)
	jne	LBB0_32
## %bb.25:
	movq	_VM_REG_GUEST_DS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-48(%rbp), %rbx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%rbx, %rcx
	callq	_update_seg_desc
	movq	_VM_REG_GUEST_ES@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%r15, %rdx
	movq	%rbx, %r8
	movq	%r13, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	jne	LBB0_33
## %bb.26:
	cmpl	$0, (%r13)
	jne	LBB0_32
## %bb.27:
	movq	_VM_REG_GUEST_ES@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-48(%rbp), %rbx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%rbx, %rcx
	callq	_update_seg_desc
	movq	_VM_REG_GUEST_FS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%r15, %rdx
	movq	%rbx, %r8
	movq	%r13, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	jne	LBB0_33
## %bb.28:
	cmpl	$0, (%r13)
	jne	LBB0_32
## %bb.29:
	movq	_VM_REG_GUEST_FS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-48(%rbp), %rbx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	%rbx, %rcx
	callq	_update_seg_desc
	movq	_VM_REG_GUEST_GS@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r12, %rdi
	movl	%r14d, %esi
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	movq	%rbx, %r8
	movq	16(%rbp), %rbx
	movq	%rbx, %r9
	callq	_validate_seg_desc
	testl	%eax, %eax
	jne	LBB0_33
## %bb.30:
	cmpl	$0, (%rbx)
	jne	LBB0_32
## %bb.31:
	movq	_VM_REG_GUEST_GS@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-48(%rbp), %rcx
	movq	%r12, %rdi
	movl	%r14d, %esi
	callq	_update_seg_desc
	jmp	LBB0_32
	.cfi_endproc
                                        ## -- End function
	.comm	_TSR_IRET,8,3                   ## @TSR_IRET
	.comm	_TSR_JMP,8,3                    ## @TSR_JMP
	.comm	_PSL_NT,4,2                     ## @PSL_NT
	.comm	_VM_REG_GUEST_LDTR,4,2          ## @VM_REG_GUEST_LDTR
	.comm	_PAGING_MODE_FLAT,8,3           ## @PAGING_MODE_FLAT
	.comm	_PAGING_MODE_PAE,8,3            ## @PAGING_MODE_PAE
	.comm	_VM_REG_GUEST_PDPTE0,4,2        ## @VM_REG_GUEST_PDPTE0
	.comm	_VM_REG_GUEST_PDPTE1,4,2        ## @VM_REG_GUEST_PDPTE1
	.comm	_VM_REG_GUEST_PDPTE2,4,2        ## @VM_REG_GUEST_PDPTE2
	.comm	_VM_REG_GUEST_PDPTE3,4,2        ## @VM_REG_GUEST_PDPTE3
	.comm	_VM_REG_GUEST_CR3,4,2           ## @VM_REG_GUEST_CR3
	.comm	_VM_REG_GUEST_RFLAGS,4,2        ## @VM_REG_GUEST_RFLAGS
	.comm	_VM_REG_GUEST_RIP,4,2           ## @VM_REG_GUEST_RIP
	.comm	_VM_REG_GUEST_RAX,4,2           ## @VM_REG_GUEST_RAX
	.comm	_VM_REG_GUEST_RCX,4,2           ## @VM_REG_GUEST_RCX
	.comm	_VM_REG_GUEST_RDX,4,2           ## @VM_REG_GUEST_RDX
	.comm	_VM_REG_GUEST_RBX,4,2           ## @VM_REG_GUEST_RBX
	.comm	_VM_REG_GUEST_RSP,4,2           ## @VM_REG_GUEST_RSP
	.comm	_VM_REG_GUEST_RBP,4,2           ## @VM_REG_GUEST_RBP
	.comm	_VM_REG_GUEST_RSI,4,2           ## @VM_REG_GUEST_RSI
	.comm	_VM_REG_GUEST_RDI,4,2           ## @VM_REG_GUEST_RDI
	.comm	_VM_REG_GUEST_ES,4,2            ## @VM_REG_GUEST_ES
	.comm	_VM_REG_GUEST_CS,4,2            ## @VM_REG_GUEST_CS
	.comm	_VM_REG_GUEST_SS,4,2            ## @VM_REG_GUEST_SS
	.comm	_VM_REG_GUEST_DS,4,2            ## @VM_REG_GUEST_DS
	.comm	_VM_REG_GUEST_FS,4,2            ## @VM_REG_GUEST_FS
	.comm	_VM_REG_GUEST_GS,4,2            ## @VM_REG_GUEST_GS
	.comm	_SEL_RPL_MASK,4,2               ## @SEL_RPL_MASK
	.no_dead_strip	_tss32_restore
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function tss32_restore
_tss32_restore:                         ; @tss32_restore
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x28, x27, [sp, #32]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	str	x6, [sp, #8]                    ; 8-byte Folded Spill
	mov	x21, x5
	mov	x23, x4
	mov	x22, x2
	mov	x19, x1
	mov	x20, x0
	ldr	x8, [x2]
Lloh0:
	adrp	x9, _TSR_IRET@GOTPAGE
Lloh1:
	ldr	x9, [x9, _TSR_IRET@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	cmp	x8, x9
Lloh3:
	adrp	x9, _TSR_JMP@GOTPAGE
Lloh4:
	ldr	x9, [x9, _TSR_JMP@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	ccmp	x8, x9, #4, ne
	cset	w28, eq
	b.ne	LBB0_2
; %bb.1:
	ldr	w25, [x23]
	b	LBB0_3
LBB0_2:
	str	w3, [x23, #72]
	ldr	w8, [x23]
Lloh6:
	adrp	x9, _PSL_NT@GOTPAGE
Lloh7:
	ldr	x9, [x9, _PSL_NT@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	orr	w25, w9, w8
LBB0_3:
Lloh9:
	adrp	x27, _VM_REG_GUEST_LDTR@GOTPAGE
Lloh10:
	ldr	x27, [x27, _VM_REG_GUEST_LDTR@GOTPAGEOFF]
	ldr	w2, [x27]
	ldr	w3, [x23, #4]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
	ldr	x8, [x22, #8]
Lloh11:
	adrp	x9, _PAGING_MODE_FLAT@GOTPAGE
Lloh12:
	ldr	x9, [x9, _PAGING_MODE_FLAT@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
	cmp	x8, x9
	b.eq	LBB0_16
; %bb.4:
Lloh14:
	adrp	x9, _PAGING_MODE_PAE@GOTPAGE
Lloh15:
	ldr	x9, [x9, _PAGING_MODE_PAE@GOTPAGEOFF]
Lloh16:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_15
; %bb.5:
	ldr	w8, [x23, #8]
	and	w1, w8, #0xffffffe0
	mov	x0, x20
	mov	w2, #32
	bl	_paddr_guest2host
	mov	x26, x0
	ldr	w3, [x0]
	mov	w8, #486
	tbz	w3, #0, LBB0_7
; %bb.6:
	and	w9, w3, w8
	cbnz	w9, LBB0_13
LBB0_7:
	ldr	w9, [x26, #4]
	tbz	w9, #0, LBB0_9
; %bb.8:
	and	w8, w9, w8
	cbnz	w8, LBB0_13
LBB0_9:
	ldr	w9, [x26, #8]
	mov	w8, #486
	tbz	w9, #0, LBB0_11
; %bb.10:
	and	w9, w9, w8
	cbnz	w9, LBB0_13
LBB0_11:
	ldr	w9, [x26, #12]
	tbz	w9, #0, LBB0_14
; %bb.12:
	and	w8, w9, w8
	cbz	w8, LBB0_14
LBB0_13:
	mov	x0, x20
	mov	x1, x19
	bl	_vm_inject_gp
	mov	w0, #1
	b	LBB0_22
LBB0_14:
Lloh17:
	adrp	x8, _VM_REG_GUEST_PDPTE0@GOTPAGE
Lloh18:
	ldr	x8, [x8, _VM_REG_GUEST_PDPTE0@GOTPAGEOFF]
Lloh19:
	ldr	w2, [x8]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh20:
	adrp	x8, _VM_REG_GUEST_PDPTE1@GOTPAGE
Lloh21:
	ldr	x8, [x8, _VM_REG_GUEST_PDPTE1@GOTPAGEOFF]
Lloh22:
	ldr	w2, [x8]
	ldr	w3, [x26, #4]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh23:
	adrp	x8, _VM_REG_GUEST_PDPTE2@GOTPAGE
Lloh24:
	ldr	x8, [x8, _VM_REG_GUEST_PDPTE2@GOTPAGEOFF]
Lloh25:
	ldr	w2, [x8]
	ldr	w3, [x26, #8]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh26:
	adrp	x8, _VM_REG_GUEST_PDPTE3@GOTPAGE
Lloh27:
	ldr	x8, [x8, _VM_REG_GUEST_PDPTE3@GOTPAGEOFF]
Lloh28:
	ldr	w2, [x8]
	ldr	w3, [x26, #12]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
LBB0_15:
Lloh29:
	adrp	x8, _VM_REG_GUEST_CR3@GOTPAGE
Lloh30:
	ldr	x8, [x8, _VM_REG_GUEST_CR3@GOTPAGEOFF]
Lloh31:
	ldr	w2, [x8]
	ldr	w3, [x23, #8]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
	ldr	w8, [x23, #8]
	str	w8, [x22, #16]
LBB0_16:
Lloh32:
	adrp	x8, _VM_REG_GUEST_RFLAGS@GOTPAGE
Lloh33:
	ldr	x8, [x8, _VM_REG_GUEST_RFLAGS@GOTPAGEOFF]
Lloh34:
	ldr	w2, [x8]
	mov	x0, x20
	mov	x1, x19
	mov	x3, x25
	bl	_SETREG
Lloh35:
	adrp	x8, _VM_REG_GUEST_RIP@GOTPAGE
Lloh36:
	ldr	x8, [x8, _VM_REG_GUEST_RIP@GOTPAGEOFF]
Lloh37:
	ldr	w2, [x8]
	ldr	w3, [x23, #12]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh38:
	adrp	x8, _VM_REG_GUEST_RAX@GOTPAGE
Lloh39:
	ldr	x8, [x8, _VM_REG_GUEST_RAX@GOTPAGEOFF]
Lloh40:
	ldr	w2, [x8]
	ldr	w3, [x23, #16]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh41:
	adrp	x8, _VM_REG_GUEST_RCX@GOTPAGE
Lloh42:
	ldr	x8, [x8, _VM_REG_GUEST_RCX@GOTPAGEOFF]
Lloh43:
	ldr	w2, [x8]
	ldr	w3, [x23, #20]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh44:
	adrp	x8, _VM_REG_GUEST_RDX@GOTPAGE
Lloh45:
	ldr	x8, [x8, _VM_REG_GUEST_RDX@GOTPAGEOFF]
Lloh46:
	ldr	w2, [x8]
	ldr	w3, [x23, #24]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh47:
	adrp	x8, _VM_REG_GUEST_RBX@GOTPAGE
Lloh48:
	ldr	x8, [x8, _VM_REG_GUEST_RBX@GOTPAGEOFF]
Lloh49:
	ldr	w2, [x8]
	ldr	w3, [x23, #28]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh50:
	adrp	x8, _VM_REG_GUEST_RSP@GOTPAGE
Lloh51:
	ldr	x8, [x8, _VM_REG_GUEST_RSP@GOTPAGEOFF]
Lloh52:
	ldr	w2, [x8]
	ldr	w3, [x23, #32]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh53:
	adrp	x8, _VM_REG_GUEST_RBP@GOTPAGE
Lloh54:
	ldr	x8, [x8, _VM_REG_GUEST_RBP@GOTPAGEOFF]
Lloh55:
	ldr	w2, [x8]
	ldr	w3, [x23, #36]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh56:
	adrp	x8, _VM_REG_GUEST_RSI@GOTPAGE
Lloh57:
	ldr	x8, [x8, _VM_REG_GUEST_RSI@GOTPAGEOFF]
Lloh58:
	ldr	w2, [x8]
	ldr	w3, [x23, #40]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh59:
	adrp	x8, _VM_REG_GUEST_RDI@GOTPAGE
Lloh60:
	ldr	x8, [x8, _VM_REG_GUEST_RDI@GOTPAGEOFF]
Lloh61:
	ldr	w2, [x8]
	ldr	w3, [x23, #44]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh62:
	adrp	x8, _VM_REG_GUEST_ES@GOTPAGE
Lloh63:
	ldr	x8, [x8, _VM_REG_GUEST_ES@GOTPAGEOFF]
Lloh64:
	ldr	w2, [x8]
	ldr	w3, [x23, #48]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh65:
	adrp	x25, _VM_REG_GUEST_CS@GOTPAGE
Lloh66:
	ldr	x25, [x25, _VM_REG_GUEST_CS@GOTPAGEOFF]
	ldr	w2, [x25]
	ldr	w3, [x23, #52]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh67:
	adrp	x24, _VM_REG_GUEST_SS@GOTPAGE
Lloh68:
	ldr	x24, [x24, _VM_REG_GUEST_SS@GOTPAGEOFF]
	ldr	w2, [x24]
	ldr	w3, [x23, #56]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh69:
	adrp	x26, _VM_REG_GUEST_DS@GOTPAGE
Lloh70:
	ldr	x26, [x26, _VM_REG_GUEST_DS@GOTPAGEOFF]
	ldr	w2, [x26]
	ldr	w3, [x23, #60]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh71:
	adrp	x8, _VM_REG_GUEST_FS@GOTPAGE
Lloh72:
	ldr	x8, [x8, _VM_REG_GUEST_FS@GOTPAGEOFF]
Lloh73:
	ldr	w2, [x8]
	ldr	w3, [x23, #64]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
Lloh74:
	adrp	x8, _VM_REG_GUEST_GS@GOTPAGE
Lloh75:
	ldr	x8, [x8, _VM_REG_GUEST_GS@GOTPAGEOFF]
Lloh76:
	ldr	w2, [x8]
	ldr	w3, [x23, #68]
	mov	x0, x20
	mov	x1, x19
	bl	_SETREG
	tbnz	w28, #0, LBB0_18
; %bb.17:
	mov	x0, x20
	mov	x1, x19
	mov	x2, x23
	mov	x3, x21
	mov	w4, #76
	bl	_vm_copyout
LBB0_18:
	ldr	w3, [x27]
	add	x4, sp, #24
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	ldr	x21, [sp, #8]                   ; 8-byte Folded Reload
	mov	x5, x21
	bl	_validate_seg_desc
	cbnz	w0, LBB0_22
; %bb.19:
	ldr	w8, [x21]
	cbz	w8, LBB0_21
LBB0_20:
	mov	w0, #0
	b	LBB0_22
LBB0_21:
	ldr	w2, [x27]
	add	x3, sp, #24
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
	ldr	w3, [x25]
	add	x4, sp, #24
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x5, x21
	bl	_validate_seg_desc
	cbz	w0, LBB0_23
LBB0_22:
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_23:
	ldr	w8, [x21]
	cbnz	w8, LBB0_20
; %bb.24:
	ldr	w3, [x24]
	add	x4, sp, #16
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x5, x21
	bl	_validate_seg_desc
	cbnz	w0, LBB0_22
; %bb.25:
	ldr	w8, [x21]
	cbnz	w8, LBB0_20
; %bb.26:
	ldr	w2, [x25]
	add	x3, sp, #24
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
	ldr	w2, [x24]
	add	x3, sp, #16
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
	ldr	w8, [x23, #52]
Lloh77:
	adrp	x9, _SEL_RPL_MASK@GOTPAGE
Lloh78:
	ldr	x9, [x9, _SEL_RPL_MASK@GOTPAGEOFF]
Lloh79:
	ldr	w9, [x9]
	and	w8, w9, w8
	str	w8, [x22, #20]
	ldr	w3, [x26]
	add	x4, sp, #24
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x5, x21
	bl	_validate_seg_desc
	cbnz	w0, LBB0_22
; %bb.27:
	ldr	w8, [x21]
	cbnz	w8, LBB0_20
; %bb.28:
	ldr	w2, [x26]
	add	x3, sp, #24
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
Lloh80:
	adrp	x8, _VM_REG_GUEST_ES@GOTPAGE
Lloh81:
	ldr	x8, [x8, _VM_REG_GUEST_ES@GOTPAGEOFF]
Lloh82:
	ldr	w3, [x8]
	add	x4, sp, #24
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x5, x21
	bl	_validate_seg_desc
	cbnz	w0, LBB0_22
; %bb.29:
	ldr	w8, [x21]
	cbnz	w8, LBB0_20
; %bb.30:
Lloh83:
	adrp	x8, _VM_REG_GUEST_ES@GOTPAGE
Lloh84:
	ldr	x8, [x8, _VM_REG_GUEST_ES@GOTPAGEOFF]
Lloh85:
	ldr	w2, [x8]
	add	x3, sp, #24
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
Lloh86:
	adrp	x8, _VM_REG_GUEST_FS@GOTPAGE
Lloh87:
	ldr	x8, [x8, _VM_REG_GUEST_FS@GOTPAGEOFF]
Lloh88:
	ldr	w3, [x8]
	add	x4, sp, #24
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	mov	x5, x21
	bl	_validate_seg_desc
	cbnz	w0, LBB0_22
; %bb.31:
	ldr	w8, [x21]
	cbnz	w8, LBB0_20
; %bb.32:
Lloh89:
	adrp	x8, _VM_REG_GUEST_FS@GOTPAGE
Lloh90:
	ldr	x8, [x8, _VM_REG_GUEST_FS@GOTPAGEOFF]
Lloh91:
	ldr	w2, [x8]
	add	x3, sp, #24
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
Lloh92:
	adrp	x8, _VM_REG_GUEST_GS@GOTPAGE
Lloh93:
	ldr	x8, [x8, _VM_REG_GUEST_GS@GOTPAGEOFF]
Lloh94:
	ldr	w3, [x8]
	add	x4, sp, #24
	mov	x0, x20
	mov	x1, x19
	mov	x2, x22
	ldr	x21, [sp, #8]                   ; 8-byte Folded Reload
	mov	x5, x21
	bl	_validate_seg_desc
	cbnz	w0, LBB0_22
; %bb.33:
	ldr	w8, [x21]
	cbnz	w8, LBB0_20
; %bb.34:
Lloh95:
	adrp	x8, _VM_REG_GUEST_GS@GOTPAGE
Lloh96:
	ldr	x8, [x8, _VM_REG_GUEST_GS@GOTPAGEOFF]
Lloh97:
	ldr	w2, [x8]
	add	x3, sp, #24
	mov	x0, x20
	mov	x1, x19
	bl	_update_seg_desc
	b	LBB0_20
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh71, Lloh72, Lloh73
	.loh AdrpLdrGot	Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGotLdr	Lloh95, Lloh96, Lloh97
	.cfi_endproc
                                        ; -- End function
	.comm	_TSR_IRET,8,3                   ; @TSR_IRET
	.comm	_TSR_JMP,8,3                    ; @TSR_JMP
	.comm	_PSL_NT,4,2                     ; @PSL_NT
	.comm	_VM_REG_GUEST_LDTR,4,2          ; @VM_REG_GUEST_LDTR
	.comm	_PAGING_MODE_FLAT,8,3           ; @PAGING_MODE_FLAT
	.comm	_PAGING_MODE_PAE,8,3            ; @PAGING_MODE_PAE
	.comm	_VM_REG_GUEST_PDPTE0,4,2        ; @VM_REG_GUEST_PDPTE0
	.comm	_VM_REG_GUEST_PDPTE1,4,2        ; @VM_REG_GUEST_PDPTE1
	.comm	_VM_REG_GUEST_PDPTE2,4,2        ; @VM_REG_GUEST_PDPTE2
	.comm	_VM_REG_GUEST_PDPTE3,4,2        ; @VM_REG_GUEST_PDPTE3
	.comm	_VM_REG_GUEST_CR3,4,2           ; @VM_REG_GUEST_CR3
	.comm	_VM_REG_GUEST_RFLAGS,4,2        ; @VM_REG_GUEST_RFLAGS
	.comm	_VM_REG_GUEST_RIP,4,2           ; @VM_REG_GUEST_RIP
	.comm	_VM_REG_GUEST_RAX,4,2           ; @VM_REG_GUEST_RAX
	.comm	_VM_REG_GUEST_RCX,4,2           ; @VM_REG_GUEST_RCX
	.comm	_VM_REG_GUEST_RDX,4,2           ; @VM_REG_GUEST_RDX
	.comm	_VM_REG_GUEST_RBX,4,2           ; @VM_REG_GUEST_RBX
	.comm	_VM_REG_GUEST_RSP,4,2           ; @VM_REG_GUEST_RSP
	.comm	_VM_REG_GUEST_RBP,4,2           ; @VM_REG_GUEST_RBP
	.comm	_VM_REG_GUEST_RSI,4,2           ; @VM_REG_GUEST_RSI
	.comm	_VM_REG_GUEST_RDI,4,2           ; @VM_REG_GUEST_RDI
	.comm	_VM_REG_GUEST_ES,4,2            ; @VM_REG_GUEST_ES
	.comm	_VM_REG_GUEST_CS,4,2            ; @VM_REG_GUEST_CS
	.comm	_VM_REG_GUEST_SS,4,2            ; @VM_REG_GUEST_SS
	.comm	_VM_REG_GUEST_DS,4,2            ; @VM_REG_GUEST_DS
	.comm	_VM_REG_GUEST_FS,4,2            ; @VM_REG_GUEST_FS
	.comm	_VM_REG_GUEST_GS,4,2            ; @VM_REG_GUEST_GS
	.comm	_SEL_RPL_MASK,4,2               ; @SEL_RPL_MASK
	.no_dead_strip	_tss32_restore
.subsections_via_symbols
