	.file	"extr_openpam_subst.c_openpam_subst.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"(null)"
	.text
	.p2align 4
	.globl	openpam_subst
	.type	openpam_subst, @function
openpam_subst:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	mov	rdi, rcx
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	mov	r13, rcx
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	mov	r12, rdx
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	mov	rbx, rsi
	call	ENTERS@PLT
	mov	ebp, DWORD PTR PAM_SUCCESS[rip]
	test	r13, r13
	je	.L2
	movsx	edi, BYTE PTR 0[r13]
	test	dil, dil
	je	.L34
.L3:
	lea	r14, .L9[rip]
	.p2align 4,,10
	.p2align 3
.L18:
	cmp	dil, 37
	jne	.L5
	movzx	eax, BYTE PTR 1[r13]
	test	al, al
	je	.L6
	sub	eax, 72
	cmp	al, 45
	ja	.L7
	movzx	eax, al
	movsx	rax, DWORD PTR [r14+rax*4]
	add	rax, r14
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L9:
	.long	.L14-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L13-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L12-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L11-.L9
	.long	.L10-.L9
	.long	.L8-.L9
	.text
.L8:
	mov	edi, DWORD PTR PAM_USER[rip]
	call	subst_item@PLT
	.p2align 4,,10
	.p2align 3
.L15:
	movsx	edi, BYTE PTR 2[r13]
	add	r13, 2
	test	dil, dil
	je	.L17
.L35:
	cmp	DWORD PTR PAM_SUCCESS[rip], ebp
	je	.L18
	test	rbx, rbx
	je	.L21
.L23:
	mov	BYTE PTR [rbx], 0
	cmp	DWORD PTR PAM_SUCCESS[rip], ebp
	je	.L24
.L21:
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	edi, ebp
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	jmp	RETURNC@PLT
.L10:
	.cfi_restore_state
	mov	edi, DWORD PTR PAM_TTY[rip]
	call	subst_item@PLT
	jmp	.L15
.L11:
	mov	edi, DWORD PTR PAM_SERVICE[rip]
	call	subst_item@PLT
	jmp	.L15
.L12:
	mov	edi, DWORD PTR PAM_HOST[rip]
	call	subst_item@PLT
	jmp	.L15
.L13:
	mov	edi, DWORD PTR PAM_RUSER[rip]
	call	subst_item@PLT
	jmp	.L15
.L14:
	mov	edi, DWORD PTR PAM_RHOST[rip]
	call	subst_item@PLT
	jmp	.L15
.L7:
	mov	edi, 37
	call	subst_char@PLT
	movsx	edi, BYTE PTR 1[r13]
	call	subst_char@PLT
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L5:
	call	subst_char@PLT
	movsx	edi, BYTE PTR 1[r13]
	add	r13, 1
	test	dil, dil
	jne	.L35
.L17:
	test	rbx, rbx
	jne	.L23
	cmp	DWORD PTR PAM_SUCCESS[rip], ebp
	jne	.L21
	.p2align 4,,10
	.p2align 3
.L24:
	cmp	QWORD PTR [r12], 0
	jne	.L22
	mov	ebp, DWORD PTR PAM_TRY_AGAIN[rip]
.L22:
	mov	QWORD PTR [r12], 1
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	edi, ebp
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	jmp	RETURNC@PLT
	.p2align 4,,10
	.p2align 3
.L6:
	.cfi_restore_state
	mov	edi, 37
	call	subst_char@PLT
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L2:
	lea	r13, .LC0[rip]
	mov	edi, 40
	jmp	.L3
.L34:
	test	rbx, rbx
	jne	.L23
	jmp	.L24
	.cfi_endproc
.LFE0:
	.size	openpam_subst, .-openpam_subst
	.comm	PAM_USER,4,4
	.comm	PAM_TTY,4,4
	.comm	PAM_TRY_AGAIN,4,4
	.comm	PAM_SUCCESS,4,4
	.comm	PAM_SERVICE,4,4
	.comm	PAM_RUSER,4,4
	.comm	PAM_RHOST,4,4
	.comm	PAM_HOST,4,4
	.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_openpam_subst.c_openpam_subst.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"(null)\000"
	.text
	.align	2
	.global	openpam_subst
	.syntax unified
	.arm
	.fpu softvfp
	.type	openpam_subst, %function
