	.file	"756570.c"
	.intel_syntax noprefix
	.text
	.globl	__ste_Email_counter
	.bss
	.align 4
	.type	__ste_Email_counter, @object
	.size	__ste_Email_counter, 4
__ste_Email_counter:
	.zero	4
	.text
	.globl	initEmail
	.type	initEmail, @function
initEmail:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR __ste_Email_counter[rip]
	cmp	eax, 1
	jg	.L2
	mov	eax, DWORD PTR __ste_Email_counter[rip]
	add	eax, 1
	mov	DWORD PTR __ste_Email_counter[rip], eax
	mov	eax, DWORD PTR __ste_Email_counter[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L3
.L2:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	initEmail, .-initEmail
	.globl	__ste_email_id0
	.bss
	.align 4
	.type	__ste_email_id0, @object
	.size	__ste_email_id0, 4
__ste_email_id0:
	.zero	4
	.globl	__ste_email_id1
	.align 4
	.type	__ste_email_id1, @object
	.size	__ste_email_id1, 4
__ste_email_id1:
	.zero	4
	.text
	.globl	getEmailId
	.type	getEmailId, @function
getEmailId:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L5
	mov	eax, DWORD PTR __ste_email_id0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L6
.L5:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L7
	mov	eax, DWORD PTR __ste_email_id1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L6
.L7:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L6:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	getEmailId, .-getEmailId
	.globl	setEmailId
	.type	setEmailId, @function
setEmailId:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L9
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_id0[rip], eax
	jmp	.L12
.L9:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L12
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_id1[rip], eax
	nop
.L12:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	setEmailId, .-setEmailId
	.globl	__ste_email_from0
	.bss
	.align 4
	.type	__ste_email_from0, @object
	.size	__ste_email_from0, 4
__ste_email_from0:
	.zero	4
	.globl	__ste_email_from1
	.align 4
	.type	__ste_email_from1, @object
	.size	__ste_email_from1, 4
__ste_email_from1:
	.zero	4
	.text
	.globl	getEmailFrom
	.type	getEmailFrom, @function
getEmailFrom:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L14
	mov	eax, DWORD PTR __ste_email_from0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L15
.L14:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L16
	mov	eax, DWORD PTR __ste_email_from1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L15
.L16:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L15:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	getEmailFrom, .-getEmailFrom
	.globl	setEmailFrom
	.type	setEmailFrom, @function
setEmailFrom:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L18
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_from0[rip], eax
	jmp	.L21
.L18:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L21
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_from1[rip], eax
	nop
.L21:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	setEmailFrom, .-setEmailFrom
	.globl	__ste_email_to0
	.bss
	.align 4
	.type	__ste_email_to0, @object
	.size	__ste_email_to0, 4
__ste_email_to0:
	.zero	4
	.globl	__ste_email_to1
	.align 4
	.type	__ste_email_to1, @object
	.size	__ste_email_to1, 4
__ste_email_to1:
	.zero	4
	.text
	.globl	getEmailTo
	.type	getEmailTo, @function
getEmailTo:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L23
	mov	eax, DWORD PTR __ste_email_to0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L24
.L23:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L25
	mov	eax, DWORD PTR __ste_email_to1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L24
.L25:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L24:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	getEmailTo, .-getEmailTo
	.globl	setEmailTo
	.type	setEmailTo, @function
setEmailTo:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L27
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_to0[rip], eax
	jmp	.L30
.L27:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L30
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_to1[rip], eax
	nop
.L30:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	setEmailTo, .-setEmailTo
	.globl	__ste_email_subject0
	.bss
	.align 8
	.type	__ste_email_subject0, @object
	.size	__ste_email_subject0, 8
__ste_email_subject0:
	.zero	8
	.globl	__ste_email_subject1
	.align 8
	.type	__ste_email_subject1, @object
	.size	__ste_email_subject1, 8
__ste_email_subject1:
	.zero	8
	.text
	.globl	getEmailSubject
	.type	getEmailSubject, @function
getEmailSubject:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L32
	mov	rax, QWORD PTR __ste_email_subject0[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L33
.L32:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L34
	mov	rax, QWORD PTR __ste_email_subject1[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L33
.L34:
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L33:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	getEmailSubject, .-getEmailSubject
	.globl	setEmailSubject
	.type	setEmailSubject, @function
setEmailSubject:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L36
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_email_subject0[rip], rax
	jmp	.L39
.L36:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L39
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_email_subject1[rip], rax
	nop
.L39:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	setEmailSubject, .-setEmailSubject
	.globl	__ste_email_body0
	.bss
	.align 8
	.type	__ste_email_body0, @object
	.size	__ste_email_body0, 8
__ste_email_body0:
	.zero	8
	.globl	__ste_email_body1
	.align 8
	.type	__ste_email_body1, @object
	.size	__ste_email_body1, 8
__ste_email_body1:
	.zero	8
	.text
	.globl	getEmailBody
	.type	getEmailBody, @function
getEmailBody:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L41
	mov	rax, QWORD PTR __ste_email_body0[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L42
.L41:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L43
	mov	rax, QWORD PTR __ste_email_body1[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L42
.L43:
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L42:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	getEmailBody, .-getEmailBody
	.globl	setEmailBody
	.type	setEmailBody, @function
setEmailBody:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L45
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_email_body0[rip], rax
	jmp	.L48
.L45:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L48
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_email_body1[rip], rax
	nop
.L48:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	setEmailBody, .-setEmailBody
	.globl	__ste_email_isEncrypted0
	.bss
	.align 4
	.type	__ste_email_isEncrypted0, @object
	.size	__ste_email_isEncrypted0, 4
__ste_email_isEncrypted0:
	.zero	4
	.globl	__ste_email_isEncrypted1
	.align 4
	.type	__ste_email_isEncrypted1, @object
	.size	__ste_email_isEncrypted1, 4
__ste_email_isEncrypted1:
	.zero	4
	.text
	.globl	isEncrypted
	.type	isEncrypted, @function
isEncrypted:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L50
	mov	eax, DWORD PTR __ste_email_isEncrypted0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L50:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L52
	mov	eax, DWORD PTR __ste_email_isEncrypted1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L52:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L51:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	isEncrypted, .-isEncrypted
	.globl	setEmailIsEncrypted
	.type	setEmailIsEncrypted, @function
setEmailIsEncrypted:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L54
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_isEncrypted0[rip], eax
	jmp	.L57
.L54:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L57
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_isEncrypted1[rip], eax
	nop
.L57:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	setEmailIsEncrypted, .-setEmailIsEncrypted
	.globl	__ste_email_encryptionKey0
	.bss
	.align 4
	.type	__ste_email_encryptionKey0, @object
	.size	__ste_email_encryptionKey0, 4
__ste_email_encryptionKey0:
	.zero	4
	.globl	__ste_email_encryptionKey1
	.align 4
	.type	__ste_email_encryptionKey1, @object
	.size	__ste_email_encryptionKey1, 4
__ste_email_encryptionKey1:
	.zero	4
	.text
	.globl	getEmailEncryptionKey
	.type	getEmailEncryptionKey, @function
getEmailEncryptionKey:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L59
	mov	eax, DWORD PTR __ste_email_encryptionKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L59:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L61
	mov	eax, DWORD PTR __ste_email_encryptionKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L61:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L60:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	getEmailEncryptionKey, .-getEmailEncryptionKey
	.globl	setEmailEncryptionKey
	.type	setEmailEncryptionKey, @function
setEmailEncryptionKey:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L63
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_encryptionKey0[rip], eax
	jmp	.L66
.L63:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L66
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_encryptionKey1[rip], eax
	nop
.L66:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	setEmailEncryptionKey, .-setEmailEncryptionKey
	.globl	__ste_email_isSigned0
	.bss
	.align 4
	.type	__ste_email_isSigned0, @object
	.size	__ste_email_isSigned0, 4
__ste_email_isSigned0:
	.zero	4
	.globl	__ste_email_isSigned1
	.align 4
	.type	__ste_email_isSigned1, @object
	.size	__ste_email_isSigned1, 4
__ste_email_isSigned1:
	.zero	4
	.text
	.globl	isSigned
	.type	isSigned, @function
isSigned:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L68
	mov	eax, DWORD PTR __ste_email_isSigned0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L69
.L68:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L70
	mov	eax, DWORD PTR __ste_email_isSigned1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L69
.L70:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L69:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	isSigned, .-isSigned
	.globl	setEmailIsSigned
	.type	setEmailIsSigned, @function
setEmailIsSigned:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L72
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_isSigned0[rip], eax
	jmp	.L75
.L72:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L75
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_isSigned1[rip], eax
	nop
.L75:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	setEmailIsSigned, .-setEmailIsSigned
	.globl	__ste_email_signKey0
	.bss
	.align 4
	.type	__ste_email_signKey0, @object
	.size	__ste_email_signKey0, 4
__ste_email_signKey0:
	.zero	4
	.globl	__ste_email_signKey1
	.align 4
	.type	__ste_email_signKey1, @object
	.size	__ste_email_signKey1, 4
__ste_email_signKey1:
	.zero	4
	.text
	.globl	getEmailSignKey
	.type	getEmailSignKey, @function
getEmailSignKey:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L77
	mov	eax, DWORD PTR __ste_email_signKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L78
.L77:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L79
	mov	eax, DWORD PTR __ste_email_signKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L78
.L79:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L78:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	getEmailSignKey, .-getEmailSignKey
	.globl	setEmailSignKey
	.type	setEmailSignKey, @function
setEmailSignKey:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L81
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_signKey0[rip], eax
	jmp	.L84
.L81:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L84
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_signKey1[rip], eax
	nop
.L84:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	setEmailSignKey, .-setEmailSignKey
	.globl	__ste_email_isSignatureVerified0
	.bss
	.align 4
	.type	__ste_email_isSignatureVerified0, @object
	.size	__ste_email_isSignatureVerified0, 4
__ste_email_isSignatureVerified0:
	.zero	4
	.globl	__ste_email_isSignatureVerified1
	.align 4
	.type	__ste_email_isSignatureVerified1, @object
	.size	__ste_email_isSignatureVerified1, 4
__ste_email_isSignatureVerified1:
	.zero	4
	.text
	.globl	isVerified
	.type	isVerified, @function
isVerified:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L86
	mov	eax, DWORD PTR __ste_email_isSignatureVerified0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L87
.L86:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L88
	mov	eax, DWORD PTR __ste_email_isSignatureVerified1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L87
.L88:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L87:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	isVerified, .-isVerified
	.globl	setEmailIsSignatureVerified
	.type	setEmailIsSignatureVerified, @function
setEmailIsSignatureVerified:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L90
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_isSignatureVerified0[rip], eax
	jmp	.L93
.L90:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L93
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_email_isSignatureVerified1[rip], eax
	nop
.L93:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	setEmailIsSignatureVerified, .-setEmailIsSignatureVerified
	.globl	__SELECTED_FEATURE_Base
	.bss
	.align 4
	.type	__SELECTED_FEATURE_Base, @object
	.size	__SELECTED_FEATURE_Base, 4
__SELECTED_FEATURE_Base:
	.zero	4
	.globl	__SELECTED_FEATURE_Keys
	.align 4
	.type	__SELECTED_FEATURE_Keys, @object
	.size	__SELECTED_FEATURE_Keys, 4
__SELECTED_FEATURE_Keys:
	.zero	4
	.globl	__SELECTED_FEATURE_Encrypt
	.align 4
	.type	__SELECTED_FEATURE_Encrypt, @object
	.size	__SELECTED_FEATURE_Encrypt, 4
__SELECTED_FEATURE_Encrypt:
	.zero	4
	.globl	__SELECTED_FEATURE_AutoResponder
	.align 4
	.type	__SELECTED_FEATURE_AutoResponder, @object
	.size	__SELECTED_FEATURE_AutoResponder, 4
__SELECTED_FEATURE_AutoResponder:
	.zero	4
	.globl	__SELECTED_FEATURE_AddressBook
	.align 4
	.type	__SELECTED_FEATURE_AddressBook, @object
	.size	__SELECTED_FEATURE_AddressBook, 4
__SELECTED_FEATURE_AddressBook:
	.zero	4
	.globl	__SELECTED_FEATURE_Sign
	.align 4
	.type	__SELECTED_FEATURE_Sign, @object
	.size	__SELECTED_FEATURE_Sign, 4
__SELECTED_FEATURE_Sign:
	.zero	4
	.globl	__SELECTED_FEATURE_Forward
	.align 4
	.type	__SELECTED_FEATURE_Forward, @object
	.size	__SELECTED_FEATURE_Forward, 4
__SELECTED_FEATURE_Forward:
	.zero	4
	.globl	__SELECTED_FEATURE_Verify
	.align 4
	.type	__SELECTED_FEATURE_Verify, @object
	.size	__SELECTED_FEATURE_Verify, 4
__SELECTED_FEATURE_Verify:
	.zero	4
	.globl	__SELECTED_FEATURE_Decrypt
	.align 4
	.type	__SELECTED_FEATURE_Decrypt, @object
	.size	__SELECTED_FEATURE_Decrypt, 4
__SELECTED_FEATURE_Decrypt:
	.zero	4
	.globl	__GUIDSL_ROOT_PRODUCTION
	.align 4
	.type	__GUIDSL_ROOT_PRODUCTION, @object
	.size	__GUIDSL_ROOT_PRODUCTION, 4
__GUIDSL_ROOT_PRODUCTION:
	.zero	4
	.globl	__GUIDSL_NON_TERMINAL_main
	.align 4
	.type	__GUIDSL_NON_TERMINAL_main, @object
	.size	__GUIDSL_NON_TERMINAL_main, 4
__GUIDSL_NON_TERMINAL_main:
	.zero	4
	.text
	.globl	select_one
	.type	select_one, @function
select_one:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	select_one, .-select_one
	.globl	select_features
	.type	select_features, @function
select_features:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	select_features, .-select_features
	.globl	select_helpers
	.type	select_helpers, @function
select_helpers:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	select_helpers, .-select_helpers
	.globl	valid_product
	.type	valid_product, @function
valid_product:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	valid_product, .-valid_product
	.section	.rodata
.LC0:
	.string	"ID:\n  %i\n"
.LC1:
	.string	"FROM:\n  %i\n"
.LC2:
	.string	"TO:\n  %i\n"
.LC3:
	.string	"IS_READABLE\n  %i\n"
	.text
	.globl	printMail__wrappee__Keys
	.type	printMail__wrappee__Keys, @function
printMail__wrappee__Keys:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	getEmailId
	mov	DWORD PTR -48[rbp], eax
	lea	rax, .LC0[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	getEmailFrom
	mov	DWORD PTR -44[rbp], eax
	lea	rax, .LC1[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	getEmailTo
	mov	DWORD PTR -40[rbp], eax
	lea	rax, .LC2[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	isReadable
	mov	DWORD PTR -36[rbp], eax
	lea	rax, .LC3[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	printMail__wrappee__Keys, .-printMail__wrappee__Keys
	.section	.rodata
.LC4:
	.string	"ENCRYPTED\n  %d\n"
.LC5:
	.string	"ENCRYPTION KEY\n  %d\n"
	.text
	.globl	printMail__wrappee__AddressBook
	.type	printMail__wrappee__AddressBook, @function
printMail__wrappee__AddressBook:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	printMail__wrappee__Keys
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	isEncrypted
	mov	DWORD PTR -24[rbp], eax
	lea	rax, .LC4[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	getEmailEncryptionKey
	mov	DWORD PTR -20[rbp], eax
	lea	rax, .LC5[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	printMail__wrappee__AddressBook, .-printMail__wrappee__AddressBook
	.section	.rodata
.LC6:
	.string	"SIGNED\n  %i\n"
.LC7:
	.string	"SIGNATURE\n  %i\n"
	.text
	.globl	printMail__wrappee__Sign
	.type	printMail__wrappee__Sign, @function
printMail__wrappee__Sign:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	printMail__wrappee__AddressBook
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	isSigned
	mov	DWORD PTR -24[rbp], eax
	lea	rax, .LC6[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	getEmailSignKey
	mov	DWORD PTR -20[rbp], eax
	lea	rax, .LC7[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	printMail__wrappee__Sign, .-printMail__wrappee__Sign
	.section	.rodata
.LC8:
	.string	"SIGNATURE VERIFIED\n  %d\n"
	.text
	.globl	printMail
	.type	printMail, @function
printMail:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	printMail__wrappee__Sign
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	isVerified
	mov	DWORD PTR -12[rbp], eax
	lea	rax, .LC8[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	printMail, .-printMail
	.globl	isReadable__wrappee__Keys
	.type	isReadable__wrappee__Keys, @function
isReadable__wrappee__Keys:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	isReadable__wrappee__Keys, .-isReadable__wrappee__Keys
	.globl	isReadable
	.type	isReadable, @function
isReadable:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	isEncrypted
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L113
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L114
.L113:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	isReadable__wrappee__Keys
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	isReadable, .-isReadable
	.globl	cloneEmail
	.type	cloneEmail, @function
cloneEmail:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	cloneEmail, .-cloneEmail
	.globl	createEmail
	.type	createEmail, @function
createEmail:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -8[rbp], 1
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailFrom
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailTo
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	createEmail, .-createEmail
	.globl	in_encrypted
	.bss
	.align 4
	.type	in_encrypted, @object
	.size	in_encrypted, 4
in_encrypted:
	.zero	4
	.text
	.globl	__utac__exception__cf_handler_set
	.type	__utac__exception__cf_handler_set, @function
__utac__exception__cf_handler_set:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	DWORD PTR -148[rbp], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -148[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 16
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 24
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	__utac__exception__cf_handler_set, .-__utac__exception__cf_handler_set
	.globl	__utac__exception__cf_handler_free
	.type	__utac__exception__cf_handler_free, @function
__utac__exception__cf_handler_free:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 24
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
.L122:
	mov	QWORD PTR -88[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	je	.L127
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L122
.L127:
	nop
.L124:
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 24
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	__utac__exception__cf_handler_free, .-__utac__exception__cf_handler_free
	.globl	__utac__exception__cf_handler_reset
	.type	__utac__exception__cf_handler_reset, @function
__utac__exception__cf_handler_reset:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -152[rbp], rdi
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 24
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
.L129:
	mov	QWORD PTR -88[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	je	.L134
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -132[rbp], eax
	mov	eax, DWORD PTR -132[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	esi, eax
	mov	edi, 4
	call	rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 16
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -128[rbp], rax
	jmp	.L129
.L134:
	nop
.L131:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	__utac__exception__cf_handler_free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	__utac__exception__cf_handler_reset, .-__utac__exception__cf_handler_reset
	.local	head
	.comm	head,8,8
	.globl	__utac__error_stack_mgt
	.type	__utac__error_stack_mgt, @function
__utac__error_stack_mgt:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	DWORD PTR -192[rbp], edx
	cmp	DWORD PTR -192[rbp], 0
	jne	.L136
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L137
.L136:
	cmp	DWORD PTR -188[rbp], 0
	jne	.L138
	mov	edi, 16
	call	malloc@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 8
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR head[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR head[rip], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L137
.L138:
	cmp	DWORD PTR -188[rbp], 1
	jne	.L139
	mov	rax, QWORD PTR head[rip]
	mov	QWORD PTR -168[rbp], rax
.L140:
	cmp	DWORD PTR -192[rbp], 1
	jle	.L146
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	add	rax, 8
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	__utac__exception__cf_handler_reset
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -168[rbp], rax
	sub	DWORD PTR -192[rbp], 1
	jmp	.L140
.L146:
	nop
.L142:
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, 8
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR head[rip], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	__utac__exception__cf_handler_reset
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L137
.L139:
	cmp	DWORD PTR -188[rbp], 2
	jne	.L143
	mov	rax, QWORD PTR head[rip]
	test	rax, rax
	je	.L144
	mov	rax, QWORD PTR head[rip]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L137
.L144:
	mov	QWORD PTR -160[rbp], 0
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L137
.L143:
	mov	rax, QWORD PTR -160[rbp]
.L137:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	__utac__error_stack_mgt, .-__utac__error_stack_mgt
	.section	.rodata
.LC9:
	.string	"__utac__get_this_arg"
.LC10:
	.string	"libacc.c"
.LC11:
	.string	"i > 0 && i <= this->argsCount"
	.text
	.globl	__utac__get_this_arg
	.type	__utac__get_this_arg, @function
__utac__get_this_arg:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	cmp	DWORD PTR -84[rbp], 0
	jle	.L148
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 16
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L149
	lea	rcx, .LC9[rip]
	mov	edx, 123
	lea	rsi, .LC10[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L148:
	lea	rcx, .LC9[rip]
	mov	edx, 123
	lea	rsi, .LC10[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L149:
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	__utac__get_this_arg, .-__utac__get_this_arg
	.section	.rodata
.LC12:
	.string	"__utac__get_this_argtype"
	.text
	.globl	__utac__get_this_argtype
	.type	__utac__get_this_argtype, @function
__utac__get_this_argtype:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	cmp	DWORD PTR -84[rbp], 0
	jle	.L152
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 16
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L153
	lea	rcx, .LC12[rip]
	mov	edx, 131
	lea	rsi, .LC10[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L152:
	lea	rcx, .LC12[rip]
	mov	edx, 131
	lea	rsi, .LC10[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L153:
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 24
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	__utac__get_this_argtype, .-__utac__get_this_argtype
	.section	.rodata
.LC13:
	.string	"%s\n"
	.text
	.globl	prompt
	.type	prompt, @function
prompt:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	lea	rax, .LC13[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	prompt, .-prompt
	.globl	test
	.type	test, @function
test:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -92[rbp], 0
	mov	DWORD PTR -88[rbp], 0
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -48[rbp], 0
.L158:
	cmp	DWORD PTR -48[rbp], 3
	jg	.L185
	add	DWORD PTR -48[rbp], 1
	cmp	DWORD PTR -92[rbp], 0
	jne	.L186
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L187
	call	bobKeyAdd
	mov	DWORD PTR -92[rbp], 1
	jmp	.L158
.L186:
	nop
	jmp	.L161
.L187:
	nop
.L161:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L188
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	je	.L189
	mov	DWORD PTR -88[rbp], 1
	jmp	.L158
.L188:
	nop
	jmp	.L164
.L189:
	nop
.L164:
	cmp	DWORD PTR -84[rbp], 0
	jne	.L190
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L191
	call	rjhDeletePrivateKey
	mov	DWORD PTR -84[rbp], 1
	jmp	.L158
.L190:
	nop
	jmp	.L166
.L191:
	nop
.L166:
	cmp	DWORD PTR -80[rbp], 0
	jne	.L192
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L193
	call	rjhKeyAdd
	mov	DWORD PTR -80[rbp], 1
	jmp	.L158
.L192:
	nop
	jmp	.L168
.L193:
	nop
.L168:
	cmp	DWORD PTR -76[rbp], 0
	jne	.L194
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L195
	call	chuckKeyAddRjh
	mov	DWORD PTR -76[rbp], 1
	jmp	.L158
.L194:
	nop
	jmp	.L170
.L195:
	nop
.L170:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L196
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L197
	mov	DWORD PTR -72[rbp], 1
	jmp	.L158
.L196:
	nop
	jmp	.L172
.L197:
	nop
.L172:
	cmp	DWORD PTR -68[rbp], 0
	jne	.L198
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L199
	call	rjhKeyChange
	mov	DWORD PTR -68[rbp], 1
	jmp	.L158
.L198:
	nop
	jmp	.L174
.L199:
	nop
.L174:
	cmp	DWORD PTR -64[rbp], 0
	jne	.L200
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L201
	call	bobSetAddressBook
	mov	DWORD PTR -64[rbp], 1
	jmp	.L158
.L200:
	nop
	jmp	.L176
.L201:
	nop
.L176:
	cmp	DWORD PTR -60[rbp], 0
	jne	.L202
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L203
	call	chuckKeyAdd
	mov	DWORD PTR -60[rbp], 1
	jmp	.L158
.L202:
	nop
	jmp	.L178
.L203:
	nop
.L178:
	cmp	DWORD PTR -56[rbp], 0
	jne	.L204
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L205
	call	bobKeyChange
	mov	DWORD PTR -56[rbp], 1
	jmp	.L158
.L204:
	nop
	jmp	.L180
.L205:
	nop
.L180:
	cmp	DWORD PTR -52[rbp], 0
	jne	.L206
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L207
	call	chuckKeyAdd
	mov	DWORD PTR -52[rbp], 1
	jmp	.L158
.L185:
	nop
	jmp	.L160
.L206:
	nop
	jmp	.L160
.L207:
	nop
.L160:
	call	bobToRjh
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	test, .-test
	.globl	__automaton_fail
	.type	__automaton_fail, @function
__automaton_fail:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
.L209:
	mov	eax, 0
	call	__VERIFIER_error@PLT
	.cfi_endproc
.LFE43:
	.size	__automaton_fail, .-__automaton_fail
	.globl	queue_empty
	.data
	.align 4
	.type	queue_empty, @object
	.size	queue_empty, 4
queue_empty:
	.long	1
	.globl	queued_message
	.bss
	.align 4
	.type	queued_message, @object
	.size	queued_message, 4
queued_message:
	.zero	4
	.globl	queued_client
	.align 4
	.type	queued_client, @object
	.size	queued_client, 4
queued_client:
	.zero	4
	.section	.rodata
.LC14:
	.string	"mail sent"
	.text
	.globl	mail
	.type	mail, @function
mail:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	__utac_acc__EncryptAutoResponder_spec__2@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	getEmailTo
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	incoming
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	mail, .-mail
	.globl	outgoing__wrappee__Keys
	.type	outgoing__wrappee__Keys, @function
outgoing__wrappee__Keys:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	getClientId
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailFrom
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	mail
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	outgoing__wrappee__Keys, .-outgoing__wrappee__Keys
	.globl	outgoing__wrappee__Encrypt
	.type	outgoing__wrappee__Encrypt, @function
outgoing__wrappee__Encrypt:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	getEmailTo
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	findPublicKey
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L215
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailEncryptionKey
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, 1
	mov	edi, eax
	call	setEmailIsEncrypted
.L215:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing__wrappee__Keys
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	outgoing__wrappee__Encrypt, .-outgoing__wrappee__Encrypt
	.section	.rodata
	.align 8
.LC15:
	.string	"sending to alias in address book\n"
.LC16:
	.string	"sending to second receipient\n"
	.text
	.globl	outgoing__wrappee__AddressBook
	.type	outgoing__wrappee__AddressBook, @function
outgoing__wrappee__AddressBook:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	getClientAddressBookSize
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L218
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	sendToAddressBook
	lea	rdi, .LC15[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	getEmailTo
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -16[rbp], eax
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, 1
	mov	edi, eax
	call	getClientAddressBookAddress
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailTo
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing__wrappee__Encrypt
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, 0
	mov	edi, eax
	call	getClientAddressBookAddress
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailTo
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing__wrappee__Encrypt
	jmp	.L217
.L218:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing__wrappee__Encrypt
	nop
.L217:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	outgoing__wrappee__AddressBook, .-outgoing__wrappee__AddressBook
	.globl	outgoing
	.type	outgoing, @function
outgoing:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	sign
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing__wrappee__AddressBook
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	outgoing, .-outgoing
	.section	.rodata
.LC17:
	.string	"mail delivered\n"
	.text
	.globl	deliver
	.type	deliver, @function
deliver:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	lea	rdi, .LC17[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	deliver, .-deliver
	.globl	incoming__wrappee__Sign
	.type	incoming__wrappee__Sign, @function
incoming__wrappee__Sign:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	deliver
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	incoming__wrappee__Sign, .-incoming__wrappee__Sign
	.globl	incoming__wrappee__Verify
	.type	incoming__wrappee__Verify, @function
incoming__wrappee__Verify:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	verify
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	incoming__wrappee__Sign
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	incoming__wrappee__Verify, .-incoming__wrappee__Verify
	.globl	incoming
	.type	incoming, @function
incoming:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	__utac_acc__EncryptAutoResponder_spec__1@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	getClientPrivateKey
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L230
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	isEncrypted
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L230
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	getEmailEncryptionKey
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	isKeyPairValid
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L230
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, 0
	mov	edi, eax
	call	setEmailIsEncrypted
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, 0
	mov	edi, eax
	call	setEmailEncryptionKey
.L230:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	incoming__wrappee__Verify
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	incoming, .-incoming
	.globl	createClient
	.type	createClient, @function
createClient:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	call	initClient
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	createClient, .-createClient
	.globl	sendEmail
	.type	sendEmail, @function
sendEmail:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, eax
	mov	edi, 0
	call	createEmail
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	sendEmail, .-sendEmail
	.globl	queue
	.type	queue, @function
queue:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR queue_empty[rip], 0
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR queued_message[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR queued_client[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	queue, .-queue
	.globl	is_queue_empty
	.type	is_queue_empty, @function
is_queue_empty:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR queue_empty[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	is_queue_empty, .-is_queue_empty
	.globl	get_queued_client
	.type	get_queued_client, @function
get_queued_client:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR queued_client[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	get_queued_client, .-get_queued_client
	.globl	get_queued_email
	.type	get_queued_email, @function
get_queued_email:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR queued_message[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	get_queued_email, .-get_queued_email
	.section	.rodata
.LC18:
	.string	"keypair valid %d %d"
	.text
	.globl	isKeyPairValid
	.type	isKeyPairValid, @function
isKeyPairValid:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	lea	rax, .LC18[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	cmp	DWORD PTR -20[rbp], 0
	jne	.L245
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L246
.L245:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L247
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L246
.L247:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	sete	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
.L246:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	isKeyPairValid, .-isKeyPairValid
	.globl	generateKeyPair
	.type	generateKeyPair, @function
generateKeyPair:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setClientPrivateKey
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	generateKeyPair, .-generateKeyPair
	.globl	sendToAddressBook
	.type	sendToAddressBook, @function
sendToAddressBook:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	sendToAddressBook, .-sendToAddressBook
	.globl	sign
	.type	sign, @function
sign:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	getClientPrivateKey
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L255
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, 1
	mov	edi, eax
	call	setEmailIsSigned
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -24[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setEmailSignKey
	jmp	.L252
.L255:
	nop
.L252:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	sign, .-sign
	.globl	verify
	.type	verify, @function
verify:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	isReadable
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L261
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	isSigned
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L262
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	getEmailFrom
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, edx
	mov	edi, eax
	call	findPublicKey
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L263
	mov	eax, DWORD PTR -40[rbp]
	mov	edi, eax
	call	getEmailSignKey
	mov	DWORD PTR -8[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, edx
	mov	edi, eax
	call	isKeyPairValid
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L263
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, 1
	mov	edi, eax
	call	setEmailIsSignatureVerified
	jmp	.L263
.L261:
	nop
	jmp	.L256
.L262:
	nop
	jmp	.L256
.L263:
	nop
.L256:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	verify, .-verify
	.globl	bob
	.bss
	.align 4
	.type	bob, @object
	.size	bob, 4
bob:
	.zero	4
	.globl	rjh
	.align 4
	.type	rjh, @object
	.size	rjh, 4
rjh:
	.zero	4
	.globl	chuck
	.align 4
	.type	chuck, @object
	.size	chuck, 4
chuck:
	.zero	4
	.text
	.globl	setup_bob__wrappee__Base
	.type	setup_bob__wrappee__Base, @function
setup_bob__wrappee__Base:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setClientId
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	setup_bob__wrappee__Base, .-setup_bob__wrappee__Base
	.globl	setup_bob
	.type	setup_bob, @function
setup_bob:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	setup_bob__wrappee__Base
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 123
	mov	edi, eax
	call	setClientPrivateKey
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	setup_bob, .-setup_bob
	.globl	setup_rjh__wrappee__Base
	.type	setup_rjh__wrappee__Base, @function
setup_rjh__wrappee__Base:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setClientId
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	setup_rjh__wrappee__Base, .-setup_rjh__wrappee__Base
	.globl	setup_rjh
	.type	setup_rjh, @function
setup_rjh:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	setup_rjh__wrappee__Base
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 456
	mov	edi, eax
	call	setClientPrivateKey
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	setup_rjh, .-setup_rjh
	.globl	setup_chuck__wrappee__Base
	.type	setup_chuck__wrappee__Base, @function
setup_chuck__wrappee__Base:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setClientId
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	setup_chuck__wrappee__Base, .-setup_chuck__wrappee__Base
	.globl	setup_chuck
	.type	setup_chuck, @function
setup_chuck:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	setup_chuck__wrappee__Base
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, 789
	mov	edi, eax
	call	setClientPrivateKey
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	setup_chuck, .-setup_chuck
	.section	.rodata
	.align 8
.LC19:
	.string	"Please enter a subject and a message body.\n"
	.text
	.globl	bobToRjh
	.type	bobToRjh, @function
bobToRjh:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edx, DWORD PTR rjh[rip]
	mov	eax, DWORD PTR bob[rip]
	mov	esi, edx
	mov	edi, eax
	call	sendEmail
	call	is_queue_empty
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L279
	call	get_queued_email
	mov	DWORD PTR -8[rbp], eax
	call	get_queued_client
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -8[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, edx
	mov	edi, eax
	call	outgoing
	nop
.L279:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	bobToRjh, .-bobToRjh
	.globl	rjhToBob
	.type	rjhToBob, @function
rjhToBob:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edx, DWORD PTR bob[rip]
	mov	eax, DWORD PTR rjh[rip]
	mov	esi, edx
	mov	edi, eax
	call	sendEmail
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	rjhToBob, .-rjhToBob
	.section	.rodata
.LC20:
	.string	"bob: %d\n"
.LC21:
	.string	"rjh: %d\n"
.LC22:
	.string	"chuck: %d\n"
	.text
	.globl	setup
	.type	setup, @function
setup:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR bob[rip], 1
	mov	eax, DWORD PTR bob[rip]
	mov	edi, eax
	call	setup_bob
	lea	rax, .LC20[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	edx, DWORD PTR bob[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR rjh[rip], 2
	mov	eax, DWORD PTR rjh[rip]
	mov	edi, eax
	call	setup_rjh
	lea	rax, .LC21[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR rjh[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR chuck[rip], 3
	mov	eax, DWORD PTR chuck[rip]
	mov	edi, eax
	call	setup_chuck
	lea	rax, .LC22[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR chuck[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	setup, .-setup
	.globl	main
	.type	main, @function
main:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	call	select_helpers
	call	select_features
	call	valid_product
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L285
	call	setup
	call	test
.L285:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	main, .-main
	.section	.rodata
.LC23:
	.string	"bob added rjhs key"
.LC24:
	.string	"%d\n"
	.text
	.globl	bobKeyAdd
	.type	bobKeyAdd, @function
bobKeyAdd:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	eax, DWORD PTR bob[rip]
	mov	edi, eax
	call	createClientKeyringEntry
	mov	eax, DWORD PTR bob[rip]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringUser
	mov	eax, DWORD PTR bob[rip]
	mov	edx, 456
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringPublicKey
	lea	rdi, .LC23[rip]
	call	puts@PLT
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 0
	mov	edi, eax
	call	getClientKeyringUser
	mov	DWORD PTR -24[rbp], eax
	lea	rax, .LC24[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 0
	mov	edi, eax
	call	getClientKeyringPublicKey
	mov	DWORD PTR -20[rbp], eax
	lea	rax, .LC24[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	bobKeyAdd, .-bobKeyAdd
	.globl	rjhKeyAdd
	.type	rjhKeyAdd, @function
rjhKeyAdd:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR rjh[rip]
	mov	edi, eax
	call	createClientKeyringEntry
	mov	eax, DWORD PTR rjh[rip]
	mov	edx, 1
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringUser
	mov	eax, DWORD PTR rjh[rip]
	mov	edx, 123
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringPublicKey
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	rjhKeyAdd, .-rjhKeyAdd
	.globl	rjhKeyAddChuck
	.type	rjhKeyAddChuck, @function
rjhKeyAddChuck:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR rjh[rip]
	mov	edi, eax
	call	createClientKeyringEntry
	mov	eax, DWORD PTR rjh[rip]
	mov	edx, 3
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringUser
	mov	eax, DWORD PTR rjh[rip]
	mov	edx, 789
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringPublicKey
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	rjhKeyAddChuck, .-rjhKeyAddChuck
	.globl	bobKeyAddChuck
	.type	bobKeyAddChuck, @function
bobKeyAddChuck:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR bob[rip]
	mov	edi, eax
	call	createClientKeyringEntry
	mov	eax, DWORD PTR bob[rip]
	mov	edx, 3
	mov	esi, 1
	mov	edi, eax
	call	setClientKeyringUser
	mov	eax, DWORD PTR bob[rip]
	mov	edx, 789
	mov	esi, 1
	mov	edi, eax
	call	setClientKeyringPublicKey
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	bobKeyAddChuck, .-bobKeyAddChuck
	.globl	chuckKeyAdd
	.type	chuckKeyAdd, @function
chuckKeyAdd:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR chuck[rip]
	mov	edi, eax
	call	createClientKeyringEntry
	mov	eax, DWORD PTR chuck[rip]
	mov	edx, 1
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringUser
	mov	eax, DWORD PTR chuck[rip]
	mov	edx, 123
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringPublicKey
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	chuckKeyAdd, .-chuckKeyAdd
	.globl	chuckKeyAddRjh
	.type	chuckKeyAddRjh, @function
chuckKeyAddRjh:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR chuck[rip]
	mov	edi, eax
	call	createClientKeyringEntry
	mov	eax, DWORD PTR chuck[rip]
	mov	edx, 2
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringUser
	mov	eax, DWORD PTR chuck[rip]
	mov	edx, 456
	mov	esi, 0
	mov	edi, eax
	call	setClientKeyringPublicKey
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	chuckKeyAddRjh, .-chuckKeyAddRjh
	.globl	rjhDeletePrivateKey
	.type	rjhDeletePrivateKey, @function
rjhDeletePrivateKey:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR rjh[rip]
	mov	esi, 0
	mov	edi, eax
	call	setClientPrivateKey
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	rjhDeletePrivateKey, .-rjhDeletePrivateKey
	.globl	bobKeyChange
	.type	bobKeyChange, @function
bobKeyChange:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 777
	mov	edi, eax
	call	generateKeyPair
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	bobKeyChange, .-bobKeyChange
	.globl	rjhKeyChange
	.type	rjhKeyChange, @function
rjhKeyChange:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR rjh[rip]
	mov	esi, 666
	mov	edi, eax
	call	generateKeyPair
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	rjhKeyChange, .-rjhKeyChange
	.globl	bobSetAddressBook
	.type	bobSetAddressBook, @function
bobSetAddressBook:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 1
	mov	edi, eax
	call	setClientAddressBookSize
	mov	edx, DWORD PTR rjh[rip]
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 0
	mov	edi, eax
	call	setClientAddressBookAlias
	mov	edx, DWORD PTR rjh[rip]
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 0
	mov	edi, eax
	call	setClientAddressBookAddress
	mov	edx, DWORD PTR chuck[rip]
	mov	eax, DWORD PTR bob[rip]
	mov	esi, 1
	mov	edi, eax
	call	setClientAddressBookAddress
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	bobSetAddressBook, .-bobSetAddressBook
	.globl	__ste_Client_counter
	.bss
	.align 4
	.type	__ste_Client_counter, @object
	.size	__ste_Client_counter, 4
__ste_Client_counter:
	.zero	4
	.text
	.globl	initClient
	.type	initClient, @function
initClient:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR __ste_Client_counter[rip]
	cmp	eax, 2
	jg	.L308
	mov	eax, DWORD PTR __ste_Client_counter[rip]
	add	eax, 1
	mov	DWORD PTR __ste_Client_counter[rip], eax
	mov	eax, DWORD PTR __ste_Client_counter[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L309
.L308:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
.L309:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	initClient, .-initClient
	.globl	__ste_client_name0
	.bss
	.align 8
	.type	__ste_client_name0, @object
	.size	__ste_client_name0, 8
__ste_client_name0:
	.zero	8
	.globl	__ste_client_name1
	.align 8
	.type	__ste_client_name1, @object
	.size	__ste_client_name1, 8
__ste_client_name1:
	.zero	8
	.globl	__ste_client_name2
	.align 8
	.type	__ste_client_name2, @object
	.size	__ste_client_name2, 8
__ste_client_name2:
	.zero	8
	.text
	.globl	getClientName
	.type	getClientName, @function
getClientName:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L311
	mov	rax, QWORD PTR __ste_client_name0[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L312
.L311:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L313
	mov	rax, QWORD PTR __ste_client_name1[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L312
.L313:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L314
	mov	rax, QWORD PTR __ste_client_name2[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L312
.L314:
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L312:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	getClientName, .-getClientName
	.globl	setClientName
	.type	setClientName, @function
setClientName:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L316
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_client_name0[rip], rax
	jmp	.L320
.L316:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L318
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_client_name1[rip], rax
	jmp	.L320
.L318:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L320
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR __ste_client_name2[rip], rax
	nop
.L320:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	setClientName, .-setClientName
	.globl	__ste_client_outbuffer0
	.bss
	.align 4
	.type	__ste_client_outbuffer0, @object
	.size	__ste_client_outbuffer0, 4
__ste_client_outbuffer0:
	.zero	4
	.globl	__ste_client_outbuffer1
	.align 4
	.type	__ste_client_outbuffer1, @object
	.size	__ste_client_outbuffer1, 4
__ste_client_outbuffer1:
	.zero	4
	.globl	__ste_client_outbuffer2
	.align 4
	.type	__ste_client_outbuffer2, @object
	.size	__ste_client_outbuffer2, 4
__ste_client_outbuffer2:
	.zero	4
	.globl	__ste_client_outbuffer3
	.align 4
	.type	__ste_client_outbuffer3, @object
	.size	__ste_client_outbuffer3, 4
__ste_client_outbuffer3:
	.zero	4
	.text
	.globl	getClientOutbuffer
	.type	getClientOutbuffer, @function
getClientOutbuffer:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L322
	mov	eax, DWORD PTR __ste_client_outbuffer0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L323
.L322:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L324
	mov	eax, DWORD PTR __ste_client_outbuffer1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L323
.L324:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L325
	mov	eax, DWORD PTR __ste_client_outbuffer2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L323
.L325:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L323:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	getClientOutbuffer, .-getClientOutbuffer
	.globl	setClientOutbuffer
	.type	setClientOutbuffer, @function
setClientOutbuffer:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L327
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_outbuffer0[rip], eax
	jmp	.L331
.L327:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L329
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_outbuffer1[rip], eax
	jmp	.L331
.L329:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L331
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_outbuffer2[rip], eax
	nop
.L331:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	setClientOutbuffer, .-setClientOutbuffer
	.globl	__ste_ClientAddressBook_size0
	.bss
	.align 4
	.type	__ste_ClientAddressBook_size0, @object
	.size	__ste_ClientAddressBook_size0, 4
__ste_ClientAddressBook_size0:
	.zero	4
	.globl	__ste_ClientAddressBook_size1
	.align 4
	.type	__ste_ClientAddressBook_size1, @object
	.size	__ste_ClientAddressBook_size1, 4
__ste_ClientAddressBook_size1:
	.zero	4
	.globl	__ste_ClientAddressBook_size2
	.align 4
	.type	__ste_ClientAddressBook_size2, @object
	.size	__ste_ClientAddressBook_size2, 4
__ste_ClientAddressBook_size2:
	.zero	4
	.text
	.globl	getClientAddressBookSize
	.type	getClientAddressBookSize, @function
getClientAddressBookSize:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L333
	mov	eax, DWORD PTR __ste_ClientAddressBook_size0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L334
.L333:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L335
	mov	eax, DWORD PTR __ste_ClientAddressBook_size1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L334
.L335:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L336
	mov	eax, DWORD PTR __ste_ClientAddressBook_size2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L334
.L336:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L334:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	getClientAddressBookSize, .-getClientAddressBookSize
	.globl	setClientAddressBookSize
	.type	setClientAddressBookSize, @function
setClientAddressBookSize:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L338
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_ClientAddressBook_size0[rip], eax
	jmp	.L342
.L338:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L340
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_ClientAddressBook_size1[rip], eax
	jmp	.L342
.L340:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L342
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_ClientAddressBook_size2[rip], eax
	nop
.L342:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	setClientAddressBookSize, .-setClientAddressBookSize
	.globl	createClientAddressBookEntry
	.type	createClientAddressBookEntry, @function
createClientAddressBookEntry:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	getClientAddressBookSize
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 2
	jg	.L344
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setClientAddressBookSize
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L345
.L344:
	mov	DWORD PTR -8[rbp], -1
	mov	eax, DWORD PTR -8[rbp]
.L345:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	createClientAddressBookEntry, .-createClientAddressBookEntry
	.globl	__ste_Client_AddressBook0_Alias0
	.bss
	.align 4
	.type	__ste_Client_AddressBook0_Alias0, @object
	.size	__ste_Client_AddressBook0_Alias0, 4
__ste_Client_AddressBook0_Alias0:
	.zero	4
	.globl	__ste_Client_AddressBook0_Alias1
	.align 4
	.type	__ste_Client_AddressBook0_Alias1, @object
	.size	__ste_Client_AddressBook0_Alias1, 4
__ste_Client_AddressBook0_Alias1:
	.zero	4
	.globl	__ste_Client_AddressBook0_Alias2
	.align 4
	.type	__ste_Client_AddressBook0_Alias2, @object
	.size	__ste_Client_AddressBook0_Alias2, 4
__ste_Client_AddressBook0_Alias2:
	.zero	4
	.globl	__ste_Client_AddressBook1_Alias0
	.align 4
	.type	__ste_Client_AddressBook1_Alias0, @object
	.size	__ste_Client_AddressBook1_Alias0, 4
__ste_Client_AddressBook1_Alias0:
	.zero	4
	.globl	__ste_Client_AddressBook1_Alias1
	.align 4
	.type	__ste_Client_AddressBook1_Alias1, @object
	.size	__ste_Client_AddressBook1_Alias1, 4
__ste_Client_AddressBook1_Alias1:
	.zero	4
	.globl	__ste_Client_AddressBook1_Alias2
	.align 4
	.type	__ste_Client_AddressBook1_Alias2, @object
	.size	__ste_Client_AddressBook1_Alias2, 4
__ste_Client_AddressBook1_Alias2:
	.zero	4
	.globl	__ste_Client_AddressBook2_Alias0
	.align 4
	.type	__ste_Client_AddressBook2_Alias0, @object
	.size	__ste_Client_AddressBook2_Alias0, 4
__ste_Client_AddressBook2_Alias0:
	.zero	4
	.globl	__ste_Client_AddressBook2_Alias1
	.align 4
	.type	__ste_Client_AddressBook2_Alias1, @object
	.size	__ste_Client_AddressBook2_Alias1, 4
__ste_Client_AddressBook2_Alias1:
	.zero	4
	.globl	__ste_Client_AddressBook2_Alias2
	.align 4
	.type	__ste_Client_AddressBook2_Alias2, @object
	.size	__ste_Client_AddressBook2_Alias2, 4
__ste_Client_AddressBook2_Alias2:
	.zero	4
	.text
	.globl	getClientAddressBookAlias
	.type	getClientAddressBookAlias, @function
getClientAddressBookAlias:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L347
	cmp	DWORD PTR -24[rbp], 0
	jne	.L348
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Alias0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L348:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L350
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Alias1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L350:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L351
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Alias2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L351:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L347:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L352
	cmp	DWORD PTR -24[rbp], 0
	jne	.L353
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Alias0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L353:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L354
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Alias1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L354:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L355
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Alias2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L355:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L352:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L356
	cmp	DWORD PTR -24[rbp], 0
	jne	.L357
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Alias0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L357:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L358
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Alias1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L358:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L359
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Alias2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L359:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L349
.L356:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L349:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	getClientAddressBookAlias, .-getClientAddressBookAlias
	.globl	findClientAddressBookAlias
	.type	findClientAddressBookAlias, @function
findClientAddressBookAlias:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L361
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Alias0[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L362
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L362:
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Alias1[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L364
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L364:
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Alias2[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L365
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L365:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L361:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L366
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Alias0[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L367
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L367:
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Alias1[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L368
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L368:
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Alias2[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L369
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L369:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L366:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L370
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Alias0[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L371
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L371:
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Alias1[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L372
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L372:
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Alias2[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L373
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L373:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L363
.L370:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
.L363:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	findClientAddressBookAlias, .-findClientAddressBookAlias
	.globl	setClientAddressBookAlias
	.type	setClientAddressBookAlias, @function
setClientAddressBookAlias:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	cmp	DWORD PTR -4[rbp], 1
	jne	.L375
	cmp	DWORD PTR -8[rbp], 0
	jne	.L376
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook0_Alias0[rip], eax
	jmp	.L385
.L376:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L378
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook0_Alias1[rip], eax
	jmp	.L385
.L378:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L385
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook0_Alias2[rip], eax
	jmp	.L385
.L375:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L379
	cmp	DWORD PTR -8[rbp], 0
	jne	.L380
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook1_Alias0[rip], eax
	jmp	.L385
.L380:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L381
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook1_Alias1[rip], eax
	jmp	.L385
.L381:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L385
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook1_Alias2[rip], eax
	jmp	.L385
.L379:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L385
	cmp	DWORD PTR -8[rbp], 0
	jne	.L382
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook2_Alias0[rip], eax
	jmp	.L385
.L382:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L383
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook2_Alias1[rip], eax
	jmp	.L385
.L383:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L385
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook2_Alias2[rip], eax
	nop
.L385:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	setClientAddressBookAlias, .-setClientAddressBookAlias
	.globl	__ste_Client_AddressBook0_Address0
	.bss
	.align 4
	.type	__ste_Client_AddressBook0_Address0, @object
	.size	__ste_Client_AddressBook0_Address0, 4
__ste_Client_AddressBook0_Address0:
	.zero	4
	.globl	__ste_Client_AddressBook0_Address1
	.align 4
	.type	__ste_Client_AddressBook0_Address1, @object
	.size	__ste_Client_AddressBook0_Address1, 4
__ste_Client_AddressBook0_Address1:
	.zero	4
	.globl	__ste_Client_AddressBook0_Address2
	.align 4
	.type	__ste_Client_AddressBook0_Address2, @object
	.size	__ste_Client_AddressBook0_Address2, 4
__ste_Client_AddressBook0_Address2:
	.zero	4
	.globl	__ste_Client_AddressBook1_Address0
	.align 4
	.type	__ste_Client_AddressBook1_Address0, @object
	.size	__ste_Client_AddressBook1_Address0, 4
__ste_Client_AddressBook1_Address0:
	.zero	4
	.globl	__ste_Client_AddressBook1_Address1
	.align 4
	.type	__ste_Client_AddressBook1_Address1, @object
	.size	__ste_Client_AddressBook1_Address1, 4
__ste_Client_AddressBook1_Address1:
	.zero	4
	.globl	__ste_Client_AddressBook1_Address2
	.align 4
	.type	__ste_Client_AddressBook1_Address2, @object
	.size	__ste_Client_AddressBook1_Address2, 4
__ste_Client_AddressBook1_Address2:
	.zero	4
	.globl	__ste_Client_AddressBook2_Address0
	.align 4
	.type	__ste_Client_AddressBook2_Address0, @object
	.size	__ste_Client_AddressBook2_Address0, 4
__ste_Client_AddressBook2_Address0:
	.zero	4
	.globl	__ste_Client_AddressBook2_Address1
	.align 4
	.type	__ste_Client_AddressBook2_Address1, @object
	.size	__ste_Client_AddressBook2_Address1, 4
__ste_Client_AddressBook2_Address1:
	.zero	4
	.globl	__ste_Client_AddressBook2_Address2
	.align 4
	.type	__ste_Client_AddressBook2_Address2, @object
	.size	__ste_Client_AddressBook2_Address2, 4
__ste_Client_AddressBook2_Address2:
	.zero	4
	.text
	.globl	getClientAddressBookAddress
	.type	getClientAddressBookAddress, @function
getClientAddressBookAddress:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L387
	cmp	DWORD PTR -24[rbp], 0
	jne	.L388
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Address0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L388:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L390
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Address1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L390:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L391
	mov	eax, DWORD PTR __ste_Client_AddressBook0_Address2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L391:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L387:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L392
	cmp	DWORD PTR -24[rbp], 0
	jne	.L393
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Address0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L393:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L394
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Address1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L394:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L395
	mov	eax, DWORD PTR __ste_Client_AddressBook1_Address2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L395:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L392:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L396
	cmp	DWORD PTR -24[rbp], 0
	jne	.L397
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Address0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L397:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L398
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Address1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L398:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L399
	mov	eax, DWORD PTR __ste_Client_AddressBook2_Address2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L399:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L389
.L396:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L389:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	getClientAddressBookAddress, .-getClientAddressBookAddress
	.globl	setClientAddressBookAddress
	.type	setClientAddressBookAddress, @function
setClientAddressBookAddress:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	cmp	DWORD PTR -4[rbp], 1
	jne	.L401
	cmp	DWORD PTR -8[rbp], 0
	jne	.L402
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook0_Address0[rip], eax
	jmp	.L411
.L402:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L404
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook0_Address1[rip], eax
	jmp	.L411
.L404:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L411
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook0_Address2[rip], eax
	jmp	.L411
.L401:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L405
	cmp	DWORD PTR -8[rbp], 0
	jne	.L406
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook1_Address0[rip], eax
	jmp	.L411
.L406:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L407
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook1_Address1[rip], eax
	jmp	.L411
.L407:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L411
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook1_Address2[rip], eax
	jmp	.L411
.L405:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L411
	cmp	DWORD PTR -8[rbp], 0
	jne	.L408
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook2_Address0[rip], eax
	jmp	.L411
.L408:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L409
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook2_Address1[rip], eax
	jmp	.L411
.L409:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L411
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_AddressBook2_Address2[rip], eax
	nop
.L411:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	setClientAddressBookAddress, .-setClientAddressBookAddress
	.globl	__ste_client_autoResponse0
	.bss
	.align 4
	.type	__ste_client_autoResponse0, @object
	.size	__ste_client_autoResponse0, 4
__ste_client_autoResponse0:
	.zero	4
	.globl	__ste_client_autoResponse1
	.align 4
	.type	__ste_client_autoResponse1, @object
	.size	__ste_client_autoResponse1, 4
__ste_client_autoResponse1:
	.zero	4
	.globl	__ste_client_autoResponse2
	.align 4
	.type	__ste_client_autoResponse2, @object
	.size	__ste_client_autoResponse2, 4
__ste_client_autoResponse2:
	.zero	4
	.text
	.globl	getClientAutoResponse
	.type	getClientAutoResponse, @function
getClientAutoResponse:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L413
	mov	eax, DWORD PTR __ste_client_autoResponse0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L414
.L413:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L415
	mov	eax, DWORD PTR __ste_client_autoResponse1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L414
.L415:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L416
	mov	eax, DWORD PTR __ste_client_autoResponse2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L414
.L416:
	mov	DWORD PTR -4[rbp], -1
	mov	eax, DWORD PTR -4[rbp]
.L414:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	getClientAutoResponse, .-getClientAutoResponse
	.globl	setClientAutoResponse
	.type	setClientAutoResponse, @function
setClientAutoResponse:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L418
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_autoResponse0[rip], eax
	jmp	.L422
.L418:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L420
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_autoResponse1[rip], eax
	jmp	.L422
.L420:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L422
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_autoResponse2[rip], eax
	nop
.L422:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	setClientAutoResponse, .-setClientAutoResponse
	.globl	__ste_client_privateKey0
	.bss
	.align 4
	.type	__ste_client_privateKey0, @object
	.size	__ste_client_privateKey0, 4
__ste_client_privateKey0:
	.zero	4
	.globl	__ste_client_privateKey1
	.align 4
	.type	__ste_client_privateKey1, @object
	.size	__ste_client_privateKey1, 4
__ste_client_privateKey1:
	.zero	4
	.globl	__ste_client_privateKey2
	.align 4
	.type	__ste_client_privateKey2, @object
	.size	__ste_client_privateKey2, 4
__ste_client_privateKey2:
	.zero	4
	.text
	.globl	getClientPrivateKey
	.type	getClientPrivateKey, @function
getClientPrivateKey:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L424
	mov	eax, DWORD PTR __ste_client_privateKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L425
.L424:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L426
	mov	eax, DWORD PTR __ste_client_privateKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L425
.L426:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L427
	mov	eax, DWORD PTR __ste_client_privateKey2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L425
.L427:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L425:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	getClientPrivateKey, .-getClientPrivateKey
	.globl	setClientPrivateKey
	.type	setClientPrivateKey, @function
setClientPrivateKey:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L429
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_privateKey0[rip], eax
	jmp	.L433
.L429:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L431
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_privateKey1[rip], eax
	jmp	.L433
.L431:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L433
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_privateKey2[rip], eax
	nop
.L433:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	setClientPrivateKey, .-setClientPrivateKey
	.globl	__ste_ClientKeyring_size0
	.bss
	.align 4
	.type	__ste_ClientKeyring_size0, @object
	.size	__ste_ClientKeyring_size0, 4
__ste_ClientKeyring_size0:
	.zero	4
	.globl	__ste_ClientKeyring_size1
	.align 4
	.type	__ste_ClientKeyring_size1, @object
	.size	__ste_ClientKeyring_size1, 4
__ste_ClientKeyring_size1:
	.zero	4
	.globl	__ste_ClientKeyring_size2
	.align 4
	.type	__ste_ClientKeyring_size2, @object
	.size	__ste_ClientKeyring_size2, 4
__ste_ClientKeyring_size2:
	.zero	4
	.text
	.globl	getClientKeyringSize
	.type	getClientKeyringSize, @function
getClientKeyringSize:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L435
	mov	eax, DWORD PTR __ste_ClientKeyring_size0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L436
.L435:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L437
	mov	eax, DWORD PTR __ste_ClientKeyring_size1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L436
.L437:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L438
	mov	eax, DWORD PTR __ste_ClientKeyring_size2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L436
.L438:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L436:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	getClientKeyringSize, .-getClientKeyringSize
	.globl	setClientKeyringSize
	.type	setClientKeyringSize, @function
setClientKeyringSize:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L440
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_ClientKeyring_size0[rip], eax
	jmp	.L444
.L440:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L442
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_ClientKeyring_size1[rip], eax
	jmp	.L444
.L442:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L444
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_ClientKeyring_size2[rip], eax
	nop
.L444:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	setClientKeyringSize, .-setClientKeyringSize
	.globl	createClientKeyringEntry
	.type	createClientKeyringEntry, @function
createClientKeyringEntry:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	getClientKeyringSize
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 1
	jg	.L446
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, edx
	mov	edi, eax
	call	setClientKeyringSize
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L447
.L446:
	mov	DWORD PTR -8[rbp], -1
	mov	eax, DWORD PTR -8[rbp]
.L447:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	createClientKeyringEntry, .-createClientKeyringEntry
	.globl	__ste_Client_Keyring0_User0
	.bss
	.align 4
	.type	__ste_Client_Keyring0_User0, @object
	.size	__ste_Client_Keyring0_User0, 4
__ste_Client_Keyring0_User0:
	.zero	4
	.globl	__ste_Client_Keyring0_User1
	.align 4
	.type	__ste_Client_Keyring0_User1, @object
	.size	__ste_Client_Keyring0_User1, 4
__ste_Client_Keyring0_User1:
	.zero	4
	.globl	__ste_Client_Keyring0_User2
	.align 4
	.type	__ste_Client_Keyring0_User2, @object
	.size	__ste_Client_Keyring0_User2, 4
__ste_Client_Keyring0_User2:
	.zero	4
	.globl	__ste_Client_Keyring1_User0
	.align 4
	.type	__ste_Client_Keyring1_User0, @object
	.size	__ste_Client_Keyring1_User0, 4
__ste_Client_Keyring1_User0:
	.zero	4
	.globl	__ste_Client_Keyring1_User1
	.align 4
	.type	__ste_Client_Keyring1_User1, @object
	.size	__ste_Client_Keyring1_User1, 4
__ste_Client_Keyring1_User1:
	.zero	4
	.globl	__ste_Client_Keyring1_User2
	.align 4
	.type	__ste_Client_Keyring1_User2, @object
	.size	__ste_Client_Keyring1_User2, 4
__ste_Client_Keyring1_User2:
	.zero	4
	.globl	__ste_Client_Keyring2_User0
	.align 4
	.type	__ste_Client_Keyring2_User0, @object
	.size	__ste_Client_Keyring2_User0, 4
__ste_Client_Keyring2_User0:
	.zero	4
	.globl	__ste_Client_Keyring2_User1
	.align 4
	.type	__ste_Client_Keyring2_User1, @object
	.size	__ste_Client_Keyring2_User1, 4
__ste_Client_Keyring2_User1:
	.zero	4
	.globl	__ste_Client_Keyring2_User2
	.align 4
	.type	__ste_Client_Keyring2_User2, @object
	.size	__ste_Client_Keyring2_User2, 4
__ste_Client_Keyring2_User2:
	.zero	4
	.text
	.globl	getClientKeyringUser
	.type	getClientKeyringUser, @function
getClientKeyringUser:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L449
	cmp	DWORD PTR -24[rbp], 0
	jne	.L450
	mov	eax, DWORD PTR __ste_Client_Keyring0_User0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L450:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L452
	mov	eax, DWORD PTR __ste_Client_Keyring0_User1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L452:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L449:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L453
	cmp	DWORD PTR -24[rbp], 0
	jne	.L454
	mov	eax, DWORD PTR __ste_Client_Keyring1_User0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L454:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L455
	mov	eax, DWORD PTR __ste_Client_Keyring1_User1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L455:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L453:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L456
	cmp	DWORD PTR -24[rbp], 0
	jne	.L457
	mov	eax, DWORD PTR __ste_Client_Keyring2_User0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L457:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L458
	mov	eax, DWORD PTR __ste_Client_Keyring2_User1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L458:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L451
.L456:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L451:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	getClientKeyringUser, .-getClientKeyringUser
	.globl	setClientKeyringUser
	.type	setClientKeyringUser, @function
setClientKeyringUser:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	cmp	DWORD PTR -4[rbp], 1
	jne	.L460
	cmp	DWORD PTR -8[rbp], 0
	jne	.L461
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring0_User0[rip], eax
	jmp	.L467
.L461:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L467
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring0_User1[rip], eax
	jmp	.L467
.L460:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L463
	cmp	DWORD PTR -8[rbp], 0
	jne	.L464
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring1_User0[rip], eax
	jmp	.L467
.L464:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L467
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring1_User1[rip], eax
	jmp	.L467
.L463:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L467
	cmp	DWORD PTR -8[rbp], 0
	jne	.L465
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring2_User0[rip], eax
	jmp	.L467
.L465:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L467
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring2_User1[rip], eax
	nop
.L467:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	setClientKeyringUser, .-setClientKeyringUser
	.globl	__ste_Client_Keyring0_PublicKey0
	.bss
	.align 4
	.type	__ste_Client_Keyring0_PublicKey0, @object
	.size	__ste_Client_Keyring0_PublicKey0, 4
__ste_Client_Keyring0_PublicKey0:
	.zero	4
	.globl	__ste_Client_Keyring0_PublicKey1
	.align 4
	.type	__ste_Client_Keyring0_PublicKey1, @object
	.size	__ste_Client_Keyring0_PublicKey1, 4
__ste_Client_Keyring0_PublicKey1:
	.zero	4
	.globl	__ste_Client_Keyring0_PublicKey2
	.align 4
	.type	__ste_Client_Keyring0_PublicKey2, @object
	.size	__ste_Client_Keyring0_PublicKey2, 4
__ste_Client_Keyring0_PublicKey2:
	.zero	4
	.globl	__ste_Client_Keyring1_PublicKey0
	.align 4
	.type	__ste_Client_Keyring1_PublicKey0, @object
	.size	__ste_Client_Keyring1_PublicKey0, 4
__ste_Client_Keyring1_PublicKey0:
	.zero	4
	.globl	__ste_Client_Keyring1_PublicKey1
	.align 4
	.type	__ste_Client_Keyring1_PublicKey1, @object
	.size	__ste_Client_Keyring1_PublicKey1, 4
__ste_Client_Keyring1_PublicKey1:
	.zero	4
	.globl	__ste_Client_Keyring1_PublicKey2
	.align 4
	.type	__ste_Client_Keyring1_PublicKey2, @object
	.size	__ste_Client_Keyring1_PublicKey2, 4
__ste_Client_Keyring1_PublicKey2:
	.zero	4
	.globl	__ste_Client_Keyring2_PublicKey0
	.align 4
	.type	__ste_Client_Keyring2_PublicKey0, @object
	.size	__ste_Client_Keyring2_PublicKey0, 4
__ste_Client_Keyring2_PublicKey0:
	.zero	4
	.globl	__ste_Client_Keyring2_PublicKey1
	.align 4
	.type	__ste_Client_Keyring2_PublicKey1, @object
	.size	__ste_Client_Keyring2_PublicKey1, 4
__ste_Client_Keyring2_PublicKey1:
	.zero	4
	.globl	__ste_Client_Keyring2_PublicKey2
	.align 4
	.type	__ste_Client_Keyring2_PublicKey2, @object
	.size	__ste_Client_Keyring2_PublicKey2, 4
__ste_Client_Keyring2_PublicKey2:
	.zero	4
	.text
	.globl	getClientKeyringPublicKey
	.type	getClientKeyringPublicKey, @function
getClientKeyringPublicKey:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L469
	cmp	DWORD PTR -24[rbp], 0
	jne	.L470
	mov	eax, DWORD PTR __ste_Client_Keyring0_PublicKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L470:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L472
	mov	eax, DWORD PTR __ste_Client_Keyring0_PublicKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L472:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L469:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L473
	cmp	DWORD PTR -24[rbp], 0
	jne	.L474
	mov	eax, DWORD PTR __ste_Client_Keyring1_PublicKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L474:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L475
	mov	eax, DWORD PTR __ste_Client_Keyring1_PublicKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L475:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L473:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L476
	cmp	DWORD PTR -24[rbp], 0
	jne	.L477
	mov	eax, DWORD PTR __ste_Client_Keyring2_PublicKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L477:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L478
	mov	eax, DWORD PTR __ste_Client_Keyring2_PublicKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L478:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L471
.L476:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L471:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	getClientKeyringPublicKey, .-getClientKeyringPublicKey
	.globl	findPublicKey
	.type	findPublicKey, @function
findPublicKey:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L480
	mov	eax, DWORD PTR __ste_Client_Keyring0_User0[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L481
	mov	eax, DWORD PTR __ste_Client_Keyring0_PublicKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L481:
	mov	eax, DWORD PTR __ste_Client_Keyring0_User1[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L483
	mov	eax, DWORD PTR __ste_Client_Keyring0_PublicKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L483:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L480:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L484
	mov	eax, DWORD PTR __ste_Client_Keyring1_User0[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L485
	mov	eax, DWORD PTR __ste_Client_Keyring1_PublicKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L485:
	mov	eax, DWORD PTR __ste_Client_Keyring1_User1[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L486
	mov	eax, DWORD PTR __ste_Client_Keyring1_PublicKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L486:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L484:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L487
	mov	eax, DWORD PTR __ste_Client_Keyring2_User0[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L488
	mov	eax, DWORD PTR __ste_Client_Keyring2_PublicKey0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L488:
	mov	eax, DWORD PTR __ste_Client_Keyring2_User1[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L489
	mov	eax, DWORD PTR __ste_Client_Keyring2_PublicKey1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L489:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L482
.L487:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L482:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	findPublicKey, .-findPublicKey
	.globl	setClientKeyringPublicKey
	.type	setClientKeyringPublicKey, @function
setClientKeyringPublicKey:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	cmp	DWORD PTR -4[rbp], 1
	jne	.L491
	cmp	DWORD PTR -8[rbp], 0
	jne	.L492
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring0_PublicKey0[rip], eax
	jmp	.L498
.L492:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L498
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring0_PublicKey1[rip], eax
	jmp	.L498
.L491:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L494
	cmp	DWORD PTR -8[rbp], 0
	jne	.L495
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring1_PublicKey0[rip], eax
	jmp	.L498
.L495:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L498
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring1_PublicKey1[rip], eax
	jmp	.L498
.L494:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L498
	cmp	DWORD PTR -8[rbp], 0
	jne	.L496
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring2_PublicKey0[rip], eax
	jmp	.L498
.L496:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L498
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR __ste_Client_Keyring2_PublicKey1[rip], eax
	nop
.L498:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	setClientKeyringPublicKey, .-setClientKeyringPublicKey
	.globl	__ste_client_forwardReceiver0
	.bss
	.align 4
	.type	__ste_client_forwardReceiver0, @object
	.size	__ste_client_forwardReceiver0, 4
__ste_client_forwardReceiver0:
	.zero	4
	.globl	__ste_client_forwardReceiver1
	.align 4
	.type	__ste_client_forwardReceiver1, @object
	.size	__ste_client_forwardReceiver1, 4
__ste_client_forwardReceiver1:
	.zero	4
	.globl	__ste_client_forwardReceiver2
	.align 4
	.type	__ste_client_forwardReceiver2, @object
	.size	__ste_client_forwardReceiver2, 4
__ste_client_forwardReceiver2:
	.zero	4
	.globl	__ste_client_forwardReceiver3
	.align 4
	.type	__ste_client_forwardReceiver3, @object
	.size	__ste_client_forwardReceiver3, 4
__ste_client_forwardReceiver3:
	.zero	4
	.text
	.globl	getClientForwardReceiver
	.type	getClientForwardReceiver, @function
getClientForwardReceiver:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L500
	mov	eax, DWORD PTR __ste_client_forwardReceiver0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L501
.L500:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L502
	mov	eax, DWORD PTR __ste_client_forwardReceiver1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L501
.L502:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L503
	mov	eax, DWORD PTR __ste_client_forwardReceiver2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L501
.L503:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L501:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	getClientForwardReceiver, .-getClientForwardReceiver
	.globl	setClientForwardReceiver
	.type	setClientForwardReceiver, @function
setClientForwardReceiver:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L505
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_forwardReceiver0[rip], eax
	jmp	.L509
.L505:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L507
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_forwardReceiver1[rip], eax
	jmp	.L509
.L507:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L509
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_forwardReceiver2[rip], eax
	nop
.L509:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	setClientForwardReceiver, .-setClientForwardReceiver
	.globl	__ste_client_idCounter0
	.bss
	.align 4
	.type	__ste_client_idCounter0, @object
	.size	__ste_client_idCounter0, 4
__ste_client_idCounter0:
	.zero	4
	.globl	__ste_client_idCounter1
	.align 4
	.type	__ste_client_idCounter1, @object
	.size	__ste_client_idCounter1, 4
__ste_client_idCounter1:
	.zero	4
	.globl	__ste_client_idCounter2
	.align 4
	.type	__ste_client_idCounter2, @object
	.size	__ste_client_idCounter2, 4
__ste_client_idCounter2:
	.zero	4
	.text
	.globl	getClientId
	.type	getClientId, @function
getClientId:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 1
	jne	.L511
	mov	eax, DWORD PTR __ste_client_idCounter0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L512
.L511:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L513
	mov	eax, DWORD PTR __ste_client_idCounter1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L512
.L513:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L514
	mov	eax, DWORD PTR __ste_client_idCounter2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L512
.L514:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L512:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	getClientId, .-getClientId
	.globl	setClientId
	.type	setClientId, @function
setClientId:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -4[rbp], 1
	jne	.L516
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_idCounter0[rip], eax
	jmp	.L520
.L516:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L518
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_idCounter1[rip], eax
	jmp	.L520
.L518:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L520
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR __ste_client_idCounter2[rip], eax
	nop
.L520:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	setClientId, .-setClientId
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"756570.c"
	.text
	.global	__ste_Email_counter
	.bss
	.align	2
	.type	__ste_Email_counter, %object
	.size	__ste_Email_counter, 4
__ste_Email_counter:
	.space	4
	.text
	.align	2
	.global	initEmail
	.syntax unified
	.arm
	.fpu softvfp
	.type	initEmail, %function
initEmail:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L4
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L2
	ldr	r3, .L4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L4
	str	r3, [r2]
	ldr	r3, .L4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L3
.L2:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5:
	.align	2
.L4:
	.word	__ste_Email_counter
	.size	initEmail, .-initEmail
	.global	__ste_email_id0
	.bss
	.align	2
	.type	__ste_email_id0, %object
	.size	__ste_email_id0, 4
__ste_email_id0:
	.space	4
	.global	__ste_email_id1
	.align	2
	.type	__ste_email_id1, %object
	.size	__ste_email_id1, 4
__ste_email_id1:
	.space	4
	.text
	.align	2
	.global	getEmailId
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailId, %function
getEmailId:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L7
	ldr	r3, .L10
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L8
.L7:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L9
	ldr	r3, .L10+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L8
.L9:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L8:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L11:
	.align	2
.L10:
	.word	__ste_email_id0
	.word	__ste_email_id1
	.size	getEmailId, .-getEmailId
	.align	2
	.global	setEmailId
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailId, %function
setEmailId:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L13
	ldr	r2, .L17
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L16
.L13:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L16
	ldr	r2, .L17+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L16:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L18:
	.align	2
.L17:
	.word	__ste_email_id0
	.word	__ste_email_id1
	.size	setEmailId, .-setEmailId
	.global	__ste_email_from0
	.bss
	.align	2
	.type	__ste_email_from0, %object
	.size	__ste_email_from0, 4
__ste_email_from0:
	.space	4
	.global	__ste_email_from1
	.align	2
	.type	__ste_email_from1, %object
	.size	__ste_email_from1, 4
__ste_email_from1:
	.space	4
	.text
	.align	2
	.global	getEmailFrom
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailFrom, %function
getEmailFrom:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L20
	ldr	r3, .L23
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L21
.L20:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L22
	ldr	r3, .L23+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L21
.L22:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L21:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L24:
	.align	2
.L23:
	.word	__ste_email_from0
	.word	__ste_email_from1
	.size	getEmailFrom, .-getEmailFrom
	.align	2
	.global	setEmailFrom
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailFrom, %function
setEmailFrom:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L26
	ldr	r2, .L30
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L29
.L26:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L29
	ldr	r2, .L30+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L29:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L31:
	.align	2
.L30:
	.word	__ste_email_from0
	.word	__ste_email_from1
	.size	setEmailFrom, .-setEmailFrom
	.global	__ste_email_to0
	.bss
	.align	2
	.type	__ste_email_to0, %object
	.size	__ste_email_to0, 4
__ste_email_to0:
	.space	4
	.global	__ste_email_to1
	.align	2
	.type	__ste_email_to1, %object
	.size	__ste_email_to1, 4
__ste_email_to1:
	.space	4
	.text
	.align	2
	.global	getEmailTo
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailTo, %function
getEmailTo:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L33
	ldr	r3, .L36
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L34
.L33:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L35
	ldr	r3, .L36+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L34
.L35:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L34:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L37:
	.align	2
.L36:
	.word	__ste_email_to0
	.word	__ste_email_to1
	.size	getEmailTo, .-getEmailTo
	.align	2
	.global	setEmailTo
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailTo, %function
setEmailTo:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L39
	ldr	r2, .L43
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L42
.L39:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L42
	ldr	r2, .L43+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L42:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L44:
	.align	2
.L43:
	.word	__ste_email_to0
	.word	__ste_email_to1
	.size	setEmailTo, .-setEmailTo
	.comm	__ste_email_subject0,4,4
	.comm	__ste_email_subject1,4,4
	.align	2
	.global	getEmailSubject
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailSubject, %function
getEmailSubject:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L46
	ldr	r3, .L49
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L47
.L46:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L48
	ldr	r3, .L49+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L47
.L48:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L47:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L50:
	.align	2
.L49:
	.word	__ste_email_subject0
	.word	__ste_email_subject1
	.size	getEmailSubject, .-getEmailSubject
	.align	2
	.global	setEmailSubject
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailSubject, %function
setEmailSubject:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L52
	ldr	r2, .L56
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L55
.L52:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L55
	ldr	r2, .L56+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L55:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L57:
	.align	2
.L56:
	.word	__ste_email_subject0
	.word	__ste_email_subject1
	.size	setEmailSubject, .-setEmailSubject
	.global	__ste_email_body0
	.bss
	.align	2
	.type	__ste_email_body0, %object
	.size	__ste_email_body0, 4
__ste_email_body0:
	.space	4
	.global	__ste_email_body1
	.align	2
	.type	__ste_email_body1, %object
	.size	__ste_email_body1, 4
__ste_email_body1:
	.space	4
	.text
	.align	2
	.global	getEmailBody
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailBody, %function
getEmailBody:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L59
	ldr	r3, .L62
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L60
.L59:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L61
	ldr	r3, .L62+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L60
.L61:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L60:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L63:
	.align	2
.L62:
	.word	__ste_email_body0
	.word	__ste_email_body1
	.size	getEmailBody, .-getEmailBody
	.align	2
	.global	setEmailBody
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailBody, %function
setEmailBody:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L65
	ldr	r2, .L69
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L68
.L65:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L68
	ldr	r2, .L69+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L68:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L70:
	.align	2
.L69:
	.word	__ste_email_body0
	.word	__ste_email_body1
	.size	setEmailBody, .-setEmailBody
	.global	__ste_email_isEncrypted0
	.bss
	.align	2
	.type	__ste_email_isEncrypted0, %object
	.size	__ste_email_isEncrypted0, 4
__ste_email_isEncrypted0:
	.space	4
	.global	__ste_email_isEncrypted1
	.align	2
	.type	__ste_email_isEncrypted1, %object
	.size	__ste_email_isEncrypted1, 4
__ste_email_isEncrypted1:
	.space	4
	.text
	.align	2
	.global	isEncrypted
	.syntax unified
	.arm
	.fpu softvfp
	.type	isEncrypted, %function
isEncrypted:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L72
	ldr	r3, .L75
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L72:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L74
	ldr	r3, .L75+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L74:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L73:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L76:
	.align	2
.L75:
	.word	__ste_email_isEncrypted0
	.word	__ste_email_isEncrypted1
	.size	isEncrypted, .-isEncrypted
	.align	2
	.global	setEmailIsEncrypted
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailIsEncrypted, %function
setEmailIsEncrypted:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L78
	ldr	r2, .L82
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L81
.L78:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L81
	ldr	r2, .L82+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L81:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L83:
	.align	2
.L82:
	.word	__ste_email_isEncrypted0
	.word	__ste_email_isEncrypted1
	.size	setEmailIsEncrypted, .-setEmailIsEncrypted
	.global	__ste_email_encryptionKey0
	.bss
	.align	2
	.type	__ste_email_encryptionKey0, %object
	.size	__ste_email_encryptionKey0, 4
__ste_email_encryptionKey0:
	.space	4
	.global	__ste_email_encryptionKey1
	.align	2
	.type	__ste_email_encryptionKey1, %object
	.size	__ste_email_encryptionKey1, 4
__ste_email_encryptionKey1:
	.space	4
	.text
	.align	2
	.global	getEmailEncryptionKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailEncryptionKey, %function
getEmailEncryptionKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L85
	ldr	r3, .L88
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L85:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L87
	ldr	r3, .L88+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L87:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L86:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L89:
	.align	2
.L88:
	.word	__ste_email_encryptionKey0
	.word	__ste_email_encryptionKey1
	.size	getEmailEncryptionKey, .-getEmailEncryptionKey
	.align	2
	.global	setEmailEncryptionKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailEncryptionKey, %function
setEmailEncryptionKey:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L91
	ldr	r2, .L95
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L94
.L91:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L94
	ldr	r2, .L95+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L94:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L96:
	.align	2
.L95:
	.word	__ste_email_encryptionKey0
	.word	__ste_email_encryptionKey1
	.size	setEmailEncryptionKey, .-setEmailEncryptionKey
	.global	__ste_email_isSigned0
	.bss
	.align	2
	.type	__ste_email_isSigned0, %object
	.size	__ste_email_isSigned0, 4
__ste_email_isSigned0:
	.space	4
	.global	__ste_email_isSigned1
	.align	2
	.type	__ste_email_isSigned1, %object
	.size	__ste_email_isSigned1, 4
__ste_email_isSigned1:
	.space	4
	.text
	.align	2
	.global	isSigned
	.syntax unified
	.arm
	.fpu softvfp
	.type	isSigned, %function
isSigned:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L98
	ldr	r3, .L101
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L99
.L98:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L100
	ldr	r3, .L101+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L99
.L100:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L99:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L102:
	.align	2
.L101:
	.word	__ste_email_isSigned0
	.word	__ste_email_isSigned1
	.size	isSigned, .-isSigned
	.align	2
	.global	setEmailIsSigned
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailIsSigned, %function
setEmailIsSigned:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L104
	ldr	r2, .L108
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L107
.L104:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L107
	ldr	r2, .L108+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L107:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L109:
	.align	2
.L108:
	.word	__ste_email_isSigned0
	.word	__ste_email_isSigned1
	.size	setEmailIsSigned, .-setEmailIsSigned
	.global	__ste_email_signKey0
	.bss
	.align	2
	.type	__ste_email_signKey0, %object
	.size	__ste_email_signKey0, 4
__ste_email_signKey0:
	.space	4
	.global	__ste_email_signKey1
	.align	2
	.type	__ste_email_signKey1, %object
	.size	__ste_email_signKey1, 4
__ste_email_signKey1:
	.space	4
	.text
	.align	2
	.global	getEmailSignKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	getEmailSignKey, %function
getEmailSignKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L111
	ldr	r3, .L114
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L112
.L111:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L113
	ldr	r3, .L114+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L112
.L113:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L112:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L115:
	.align	2
.L114:
	.word	__ste_email_signKey0
	.word	__ste_email_signKey1
	.size	getEmailSignKey, .-getEmailSignKey
	.align	2
	.global	setEmailSignKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailSignKey, %function
setEmailSignKey:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L117
	ldr	r2, .L121
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L120
.L117:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L120
	ldr	r2, .L121+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L120:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L122:
	.align	2
.L121:
	.word	__ste_email_signKey0
	.word	__ste_email_signKey1
	.size	setEmailSignKey, .-setEmailSignKey
	.comm	__ste_email_isSignatureVerified0,4,4
	.comm	__ste_email_isSignatureVerified1,4,4
	.align	2
	.global	isVerified
	.syntax unified
	.arm
	.fpu softvfp
	.type	isVerified, %function
isVerified:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L124
	ldr	r3, .L127
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L125
.L124:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L126
	ldr	r3, .L127+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L125
.L126:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L125:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L128:
	.align	2
.L127:
	.word	__ste_email_isSignatureVerified0
	.word	__ste_email_isSignatureVerified1
	.size	isVerified, .-isVerified
	.align	2
	.global	setEmailIsSignatureVerified
	.syntax unified
	.arm
	.fpu softvfp
	.type	setEmailIsSignatureVerified, %function
setEmailIsSignatureVerified:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L130
	ldr	r2, .L134
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L133
.L130:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L133
	ldr	r2, .L134+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L133:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L135:
	.align	2
.L134:
	.word	__ste_email_isSignatureVerified0
	.word	__ste_email_isSignatureVerified1
	.size	setEmailIsSignatureVerified, .-setEmailIsSignatureVerified
	.comm	__SELECTED_FEATURE_Base,4,4
	.comm	__SELECTED_FEATURE_Keys,4,4
	.comm	__SELECTED_FEATURE_Encrypt,4,4
	.comm	__SELECTED_FEATURE_AutoResponder,4,4
	.comm	__SELECTED_FEATURE_AddressBook,4,4
	.comm	__SELECTED_FEATURE_Sign,4,4
	.comm	__SELECTED_FEATURE_Forward,4,4
	.comm	__SELECTED_FEATURE_Verify,4,4
	.comm	__SELECTED_FEATURE_Decrypt,4,4
	.comm	__GUIDSL_ROOT_PRODUCTION,4,4
	.comm	__GUIDSL_NON_TERMINAL_main,4,4
	.align	2
	.global	select_one
	.syntax unified
	.arm
	.fpu softvfp
	.type	select_one, %function
select_one:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	select_one, .-select_one
	.align	2
	.global	select_features
	.syntax unified
	.arm
	.fpu softvfp
	.type	select_features, %function
select_features:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	select_features, .-select_features
	.align	2
	.global	select_helpers
	.syntax unified
	.arm
	.fpu softvfp
	.type	select_helpers, %function
select_helpers:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	select_helpers, .-select_helpers
	.align	2
	.global	valid_product
	.syntax unified
	.arm
	.fpu softvfp
	.type	valid_product, %function
valid_product:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	valid_product, .-valid_product
	.section	.rodata
	.align	2
.LC0:
	.ascii	"ID:\012  %i\012\000"
	.align	2
.LC1:
	.ascii	"FROM:\012  %i\012\000"
	.align	2
.LC2:
	.ascii	"TO:\012  %i\012\000"
	.align	2
.LC3:
	.ascii	"IS_READABLE\012  %i\012\000"
	.text
	.align	2
	.global	printMail__wrappee__Keys
	.syntax unified
	.arm
	.fpu softvfp
	.type	printMail__wrappee__Keys, %function
printMail__wrappee__Keys:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r0, [fp, #-40]
	bl	getEmailId
	str	r0, [fp, #-36]
	ldr	r3, .L146
	str	r3, [fp, #-32]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	printf
	ldr	r0, [fp, #-40]
	bl	getEmailFrom
	str	r0, [fp, #-28]
	ldr	r3, .L146+4
	str	r3, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	printf
	ldr	r0, [fp, #-40]
	bl	getEmailTo
	str	r0, [fp, #-20]
	ldr	r3, .L146+8
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	printf
	ldr	r0, [fp, #-40]
	bl	isReadable
	str	r0, [fp, #-12]
	ldr	r3, .L146+12
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L147:
	.align	2
.L146:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.size	printMail__wrappee__Keys, .-printMail__wrappee__Keys
	.section	.rodata
	.align	2
.LC4:
	.ascii	"ENCRYPTED\012  %d\012\000"
	.align	2
.LC5:
	.ascii	"ENCRYPTION KEY\012  %d\012\000"
	.text
	.align	2
	.global	printMail__wrappee__AddressBook
	.syntax unified
	.arm
	.fpu softvfp
	.type	printMail__wrappee__AddressBook, %function
printMail__wrappee__AddressBook:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	printMail__wrappee__Keys
	ldr	r0, [fp, #-24]
	bl	isEncrypted
	str	r0, [fp, #-20]
	ldr	r3, .L150
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	printf
	ldr	r0, [fp, #-24]
	bl	getEmailEncryptionKey
	str	r0, [fp, #-12]
	ldr	r3, .L150+4
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L151:
	.align	2
.L150:
	.word	.LC4
	.word	.LC5
	.size	printMail__wrappee__AddressBook, .-printMail__wrappee__AddressBook
	.section	.rodata
	.align	2
.LC6:
	.ascii	"SIGNED\012  %i\012\000"
	.align	2
.LC7:
	.ascii	"SIGNATURE\012  %i\012\000"
	.text
	.align	2
	.global	printMail__wrappee__Sign
	.syntax unified
	.arm
	.fpu softvfp
	.type	printMail__wrappee__Sign, %function
printMail__wrappee__Sign:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	printMail__wrappee__AddressBook
	ldr	r0, [fp, #-24]
	bl	isSigned
	str	r0, [fp, #-20]
	ldr	r3, .L154
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	printf
	ldr	r0, [fp, #-24]
	bl	getEmailSignKey
	str	r0, [fp, #-12]
	ldr	r3, .L154+4
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L155:
	.align	2
.L154:
	.word	.LC6
	.word	.LC7
	.size	printMail__wrappee__Sign, .-printMail__wrappee__Sign
	.section	.rodata
	.align	2
.LC8:
	.ascii	"SIGNATURE VERIFIED\012  %d\012\000"
	.text
	.align	2
	.global	printMail
	.syntax unified
	.arm
	.fpu softvfp
	.type	printMail, %function
printMail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	printMail__wrappee__Sign
	ldr	r0, [fp, #-16]
	bl	isVerified
	str	r0, [fp, #-12]
	ldr	r3, .L158
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L159:
	.align	2
.L158:
	.word	.LC8
	.size	printMail, .-printMail
	.align	2
	.global	isReadable__wrappee__Keys
	.syntax unified
	.arm
	.fpu softvfp
	.type	isReadable__wrappee__Keys, %function
isReadable__wrappee__Keys:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isReadable__wrappee__Keys, .-isReadable__wrappee__Keys
	.align	2
	.global	isReadable
	.syntax unified
	.arm
	.fpu softvfp
	.type	isReadable, %function
isReadable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	isEncrypted
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L163
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L164
.L163:
	ldr	r0, [fp, #-16]
	bl	isReadable__wrappee__Keys
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L164:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isReadable, .-isReadable
	.align	2
	.global	cloneEmail
	.syntax unified
	.arm
	.fpu softvfp
	.type	cloneEmail, %function
cloneEmail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cloneEmail, .-cloneEmail
	.align	2
	.global	createEmail
	.syntax unified
	.arm
	.fpu softvfp
	.type	createEmail, %function
createEmail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	setEmailFrom
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	setEmailTo
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	createEmail, .-createEmail
	.global	in_encrypted
	.bss
	.align	2
	.type	in_encrypted, %object
	.size	in_encrypted, 4
in_encrypted:
	.space	4
	.text
	.align	2
	.global	__utac__exception__cf_handler_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	__utac__exception__cf_handler_set, %function
__utac__exception__cf_handler_set:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-76]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	add	r3, r3, #16
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #24
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #24
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-60]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__utac__exception__cf_handler_set, .-__utac__exception__cf_handler_set
	.align	2
	.global	__utac__exception__cf_handler_free
	.syntax unified
	.arm
	.fpu softvfp
	.type	__utac__exception__cf_handler_free, %function
__utac__exception__cf_handler_free:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	add	r3, r3, #24
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	str	r3, [fp, #-68]
.L172:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	beq	.L177
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	b	.L172
.L177:
	nop
.L174:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	add	r3, r3, #24
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__utac__exception__cf_handler_free, .-__utac__exception__cf_handler_free
	.align	2
	.global	__utac__exception__cf_handler_reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	__utac__exception__cf_handler_reset, %function
__utac__exception__cf_handler_reset:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	add	r3, r3, #24
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	str	r3, [fp, #-72]
.L179:
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	beq	.L184
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-20]
	mov	r0, #4
	blx	r3
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	b	.L179
.L184:
	nop
.L181:
	ldr	r0, [fp, #-80]
	bl	__utac__exception__cf_handler_free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__utac__exception__cf_handler_reset, .-__utac__exception__cf_handler_reset
	.local	head
	.comm	head,4,4
	.align	2
	.global	__utac__error_stack_mgt
	.syntax unified
	.arm
	.fpu softvfp
	.type	__utac__error_stack_mgt, %function
__utac__error_stack_mgt:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L186
	ldr	r3, [fp, #-84]
	b	.L187
.L186:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L188
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-96]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, .L197
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r2, .L197
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L187
.L188:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L189
	ldr	r3, .L197
	ldr	r3, [r3]
	str	r3, [fp, #-88]
.L190:
	ldr	r3, [fp, #-104]
	cmp	r3, #1
	ble	.L196
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r0, [fp, #-60]
	bl	__utac__exception__cf_handler_reset
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-104]
	b	.L190
.L196:
	nop
.L192:
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-76]
	add	r3, r3, #8
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	ldr	r2, .L197
	str	r3, [r2]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-56]
	ldr	r0, [fp, #-56]
	bl	free
	ldr	r0, [fp, #-60]
	bl	__utac__exception__cf_handler_reset
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L187
.L189:
	ldr	r3, [fp, #-100]
	cmp	r3, #2
	bne	.L193
	ldr	r3, .L197
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L194
	ldr	r3, .L197
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L187
.L194:
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L187
.L193:
	ldr	r3, [fp, #-84]
.L187:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L198:
	.align	2
.L197:
	.word	head
	.size	__utac__error_stack_mgt, .-__utac__error_stack_mgt
	.section	.rodata
	.align	2
.LC9:
	.ascii	"__utac__get_this_arg\000"
	.align	2
.LC10:
	.ascii	"libacc.c\000"
	.align	2
.LC11:
	.ascii	"i > 0 && i <= this->argsCount\000"
	.text
	.align	2
	.global	__utac__get_this_arg
	.syntax unified
	.arm
	.fpu softvfp
	.type	__utac__get_this_arg, %function
__utac__get_this_arg:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	ble	.L200
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L201
	ldr	r3, .L203
	mov	r2, #123
	ldr	r1, .L203+4
	ldr	r0, .L203+8
	bl	__assert_fail
.L200:
	ldr	r3, .L203
	mov	r2, #123
	ldr	r1, .L203+4
	ldr	r0, .L203+8
	bl	__assert_fail
.L201:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L204:
	.align	2
.L203:
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.size	__utac__get_this_arg, .-__utac__get_this_arg
	.section	.rodata
	.align	2
.LC12:
	.ascii	"__utac__get_this_argtype\000"
	.text
	.align	2
	.global	__utac__get_this_argtype
	.syntax unified
	.arm
	.fpu softvfp
	.type	__utac__get_this_argtype, %function
__utac__get_this_argtype:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	ble	.L206
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L207
	ldr	r3, .L209
	mov	r2, #131
	ldr	r1, .L209+4
	ldr	r0, .L209+8
	bl	__assert_fail
.L206:
	ldr	r3, .L209
	mov	r2, #131
	ldr	r1, .L209+4
	ldr	r0, .L209+8
	bl	__assert_fail
.L207:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	add	r3, r3, #24
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L210:
	.align	2
.L209:
	.word	.LC12
	.word	.LC10
	.word	.LC11
	.size	__utac__get_this_argtype, .-__utac__get_this_argtype
	.section	.rodata
	.align	2
.LC13:
	.ascii	"%s\012\000"
	.text
	.align	2
	.global	prompt
	.syntax unified
	.arm
	.fpu softvfp
	.type	prompt, %function
prompt:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L213
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	printf
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L214:
	.align	2
.L213:
	.word	.LC13
	.size	prompt, .-prompt
	.align	2
	.global	test
	.syntax unified
	.arm
	.fpu softvfp
	.type	test, %function
test:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #96
	mov	r3, #0
	str	r3, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
.L216:
	ldr	r3, [fp, #-52]
	cmp	r3, #3
	bgt	.L243
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L244
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L245
	bl	bobKeyAdd
	mov	r3, #1
	str	r3, [fp, #-96]
	b	.L216
.L244:
	nop
	b	.L219
.L245:
	nop
.L219:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L246
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L247
	mov	r3, #1
	str	r3, [fp, #-92]
	b	.L216
.L246:
	nop
	b	.L222
.L247:
	nop
.L222:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L248
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L249
	bl	rjhDeletePrivateKey
	mov	r3, #1
	str	r3, [fp, #-88]
	b	.L216
.L248:
	nop
	b	.L224
.L249:
	nop
.L224:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L250
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L251
	bl	rjhKeyAdd
	mov	r3, #1
	str	r3, [fp, #-84]
	b	.L216
.L250:
	nop
	b	.L226
.L251:
	nop
.L226:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L252
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L253
	bl	chuckKeyAddRjh
	mov	r3, #1
	str	r3, [fp, #-80]
	b	.L216
.L252:
	nop
	b	.L228
.L253:
	nop
.L228:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L254
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L255
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L216
.L254:
	nop
	b	.L230
.L255:
	nop
.L230:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L256
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L257
	bl	rjhKeyChange
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L216
.L256:
	nop
	b	.L232
.L257:
	nop
.L232:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L258
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L259
	bl	bobSetAddressBook
	mov	r3, #1
	str	r3, [fp, #-68]
	b	.L216
.L258:
	nop
	b	.L234
.L259:
	nop
.L234:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L260
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L261
	bl	chuckKeyAdd
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L216
.L260:
	nop
	b	.L236
.L261:
	nop
.L236:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L262
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L263
	bl	bobKeyChange
	mov	r3, #1
	str	r3, [fp, #-60]
	b	.L216
.L262:
	nop
	b	.L238
.L263:
	nop
.L238:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L264
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L265
	bl	chuckKeyAdd
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L216
.L243:
	nop
	b	.L218
.L264:
	nop
	b	.L218
.L265:
	nop
.L218:
	bl	bobToRjh
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	test, .-test
	.align	2
	.global	__automaton_fail
	.syntax unified
	.arm
	.fpu softvfp
	.type	__automaton_fail, %function
__automaton_fail:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
.L267:
	bl	__VERIFIER_error
	.size	__automaton_fail, .-__automaton_fail
	.global	queue_empty
	.data
	.align	2
	.type	queue_empty, %object
	.size	queue_empty, 4
queue_empty:
	.word	1
	.comm	queued_message,4,4
	.comm	queued_client,4,4
	.section	.rodata
	.align	2
.LC14:
	.ascii	"mail sent\000"
	.text
	.align	2
	.global	mail
	.syntax unified
	.arm
	.fpu softvfp
	.type	mail, %function
mail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	__utac_acc__EncryptAutoResponder_spec__2
	ldr	r0, .L270
	bl	puts
	ldr	r0, [fp, #-20]
	bl	getEmailTo
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	incoming
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L271:
	.align	2
.L270:
	.word	.LC14
	.size	mail, .-mail
	.align	2
	.global	outgoing__wrappee__Keys
	.syntax unified
	.arm
	.fpu softvfp
	.type	outgoing__wrappee__Keys, %function
outgoing__wrappee__Keys:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	getClientId
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	setEmailFrom
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	mail
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outgoing__wrappee__Keys, .-outgoing__wrappee__Keys
	.align	2
	.global	outgoing__wrappee__Encrypt
	.syntax unified
	.arm
	.fpu softvfp
	.type	outgoing__wrappee__Encrypt, %function
outgoing__wrappee__Encrypt:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	getEmailTo
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	findPublicKey
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L275
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-28]
	bl	setEmailEncryptionKey
	mov	r1, #1
	ldr	r0, [fp, #-28]
	bl	setEmailIsEncrypted
.L275:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	outgoing__wrappee__Keys
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outgoing__wrappee__Encrypt, .-outgoing__wrappee__Encrypt
	.section	.rodata
	.align	2
.LC15:
	.ascii	"sending to alias in address book\012\000"
	.align	2
.LC16:
	.ascii	"sending to second receipient\012\000"
	.text
	.align	2
	.global	outgoing__wrappee__AddressBook
	.syntax unified
	.arm
	.fpu softvfp
	.type	outgoing__wrappee__AddressBook, %function
outgoing__wrappee__AddressBook:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	getClientAddressBookSize
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L278
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	sendToAddressBook
	ldr	r0, .L281
	bl	puts
	ldr	r0, [fp, #-44]
	bl	getEmailTo
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r0, .L281+4
	bl	puts
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	getClientAddressBookAddress
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-44]
	bl	setEmailTo
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	outgoing__wrappee__Encrypt
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	getClientAddressBookAddress
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-44]
	bl	setEmailTo
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	outgoing__wrappee__Encrypt
	b	.L277
.L278:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	outgoing__wrappee__Encrypt
	nop
.L277:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L282:
	.align	2
.L281:
	.word	.LC15
	.word	.LC16
	.size	outgoing__wrappee__AddressBook, .-outgoing__wrappee__AddressBook
	.align	2
	.global	outgoing
	.syntax unified
	.arm
	.fpu softvfp
	.type	outgoing, %function
outgoing:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	sign
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	outgoing__wrappee__AddressBook
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	outgoing, .-outgoing
	.section	.rodata
	.align	2
.LC17:
	.ascii	"mail delivered\012\000"
	.text
	.align	2
	.global	deliver
	.syntax unified
	.arm
	.fpu softvfp
	.type	deliver, %function
deliver:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, .L287
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L288:
	.align	2
.L287:
	.word	.LC17
	.size	deliver, .-deliver
	.align	2
	.global	incoming__wrappee__Sign
	.syntax unified
	.arm
	.fpu softvfp
	.type	incoming__wrappee__Sign, %function
incoming__wrappee__Sign:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	deliver
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	incoming__wrappee__Sign, .-incoming__wrappee__Sign
	.align	2
	.global	incoming__wrappee__Verify
	.syntax unified
	.arm
	.fpu softvfp
	.type	incoming__wrappee__Verify, %function
incoming__wrappee__Verify:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	verify
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	incoming__wrappee__Sign
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	incoming__wrappee__Verify, .-incoming__wrappee__Verify
	.align	2
	.global	incoming
	.syntax unified
	.arm
	.fpu softvfp
	.type	incoming, %function
incoming:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	__utac_acc__EncryptAutoResponder_spec__1
	ldr	r0, [fp, #-32]
	bl	getClientPrivateKey
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L294
	ldr	r0, [fp, #-36]
	bl	isEncrypted
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L294
	ldr	r0, [fp, #-36]
	bl	getEmailEncryptionKey
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	isKeyPairValid
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L294
	mov	r1, #0
	ldr	r0, [fp, #-36]
	bl	setEmailIsEncrypted
	mov	r1, #0
	ldr	r0, [fp, #-36]
	bl	setEmailEncryptionKey
.L294:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	incoming__wrappee__Verify
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	incoming, .-incoming
	.align	2
	.global	createClient
	.syntax unified
	.arm
	.fpu softvfp
	.type	createClient, %function
createClient:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	bl	initClient
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	createClient, .-createClient
	.align	2
	.global	sendEmail
	.syntax unified
	.arm
	.fpu softvfp
	.type	sendEmail, %function
sendEmail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	mov	r0, #0
	bl	createEmail
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	outgoing
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sendEmail, .-sendEmail
	.align	2
	.global	queue
	.syntax unified
	.arm
	.fpu softvfp
	.type	queue, %function
queue:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L302
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, .L302+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r2, .L302+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L303:
	.align	2
.L302:
	.word	queue_empty
	.word	queued_message
	.word	queued_client
	.size	queue, .-queue
	.align	2
	.global	is_queue_empty
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_queue_empty, %function
is_queue_empty:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L306
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L307:
	.align	2
.L306:
	.word	queue_empty
	.size	is_queue_empty, .-is_queue_empty
	.align	2
	.global	get_queued_client
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_queued_client, %function
get_queued_client:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L310
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L311:
	.align	2
.L310:
	.word	queued_client
	.size	get_queued_client, .-get_queued_client
	.align	2
	.global	get_queued_email
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_queued_email, %function
get_queued_email:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L314
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L315:
	.align	2
.L314:
	.word	queued_message
	.size	get_queued_email, .-get_queued_email
	.section	.rodata
	.align	2
.LC18:
	.ascii	"keypair valid %d %d\000"
	.text
	.align	2
	.global	isKeyPairValid
	.syntax unified
	.arm
	.fpu softvfp
	.type	isKeyPairValid, %function
isKeyPairValid:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L320
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	printf
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L317
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L318
.L317:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L319
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L318
.L319:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L318:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L321:
	.align	2
.L320:
	.word	.LC18
	.size	isKeyPairValid, .-isKeyPairValid
	.align	2
	.global	generateKeyPair
	.syntax unified
	.arm
	.fpu softvfp
	.type	generateKeyPair, %function
generateKeyPair:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	setClientPrivateKey
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	generateKeyPair, .-generateKeyPair
	.align	2
	.global	sendToAddressBook
	.syntax unified
	.arm
	.fpu softvfp
	.type	sendToAddressBook, %function
sendToAddressBook:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sendToAddressBook, .-sendToAddressBook
	.align	2
	.global	sign
	.syntax unified
	.arm
	.fpu softvfp
	.type	sign, %function
sign:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	getClientPrivateKey
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L329
	mov	r1, #1
	ldr	r0, [fp, #-20]
	bl	setEmailIsSigned
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	setEmailSignKey
	b	.L326
.L329:
	nop
.L326:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sign, .-sign
	.align	2
	.global	verify
	.syntax unified
	.arm
	.fpu softvfp
	.type	verify, %function
verify:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r0, [fp, #-44]
	bl	isReadable
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L335
	ldr	r0, [fp, #-44]
	bl	isSigned
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L336
	ldr	r0, [fp, #-44]
	bl	getEmailFrom
	str	r0, [fp, #-24]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	findPublicKey
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L337
	ldr	r0, [fp, #-44]
	bl	getEmailSignKey
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	isKeyPairValid
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L337
	mov	r1, #1
	ldr	r0, [fp, #-44]
	bl	setEmailIsSignatureVerified
	b	.L337
.L335:
	nop
	b	.L330
.L336:
	nop
	b	.L330
.L337:
	nop
.L330:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	verify, .-verify
	.comm	bob,4,4
	.comm	rjh,4,4
	.comm	chuck,4,4
	.align	2
	.global	setup_bob__wrappee__Base
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_bob__wrappee__Base, %function
setup_bob__wrappee__Base:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	setClientId
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	setup_bob__wrappee__Base, .-setup_bob__wrappee__Base
	.align	2
	.global	setup_bob
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_bob, %function
setup_bob:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	setup_bob__wrappee__Base
	mov	r1, #123
	ldr	r0, [fp, #-8]
	bl	setClientPrivateKey
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	setup_bob, .-setup_bob
	.align	2
	.global	setup_rjh__wrappee__Base
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_rjh__wrappee__Base, %function
setup_rjh__wrappee__Base:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	setClientId
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	setup_rjh__wrappee__Base, .-setup_rjh__wrappee__Base
	.align	2
	.global	setup_rjh
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_rjh, %function
setup_rjh:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	setup_rjh__wrappee__Base
	mov	r1, #456
	ldr	r0, [fp, #-8]
	bl	setClientPrivateKey
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	setup_rjh, .-setup_rjh
	.align	2
	.global	setup_chuck__wrappee__Base
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_chuck__wrappee__Base, %function
setup_chuck__wrappee__Base:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	setClientId
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	setup_chuck__wrappee__Base, .-setup_chuck__wrappee__Base
	.align	2
	.global	setup_chuck
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_chuck, %function
setup_chuck:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	setup_chuck__wrappee__Base
	ldr	r1, .L350
	ldr	r0, [fp, #-8]
	bl	setClientPrivateKey
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L351:
	.align	2
.L350:
	.word	789
	.size	setup_chuck, .-setup_chuck
	.section	.rodata
	.align	2
.LC19:
	.ascii	"Please enter a subject and a message body.\012\000"
	.text
	.align	2
	.global	bobToRjh
	.syntax unified
	.arm
	.fpu softvfp
	.type	bobToRjh, %function
bobToRjh:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r0, .L356
	bl	puts
	ldr	r3, .L356+4
	ldr	r3, [r3]
	ldr	r2, .L356+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	sendEmail
	bl	is_queue_empty
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L355
	bl	get_queued_email
	str	r0, [fp, #-12]
	bl	get_queued_client
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	outgoing
	nop
.L355:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L357:
	.align	2
.L356:
	.word	.LC19
	.word	bob
	.word	rjh
	.size	bobToRjh, .-bobToRjh
	.align	2
	.global	rjhToBob
	.syntax unified
	.arm
	.fpu softvfp
	.type	rjhToBob, %function
rjhToBob:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L360
	bl	puts
	ldr	r3, .L360+4
	ldr	r3, [r3]
	ldr	r2, .L360+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	sendEmail
	nop
	pop	{fp, pc}
.L361:
	.align	2
.L360:
	.word	.LC19
	.word	rjh
	.word	bob
	.size	rjhToBob, .-rjhToBob
	.section	.rodata
	.align	2
.LC20:
	.ascii	"bob: %d\012\000"
	.align	2
.LC21:
	.ascii	"rjh: %d\012\000"
	.align	2
.LC22:
	.ascii	"chuck: %d\012\000"
	.text
	.align	2
	.global	setup
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup, %function
setup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L364
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L364
	ldr	r3, [r3]
	mov	r0, r3
	bl	setup_bob
	ldr	r3, .L364+4
	str	r3, [fp, #-16]
	ldr	r3, .L364
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	printf
	ldr	r3, .L364+8
	mov	r2, #2
	str	r2, [r3]
	ldr	r3, .L364+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	setup_rjh
	ldr	r3, .L364+12
	str	r3, [fp, #-12]
	ldr	r3, .L364+8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	printf
	ldr	r3, .L364+16
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L364+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	setup_chuck
	ldr	r3, .L364+20
	str	r3, [fp, #-8]
	ldr	r3, .L364+16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L365:
	.align	2
.L364:
	.word	bob
	.word	.LC20
	.word	rjh
	.word	.LC21
	.word	chuck
	.word	.LC22
	.size	setup, .-setup
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-12]
	bl	select_helpers
	bl	select_features
	bl	valid_product
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L367
	bl	setup
	bl	test
.L367:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	main, .-main
	.section	.rodata
	.align	2
.LC23:
	.ascii	"bob added rjhs key\000"
	.align	2
.LC24:
	.ascii	"%d\012\000"
	.text
	.align	2
	.global	bobKeyAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	bobKeyAdd, %function
bobKeyAdd:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L371
	ldr	r3, [r3]
	mov	r0, r3
	bl	createClientKeyringEntry
	ldr	r3, .L371
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringUser
	ldr	r3, .L371
	ldr	r3, [r3]
	mov	r2, #456
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringPublicKey
	ldr	r0, .L371+4
	bl	puts
	ldr	r3, .L371
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	getClientKeyringUser
	str	r0, [fp, #-20]
	ldr	r3, .L371+8
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	printf
	ldr	r3, .L371
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	getClientKeyringPublicKey
	str	r0, [fp, #-12]
	ldr	r3, .L371+8
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L372:
	.align	2
.L371:
	.word	bob
	.word	.LC23
	.word	.LC24
	.size	bobKeyAdd, .-bobKeyAdd
	.align	2
	.global	rjhKeyAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	rjhKeyAdd, %function
rjhKeyAdd:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L375
	ldr	r3, [r3]
	mov	r0, r3
	bl	createClientKeyringEntry
	ldr	r3, .L375
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringUser
	ldr	r3, .L375
	ldr	r3, [r3]
	mov	r2, #123
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringPublicKey
	nop
	pop	{fp, pc}
.L376:
	.align	2
.L375:
	.word	rjh
	.size	rjhKeyAdd, .-rjhKeyAdd
	.align	2
	.global	rjhKeyAddChuck
	.syntax unified
	.arm
	.fpu softvfp
	.type	rjhKeyAddChuck, %function
rjhKeyAddChuck:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L379
	ldr	r3, [r3]
	mov	r0, r3
	bl	createClientKeyringEntry
	ldr	r3, .L379
	ldr	r3, [r3]
	mov	r2, #3
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringUser
	ldr	r3, .L379
	ldr	r3, [r3]
	ldr	r2, .L379+4
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringPublicKey
	nop
	pop	{fp, pc}
.L380:
	.align	2
.L379:
	.word	rjh
	.word	789
	.size	rjhKeyAddChuck, .-rjhKeyAddChuck
	.align	2
	.global	bobKeyAddChuck
	.syntax unified
	.arm
	.fpu softvfp
	.type	bobKeyAddChuck, %function
bobKeyAddChuck:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L383
	ldr	r3, [r3]
	mov	r0, r3
	bl	createClientKeyringEntry
	ldr	r3, .L383
	ldr	r3, [r3]
	mov	r2, #3
	mov	r1, #1
	mov	r0, r3
	bl	setClientKeyringUser
	ldr	r3, .L383
	ldr	r3, [r3]
	ldr	r2, .L383+4
	mov	r1, #1
	mov	r0, r3
	bl	setClientKeyringPublicKey
	nop
	pop	{fp, pc}
.L384:
	.align	2
.L383:
	.word	bob
	.word	789
	.size	bobKeyAddChuck, .-bobKeyAddChuck
	.align	2
	.global	chuckKeyAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	chuckKeyAdd, %function
chuckKeyAdd:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L387
	ldr	r3, [r3]
	mov	r0, r3
	bl	createClientKeyringEntry
	ldr	r3, .L387
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringUser
	ldr	r3, .L387
	ldr	r3, [r3]
	mov	r2, #123
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringPublicKey
	nop
	pop	{fp, pc}
.L388:
	.align	2
.L387:
	.word	chuck
	.size	chuckKeyAdd, .-chuckKeyAdd
	.align	2
	.global	chuckKeyAddRjh
	.syntax unified
	.arm
	.fpu softvfp
	.type	chuckKeyAddRjh, %function
chuckKeyAddRjh:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L391
	ldr	r3, [r3]
	mov	r0, r3
	bl	createClientKeyringEntry
	ldr	r3, .L391
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringUser
	ldr	r3, .L391
	ldr	r3, [r3]
	mov	r2, #456
	mov	r1, #0
	mov	r0, r3
	bl	setClientKeyringPublicKey
	nop
	pop	{fp, pc}
.L392:
	.align	2
.L391:
	.word	chuck
	.size	chuckKeyAddRjh, .-chuckKeyAddRjh
	.align	2
	.global	rjhDeletePrivateKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	rjhDeletePrivateKey, %function
rjhDeletePrivateKey:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L395
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	setClientPrivateKey
	nop
	pop	{fp, pc}
.L396:
	.align	2
.L395:
	.word	rjh
	.size	rjhDeletePrivateKey, .-rjhDeletePrivateKey
	.align	2
	.global	bobKeyChange
	.syntax unified
	.arm
	.fpu softvfp
	.type	bobKeyChange, %function
bobKeyChange:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L399
	ldr	r3, [r3]
	ldr	r1, .L399+4
	mov	r0, r3
	bl	generateKeyPair
	nop
	pop	{fp, pc}
.L400:
	.align	2
.L399:
	.word	bob
	.word	777
	.size	bobKeyChange, .-bobKeyChange
	.align	2
	.global	rjhKeyChange
	.syntax unified
	.arm
	.fpu softvfp
	.type	rjhKeyChange, %function
rjhKeyChange:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L403
	ldr	r3, [r3]
	ldr	r1, .L403+4
	mov	r0, r3
	bl	generateKeyPair
	nop
	pop	{fp, pc}
.L404:
	.align	2
.L403:
	.word	rjh
	.word	666
	.size	rjhKeyChange, .-rjhKeyChange
	.align	2
	.global	bobSetAddressBook
	.syntax unified
	.arm
	.fpu softvfp
	.type	bobSetAddressBook, %function
bobSetAddressBook:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L407
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	setClientAddressBookSize
	ldr	r3, .L407
	ldr	r3, [r3]
	ldr	r2, .L407+4
	ldr	r2, [r2]
	mov	r1, #0
	mov	r0, r3
	bl	setClientAddressBookAlias
	ldr	r3, .L407
	ldr	r3, [r3]
	ldr	r2, .L407+4
	ldr	r2, [r2]
	mov	r1, #0
	mov	r0, r3
	bl	setClientAddressBookAddress
	ldr	r3, .L407
	ldr	r3, [r3]
	ldr	r2, .L407+8
	ldr	r2, [r2]
	mov	r1, #1
	mov	r0, r3
	bl	setClientAddressBookAddress
	nop
	pop	{fp, pc}
.L408:
	.align	2
.L407:
	.word	bob
	.word	rjh
	.word	chuck
	.size	bobSetAddressBook, .-bobSetAddressBook
	.global	__ste_Client_counter
	.bss
	.align	2
	.type	__ste_Client_counter, %object
	.size	__ste_Client_counter, 4
__ste_Client_counter:
	.space	4
	.text
	.align	2
	.global	initClient
	.syntax unified
	.arm
	.fpu softvfp
	.type	initClient, %function
initClient:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L412
	ldr	r3, [r3]
	cmp	r3, #2
	bgt	.L410
	ldr	r3, .L412
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L412
	str	r3, [r2]
	ldr	r3, .L412
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L411
.L410:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L411:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L413:
	.align	2
.L412:
	.word	__ste_Client_counter
	.size	initClient, .-initClient
	.global	__ste_client_name0
	.bss
	.align	2
	.type	__ste_client_name0, %object
	.size	__ste_client_name0, 4
__ste_client_name0:
	.space	4
	.global	__ste_client_name1
	.align	2
	.type	__ste_client_name1, %object
	.size	__ste_client_name1, 4
__ste_client_name1:
	.space	4
	.global	__ste_client_name2
	.align	2
	.type	__ste_client_name2, %object
	.size	__ste_client_name2, 4
__ste_client_name2:
	.space	4
	.text
	.align	2
	.global	getClientName
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientName, %function
getClientName:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L415
	ldr	r3, .L419
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L416
.L415:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L417
	ldr	r3, .L419+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L416
.L417:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L418
	ldr	r3, .L419+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L416
.L418:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L416:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L420:
	.align	2
.L419:
	.word	__ste_client_name0
	.word	__ste_client_name1
	.word	__ste_client_name2
	.size	getClientName, .-getClientName
	.align	2
	.global	setClientName
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientName, %function
setClientName:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L422
	ldr	r2, .L427
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L426
.L422:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L424
	ldr	r2, .L427+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L426
.L424:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L426
	ldr	r2, .L427+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L426:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L428:
	.align	2
.L427:
	.word	__ste_client_name0
	.word	__ste_client_name1
	.word	__ste_client_name2
	.size	setClientName, .-setClientName
	.global	__ste_client_outbuffer0
	.bss
	.align	2
	.type	__ste_client_outbuffer0, %object
	.size	__ste_client_outbuffer0, 4
__ste_client_outbuffer0:
	.space	4
	.global	__ste_client_outbuffer1
	.align	2
	.type	__ste_client_outbuffer1, %object
	.size	__ste_client_outbuffer1, 4
__ste_client_outbuffer1:
	.space	4
	.global	__ste_client_outbuffer2
	.align	2
	.type	__ste_client_outbuffer2, %object
	.size	__ste_client_outbuffer2, 4
__ste_client_outbuffer2:
	.space	4
	.global	__ste_client_outbuffer3
	.align	2
	.type	__ste_client_outbuffer3, %object
	.size	__ste_client_outbuffer3, 4
__ste_client_outbuffer3:
	.space	4
	.text
	.align	2
	.global	getClientOutbuffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientOutbuffer, %function
getClientOutbuffer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L430
	ldr	r3, .L434
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L431
.L430:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L432
	ldr	r3, .L434+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L431
.L432:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L433
	ldr	r3, .L434+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L431
.L433:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L431:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L435:
	.align	2
.L434:
	.word	__ste_client_outbuffer0
	.word	__ste_client_outbuffer1
	.word	__ste_client_outbuffer2
	.size	getClientOutbuffer, .-getClientOutbuffer
	.align	2
	.global	setClientOutbuffer
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientOutbuffer, %function
setClientOutbuffer:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L437
	ldr	r2, .L442
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L441
.L437:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L439
	ldr	r2, .L442+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L441
.L439:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L441
	ldr	r2, .L442+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L441:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L443:
	.align	2
.L442:
	.word	__ste_client_outbuffer0
	.word	__ste_client_outbuffer1
	.word	__ste_client_outbuffer2
	.size	setClientOutbuffer, .-setClientOutbuffer
	.global	__ste_ClientAddressBook_size0
	.bss
	.align	2
	.type	__ste_ClientAddressBook_size0, %object
	.size	__ste_ClientAddressBook_size0, 4
__ste_ClientAddressBook_size0:
	.space	4
	.global	__ste_ClientAddressBook_size1
	.align	2
	.type	__ste_ClientAddressBook_size1, %object
	.size	__ste_ClientAddressBook_size1, 4
__ste_ClientAddressBook_size1:
	.space	4
	.global	__ste_ClientAddressBook_size2
	.align	2
	.type	__ste_ClientAddressBook_size2, %object
	.size	__ste_ClientAddressBook_size2, 4
__ste_ClientAddressBook_size2:
	.space	4
	.text
	.align	2
	.global	getClientAddressBookSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientAddressBookSize, %function
getClientAddressBookSize:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L445
	ldr	r3, .L449
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L446
.L445:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L447
	ldr	r3, .L449+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L446
.L447:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L448
	ldr	r3, .L449+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L446
.L448:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L446:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L450:
	.align	2
.L449:
	.word	__ste_ClientAddressBook_size0
	.word	__ste_ClientAddressBook_size1
	.word	__ste_ClientAddressBook_size2
	.size	getClientAddressBookSize, .-getClientAddressBookSize
	.align	2
	.global	setClientAddressBookSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientAddressBookSize, %function
setClientAddressBookSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L452
	ldr	r2, .L457
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L456
.L452:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L454
	ldr	r2, .L457+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L456
.L454:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L456
	ldr	r2, .L457+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L456:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L458:
	.align	2
.L457:
	.word	__ste_ClientAddressBook_size0
	.word	__ste_ClientAddressBook_size1
	.word	__ste_ClientAddressBook_size2
	.size	setClientAddressBookSize, .-setClientAddressBookSize
	.align	2
	.global	createClientAddressBookEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	createClientAddressBookEntry, %function
createClientAddressBookEntry:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	getClientAddressBookSize
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bgt	.L460
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	setClientAddressBookSize
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L461
.L460:
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
.L461:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	createClientAddressBookEntry, .-createClientAddressBookEntry
	.global	__ste_Client_AddressBook0_Alias0
	.bss
	.align	2
	.type	__ste_Client_AddressBook0_Alias0, %object
	.size	__ste_Client_AddressBook0_Alias0, 4
__ste_Client_AddressBook0_Alias0:
	.space	4
	.global	__ste_Client_AddressBook0_Alias1
	.align	2
	.type	__ste_Client_AddressBook0_Alias1, %object
	.size	__ste_Client_AddressBook0_Alias1, 4
__ste_Client_AddressBook0_Alias1:
	.space	4
	.global	__ste_Client_AddressBook0_Alias2
	.align	2
	.type	__ste_Client_AddressBook0_Alias2, %object
	.size	__ste_Client_AddressBook0_Alias2, 4
__ste_Client_AddressBook0_Alias2:
	.space	4
	.global	__ste_Client_AddressBook1_Alias0
	.align	2
	.type	__ste_Client_AddressBook1_Alias0, %object
	.size	__ste_Client_AddressBook1_Alias0, 4
__ste_Client_AddressBook1_Alias0:
	.space	4
	.global	__ste_Client_AddressBook1_Alias1
	.align	2
	.type	__ste_Client_AddressBook1_Alias1, %object
	.size	__ste_Client_AddressBook1_Alias1, 4
__ste_Client_AddressBook1_Alias1:
	.space	4
	.global	__ste_Client_AddressBook1_Alias2
	.align	2
	.type	__ste_Client_AddressBook1_Alias2, %object
	.size	__ste_Client_AddressBook1_Alias2, 4
__ste_Client_AddressBook1_Alias2:
	.space	4
	.global	__ste_Client_AddressBook2_Alias0
	.align	2
	.type	__ste_Client_AddressBook2_Alias0, %object
	.size	__ste_Client_AddressBook2_Alias0, 4
__ste_Client_AddressBook2_Alias0:
	.space	4
	.global	__ste_Client_AddressBook2_Alias1
	.align	2
	.type	__ste_Client_AddressBook2_Alias1, %object
	.size	__ste_Client_AddressBook2_Alias1, 4
__ste_Client_AddressBook2_Alias1:
	.space	4
	.global	__ste_Client_AddressBook2_Alias2
	.align	2
	.type	__ste_Client_AddressBook2_Alias2, %object
	.size	__ste_Client_AddressBook2_Alias2, 4
__ste_Client_AddressBook2_Alias2:
	.space	4
	.text
	.align	2
	.global	getClientAddressBookAlias
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientAddressBookAlias, %function
getClientAddressBookAlias:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L463
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L464
	ldr	r3, .L476
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L464:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L466
	ldr	r3, .L476+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L466:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L467
	ldr	r3, .L476+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L467:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L463:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L468
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L469
	ldr	r3, .L476+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L469:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L470
	ldr	r3, .L476+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L470:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L471
	ldr	r3, .L476+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L471:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L468:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L472
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L473
	ldr	r3, .L476+24
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L473:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L474
	ldr	r3, .L476+28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L474:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L475
	ldr	r3, .L476+32
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L475:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L465
.L472:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L465:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L477:
	.align	2
.L476:
	.word	__ste_Client_AddressBook0_Alias0
	.word	__ste_Client_AddressBook0_Alias1
	.word	__ste_Client_AddressBook0_Alias2
	.word	__ste_Client_AddressBook1_Alias0
	.word	__ste_Client_AddressBook1_Alias1
	.word	__ste_Client_AddressBook1_Alias2
	.word	__ste_Client_AddressBook2_Alias0
	.word	__ste_Client_AddressBook2_Alias1
	.word	__ste_Client_AddressBook2_Alias2
	.size	getClientAddressBookAlias, .-getClientAddressBookAlias
	.align	2
	.global	findClientAddressBookAlias
	.syntax unified
	.arm
	.fpu softvfp
	.type	findClientAddressBookAlias, %function
findClientAddressBookAlias:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L479
	ldr	r3, .L492
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L480
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L480:
	ldr	r3, .L492+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L482
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L482:
	ldr	r3, .L492+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L483
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L483:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L479:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L484
	ldr	r3, .L492+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L485
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L485:
	ldr	r3, .L492+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L486
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L486:
	ldr	r3, .L492+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L487
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L487:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L484:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L488
	ldr	r3, .L492+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L489
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L489:
	ldr	r3, .L492+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L490
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L490:
	ldr	r3, .L492+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L491
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L491:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L481
.L488:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L481:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L493:
	.align	2
.L492:
	.word	__ste_Client_AddressBook0_Alias0
	.word	__ste_Client_AddressBook0_Alias1
	.word	__ste_Client_AddressBook0_Alias2
	.word	__ste_Client_AddressBook1_Alias0
	.word	__ste_Client_AddressBook1_Alias1
	.word	__ste_Client_AddressBook1_Alias2
	.word	__ste_Client_AddressBook2_Alias0
	.word	__ste_Client_AddressBook2_Alias1
	.word	__ste_Client_AddressBook2_Alias2
	.size	findClientAddressBookAlias, .-findClientAddressBookAlias
	.align	2
	.global	setClientAddressBookAlias
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientAddressBookAlias, %function
setClientAddressBookAlias:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L495
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L496
	ldr	r2, .L506
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L496:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L498
	ldr	r2, .L506+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L498:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L505
	ldr	r2, .L506+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L495:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L499
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L500
	ldr	r2, .L506+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L500:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L501
	ldr	r2, .L506+16
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L501:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L505
	ldr	r2, .L506+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L499:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L505
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L502
	ldr	r2, .L506+24
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L502:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L503
	ldr	r2, .L506+28
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L505
.L503:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L505
	ldr	r2, .L506+32
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	nop
.L505:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L507:
	.align	2
.L506:
	.word	__ste_Client_AddressBook0_Alias0
	.word	__ste_Client_AddressBook0_Alias1
	.word	__ste_Client_AddressBook0_Alias2
	.word	__ste_Client_AddressBook1_Alias0
	.word	__ste_Client_AddressBook1_Alias1
	.word	__ste_Client_AddressBook1_Alias2
	.word	__ste_Client_AddressBook2_Alias0
	.word	__ste_Client_AddressBook2_Alias1
	.word	__ste_Client_AddressBook2_Alias2
	.size	setClientAddressBookAlias, .-setClientAddressBookAlias
	.global	__ste_Client_AddressBook0_Address0
	.bss
	.align	2
	.type	__ste_Client_AddressBook0_Address0, %object
	.size	__ste_Client_AddressBook0_Address0, 4
__ste_Client_AddressBook0_Address0:
	.space	4
	.global	__ste_Client_AddressBook0_Address1
	.align	2
	.type	__ste_Client_AddressBook0_Address1, %object
	.size	__ste_Client_AddressBook0_Address1, 4
__ste_Client_AddressBook0_Address1:
	.space	4
	.global	__ste_Client_AddressBook0_Address2
	.align	2
	.type	__ste_Client_AddressBook0_Address2, %object
	.size	__ste_Client_AddressBook0_Address2, 4
__ste_Client_AddressBook0_Address2:
	.space	4
	.global	__ste_Client_AddressBook1_Address0
	.align	2
	.type	__ste_Client_AddressBook1_Address0, %object
	.size	__ste_Client_AddressBook1_Address0, 4
__ste_Client_AddressBook1_Address0:
	.space	4
	.global	__ste_Client_AddressBook1_Address1
	.align	2
	.type	__ste_Client_AddressBook1_Address1, %object
	.size	__ste_Client_AddressBook1_Address1, 4
__ste_Client_AddressBook1_Address1:
	.space	4
	.global	__ste_Client_AddressBook1_Address2
	.align	2
	.type	__ste_Client_AddressBook1_Address2, %object
	.size	__ste_Client_AddressBook1_Address2, 4
__ste_Client_AddressBook1_Address2:
	.space	4
	.global	__ste_Client_AddressBook2_Address0
	.align	2
	.type	__ste_Client_AddressBook2_Address0, %object
	.size	__ste_Client_AddressBook2_Address0, 4
__ste_Client_AddressBook2_Address0:
	.space	4
	.global	__ste_Client_AddressBook2_Address1
	.align	2
	.type	__ste_Client_AddressBook2_Address1, %object
	.size	__ste_Client_AddressBook2_Address1, 4
__ste_Client_AddressBook2_Address1:
	.space	4
	.global	__ste_Client_AddressBook2_Address2
	.align	2
	.type	__ste_Client_AddressBook2_Address2, %object
	.size	__ste_Client_AddressBook2_Address2, 4
__ste_Client_AddressBook2_Address2:
	.space	4
	.text
	.align	2
	.global	getClientAddressBookAddress
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientAddressBookAddress, %function
getClientAddressBookAddress:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L509
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L510
	ldr	r3, .L522
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L510:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L512
	ldr	r3, .L522+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L512:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L513
	ldr	r3, .L522+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L513:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L509:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L514
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L515
	ldr	r3, .L522+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L515:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L516
	ldr	r3, .L522+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L516:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L517
	ldr	r3, .L522+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L517:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L514:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L518
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L519
	ldr	r3, .L522+24
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L519:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L520
	ldr	r3, .L522+28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L520:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L521
	ldr	r3, .L522+32
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L521:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L511
.L518:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L511:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L523:
	.align	2
.L522:
	.word	__ste_Client_AddressBook0_Address0
	.word	__ste_Client_AddressBook0_Address1
	.word	__ste_Client_AddressBook0_Address2
	.word	__ste_Client_AddressBook1_Address0
	.word	__ste_Client_AddressBook1_Address1
	.word	__ste_Client_AddressBook1_Address2
	.word	__ste_Client_AddressBook2_Address0
	.word	__ste_Client_AddressBook2_Address1
	.word	__ste_Client_AddressBook2_Address2
	.size	getClientAddressBookAddress, .-getClientAddressBookAddress
	.align	2
	.global	setClientAddressBookAddress
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientAddressBookAddress, %function
setClientAddressBookAddress:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L525
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L526
	ldr	r2, .L536
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L526:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L528
	ldr	r2, .L536+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L528:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L535
	ldr	r2, .L536+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L525:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L529
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L530
	ldr	r2, .L536+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L530:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L531
	ldr	r2, .L536+16
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L531:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L535
	ldr	r2, .L536+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L529:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L535
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L532
	ldr	r2, .L536+24
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L532:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L533
	ldr	r2, .L536+28
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L535
.L533:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L535
	ldr	r2, .L536+32
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	nop
.L535:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L537:
	.align	2
.L536:
	.word	__ste_Client_AddressBook0_Address0
	.word	__ste_Client_AddressBook0_Address1
	.word	__ste_Client_AddressBook0_Address2
	.word	__ste_Client_AddressBook1_Address0
	.word	__ste_Client_AddressBook1_Address1
	.word	__ste_Client_AddressBook1_Address2
	.word	__ste_Client_AddressBook2_Address0
	.word	__ste_Client_AddressBook2_Address1
	.word	__ste_Client_AddressBook2_Address2
	.size	setClientAddressBookAddress, .-setClientAddressBookAddress
	.global	__ste_client_autoResponse0
	.bss
	.align	2
	.type	__ste_client_autoResponse0, %object
	.size	__ste_client_autoResponse0, 4
__ste_client_autoResponse0:
	.space	4
	.global	__ste_client_autoResponse1
	.align	2
	.type	__ste_client_autoResponse1, %object
	.size	__ste_client_autoResponse1, 4
__ste_client_autoResponse1:
	.space	4
	.global	__ste_client_autoResponse2
	.align	2
	.type	__ste_client_autoResponse2, %object
	.size	__ste_client_autoResponse2, 4
__ste_client_autoResponse2:
	.space	4
	.text
	.align	2
	.global	getClientAutoResponse
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientAutoResponse, %function
getClientAutoResponse:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L539
	ldr	r3, .L543
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L540
.L539:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L541
	ldr	r3, .L543+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L540
.L541:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L542
	ldr	r3, .L543+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L540
.L542:
	mvn	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L540:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L544:
	.align	2
.L543:
	.word	__ste_client_autoResponse0
	.word	__ste_client_autoResponse1
	.word	__ste_client_autoResponse2
	.size	getClientAutoResponse, .-getClientAutoResponse
	.align	2
	.global	setClientAutoResponse
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientAutoResponse, %function
setClientAutoResponse:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L546
	ldr	r2, .L551
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L550
.L546:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L548
	ldr	r2, .L551+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L550
.L548:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L550
	ldr	r2, .L551+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L550:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L552:
	.align	2
.L551:
	.word	__ste_client_autoResponse0
	.word	__ste_client_autoResponse1
	.word	__ste_client_autoResponse2
	.size	setClientAutoResponse, .-setClientAutoResponse
	.global	__ste_client_privateKey0
	.bss
	.align	2
	.type	__ste_client_privateKey0, %object
	.size	__ste_client_privateKey0, 4
__ste_client_privateKey0:
	.space	4
	.global	__ste_client_privateKey1
	.align	2
	.type	__ste_client_privateKey1, %object
	.size	__ste_client_privateKey1, 4
__ste_client_privateKey1:
	.space	4
	.global	__ste_client_privateKey2
	.align	2
	.type	__ste_client_privateKey2, %object
	.size	__ste_client_privateKey2, 4
__ste_client_privateKey2:
	.space	4
	.text
	.align	2
	.global	getClientPrivateKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientPrivateKey, %function
getClientPrivateKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L554
	ldr	r3, .L558
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L555
.L554:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L556
	ldr	r3, .L558+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L555
.L556:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L557
	ldr	r3, .L558+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L555
.L557:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L555:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L559:
	.align	2
.L558:
	.word	__ste_client_privateKey0
	.word	__ste_client_privateKey1
	.word	__ste_client_privateKey2
	.size	getClientPrivateKey, .-getClientPrivateKey
	.align	2
	.global	setClientPrivateKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientPrivateKey, %function
setClientPrivateKey:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L561
	ldr	r2, .L566
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L565
.L561:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L563
	ldr	r2, .L566+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L565
.L563:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L565
	ldr	r2, .L566+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L565:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L567:
	.align	2
.L566:
	.word	__ste_client_privateKey0
	.word	__ste_client_privateKey1
	.word	__ste_client_privateKey2
	.size	setClientPrivateKey, .-setClientPrivateKey
	.global	__ste_ClientKeyring_size0
	.bss
	.align	2
	.type	__ste_ClientKeyring_size0, %object
	.size	__ste_ClientKeyring_size0, 4
__ste_ClientKeyring_size0:
	.space	4
	.global	__ste_ClientKeyring_size1
	.align	2
	.type	__ste_ClientKeyring_size1, %object
	.size	__ste_ClientKeyring_size1, 4
__ste_ClientKeyring_size1:
	.space	4
	.global	__ste_ClientKeyring_size2
	.align	2
	.type	__ste_ClientKeyring_size2, %object
	.size	__ste_ClientKeyring_size2, 4
__ste_ClientKeyring_size2:
	.space	4
	.text
	.align	2
	.global	getClientKeyringSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientKeyringSize, %function
getClientKeyringSize:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L569
	ldr	r3, .L573
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L570
.L569:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L571
	ldr	r3, .L573+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L570
.L571:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L572
	ldr	r3, .L573+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L570
.L572:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L570:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L574:
	.align	2
.L573:
	.word	__ste_ClientKeyring_size0
	.word	__ste_ClientKeyring_size1
	.word	__ste_ClientKeyring_size2
	.size	getClientKeyringSize, .-getClientKeyringSize
	.align	2
	.global	setClientKeyringSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientKeyringSize, %function
setClientKeyringSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L576
	ldr	r2, .L581
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L580
.L576:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L578
	ldr	r2, .L581+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L580
.L578:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L580
	ldr	r2, .L581+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L580:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L582:
	.align	2
.L581:
	.word	__ste_ClientKeyring_size0
	.word	__ste_ClientKeyring_size1
	.word	__ste_ClientKeyring_size2
	.size	setClientKeyringSize, .-setClientKeyringSize
	.align	2
	.global	createClientKeyringEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	createClientKeyringEntry, %function
createClientKeyringEntry:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	getClientKeyringSize
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bgt	.L584
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	setClientKeyringSize
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L585
.L584:
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
.L585:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	createClientKeyringEntry, .-createClientKeyringEntry
	.global	__ste_Client_Keyring0_User0
	.bss
	.align	2
	.type	__ste_Client_Keyring0_User0, %object
	.size	__ste_Client_Keyring0_User0, 4
__ste_Client_Keyring0_User0:
	.space	4
	.global	__ste_Client_Keyring0_User1
	.align	2
	.type	__ste_Client_Keyring0_User1, %object
	.size	__ste_Client_Keyring0_User1, 4
__ste_Client_Keyring0_User1:
	.space	4
	.global	__ste_Client_Keyring0_User2
	.align	2
	.type	__ste_Client_Keyring0_User2, %object
	.size	__ste_Client_Keyring0_User2, 4
__ste_Client_Keyring0_User2:
	.space	4
	.global	__ste_Client_Keyring1_User0
	.align	2
	.type	__ste_Client_Keyring1_User0, %object
	.size	__ste_Client_Keyring1_User0, 4
__ste_Client_Keyring1_User0:
	.space	4
	.global	__ste_Client_Keyring1_User1
	.align	2
	.type	__ste_Client_Keyring1_User1, %object
	.size	__ste_Client_Keyring1_User1, 4
__ste_Client_Keyring1_User1:
	.space	4
	.global	__ste_Client_Keyring1_User2
	.align	2
	.type	__ste_Client_Keyring1_User2, %object
	.size	__ste_Client_Keyring1_User2, 4
__ste_Client_Keyring1_User2:
	.space	4
	.global	__ste_Client_Keyring2_User0
	.align	2
	.type	__ste_Client_Keyring2_User0, %object
	.size	__ste_Client_Keyring2_User0, 4
__ste_Client_Keyring2_User0:
	.space	4
	.global	__ste_Client_Keyring2_User1
	.align	2
	.type	__ste_Client_Keyring2_User1, %object
	.size	__ste_Client_Keyring2_User1, 4
__ste_Client_Keyring2_User1:
	.space	4
	.global	__ste_Client_Keyring2_User2
	.align	2
	.type	__ste_Client_Keyring2_User2, %object
	.size	__ste_Client_Keyring2_User2, 4
__ste_Client_Keyring2_User2:
	.space	4
	.text
	.align	2
	.global	getClientKeyringUser
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientKeyringUser, %function
getClientKeyringUser:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L587
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L588
	ldr	r3, .L597
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L588:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L590
	ldr	r3, .L597+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L590:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L587:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L591
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L592
	ldr	r3, .L597+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L592:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L593
	ldr	r3, .L597+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L593:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L591:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L594
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L595
	ldr	r3, .L597+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L595:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L596
	ldr	r3, .L597+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L596:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L589
.L594:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L589:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L598:
	.align	2
.L597:
	.word	__ste_Client_Keyring0_User0
	.word	__ste_Client_Keyring0_User1
	.word	__ste_Client_Keyring1_User0
	.word	__ste_Client_Keyring1_User1
	.word	__ste_Client_Keyring2_User0
	.word	__ste_Client_Keyring2_User1
	.size	getClientKeyringUser, .-getClientKeyringUser
	.align	2
	.global	setClientKeyringUser
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientKeyringUser, %function
setClientKeyringUser:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L600
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L601
	ldr	r2, .L608
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L607
.L601:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L607
	ldr	r2, .L608+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L607
.L600:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L603
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L604
	ldr	r2, .L608+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L607
.L604:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L607
	ldr	r2, .L608+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L607
.L603:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L607
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L605
	ldr	r2, .L608+16
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L607
.L605:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L607
	ldr	r2, .L608+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	nop
.L607:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L609:
	.align	2
.L608:
	.word	__ste_Client_Keyring0_User0
	.word	__ste_Client_Keyring0_User1
	.word	__ste_Client_Keyring1_User0
	.word	__ste_Client_Keyring1_User1
	.word	__ste_Client_Keyring2_User0
	.word	__ste_Client_Keyring2_User1
	.size	setClientKeyringUser, .-setClientKeyringUser
	.global	__ste_Client_Keyring0_PublicKey0
	.bss
	.align	2
	.type	__ste_Client_Keyring0_PublicKey0, %object
	.size	__ste_Client_Keyring0_PublicKey0, 4
__ste_Client_Keyring0_PublicKey0:
	.space	4
	.global	__ste_Client_Keyring0_PublicKey1
	.align	2
	.type	__ste_Client_Keyring0_PublicKey1, %object
	.size	__ste_Client_Keyring0_PublicKey1, 4
__ste_Client_Keyring0_PublicKey1:
	.space	4
	.global	__ste_Client_Keyring0_PublicKey2
	.align	2
	.type	__ste_Client_Keyring0_PublicKey2, %object
	.size	__ste_Client_Keyring0_PublicKey2, 4
__ste_Client_Keyring0_PublicKey2:
	.space	4
	.global	__ste_Client_Keyring1_PublicKey0
	.align	2
	.type	__ste_Client_Keyring1_PublicKey0, %object
	.size	__ste_Client_Keyring1_PublicKey0, 4
__ste_Client_Keyring1_PublicKey0:
	.space	4
	.global	__ste_Client_Keyring1_PublicKey1
	.align	2
	.type	__ste_Client_Keyring1_PublicKey1, %object
	.size	__ste_Client_Keyring1_PublicKey1, 4
__ste_Client_Keyring1_PublicKey1:
	.space	4
	.global	__ste_Client_Keyring1_PublicKey2
	.align	2
	.type	__ste_Client_Keyring1_PublicKey2, %object
	.size	__ste_Client_Keyring1_PublicKey2, 4
__ste_Client_Keyring1_PublicKey2:
	.space	4
	.global	__ste_Client_Keyring2_PublicKey0
	.align	2
	.type	__ste_Client_Keyring2_PublicKey0, %object
	.size	__ste_Client_Keyring2_PublicKey0, 4
__ste_Client_Keyring2_PublicKey0:
	.space	4
	.global	__ste_Client_Keyring2_PublicKey1
	.align	2
	.type	__ste_Client_Keyring2_PublicKey1, %object
	.size	__ste_Client_Keyring2_PublicKey1, 4
__ste_Client_Keyring2_PublicKey1:
	.space	4
	.global	__ste_Client_Keyring2_PublicKey2
	.align	2
	.type	__ste_Client_Keyring2_PublicKey2, %object
	.size	__ste_Client_Keyring2_PublicKey2, 4
__ste_Client_Keyring2_PublicKey2:
	.space	4
	.text
	.align	2
	.global	getClientKeyringPublicKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientKeyringPublicKey, %function
getClientKeyringPublicKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L611
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L612
	ldr	r3, .L621
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L612:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L614
	ldr	r3, .L621+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L614:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L611:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L615
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L616
	ldr	r3, .L621+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L616:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L617
	ldr	r3, .L621+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L617:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L615:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L618
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L619
	ldr	r3, .L621+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L619:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L620
	ldr	r3, .L621+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L620:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L613
.L618:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L613:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L622:
	.align	2
.L621:
	.word	__ste_Client_Keyring0_PublicKey0
	.word	__ste_Client_Keyring0_PublicKey1
	.word	__ste_Client_Keyring1_PublicKey0
	.word	__ste_Client_Keyring1_PublicKey1
	.word	__ste_Client_Keyring2_PublicKey0
	.word	__ste_Client_Keyring2_PublicKey1
	.size	getClientKeyringPublicKey, .-getClientKeyringPublicKey
	.align	2
	.global	findPublicKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	findPublicKey, %function
findPublicKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L624
	ldr	r3, .L634
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L625
	ldr	r3, .L634+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L625:
	ldr	r3, .L634+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L627
	ldr	r3, .L634+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L627:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L624:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L628
	ldr	r3, .L634+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L629
	ldr	r3, .L634+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L629:
	ldr	r3, .L634+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L630
	ldr	r3, .L634+28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L630:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L628:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L631
	ldr	r3, .L634+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L632
	ldr	r3, .L634+36
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L632:
	ldr	r3, .L634+40
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L633
	ldr	r3, .L634+44
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L633:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L626
.L631:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L626:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L635:
	.align	2
.L634:
	.word	__ste_Client_Keyring0_User0
	.word	__ste_Client_Keyring0_PublicKey0
	.word	__ste_Client_Keyring0_User1
	.word	__ste_Client_Keyring0_PublicKey1
	.word	__ste_Client_Keyring1_User0
	.word	__ste_Client_Keyring1_PublicKey0
	.word	__ste_Client_Keyring1_User1
	.word	__ste_Client_Keyring1_PublicKey1
	.word	__ste_Client_Keyring2_User0
	.word	__ste_Client_Keyring2_PublicKey0
	.word	__ste_Client_Keyring2_User1
	.word	__ste_Client_Keyring2_PublicKey1
	.size	findPublicKey, .-findPublicKey
	.align	2
	.global	setClientKeyringPublicKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientKeyringPublicKey, %function
setClientKeyringPublicKey:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L637
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L638
	ldr	r2, .L645
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L644
.L638:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L644
	ldr	r2, .L645+4
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L644
.L637:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L640
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L641
	ldr	r2, .L645+8
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L644
.L641:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L644
	ldr	r2, .L645+12
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L644
.L640:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L644
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L642
	ldr	r2, .L645+16
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	b	.L644
.L642:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L644
	ldr	r2, .L645+20
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	nop
.L644:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L646:
	.align	2
.L645:
	.word	__ste_Client_Keyring0_PublicKey0
	.word	__ste_Client_Keyring0_PublicKey1
	.word	__ste_Client_Keyring1_PublicKey0
	.word	__ste_Client_Keyring1_PublicKey1
	.word	__ste_Client_Keyring2_PublicKey0
	.word	__ste_Client_Keyring2_PublicKey1
	.size	setClientKeyringPublicKey, .-setClientKeyringPublicKey
	.global	__ste_client_forwardReceiver0
	.bss
	.align	2
	.type	__ste_client_forwardReceiver0, %object
	.size	__ste_client_forwardReceiver0, 4
__ste_client_forwardReceiver0:
	.space	4
	.global	__ste_client_forwardReceiver1
	.align	2
	.type	__ste_client_forwardReceiver1, %object
	.size	__ste_client_forwardReceiver1, 4
__ste_client_forwardReceiver1:
	.space	4
	.global	__ste_client_forwardReceiver2
	.align	2
	.type	__ste_client_forwardReceiver2, %object
	.size	__ste_client_forwardReceiver2, 4
__ste_client_forwardReceiver2:
	.space	4
	.global	__ste_client_forwardReceiver3
	.align	2
	.type	__ste_client_forwardReceiver3, %object
	.size	__ste_client_forwardReceiver3, 4
__ste_client_forwardReceiver3:
	.space	4
	.text
	.align	2
	.global	getClientForwardReceiver
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientForwardReceiver, %function
getClientForwardReceiver:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L648
	ldr	r3, .L652
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L649
.L648:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L650
	ldr	r3, .L652+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L649
.L650:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L651
	ldr	r3, .L652+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L649
.L651:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L649:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L653:
	.align	2
.L652:
	.word	__ste_client_forwardReceiver0
	.word	__ste_client_forwardReceiver1
	.word	__ste_client_forwardReceiver2
	.size	getClientForwardReceiver, .-getClientForwardReceiver
	.align	2
	.global	setClientForwardReceiver
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientForwardReceiver, %function
setClientForwardReceiver:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L655
	ldr	r2, .L660
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L659
.L655:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L657
	ldr	r2, .L660+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L659
.L657:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L659
	ldr	r2, .L660+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L659:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L661:
	.align	2
.L660:
	.word	__ste_client_forwardReceiver0
	.word	__ste_client_forwardReceiver1
	.word	__ste_client_forwardReceiver2
	.size	setClientForwardReceiver, .-setClientForwardReceiver
	.global	__ste_client_idCounter0
	.bss
	.align	2
	.type	__ste_client_idCounter0, %object
	.size	__ste_client_idCounter0, 4
__ste_client_idCounter0:
	.space	4
	.global	__ste_client_idCounter1
	.align	2
	.type	__ste_client_idCounter1, %object
	.size	__ste_client_idCounter1, 4
__ste_client_idCounter1:
	.space	4
	.global	__ste_client_idCounter2
	.align	2
	.type	__ste_client_idCounter2, %object
	.size	__ste_client_idCounter2, 4
__ste_client_idCounter2:
	.space	4
	.text
	.align	2
	.global	getClientId
	.syntax unified
	.arm
	.fpu softvfp
	.type	getClientId, %function
getClientId:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L663
	ldr	r3, .L667
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L664
.L663:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L665
	ldr	r3, .L667+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L664
.L665:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L666
	ldr	r3, .L667+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L664
.L666:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L664:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L668:
	.align	2
.L667:
	.word	__ste_client_idCounter0
	.word	__ste_client_idCounter1
	.word	__ste_client_idCounter2
	.size	getClientId, .-getClientId
	.align	2
	.global	setClientId
	.syntax unified
	.arm
	.fpu softvfp
	.type	setClientId, %function
setClientId:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L670
	ldr	r2, .L675
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L674
.L670:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L672
	ldr	r2, .L675+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	b	.L674
.L672:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L674
	ldr	r2, .L675+8
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	nop
.L674:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L676:
	.align	2
.L675:
	.word	__ste_client_idCounter0
	.word	__ste_client_idCounter1
	.word	__ste_client_idCounter2
	.size	setClientId, .-setClientId
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
