	.file	"extr_registry.c_CreateUserHive.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"CreateUserHive(%S) called\n"
	.section	.rodata.str4.8,"aMS",@progbits,4
	.align 8
.LC1:
	.string	"."
	.string	""
	.string	""
	.string	"D"
	.string	""
	.string	""
	.string	"e"
	.string	""
	.string	""
	.string	"f"
	.string	""
	.string	""
	.string	"a"
	.string	""
	.string	""
	.string	"u"
	.string	""
	.string	""
	.string	"l"
	.string	""
	.string	""
	.string	"t"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.text
	.p2align 4
	.globl	CreateUserHive
	.type	CreateUserHive, @function
CreateUserHive:
.LFB0:
	.cfi_startproc
	endbr64
	push	r13
	.cfi_def_cfa_offset 16
	.cfi_offset 13, -16
	push	r12
	.cfi_def_cfa_offset 24
	.cfi_offset 12, -24
	mov	r12, rsi
	mov	rsi, rdi
	push	rbp
	.cfi_def_cfa_offset 32
	.cfi_offset 6, -32
	mov	rbp, rdi
	lea	rdi, .LC0[rip]
	sub	rsp, 32
	.cfi_def_cfa_offset 64
	mov	r13d, DWORD PTR FALSE[rip]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 24[rsp], rax
	xor	eax, eax
	mov	QWORD PTR 8[rsp], 0
	mov	QWORD PTR 16[rsp], 0
	call	DPRINT@PLT
	mov	ecx, DWORD PTR KEY_READ[rip]
	mov	edi, DWORD PTR HKEY_USERS[rip]
	xor	edx, edx
	lea	r8, 8[rsp]
	lea	rsi, .LC1[rip]
	call	RegOpenKeyExW@PLT
	cmp	QWORD PTR ERROR_SUCCESS[rip], rax
	jne	.L21
	mov	ecx, DWORD PTR KEY_ALL_ACCESS[rip]
	xor	edx, edx
	lea	r8, 16[rsp]
	mov	rsi, rbp
	mov	edi, DWORD PTR HKEY_USERS[rip]
	call	RegOpenKeyExW@PLT
	cmp	QWORD PTR ERROR_SUCCESS[rip], rax
	je	.L4
.L21:
	mov	edi, eax
	call	SetLastError@PLT
.L3:
	mov	rdi, QWORD PTR 16[rsp]
	test	rdi, rdi
	je	.L5
	call	RegCloseKey@PLT
.L5:
	mov	rdi, QWORD PTR 8[rsp]
	test	rdi, rdi
	je	.L1
	call	RegCloseKey@PLT
.L1:
	mov	rax, QWORD PTR 24[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L23
	add	rsp, 32
	.cfi_remember_state
	.cfi_def_cfa_offset 32
	mov	eax, r13d
	pop	rbp
	.cfi_def_cfa_offset 24
	pop	r12
	.cfi_def_cfa_offset 16
	pop	r13
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	mov	rsi, QWORD PTR 8[rsp]
	mov	rdi, QWORD PTR 16[rsp]
	call	CopyKey@PLT
	test	eax, eax
	je	.L3
	mov	rsi, QWORD PTR 16[rsp]
	mov	rdi, r12
	call	UpdateUsersShellFolderSettings@PLT
	test	eax, eax
	je	.L3
	mov	rdi, QWORD PTR 16[rsp]
	call	RegFlushKey@PLT
	mov	r13d, DWORD PTR TRUE[rip]
	jmp	.L3
.L23:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	CreateUserHive, .-CreateUserHive
	.comm	TRUE,4,4
	.comm	KEY_READ,4,4
	.comm	KEY_ALL_ACCESS,4,4
	.comm	HKEY_USERS,4,4
	.comm	FALSE,4,4
	.comm	ERROR_SUCCESS,8,8
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_registry.c_CreateUserHive.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"CreateUserHive(%S) called\012\000"
	.section	.rodata.str4.4,"aMS",%progbits,4
	.align	2
.LC1:
	.ascii	".\000\000\000D\000\000\000e\000\000\000f\000\000\000"
	.ascii	"a\000\000\000u\000\000\000l\000\000\000t\000\000\000"
	.ascii	"\000\000\000\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	CreateUserHive
	.syntax unified
	.arm
	.fpu softvfp
	.type	CreateUserHive, %function
CreateUserHive:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, lr}
	mov	r5, #0
	ldr	r3, .L24
	ldr	r2, .L24+4
	sub	sp, sp, #28
	mov	r4, r0
	mov	r6, r1
	mov	r1, r0
	ldr	r0, .L24+8
	ldr	r2, [r2]
	str	r2, [sp, #20]
	mov	r2,#0
	ldr	r9, [r3]
	ldr	r8, .L24+12
	str	r5, [sp, #12]
	str	r5, [sp, #16]
	bl	DPRINT
	ldr	r3, .L24+16
	add	r1, sp, #12
	ldr	r3, [r3]
	mov	r2, r5
	str	r1, [sp]
	ldr	r0, [r8]
	ldr	r1, .L24+20
	bl	RegOpenKeyExW
	ldr	r7, .L24+24
	ldr	r3, [r7]
	cmp	r3, r0
	bne	.L21
	ldr	r3, .L24+28
	add	ip, sp, #16
	ldr	r3, [r3]
	mov	r2, r5
	mov	r1, r4
	ldr	r0, [r8]
	str	ip, [sp]
	bl	RegOpenKeyExW
	ldr	r3, [r7]
	cmp	r3, r0
	beq	.L4
.L21:
	bl	SetLastError
.L3:
	ldr	r0, [sp, #16]
	cmp	r0, #0
	beq	.L5
	bl	RegCloseKey
.L5:
	ldr	r0, [sp, #12]
	cmp	r0, #0
	beq	.L1
	bl	RegCloseKey
.L1:
	ldr	r3, .L24+4
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L23
	mov	r0, r9
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, pc}
.L4:
	ldr	r1, [sp, #12]
	ldr	r0, [sp, #16]
	bl	CopyKey
	cmp	r0, #0
	beq	.L3
	mov	r0, r6
	ldr	r1, [sp, #16]
	bl	UpdateUsersShellFolderSettings
	cmp	r0, #0
	beq	.L3
	ldr	r0, [sp, #16]
	bl	RegFlushKey
	ldr	r3, .L24+32
	ldr	r9, [r3]
	b	.L3
.L23:
	bl	__stack_chk_fail
.L25:
	.align	2
.L24:
	.word	FALSE
	.word	.LC2
	.word	.LC0
	.word	HKEY_USERS
	.word	KEY_READ
	.word	.LC1
	.word	ERROR_SUCCESS
	.word	KEY_ALL_ACCESS
	.word	TRUE
	.size	CreateUserHive, .-CreateUserHive
	.comm	TRUE,4,4
	.comm	KEY_READ,4,4
	.comm	KEY_ALL_ACCESS,4,4
	.comm	HKEY_USERS,4,4
	.comm	FALSE,4,4
	.comm	ERROR_SUCCESS,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