openpam_subst:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r8, r3
	mov	r0, r3
	mov	r5, r1
	mov	r6, r2
	bl	ENTERS
	cmp	r8, #0
	beq	.L2
	ldrb	r0, [r8]	@ zero_extendqisi2
	ldr	r7, .L37
	cmp	r0, #0
	ldr	r4, [r7]
	beq	.L35
.L3:
	ldr	fp, .L37+4
	ldr	r10, .L37+8
	ldr	r9, .L37+12
.L18:
	cmp	r0, #37
	bne	.L5
	ldrb	r2, [r8, #1]	@ zero_extendqisi2
	cmp	r2, #0
	beq	.L32
	sub	r2, r2, #72
	and	r0, r2, #255
	cmp	r0, #45
	bhi	.L7
	cmp	r2, #45
	ldrls	pc, [pc, r2, asl #2]
	b	.L7
.L9:
	.word	.L14
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L13
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L12
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L7
	.word	.L11
	.word	.L10
	.word	.L8
.L8:
	ldr	r0, [r9]
	bl	subst_item
.L15:
	ldrb	r0, [r8, #2]	@ zero_extendqisi2
	add	r8, r8, #2
	cmp	r0, #0
	beq	.L17
.L36:
	ldr	r2, [r7]
	cmp	r2, r4
	beq	.L18
	cmp	r5, #0
	beq	.L21
.L23:
	mov	r3, #0
	strb	r3, [r5]
	ldr	r3, [r7]
	cmp	r3, r4
	beq	.L24
.L21:
	mov	r0, r4
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	RETURNC
.L10:
	ldr	r3, .L37+16
	ldr	r0, [r3]
	bl	subst_item
	b	.L15
.L11:
	ldr	r3, .L37+20
	ldr	r0, [r3]
	bl	subst_item
	b	.L15
.L12:
	ldr	r3, .L37+24
	ldr	r0, [r3]
	bl	subst_item
	b	.L15
.L13:
	ldr	r0, [fp]
	bl	subst_item
	b	.L15
.L14:
	ldr	r0, [r10]
	bl	subst_item
	b	.L15
.L7:
	mov	r0, #37
	bl	subst_char
	ldrb	r0, [r8, #1]	@ zero_extendqisi2
.L32:
	bl	subst_char
	b	.L15
.L5:
	add	r8, r8, #1
	bl	subst_char
	ldrb	r0, [r8]	@ zero_extendqisi2
	cmp	r0, #0
	bne	.L36
.L17:
	cmp	r5, #0
	bne	.L23
	ldr	r3, [r7]
	cmp	r3, r4
	bne	.L21
.L24:
	ldr	r3, [r6]
	cmp	r3, #0
	ldreq	r3, .L37+28
	ldreq	r4, [r3]
	mov	r3, #1
	mov	r0, r4
	str	r3, [r6]
	pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	RETURNC
.L2:
	ldr	r7, .L37
	mov	r0, #40
	ldr	r8, .L37+32
	ldr	r4, [r7]
	b	.L3
.L35:
	cmp	r5, #0
	bne	.L23
	b	.L24
.L38:
	.align	2
.L37:
	.word	PAM_SUCCESS
	.word	PAM_RUSER
	.word	PAM_RHOST
	.word	PAM_USER
	.word	PAM_TTY
	.word	PAM_SERVICE
	.word	PAM_HOST
	.word	PAM_TRY_AGAIN
	.word	.LC0
	.size	openpam_subst, .-openpam_subst
	.comm	PAM_USER,4,4
	.comm	PAM_TTY,4,4
	.comm	PAM_TRY_AGAIN,4,4
	.comm	PAM_SUCCESS,4,4
	.comm	PAM_SERVICE,4,4
	.comm	PAM_RUSER,4,4
	.comm	PAM_RHOST,4,4
	.comm	PAM_HOST,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
