	.file	"560637.c"
	.intel_syntax noprefix
	.text
	.globl	__utac__exception__cf_handler_set
	.type	__utac__exception__cf_handler_set, @function
__utac__exception__cf_handler_set:
.LFB0:
	.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
.LFE0:
	.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:
.LFB1:
	.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
.L4:
	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	.L9
	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	.L4
.L9:
	nop
.L6:
	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
.LFE1:
	.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:
.LFB2:
	.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
.L11:
	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	.L16
	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	.L11
.L16:
	nop
.L13:
	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
.LFE2:
	.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:
.LFB3:
	.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	.L18
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L19
.L18:
	cmp	DWORD PTR -188[rbp], 0
	jne	.L20
	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	.L19
.L20:
	cmp	DWORD PTR -188[rbp], 1
	jne	.L21
	mov	rax, QWORD PTR head[rip]
	mov	QWORD PTR -168[rbp], rax
.L22:
	cmp	DWORD PTR -192[rbp], 1
	jle	.L28
	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	.L22
.L28:
	nop
.L24:
	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	.L19
.L21:
	cmp	DWORD PTR -188[rbp], 2
	jne	.L25
	mov	rax, QWORD PTR head[rip]
	test	rax, rax
	je	.L26
	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	.L19
.L26:
	mov	QWORD PTR -160[rbp], 0
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L19
.L25:
	mov	rax, QWORD PTR -160[rbp]
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	__utac__error_stack_mgt, .-__utac__error_stack_mgt
	.section	.rodata
.LC0:
	.string	"__utac__get_this_arg"
.LC1:
	.string	"libacc.c"
.LC2:
	.string	"i > 0 && i <= this->argsCount"
	.text
	.globl	__utac__get_this_arg
	.type	__utac__get_this_arg, @function
__utac__get_this_arg:
.LFB4:
	.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	.L30
	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	.L31
	lea	rcx, .LC0[rip]
	mov	edx, 123
	lea	rsi, .LC1[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L30:
	lea	rcx, .LC0[rip]
	mov	edx, 123
	lea	rsi, .LC1[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L31:
	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
.LFE4:
	.size	__utac__get_this_arg, .-__utac__get_this_arg
	.section	.rodata
.LC3:
	.string	"__utac__get_this_argtype"
	.text
	.globl	__utac__get_this_argtype
	.type	__utac__get_this_argtype, @function
__utac__get_this_argtype:
.LFB5:
	.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	.L34
	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	.L35
	lea	rcx, .LC3[rip]
	mov	edx, 131
	lea	rsi, .LC1[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L34:
	lea	rcx, .LC3[rip]
	mov	edx, 131
	lea	rsi, .LC1[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L35:
	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
.LFE5:
	.size	__utac__get_this_argtype, .-__utac__get_this_argtype
	.globl	select_one
	.type	select_one, @function
select_one:
.LFB6:
	.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
.LFE6:
	.size	select_one, .-select_one
	.globl	select_features
	.type	select_features, @function
select_features:
.LFB7:
	.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
.LFE7:
	.size	select_features, .-select_features
	.globl	select_helpers
	.type	select_helpers, @function
select_helpers:
.LFB8:
	.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
.LFE8:
	.size	select_helpers, .-select_helpers
	.globl	valid_product
	.type	valid_product, @function
valid_product:
.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 -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	valid_product, .-valid_product
	.globl	__automaton_fail
	.type	__automaton_fail, @function
__automaton_fail:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
.L46:
	mov	eax, 0
	call	__VERIFIER_error@PLT
	.cfi_endproc
.LFE10:
	.size	__automaton_fail, .-__automaton_fail
	.globl	weight
	.bss
	.align 4
	.type	weight, @object
	.size	weight, 4
weight:
	.zero	4
	.globl	maximumWeight
	.data
	.align 4
	.type	maximumWeight, @object
	.size	maximumWeight, 4
maximumWeight:
	.long	100
	.globl	blocked
	.bss
	.align 4
	.type	blocked, @object
	.size	blocked, 4
blocked:
	.zero	4
	.globl	floorButtons_spc9_0
	.align 4
	.type	floorButtons_spc9_0, @object
	.size	floorButtons_spc9_0, 4
floorButtons_spc9_0:
	.zero	4
	.globl	floorButtons_spc9_1
	.align 4
	.type	floorButtons_spc9_1, @object
	.size	floorButtons_spc9_1, 4
floorButtons_spc9_1:
	.zero	4
	.globl	floorButtons_spc9_2
	.align 4
	.type	floorButtons_spc9_2, @object
	.size	floorButtons_spc9_2, 4
floorButtons_spc9_2:
	.zero	4
	.globl	floorButtons_spc9_3
	.align 4
	.type	floorButtons_spc9_3, @object
	.size	floorButtons_spc9_3, 4
floorButtons_spc9_3:
	.zero	4
	.globl	floorButtons_spc9_4
	.align 4
	.type	floorButtons_spc9_4, @object
	.size	floorButtons_spc9_4, 4
floorButtons_spc9_4:
	.zero	4
	.text
	.globl	test
	.type	test, @function
test:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	bigMacCall
	call	cleanup
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	test, .-test
	.globl	cleanupTimeShifts
	.data
	.align 4
	.type	cleanupTimeShifts, @object
	.size	cleanupTimeShifts, 4
cleanupTimeShifts:
	.long	12
	.text
	.globl	spec1
	.type	spec1, @function
spec1:
.LFB16:
	.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	initBottomUp
	mov	edi, 5
	call	getOrigin
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	mov	edi, 5
	call	initPersonOnFloor
	call	printState
	mov	edi, 2
	call	getOrigin
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 2
	call	initPersonOnFloor
	call	printState
	mov	DWORD PTR -16[rbp], 0
.L50:
	mov	eax, DWORD PTR cleanupTimeShifts[rip]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L55
	call	isBlocked
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 1
	je	.L56
	call	timeShift
	call	printState
	add	DWORD PTR -16[rbp], 1
	jmp	.L50
.L55:
	nop
	jmp	.L53
.L56:
	nop
.L53:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	spec1, .-spec1
	.globl	spec14
	.type	spec14, @function
spec14:
.LFB17:
	.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	initTopDown
	mov	edi, 5
	call	getOrigin
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	mov	edi, 5
	call	initPersonOnFloor
	call	printState
	call	timeShift
	call	timeShift
	call	timeShift
	call	timeShift
	mov	edi, 0
	call	getOrigin
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	mov	edi, 0
	call	initPersonOnFloor
	call	printState
	mov	DWORD PTR -16[rbp], 0
.L58:
	mov	eax, DWORD PTR cleanupTimeShifts[rip]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L63
	call	isBlocked
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 1
	je	.L64
	call	timeShift
	call	printState
	add	DWORD PTR -16[rbp], 1
	jmp	.L58
.L63:
	nop
	jmp	.L61
.L64:
	nop
.L61:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	spec14, .-spec14
	.globl	getWeight
	.type	getWeight, @function
getWeight:
.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 -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 0
	jne	.L66
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L67
.L66:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L68
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L67
.L68:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L69
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L67
.L69:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L70
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L67
.L70:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L71
	mov	DWORD PTR -4[rbp], 30
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L67
.L71:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L72
	mov	DWORD PTR -4[rbp], 150
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L67
.L72:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L67:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	getWeight, .-getWeight
	.globl	getOrigin
	.type	getOrigin, @function
getOrigin:
.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], 0
	jne	.L74
	mov	DWORD PTR -4[rbp], 4
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L75
.L74:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L76
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L75
.L76:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L77
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L75
.L77:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L78
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L75
.L78:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L79
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L75
.L79:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L80
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L75
.L80:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L75:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	getOrigin, .-getOrigin
	.globl	getDestination
	.type	getDestination, @function
getDestination:
.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 -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 0
	jne	.L82
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L83
.L82:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L84
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L83
.L84:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L85
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L83
.L85:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L86
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L83
.L86:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L87
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L83
.L87:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L88
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L83
.L88:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L83:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	getDestination, .-getDestination
	.globl	currentHeading
	.data
	.align 4
	.type	currentHeading, @object
	.size	currentHeading, 4
currentHeading:
	.long	1
	.globl	currentFloorID
	.bss
	.align 4
	.type	currentFloorID, @object
	.size	currentFloorID, 4
currentFloorID:
	.zero	4
	.globl	persons_0
	.align 4
	.type	persons_0, @object
	.size	persons_0, 4
persons_0:
	.zero	4
	.globl	persons_1
	.align 4
	.type	persons_1, @object
	.size	persons_1, 4
persons_1:
	.zero	4
	.globl	persons_2
	.align 4
	.type	persons_2, @object
	.size	persons_2, 4
persons_2:
	.zero	4
	.globl	persons_3
	.align 4
	.type	persons_3, @object
	.size	persons_3, 4
persons_3:
	.zero	4
	.globl	persons_4
	.align 4
	.type	persons_4, @object
	.size	persons_4, 4
persons_4:
	.zero	4
	.globl	persons_5
	.align 4
	.type	persons_5, @object
	.size	persons_5, 4
persons_5:
	.zero	4
	.globl	doorState
	.data
	.align 4
	.type	doorState, @object
	.size	doorState, 4
doorState:
	.long	1
	.globl	floorButtons_0
	.bss
	.align 4
	.type	floorButtons_0, @object
	.size	floorButtons_0, 4
floorButtons_0:
	.zero	4
	.globl	floorButtons_1
	.align 4
	.type	floorButtons_1, @object
	.size	floorButtons_1, 4
floorButtons_1:
	.zero	4
	.globl	floorButtons_2
	.align 4
	.type	floorButtons_2, @object
	.size	floorButtons_2, 4
floorButtons_2:
	.zero	4
	.globl	floorButtons_3
	.align 4
	.type	floorButtons_3, @object
	.size	floorButtons_3, 4
floorButtons_3:
	.zero	4
	.globl	floorButtons_4
	.align 4
	.type	floorButtons_4, @object
	.size	floorButtons_4, 4
floorButtons_4:
	.zero	4
	.text
	.globl	initTopDown
	.type	initTopDown, @function
initTopDown:
.LFB21:
	.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 currentFloorID[rip], 4
	mov	DWORD PTR currentHeading[rip], 0
	mov	DWORD PTR floorButtons_0[rip], 0
	mov	DWORD PTR floorButtons_1[rip], 0
	mov	DWORD PTR floorButtons_2[rip], 0
	mov	DWORD PTR floorButtons_3[rip], 0
	mov	DWORD PTR floorButtons_4[rip], 0
	mov	DWORD PTR persons_0[rip], 0
	mov	DWORD PTR persons_1[rip], 0
	mov	DWORD PTR persons_2[rip], 0
	mov	DWORD PTR persons_3[rip], 0
	mov	DWORD PTR persons_4[rip], 0
	mov	DWORD PTR persons_5[rip], 0
	call	initFloors
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	initTopDown, .-initTopDown
	.globl	initBottomUp
	.type	initBottomUp, @function
initBottomUp:
.LFB22:
	.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 currentFloorID[rip], 0
	mov	DWORD PTR currentHeading[rip], 1
	mov	DWORD PTR floorButtons_0[rip], 0
	mov	DWORD PTR floorButtons_1[rip], 0
	mov	DWORD PTR floorButtons_2[rip], 0
	mov	DWORD PTR floorButtons_3[rip], 0
	mov	DWORD PTR floorButtons_4[rip], 0
	mov	DWORD PTR persons_0[rip], 0
	mov	DWORD PTR persons_1[rip], 0
	mov	DWORD PTR persons_2[rip], 0
	mov	DWORD PTR persons_3[rip], 0
	mov	DWORD PTR persons_4[rip], 0
	mov	DWORD PTR persons_5[rip], 0
	call	initFloors
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	initBottomUp, .-initBottomUp
	.globl	isBlocked
	.type	isBlocked, @function
isBlocked:
.LFB23:
	.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 blocked[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	isBlocked, .-isBlocked
	.globl	enterElevator__wrappee__base
	.type	enterElevator__wrappee__base, @function
enterElevator__wrappee__base:
.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], edi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L96
	mov	DWORD PTR persons_0[rip], 1
	jmp	.L103
.L96:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L98
	mov	DWORD PTR persons_1[rip], 1
	jmp	.L103
.L98:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L99
	mov	DWORD PTR persons_2[rip], 1
	jmp	.L103
.L99:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L100
	mov	DWORD PTR persons_3[rip], 1
	jmp	.L103
.L100:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L101
	mov	DWORD PTR persons_4[rip], 1
	jmp	.L103
.L101:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L103
	mov	DWORD PTR persons_5[rip], 1
	nop
.L103:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	enterElevator__wrappee__base, .-enterElevator__wrappee__base
	.globl	enterElevator
	.type	enterElevator, @function
enterElevator:
.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, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	enterElevator__wrappee__base
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	getWeight
	mov	DWORD PTR -4[rbp], eax
	mov	edx, DWORD PTR weight[rip]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	DWORD PTR weight[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	enterElevator, .-enterElevator
	.globl	leaveElevator__wrappee__base
	.type	leaveElevator__wrappee__base, @function
leaveElevator__wrappee__base:
.LFB26:
	.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
	cmp	DWORD PTR -4[rbp], 0
	jne	.L107
	mov	DWORD PTR persons_0[rip], 0
	jmp	.L114
.L107:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L109
	mov	DWORD PTR persons_1[rip], 0
	jmp	.L114
.L109:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L110
	mov	DWORD PTR persons_2[rip], 0
	jmp	.L114
.L110:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L111
	mov	DWORD PTR persons_3[rip], 0
	jmp	.L114
.L111:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L112
	mov	DWORD PTR persons_4[rip], 0
	jmp	.L114
.L112:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L114
	mov	DWORD PTR persons_5[rip], 0
	nop
.L114:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	leaveElevator__wrappee__base, .-leaveElevator__wrappee__base
	.globl	leaveElevator__wrappee__weight
	.type	leaveElevator__wrappee__weight, @function
leaveElevator__wrappee__weight:
.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, 24
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	leaveElevator__wrappee__base
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	getWeight
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR weight[rip]
	sub	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR weight[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	leaveElevator__wrappee__weight, .-leaveElevator__wrappee__weight
	.globl	leaveElevator
	.type	leaveElevator, @function
leaveElevator:
.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	leaveElevator__wrappee__weight
	call	isEmpty
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L120
	mov	DWORD PTR floorButtons_0[rip], 0
	mov	DWORD PTR floorButtons_1[rip], 0
	mov	DWORD PTR floorButtons_2[rip], 0
	mov	DWORD PTR floorButtons_3[rip], 0
	mov	DWORD PTR floorButtons_4[rip], 0
	nop
.L120:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	leaveElevator, .-leaveElevator
	.globl	pressInLiftFloorButton
	.type	pressInLiftFloorButton, @function
pressInLiftFloorButton:
.LFB29:
	.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	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	__utac_acc__Specification9_spec__2@PLT
	cmp	DWORD PTR -20[rbp], 0
	jne	.L122
	mov	DWORD PTR floorButtons_0[rip], 1
	jmp	.L128
.L122:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L124
	mov	DWORD PTR floorButtons_1[rip], 1
	jmp	.L128
.L124:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L125
	mov	DWORD PTR floorButtons_2[rip], 1
	jmp	.L128
.L125:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L126
	mov	DWORD PTR floorButtons_3[rip], 1
	jmp	.L128
.L126:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L128
	mov	DWORD PTR floorButtons_4[rip], 1
	nop
.L128:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	pressInLiftFloorButton, .-pressInLiftFloorButton
	.globl	resetFloorButton
	.type	resetFloorButton, @function
resetFloorButton:
.LFB30:
	.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
	cmp	DWORD PTR -4[rbp], 0
	jne	.L130
	mov	DWORD PTR floorButtons_0[rip], 0
	jmp	.L136
.L130:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L132
	mov	DWORD PTR floorButtons_1[rip], 0
	jmp	.L136
.L132:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L133
	mov	DWORD PTR floorButtons_2[rip], 0
	jmp	.L136
.L133:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L134
	mov	DWORD PTR floorButtons_3[rip], 0
	jmp	.L136
.L134:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L136
	mov	DWORD PTR floorButtons_4[rip], 0
	nop
.L136:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	resetFloorButton, .-resetFloorButton
	.globl	getCurrentFloorID
	.type	getCurrentFloorID, @function
getCurrentFloorID:
.LFB31:
	.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 currentFloorID[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	getCurrentFloorID, .-getCurrentFloorID
	.globl	areDoorsOpen
	.type	areDoorsOpen, @function
areDoorsOpen:
.LFB32:
	.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 doorState[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	areDoorsOpen, .-areDoorsOpen
	.globl	buttonForFloorIsPressed
	.type	buttonForFloorIsPressed, @function
buttonForFloorIsPressed:
.LFB33:
	.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], 0
	jne	.L142
	mov	eax, DWORD PTR floorButtons_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L143
.L142:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L144
	mov	eax, DWORD PTR floorButtons_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L143
.L144:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L145
	mov	eax, DWORD PTR floorButtons_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L143
.L145:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L146
	mov	eax, DWORD PTR floorButtons_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L143
.L146:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L147
	mov	eax, DWORD PTR floorButtons_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L143
.L147:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L143:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	buttonForFloorIsPressed, .-buttonForFloorIsPressed
	.globl	getCurrentHeading
	.type	getCurrentHeading, @function
getCurrentHeading:
.LFB34:
	.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 currentHeading[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	getCurrentHeading, .-getCurrentHeading
	.globl	isEmpty
	.type	isEmpty, @function
isEmpty:
.LFB35:
	.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 persons_0[rip]
	cmp	eax, 1
	jne	.L151
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L152
.L151:
	mov	eax, DWORD PTR persons_1[rip]
	cmp	eax, 1
	jne	.L153
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L152
.L153:
	mov	eax, DWORD PTR persons_2[rip]
	cmp	eax, 1
	jne	.L154
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L152
.L154:
	mov	eax, DWORD PTR persons_3[rip]
	cmp	eax, 1
	jne	.L155
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L152
.L155:
	mov	eax, DWORD PTR persons_4[rip]
	cmp	eax, 1
	jne	.L156
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L152
.L156:
	mov	eax, DWORD PTR persons_5[rip]
	cmp	eax, 1
	jne	.L157
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L152
.L157:
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
.L152:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	isEmpty, .-isEmpty
	.globl	anyStopRequested
	.type	anyStopRequested, @function
anyStopRequested:
.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, 32
	mov	edi, 0
	call	isFloorCalling
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L159
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L159:
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L161
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L161:
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L162
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L162:
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L163
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L163:
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L164
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L164:
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L165
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L165:
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L166
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L166:
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L167
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L167:
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L168
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L168:
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L169
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L160
.L169:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L160:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	anyStopRequested, .-anyStopRequested
	.globl	isIdle
	.type	isIdle, @function
isIdle:
.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, 16
	call	anyStopRequested
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	isIdle, .-isIdle
	.globl	stopRequestedInDirection__wrappee__empty
	.type	stopRequestedInDirection__wrappee__empty, @function
stopRequestedInDirection__wrappee__empty:
.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, 64
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	DWORD PTR -60[rbp], edx
	cmp	DWORD PTR -52[rbp], 1
	jne	.L173
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	isTopFloor
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L174
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L174:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jns	.L237
	cmp	DWORD PTR -56[rbp], 0
	je	.L238
	mov	edi, 0
	call	isFloorCalling
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L239
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L237:
	nop
	jmp	.L176
.L238:
	nop
	jmp	.L176
.L239:
	nop
.L176:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jns	.L240
	cmp	DWORD PTR -60[rbp], 0
	je	.L241
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L242
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L240:
	nop
	jmp	.L179
.L241:
	nop
	jmp	.L179
.L242:
	nop
.L179:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jg	.L243
	cmp	DWORD PTR -56[rbp], 0
	je	.L244
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L245
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L243:
	nop
	jmp	.L182
.L244:
	nop
	jmp	.L182
.L245:
	nop
.L182:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jg	.L246
	cmp	DWORD PTR -60[rbp], 0
	je	.L247
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L248
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L246:
	nop
	jmp	.L185
.L247:
	nop
	jmp	.L185
.L248:
	nop
.L185:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jg	.L249
	cmp	DWORD PTR -56[rbp], 0
	je	.L250
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L251
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L249:
	nop
	jmp	.L188
.L250:
	nop
	jmp	.L188
.L251:
	nop
.L188:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jg	.L252
	cmp	DWORD PTR -60[rbp], 0
	je	.L253
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L254
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L252:
	nop
	jmp	.L191
.L253:
	nop
	jmp	.L191
.L254:
	nop
.L191:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jg	.L255
	cmp	DWORD PTR -56[rbp], 0
	je	.L256
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L257
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L255:
	nop
	jmp	.L194
.L256:
	nop
	jmp	.L194
.L257:
	nop
.L194:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jg	.L258
	cmp	DWORD PTR -60[rbp], 0
	je	.L259
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L260
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L258:
	nop
	jmp	.L197
.L259:
	nop
	jmp	.L197
.L260:
	nop
.L197:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jg	.L261
	cmp	DWORD PTR -56[rbp], 0
	je	.L262
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L263
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L261:
	nop
	jmp	.L200
.L262:
	nop
	jmp	.L200
.L263:
	nop
.L200:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jg	.L203
	cmp	DWORD PTR -60[rbp], 0
	je	.L204
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L205
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L205:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L204:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L203:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L173:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jne	.L206
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L206:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jle	.L264
	cmp	DWORD PTR -56[rbp], 0
	je	.L265
	mov	edi, 0
	call	isFloorCalling
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L266
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L264:
	nop
	jmp	.L207
.L265:
	nop
	jmp	.L207
.L266:
	nop
.L207:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jle	.L267
	cmp	DWORD PTR -60[rbp], 0
	je	.L268
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L269
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L267:
	nop
	jmp	.L210
.L268:
	nop
	jmp	.L210
.L269:
	nop
.L210:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jle	.L270
	cmp	DWORD PTR -56[rbp], 0
	je	.L271
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	je	.L272
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L270:
	nop
	jmp	.L213
.L271:
	nop
	jmp	.L213
.L272:
	nop
.L213:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jle	.L273
	cmp	DWORD PTR -60[rbp], 0
	je	.L274
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L275
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L273:
	nop
	jmp	.L216
.L274:
	nop
	jmp	.L216
.L275:
	nop
.L216:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jle	.L276
	cmp	DWORD PTR -56[rbp], 0
	je	.L277
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L278
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L276:
	nop
	jmp	.L219
.L277:
	nop
	jmp	.L219
.L278:
	nop
.L219:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jle	.L279
	cmp	DWORD PTR -60[rbp], 0
	je	.L280
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L281
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L279:
	nop
	jmp	.L222
.L280:
	nop
	jmp	.L222
.L281:
	nop
.L222:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jle	.L282
	cmp	DWORD PTR -56[rbp], 0
	je	.L283
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L284
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L282:
	nop
	jmp	.L225
.L283:
	nop
	jmp	.L225
.L284:
	nop
.L225:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jle	.L285
	cmp	DWORD PTR -60[rbp], 0
	je	.L286
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L287
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L285:
	nop
	jmp	.L228
.L286:
	nop
	jmp	.L228
.L287:
	nop
.L228:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 4
	jle	.L288
	cmp	DWORD PTR -56[rbp], 0
	je	.L289
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L290
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L288:
	nop
	jmp	.L231
.L289:
	nop
	jmp	.L231
.L290:
	nop
.L231:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 4
	jle	.L234
	cmp	DWORD PTR -60[rbp], 0
	je	.L235
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L236
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L236:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L235:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L175
.L234:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	stopRequestedInDirection__wrappee__empty, .-stopRequestedInDirection__wrappee__empty
	.globl	stopRequestedInDirection
	.type	stopRequestedInDirection, @function
stopRequestedInDirection:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	DWORD PTR -44[rbp], edx
	mov	eax, DWORD PTR maximumWeight[rip]
	add	eax, eax
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR weight[rip]
	cmp	DWORD PTR -20[rbp], eax
	setl	al
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	call	isAnyLiftButtonPressed
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L292
	cmp	DWORD PTR -8[rbp], 0
	je	.L293
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, 0
	mov	edi, eax
	call	stopRequestedInDirection__wrappee__empty
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L294
.L293:
	mov	edx, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	stopRequestedInDirection__wrappee__empty
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L294
.L292:
	mov	edx, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, ecx
	mov	edi, eax
	call	stopRequestedInDirection__wrappee__empty
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
.L294:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	stopRequestedInDirection, .-stopRequestedInDirection
	.globl	isAnyLiftButtonPressed
	.type	isAnyLiftButtonPressed, @function
isAnyLiftButtonPressed:
.LFB40:
	.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 floorButtons_0[rip]
	test	eax, eax
	je	.L296
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L297
.L296:
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L298
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L297
.L298:
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L299
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L297
.L299:
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L300
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L297
.L300:
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L301
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L297
.L301:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L297:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	isAnyLiftButtonPressed, .-isAnyLiftButtonPressed
	.globl	continueInDirection
	.type	continueInDirection, @function
continueInDirection:
.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	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR currentHeading[rip], eax
	mov	eax, DWORD PTR currentHeading[rip]
	cmp	eax, 1
	jne	.L303
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	isTopFloor
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L304
	mov	DWORD PTR currentHeading[rip], 0
	jmp	.L304
.L303:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jne	.L304
	mov	DWORD PTR currentHeading[rip], 1
.L304:
	mov	eax, DWORD PTR currentHeading[rip]
	cmp	eax, 1
	jne	.L305
	mov	eax, DWORD PTR currentFloorID[rip]
	add	eax, 1
	mov	DWORD PTR currentFloorID[rip], eax
	jmp	.L302
.L305:
	mov	eax, DWORD PTR currentFloorID[rip]
	sub	eax, 1
	mov	DWORD PTR currentFloorID[rip], eax
	nop
.L302:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	continueInDirection, .-continueInDirection
	.globl	stopRequestedAtCurrentFloor__wrappee__empty
	.type	stopRequestedAtCurrentFloor__wrappee__empty, @function
stopRequestedAtCurrentFloor__wrappee__empty:
.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, 16
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	isFloorCalling
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L309
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L310
.L309:
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	buttonForFloorIsPressed
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L311
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L310
.L311:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L310:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	stopRequestedAtCurrentFloor__wrappee__empty, .-stopRequestedAtCurrentFloor__wrappee__empty
	.globl	stopRequestedAtCurrentFloor
	.type	stopRequestedAtCurrentFloor, @function
stopRequestedAtCurrentFloor:
.LFB43:
	.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 maximumWeight[rip]
	add	eax, eax
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1431655766
	shr	rdx, 32
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR weight[rip]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L313
	call	getCurrentFloorID
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	buttonForFloorIsPressed
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 1
	sete	al
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L314
.L313:
	call	stopRequestedAtCurrentFloor__wrappee__empty
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
.L314:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	stopRequestedAtCurrentFloor, .-stopRequestedAtCurrentFloor
	.globl	getReverseHeading
	.type	getReverseHeading, @function
getReverseHeading:
.LFB44:
	.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], 0
	jne	.L316
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L317
.L316:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L317:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	getReverseHeading, .-getReverseHeading
	.globl	processWaitingOnFloor
	.type	processWaitingOnFloor, @function
processWaitingOnFloor:
.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, 64
	mov	DWORD PTR -52[rbp], edi
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 0
	call	isPersonOnFloor
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L319
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 0
	call	removePersonFromFloor
	mov	edi, 0
	call	getDestination
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	pressInLiftFloorButton
	mov	edi, 0
	call	enterElevator
.L319:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 1
	call	isPersonOnFloor
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	je	.L320
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 1
	call	removePersonFromFloor
	mov	edi, 1
	call	getDestination
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	pressInLiftFloorButton
	mov	edi, 1
	call	enterElevator
.L320:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 2
	call	isPersonOnFloor
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L321
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 2
	call	removePersonFromFloor
	mov	edi, 2
	call	getDestination
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	pressInLiftFloorButton
	mov	edi, 2
	call	enterElevator
.L321:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 3
	call	isPersonOnFloor
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L322
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 3
	call	removePersonFromFloor
	mov	edi, 3
	call	getDestination
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	pressInLiftFloorButton
	mov	edi, 3
	call	enterElevator
.L322:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 4
	call	isPersonOnFloor
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L323
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 4
	call	removePersonFromFloor
	mov	edi, 4
	call	getDestination
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	pressInLiftFloorButton
	mov	edi, 4
	call	enterElevator
.L323:
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 5
	call	isPersonOnFloor
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L324
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	mov	edi, 5
	call	removePersonFromFloor
	mov	edi, 5
	call	getDestination
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	pressInLiftFloorButton
	mov	edi, 5
	call	enterElevator
.L324:
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	resetCallOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	processWaitingOnFloor, .-processWaitingOnFloor
	.globl	timeShift__wrappee__twothirdsfull
	.type	timeShift__wrappee__twothirdsfull, @function
timeShift__wrappee__twothirdsfull:
.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, 48
	call	stopRequestedAtCurrentFloor
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L327
	mov	DWORD PTR doorState[rip], 1
	mov	eax, DWORD PTR persons_0[rip]
	test	eax, eax
	je	.L328
	mov	edi, 0
	call	getDestination
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L328
	mov	edi, 0
	call	leaveElevator
.L328:
	mov	eax, DWORD PTR persons_1[rip]
	test	eax, eax
	je	.L329
	mov	edi, 1
	call	getDestination
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L329
	mov	edi, 1
	call	leaveElevator
.L329:
	mov	eax, DWORD PTR persons_2[rip]
	test	eax, eax
	je	.L330
	mov	edi, 2
	call	getDestination
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -16[rbp], eax
	jne	.L330
	mov	edi, 2
	call	leaveElevator
.L330:
	mov	eax, DWORD PTR persons_3[rip]
	test	eax, eax
	je	.L331
	mov	edi, 3
	call	getDestination
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L331
	mov	edi, 3
	call	leaveElevator
.L331:
	mov	eax, DWORD PTR persons_4[rip]
	test	eax, eax
	je	.L332
	mov	edi, 4
	call	getDestination
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L332
	mov	edi, 4
	call	leaveElevator
.L332:
	mov	eax, DWORD PTR persons_5[rip]
	test	eax, eax
	je	.L333
	mov	edi, 5
	call	getDestination
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L333
	mov	edi, 5
	call	leaveElevator
.L333:
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	processWaitingOnFloor
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	resetFloorButton
	jmp	.L326
.L327:
	mov	eax, DWORD PTR doorState[rip]
	cmp	eax, 1
	jne	.L335
	mov	DWORD PTR doorState[rip], 0
.L335:
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edx, 1
	mov	esi, 1
	mov	edi, eax
	call	stopRequestedInDirection
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	je	.L336
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edi, eax
	call	continueInDirection
	jmp	.L326
.L336:
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edi, eax
	call	getReverseHeading
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	mov	edx, 1
	mov	esi, 1
	mov	edi, eax
	call	stopRequestedInDirection
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L337
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edi, eax
	call	getReverseHeading
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	continueInDirection
	jmp	.L326
.L337:
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edi, eax
	call	continueInDirection
	nop
.L326:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	timeShift__wrappee__twothirdsfull, .-timeShift__wrappee__twothirdsfull
	.globl	timeShift
	.type	timeShift, @function
timeShift:
.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, 16
	call	areDoorsOpen
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L340
	mov	edx, DWORD PTR weight[rip]
	mov	eax, DWORD PTR maximumWeight[rip]
	cmp	edx, eax
	jle	.L341
	mov	DWORD PTR blocked[rip], 1
	jmp	.L342
.L341:
	mov	DWORD PTR blocked[rip], 0
	call	timeShift__wrappee__twothirdsfull
	jmp	.L342
.L340:
	mov	DWORD PTR blocked[rip], 0
	call	timeShift__wrappee__twothirdsfull
.L342:
	call	__utac_acc__Specification9_spec__3@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	timeShift, .-timeShift
	.section	.rodata
.LC4:
	.string	"Elevator "
.LC5:
	.string	"[_]"
.LC6:
	.string	"[] "
.LC7:
	.string	" at "
.LC8:
	.string	"%i"
.LC9:
	.string	" heading "
.LC10:
	.string	"up"
.LC11:
	.string	"down"
.LC12:
	.string	" IL_p:"
.LC13:
	.string	" %i"
.LC14:
	.string	" F_p:"
.LC15:
	.string	"\n"
	.text
	.globl	printState__wrappee__twothirdsfull
	.type	printState__wrappee__twothirdsfull, @function
printState__wrappee__twothirdsfull:
.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, 192
	lea	rax, .LC4[rip]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR doorState[rip]
	test	eax, eax
	je	.L345
	lea	rax, .LC5[rip]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	jmp	.L346
.L345:
	lea	rax, .LC6[rip]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L346:
	lea	rax, .LC7[rip]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	lea	rax, .LC8[rip]
	mov	QWORD PTR -136[rbp], rax
	mov	edx, DWORD PTR currentFloorID[rip]
	mov	rax, QWORD PTR -136[rbp]
	mov	esi, edx
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	lea	rax, .LC9[rip]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR currentHeading[rip]
	test	eax, eax
	je	.L347
	lea	rax, .LC10[rip]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	jmp	.L348
.L347:
	lea	rax, .LC11[rip]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L348:
	lea	rax, .LC12[rip]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L349
	lea	rax, .LC13[rip]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L349:
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L350
	lea	rax, .LC13[rip]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 1
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L350:
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L351
	lea	rax, .LC13[rip]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 2
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L351:
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L352
	lea	rax, .LC13[rip]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 3
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L352:
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L353
	lea	rax, .LC13[rip]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, 4
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L353:
	lea	rax, .LC14[rip]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	isFloorCalling
	mov	DWORD PTR -188[rbp], eax
	cmp	DWORD PTR -188[rbp], 0
	je	.L354
	lea	rax, .LC13[rip]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L354:
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], 0
	je	.L355
	lea	rax, .LC13[rip]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L355:
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	je	.L356
	lea	rax, .LC13[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 2
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L356:
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -176[rbp], eax
	cmp	DWORD PTR -176[rbp], 0
	je	.L357
	lea	rax, .LC13[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 3
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L357:
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	je	.L358
	lea	rax, .LC13[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 4
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L358:
	lea	rax, .LC15[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	printState__wrappee__twothirdsfull, .-printState__wrappee__twothirdsfull
	.section	.rodata
.LC16:
	.string	"Blocked "
	.text
	.globl	printState
	.type	printState, @function
printState:
.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
	call	isBlocked
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L361
	lea	rax, .LC16[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L361:
	call	printState__wrappee__twothirdsfull
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	printState, .-printState
	.globl	existInLiftCallsInDirection
	.type	existInLiftCallsInDirection, @function
existInLiftCallsInDirection:
.LFB50:
	.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	.L364
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR currentFloorID[rip]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
.L365:
	cmp	DWORD PTR -12[rbp], 4
	jg	.L395
	cmp	DWORD PTR -12[rbp], 0
	jne	.L396
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L397
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L396:
	nop
	jmp	.L368
.L397:
	nop
.L368:
	cmp	DWORD PTR -12[rbp], 1
	jne	.L398
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L399
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L398:
	nop
	jmp	.L371
.L399:
	nop
.L371:
	cmp	DWORD PTR -12[rbp], 2
	jne	.L400
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L401
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L400:
	nop
	jmp	.L373
.L401:
	nop
.L373:
	cmp	DWORD PTR -12[rbp], 3
	jne	.L402
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L403
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L402:
	nop
	jmp	.L375
.L403:
	nop
.L375:
	cmp	DWORD PTR -12[rbp], 4
	jne	.L377
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L377
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L377:
	add	DWORD PTR -12[rbp], 1
	jmp	.L365
.L367:
.L364:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L378
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR currentFloorID[rip]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L379:
	cmp	DWORD PTR -8[rbp], 0
	js	.L404
	mov	eax, DWORD PTR currentFloorID[rip]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L382:
	cmp	DWORD PTR -8[rbp], 4
	jg	.L405
	cmp	DWORD PTR -8[rbp], 0
	jne	.L406
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L407
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L406:
	nop
	jmp	.L385
.L407:
	nop
.L385:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L408
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L409
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L408:
	nop
	jmp	.L387
.L409:
	nop
.L387:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L410
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L411
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L410:
	nop
	jmp	.L389
.L411:
	nop
.L389:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L412
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L413
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L412:
	nop
	jmp	.L391
.L413:
	nop
.L391:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L393
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L393
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L370
.L393:
	add	DWORD PTR -8[rbp], 1
	jmp	.L382
.L405:
	nop
.L384:
	sub	DWORD PTR -8[rbp], 1
	jmp	.L379
.L381:
.L395:
	nop
	jmp	.L378
.L404:
	nop
.L378:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L370:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	existInLiftCallsInDirection, .-existInLiftCallsInDirection
	.globl	calls_0
	.bss
	.align 4
	.type	calls_0, @object
	.size	calls_0, 4
calls_0:
	.zero	4
	.globl	calls_1
	.align 4
	.type	calls_1, @object
	.size	calls_1, 4
calls_1:
	.zero	4
	.globl	calls_2
	.align 4
	.type	calls_2, @object
	.size	calls_2, 4
calls_2:
	.zero	4
	.globl	calls_3
	.align 4
	.type	calls_3, @object
	.size	calls_3, 4
calls_3:
	.zero	4
	.globl	calls_4
	.align 4
	.type	calls_4, @object
	.size	calls_4, 4
calls_4:
	.zero	4
	.globl	personOnFloor_0_0
	.align 4
	.type	personOnFloor_0_0, @object
	.size	personOnFloor_0_0, 4
personOnFloor_0_0:
	.zero	4
	.globl	personOnFloor_0_1
	.align 4
	.type	personOnFloor_0_1, @object
	.size	personOnFloor_0_1, 4
personOnFloor_0_1:
	.zero	4
	.globl	personOnFloor_0_2
	.align 4
	.type	personOnFloor_0_2, @object
	.size	personOnFloor_0_2, 4
personOnFloor_0_2:
	.zero	4
	.globl	personOnFloor_0_3
	.align 4
	.type	personOnFloor_0_3, @object
	.size	personOnFloor_0_3, 4
personOnFloor_0_3:
	.zero	4
	.globl	personOnFloor_0_4
	.align 4
	.type	personOnFloor_0_4, @object
	.size	personOnFloor_0_4, 4
personOnFloor_0_4:
	.zero	4
	.globl	personOnFloor_1_0
	.align 4
	.type	personOnFloor_1_0, @object
	.size	personOnFloor_1_0, 4
personOnFloor_1_0:
	.zero	4
	.globl	personOnFloor_1_1
	.align 4
	.type	personOnFloor_1_1, @object
	.size	personOnFloor_1_1, 4
personOnFloor_1_1:
	.zero	4
	.globl	personOnFloor_1_2
	.align 4
	.type	personOnFloor_1_2, @object
	.size	personOnFloor_1_2, 4
personOnFloor_1_2:
	.zero	4
	.globl	personOnFloor_1_3
	.align 4
	.type	personOnFloor_1_3, @object
	.size	personOnFloor_1_3, 4
personOnFloor_1_3:
	.zero	4
	.globl	personOnFloor_1_4
	.align 4
	.type	personOnFloor_1_4, @object
	.size	personOnFloor_1_4, 4
personOnFloor_1_4:
	.zero	4
	.globl	personOnFloor_2_0
	.align 4
	.type	personOnFloor_2_0, @object
	.size	personOnFloor_2_0, 4
personOnFloor_2_0:
	.zero	4
	.globl	personOnFloor_2_1
	.align 4
	.type	personOnFloor_2_1, @object
	.size	personOnFloor_2_1, 4
personOnFloor_2_1:
	.zero	4
	.globl	personOnFloor_2_2
	.align 4
	.type	personOnFloor_2_2, @object
	.size	personOnFloor_2_2, 4
personOnFloor_2_2:
	.zero	4
	.globl	personOnFloor_2_3
	.align 4
	.type	personOnFloor_2_3, @object
	.size	personOnFloor_2_3, 4
personOnFloor_2_3:
	.zero	4
	.globl	personOnFloor_2_4
	.align 4
	.type	personOnFloor_2_4, @object
	.size	personOnFloor_2_4, 4
personOnFloor_2_4:
	.zero	4
	.globl	personOnFloor_3_0
	.align 4
	.type	personOnFloor_3_0, @object
	.size	personOnFloor_3_0, 4
personOnFloor_3_0:
	.zero	4
	.globl	personOnFloor_3_1
	.align 4
	.type	personOnFloor_3_1, @object
	.size	personOnFloor_3_1, 4
personOnFloor_3_1:
	.zero	4
	.globl	personOnFloor_3_2
	.align 4
	.type	personOnFloor_3_2, @object
	.size	personOnFloor_3_2, 4
personOnFloor_3_2:
	.zero	4
	.globl	personOnFloor_3_3
	.align 4
	.type	personOnFloor_3_3, @object
	.size	personOnFloor_3_3, 4
personOnFloor_3_3:
	.zero	4
	.globl	personOnFloor_3_4
	.align 4
	.type	personOnFloor_3_4, @object
	.size	personOnFloor_3_4, 4
personOnFloor_3_4:
	.zero	4
	.globl	personOnFloor_4_0
	.align 4
	.type	personOnFloor_4_0, @object
	.size	personOnFloor_4_0, 4
personOnFloor_4_0:
	.zero	4
	.globl	personOnFloor_4_1
	.align 4
	.type	personOnFloor_4_1, @object
	.size	personOnFloor_4_1, 4
personOnFloor_4_1:
	.zero	4
	.globl	personOnFloor_4_2
	.align 4
	.type	personOnFloor_4_2, @object
	.size	personOnFloor_4_2, 4
personOnFloor_4_2:
	.zero	4
	.globl	personOnFloor_4_3
	.align 4
	.type	personOnFloor_4_3, @object
	.size	personOnFloor_4_3, 4
personOnFloor_4_3:
	.zero	4
	.globl	personOnFloor_4_4
	.align 4
	.type	personOnFloor_4_4, @object
	.size	personOnFloor_4_4, 4
personOnFloor_4_4:
	.zero	4
	.globl	personOnFloor_5_0
	.align 4
	.type	personOnFloor_5_0, @object
	.size	personOnFloor_5_0, 4
personOnFloor_5_0:
	.zero	4
	.globl	personOnFloor_5_1
	.align 4
	.type	personOnFloor_5_1, @object
	.size	personOnFloor_5_1, 4
personOnFloor_5_1:
	.zero	4
	.globl	personOnFloor_5_2
	.align 4
	.type	personOnFloor_5_2, @object
	.size	personOnFloor_5_2, 4
personOnFloor_5_2:
	.zero	4
	.globl	personOnFloor_5_3
	.align 4
	.type	personOnFloor_5_3, @object
	.size	personOnFloor_5_3, 4
personOnFloor_5_3:
	.zero	4
	.globl	personOnFloor_5_4
	.align 4
	.type	personOnFloor_5_4, @object
	.size	personOnFloor_5_4, 4
personOnFloor_5_4:
	.zero	4
	.text
	.globl	initFloors
	.type	initFloors, @function
initFloors:
.LFB51:
	.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 calls_0[rip], 0
	mov	DWORD PTR calls_1[rip], 0
	mov	DWORD PTR calls_2[rip], 0
	mov	DWORD PTR calls_3[rip], 0
	mov	DWORD PTR calls_4[rip], 0
	mov	DWORD PTR personOnFloor_0_0[rip], 0
	mov	DWORD PTR personOnFloor_0_1[rip], 0
	mov	DWORD PTR personOnFloor_0_2[rip], 0
	mov	DWORD PTR personOnFloor_0_3[rip], 0
	mov	DWORD PTR personOnFloor_0_4[rip], 0
	mov	DWORD PTR personOnFloor_1_0[rip], 0
	mov	DWORD PTR personOnFloor_1_1[rip], 0
	mov	DWORD PTR personOnFloor_1_2[rip], 0
	mov	DWORD PTR personOnFloor_1_3[rip], 0
	mov	DWORD PTR personOnFloor_1_4[rip], 0
	mov	DWORD PTR personOnFloor_2_0[rip], 0
	mov	DWORD PTR personOnFloor_2_1[rip], 0
	mov	DWORD PTR personOnFloor_2_2[rip], 0
	mov	DWORD PTR personOnFloor_2_3[rip], 0
	mov	DWORD PTR personOnFloor_2_4[rip], 0
	mov	DWORD PTR personOnFloor_3_0[rip], 0
	mov	DWORD PTR personOnFloor_3_1[rip], 0
	mov	DWORD PTR personOnFloor_3_2[rip], 0
	mov	DWORD PTR personOnFloor_3_3[rip], 0
	mov	DWORD PTR personOnFloor_3_4[rip], 0
	mov	DWORD PTR personOnFloor_4_0[rip], 0
	mov	DWORD PTR personOnFloor_4_1[rip], 0
	mov	DWORD PTR personOnFloor_4_2[rip], 0
	mov	DWORD PTR personOnFloor_4_3[rip], 0
	mov	DWORD PTR personOnFloor_4_4[rip], 0
	mov	DWORD PTR personOnFloor_5_0[rip], 0
	mov	DWORD PTR personOnFloor_5_1[rip], 0
	mov	DWORD PTR personOnFloor_5_2[rip], 0
	mov	DWORD PTR personOnFloor_5_3[rip], 0
	mov	DWORD PTR personOnFloor_5_4[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	initFloors, .-initFloors
	.globl	isFloorCalling
	.type	isFloorCalling, @function
isFloorCalling:
.LFB52:
	.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], 0
	jne	.L417
	mov	eax, DWORD PTR calls_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L418
.L417:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L419
	mov	eax, DWORD PTR calls_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L418
.L419:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L420
	mov	eax, DWORD PTR calls_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L418
.L420:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L421
	mov	eax, DWORD PTR calls_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L418
.L421:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L422
	mov	eax, DWORD PTR calls_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L418
.L422:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L418:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	isFloorCalling, .-isFloorCalling
	.globl	resetCallOnFloor
	.type	resetCallOnFloor, @function
resetCallOnFloor:
.LFB53:
	.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
	cmp	DWORD PTR -4[rbp], 0
	jne	.L424
	mov	DWORD PTR calls_0[rip], 0
	jmp	.L430
.L424:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L426
	mov	DWORD PTR calls_1[rip], 0
	jmp	.L430
.L426:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L427
	mov	DWORD PTR calls_2[rip], 0
	jmp	.L430
.L427:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L428
	mov	DWORD PTR calls_3[rip], 0
	jmp	.L430
.L428:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L430
	mov	DWORD PTR calls_4[rip], 0
	nop
.L430:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	resetCallOnFloor, .-resetCallOnFloor
	.globl	callOnFloor
	.type	callOnFloor, @function
callOnFloor:
.LFB54:
	.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
	cmp	DWORD PTR -4[rbp], 0
	jne	.L432
	mov	DWORD PTR calls_0[rip], 1
	jmp	.L438
.L432:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L434
	mov	DWORD PTR calls_1[rip], 1
	jmp	.L438
.L434:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L435
	mov	DWORD PTR calls_2[rip], 1
	jmp	.L438
.L435:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L436
	mov	DWORD PTR calls_3[rip], 1
	jmp	.L438
.L436:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L438
	mov	DWORD PTR calls_4[rip], 1
	nop
.L438:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	callOnFloor, .-callOnFloor
	.globl	isPersonOnFloor
	.type	isPersonOnFloor, @function
isPersonOnFloor:
.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 -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -24[rbp], 0
	jne	.L440
	cmp	DWORD PTR -20[rbp], 0
	jne	.L441
	mov	eax, DWORD PTR personOnFloor_0_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L441:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L443
	mov	eax, DWORD PTR personOnFloor_1_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L443:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L444
	mov	eax, DWORD PTR personOnFloor_2_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L444:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L445
	mov	eax, DWORD PTR personOnFloor_3_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L445:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L446
	mov	eax, DWORD PTR personOnFloor_4_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L446:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L447
	mov	eax, DWORD PTR personOnFloor_5_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L440:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L448
	cmp	DWORD PTR -20[rbp], 0
	jne	.L449
	mov	eax, DWORD PTR personOnFloor_0_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L449:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L450
	mov	eax, DWORD PTR personOnFloor_1_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L450:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L451
	mov	eax, DWORD PTR personOnFloor_2_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L451:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L452
	mov	eax, DWORD PTR personOnFloor_3_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L452:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L453
	mov	eax, DWORD PTR personOnFloor_4_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L453:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L447
	mov	eax, DWORD PTR personOnFloor_5_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L448:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L454
	cmp	DWORD PTR -20[rbp], 0
	jne	.L455
	mov	eax, DWORD PTR personOnFloor_0_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L455:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L456
	mov	eax, DWORD PTR personOnFloor_1_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L456:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L457
	mov	eax, DWORD PTR personOnFloor_2_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L457:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L458
	mov	eax, DWORD PTR personOnFloor_3_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L458:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L459
	mov	eax, DWORD PTR personOnFloor_4_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L459:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L447
	mov	eax, DWORD PTR personOnFloor_5_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L454:
	cmp	DWORD PTR -24[rbp], 3
	jne	.L460
	cmp	DWORD PTR -20[rbp], 0
	jne	.L461
	mov	eax, DWORD PTR personOnFloor_0_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L461:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L462
	mov	eax, DWORD PTR personOnFloor_1_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L462:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L463
	mov	eax, DWORD PTR personOnFloor_2_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L463:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L464
	mov	eax, DWORD PTR personOnFloor_3_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L464:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L465
	mov	eax, DWORD PTR personOnFloor_4_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L465:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L447
	mov	eax, DWORD PTR personOnFloor_5_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L460:
	cmp	DWORD PTR -24[rbp], 4
	jne	.L447
	cmp	DWORD PTR -20[rbp], 0
	jne	.L466
	mov	eax, DWORD PTR personOnFloor_0_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L466:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L467
	mov	eax, DWORD PTR personOnFloor_1_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L467:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L468
	mov	eax, DWORD PTR personOnFloor_2_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L468:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L469
	mov	eax, DWORD PTR personOnFloor_3_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L469:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L470
	mov	eax, DWORD PTR personOnFloor_4_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L470:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L447
	mov	eax, DWORD PTR personOnFloor_5_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L442
.L447:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L442:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	isPersonOnFloor, .-isPersonOnFloor
	.globl	initPersonOnFloor
	.type	initPersonOnFloor, @function
initPersonOnFloor:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	jne	.L472
	cmp	DWORD PTR -4[rbp], 0
	jne	.L473
	mov	DWORD PTR personOnFloor_0_0[rip], 1
	jmp	.L474
.L473:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L475
	mov	DWORD PTR personOnFloor_1_0[rip], 1
	jmp	.L474
.L475:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L476
	mov	DWORD PTR personOnFloor_2_0[rip], 1
	jmp	.L474
.L476:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L477
	mov	DWORD PTR personOnFloor_3_0[rip], 1
	jmp	.L474
.L477:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L478
	mov	DWORD PTR personOnFloor_4_0[rip], 1
	jmp	.L474
.L478:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L474
	mov	DWORD PTR personOnFloor_5_0[rip], 1
	jmp	.L474
.L472:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L479
	cmp	DWORD PTR -4[rbp], 0
	jne	.L480
	mov	DWORD PTR personOnFloor_0_1[rip], 1
	jmp	.L474
.L480:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L481
	mov	DWORD PTR personOnFloor_1_1[rip], 1
	jmp	.L474
.L481:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L482
	mov	DWORD PTR personOnFloor_2_1[rip], 1
	jmp	.L474
.L482:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L483
	mov	DWORD PTR personOnFloor_3_1[rip], 1
	jmp	.L474
.L483:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L484
	mov	DWORD PTR personOnFloor_4_1[rip], 1
	jmp	.L474
.L484:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L474
	mov	DWORD PTR personOnFloor_5_1[rip], 1
	jmp	.L474
.L479:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L485
	cmp	DWORD PTR -4[rbp], 0
	jne	.L486
	mov	DWORD PTR personOnFloor_0_2[rip], 1
	jmp	.L474
.L486:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L487
	mov	DWORD PTR personOnFloor_1_2[rip], 1
	jmp	.L474
.L487:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L488
	mov	DWORD PTR personOnFloor_2_2[rip], 1
	jmp	.L474
.L488:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L489
	mov	DWORD PTR personOnFloor_3_2[rip], 1
	jmp	.L474
.L489:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L490
	mov	DWORD PTR personOnFloor_4_2[rip], 1
	jmp	.L474
.L490:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L474
	mov	DWORD PTR personOnFloor_5_2[rip], 1
	jmp	.L474
.L485:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L491
	cmp	DWORD PTR -4[rbp], 0
	jne	.L492
	mov	DWORD PTR personOnFloor_0_3[rip], 1
	jmp	.L474
.L492:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L493
	mov	DWORD PTR personOnFloor_1_3[rip], 1
	jmp	.L474
.L493:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L494
	mov	DWORD PTR personOnFloor_2_3[rip], 1
	jmp	.L474
.L494:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L495
	mov	DWORD PTR personOnFloor_3_3[rip], 1
	jmp	.L474
.L495:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L496
	mov	DWORD PTR personOnFloor_4_3[rip], 1
	jmp	.L474
.L496:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L474
	mov	DWORD PTR personOnFloor_5_3[rip], 1
	jmp	.L474
.L491:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L474
	cmp	DWORD PTR -4[rbp], 0
	jne	.L497
	mov	DWORD PTR personOnFloor_0_4[rip], 1
	jmp	.L474
.L497:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L498
	mov	DWORD PTR personOnFloor_1_4[rip], 1
	jmp	.L474
.L498:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L499
	mov	DWORD PTR personOnFloor_2_4[rip], 1
	jmp	.L474
.L499:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L500
	mov	DWORD PTR personOnFloor_3_4[rip], 1
	jmp	.L474
.L500:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L501
	mov	DWORD PTR personOnFloor_4_4[rip], 1
	jmp	.L474
.L501:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L474
	mov	DWORD PTR personOnFloor_5_4[rip], 1
.L474:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	callOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	initPersonOnFloor, .-initPersonOnFloor
	.globl	removePersonFromFloor
	.type	removePersonFromFloor, @function
removePersonFromFloor:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	jne	.L504
	cmp	DWORD PTR -4[rbp], 0
	jne	.L505
	mov	DWORD PTR personOnFloor_0_0[rip], 0
	jmp	.L506
.L505:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L507
	mov	DWORD PTR personOnFloor_1_0[rip], 0
	jmp	.L506
.L507:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L508
	mov	DWORD PTR personOnFloor_2_0[rip], 0
	jmp	.L506
.L508:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L509
	mov	DWORD PTR personOnFloor_3_0[rip], 0
	jmp	.L506
.L509:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L510
	mov	DWORD PTR personOnFloor_4_0[rip], 0
	jmp	.L506
.L510:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L506
	mov	DWORD PTR personOnFloor_5_0[rip], 0
	jmp	.L506
.L504:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L511
	cmp	DWORD PTR -4[rbp], 0
	jne	.L512
	mov	DWORD PTR personOnFloor_0_1[rip], 0
	jmp	.L506
.L512:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L513
	mov	DWORD PTR personOnFloor_1_1[rip], 0
	jmp	.L506
.L513:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L514
	mov	DWORD PTR personOnFloor_2_1[rip], 0
	jmp	.L506
.L514:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L515
	mov	DWORD PTR personOnFloor_3_1[rip], 0
	jmp	.L506
.L515:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L516
	mov	DWORD PTR personOnFloor_4_1[rip], 0
	jmp	.L506
.L516:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L506
	mov	DWORD PTR personOnFloor_5_1[rip], 0
	jmp	.L506
.L511:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L517
	cmp	DWORD PTR -4[rbp], 0
	jne	.L518
	mov	DWORD PTR personOnFloor_0_2[rip], 0
	jmp	.L506
.L518:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L519
	mov	DWORD PTR personOnFloor_1_2[rip], 0
	jmp	.L506
.L519:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L520
	mov	DWORD PTR personOnFloor_2_2[rip], 0
	jmp	.L506
.L520:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L521
	mov	DWORD PTR personOnFloor_3_2[rip], 0
	jmp	.L506
.L521:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L522
	mov	DWORD PTR personOnFloor_4_2[rip], 0
	jmp	.L506
.L522:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L506
	mov	DWORD PTR personOnFloor_5_2[rip], 0
	jmp	.L506
.L517:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L523
	cmp	DWORD PTR -4[rbp], 0
	jne	.L524
	mov	DWORD PTR personOnFloor_0_3[rip], 0
	jmp	.L506
.L524:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L525
	mov	DWORD PTR personOnFloor_1_3[rip], 0
	jmp	.L506
.L525:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L526
	mov	DWORD PTR personOnFloor_2_3[rip], 0
	jmp	.L506
.L526:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L527
	mov	DWORD PTR personOnFloor_3_3[rip], 0
	jmp	.L506
.L527:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L528
	mov	DWORD PTR personOnFloor_4_3[rip], 0
	jmp	.L506
.L528:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L506
	mov	DWORD PTR personOnFloor_5_3[rip], 0
	jmp	.L506
.L523:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L506
	cmp	DWORD PTR -4[rbp], 0
	jne	.L529
	mov	DWORD PTR personOnFloor_0_4[rip], 0
	jmp	.L506
.L529:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L530
	mov	DWORD PTR personOnFloor_1_4[rip], 0
	jmp	.L506
.L530:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L531
	mov	DWORD PTR personOnFloor_2_4[rip], 0
	jmp	.L506
.L531:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L532
	mov	DWORD PTR personOnFloor_3_4[rip], 0
	jmp	.L506
.L532:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L533
	mov	DWORD PTR personOnFloor_4_4[rip], 0
	jmp	.L506
.L533:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L506
	mov	DWORD PTR personOnFloor_5_4[rip], 0
.L506:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	resetCallOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	removePersonFromFloor, .-removePersonFromFloor
	.globl	isTopFloor
	.type	isTopFloor, @function
isTopFloor:
.LFB58:
	.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], 4
	sete	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	isTopFloor, .-isTopFloor
	.globl	get_nondetMinMax07
	.type	get_nondetMinMax07, @function
get_nondetMinMax07:
.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, 16
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jne	.L538
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L538:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L540
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L540:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L541
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L541:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L542
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L542:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L543
	mov	DWORD PTR -4[rbp], 4
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L543:
	cmp	DWORD PTR -8[rbp], 5
	jne	.L544
	mov	DWORD PTR -4[rbp], 5
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L544:
	cmp	DWORD PTR -8[rbp], 6
	jne	.L545
	mov	DWORD PTR -4[rbp], 6
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L545:
	cmp	DWORD PTR -8[rbp], 7
	jne	.L546
	mov	DWORD PTR -4[rbp], 7
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L539
.L546:
	mov	edi, 0
	call	exit@PLT
.L539:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	get_nondetMinMax07, .-get_nondetMinMax07
	.globl	bobCall
	.type	bobCall, @function
bobCall:
.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	edi, 0
	call	getOrigin
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	edi, 0
	call	initPersonOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	bobCall, .-bobCall
	.globl	aliceCall
	.type	aliceCall, @function
aliceCall:
.LFB61:
	.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	edi, 1
	call	getOrigin
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	edi, 1
	call	initPersonOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	aliceCall, .-aliceCall
	.globl	angelinaCall
	.type	angelinaCall, @function
angelinaCall:
.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, 16
	mov	edi, 2
	call	getOrigin
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	edi, 2
	call	initPersonOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	angelinaCall, .-angelinaCall
	.globl	chuckCall
	.type	chuckCall, @function
chuckCall:
.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, 16
	mov	edi, 3
	call	getOrigin
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	edi, 3
	call	initPersonOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	chuckCall, .-chuckCall
	.globl	monicaCall
	.type	monicaCall, @function
monicaCall:
.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	edi, 4
	call	getOrigin
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	edi, 4
	call	initPersonOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	monicaCall, .-monicaCall
	.globl	bigMacCall
	.type	bigMacCall, @function
bigMacCall:
.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	edi, 5
	call	getOrigin
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	mov	edi, 5
	call	initPersonOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	bigMacCall, .-bigMacCall
	.globl	threeTS
	.type	threeTS, @function
threeTS:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	timeShift
	call	timeShift
	call	timeShift
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	threeTS, .-threeTS
	.globl	cleanup
	.type	cleanup, @function
cleanup:
.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
	call	timeShift
	mov	DWORD PTR -16[rbp], 0
.L562:
	mov	eax, DWORD PTR cleanupTimeShifts[rip]
	sub	eax, 1
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jge	.L568
	call	isBlocked
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 1
	je	.L569
	call	isIdle
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L570
	call	timeShift
	add	DWORD PTR -16[rbp], 1
	jmp	.L562
.L568:
	nop
	jmp	.L561
.L569:
	nop
.L565:
	jmp	.L561
.L570:
	nop
.L561:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	cleanup, .-cleanup
	.globl	randomSequenceOfActions
	.type	randomSequenceOfActions, @function
randomSequenceOfActions:
.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, 32
	mov	DWORD PTR -28[rbp], 4
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L572
	call	initTopDown
	jmp	.L573
.L572:
	call	initBottomUp
.L573:
	mov	DWORD PTR -32[rbp], 0
.L574:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jge	.L583
	add	DWORD PTR -32[rbp], 1
	call	get_nondetMinMax07
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 5
	jg	.L577
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	getOrigin
	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 -16[rbp]
	mov	esi, edx
	mov	edi, eax
	call	initPersonOnFloor
	jmp	.L578
.L577:
	cmp	DWORD PTR -16[rbp], 6
	jne	.L579
	call	timeShift
	jmp	.L578
.L579:
	cmp	DWORD PTR -16[rbp], 7
	jne	.L578
	call	timeShift
	call	timeShift
	call	timeShift
.L578:
	call	isBlocked
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L584
	jmp	.L574
.L583:
	nop
.L576:
	call	cleanup
	jmp	.L571
.L584:
	nop
.L571:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	randomSequenceOfActions, .-randomSequenceOfActions
	.globl	runTest_Simple
	.type	runTest_Simple, @function
runTest_Simple:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	bigMacCall
	call	angelinaCall
	call	cleanup
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	runTest_Simple, .-runTest_Simple
	.globl	Specification1
	.type	Specification1, @function
Specification1:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	bigMacCall
	call	angelinaCall
	call	cleanup
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	Specification1, .-Specification1
	.globl	Specification2
	.type	Specification2, @function
Specification2:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	bigMacCall
	call	cleanup
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	Specification2, .-Specification2
	.globl	Specification3
	.type	Specification3, @function
Specification3:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	bobCall
	call	timeShift
	call	timeShift
	call	timeShift
	call	timeShift
	call	timeShift
	call	bobCall
	call	cleanup
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	Specification3, .-Specification3
	.globl	setup
	.type	setup, @function
setup:
.LFB73:
	.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
.LFE73:
	.size	setup, .-setup
	.globl	runTest
	.type	runTest, @function
runTest:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	__utac_acc__Specification9_spec__1@PLT
	call	test
	call	__utac_acc__Specification9_spec__4@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	runTest, .-runTest
	.globl	main
	.type	main, @function
main:
.LFB75:
	.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	select_helpers
	call	select_features
	call	valid_product
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L598
	call	setup
	call	runTest
.L598:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	main, .-main
	.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	"560637.c"
	.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]
.L4:
	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	.L9
	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	.L4
.L9:
	nop
.L6:
	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]
.L11:
	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	.L16
	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	.L11
.L16:
	nop
.L13:
	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	.L18
	ldr	r3, [fp, #-84]
	b	.L19
.L18:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L20
	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, .L29
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r2, .L29
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L19
.L20:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L21
	ldr	r3, .L29
	ldr	r3, [r3]
	str	r3, [fp, #-88]
.L22:
	ldr	r3, [fp, #-104]
	cmp	r3, #1
	ble	.L28
	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	.L22
.L28:
	nop
.L24:
	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, .L29
	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	.L19
.L21:
	ldr	r3, [fp, #-100]
	cmp	r3, #2
	bne	.L25
	ldr	r3, .L29
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L26
	ldr	r3, .L29
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L19
.L26:
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L19
.L25:
	ldr	r3, [fp, #-84]
.L19:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L30:
	.align	2
.L29:
	.word	head
	.size	__utac__error_stack_mgt, .-__utac__error_stack_mgt
	.section	.rodata
	.align	2
.LC0:
	.ascii	"__utac__get_this_arg\000"
	.align	2
.LC1:
	.ascii	"libacc.c\000"
	.align	2
.LC2:
	.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	.L32
	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	.L33
	ldr	r3, .L35
	mov	r2, #123
	ldr	r1, .L35+4
	ldr	r0, .L35+8
	bl	__assert_fail
.L32:
	ldr	r3, .L35
	mov	r2, #123
	ldr	r1, .L35+4
	ldr	r0, .L35+8
	bl	__assert_fail
.L33:
	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}
.L36:
	.align	2
.L35:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.size	__utac__get_this_arg, .-__utac__get_this_arg
	.section	.rodata
	.align	2
.LC3:
	.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	.L38
	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	.L39
	ldr	r3, .L41
	mov	r2, #131
	ldr	r1, .L41+4
	ldr	r0, .L41+8
	bl	__assert_fail
.L38:
	ldr	r3, .L41
	mov	r2, #131
	ldr	r1, .L41+4
	ldr	r0, .L41+8
	bl	__assert_fail
.L39:
	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}
.L42:
	.align	2
.L41:
	.word	.LC3
	.word	.LC1
	.word	.LC2
	.size	__utac__get_this_argtype, .-__utac__get_this_argtype
	.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
	.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
.L52:
	bl	__VERIFIER_error
	.size	__automaton_fail, .-__automaton_fail
	.global	weight
	.bss
	.align	2
	.type	weight, %object
	.size	weight, 4
weight:
	.space	4
	.global	maximumWeight
	.data
	.align	2
	.type	maximumWeight, %object
	.size	maximumWeight, 4
maximumWeight:
	.word	100
	.global	blocked
	.bss
	.align	2
	.type	blocked, %object
	.size	blocked, 4
blocked:
	.space	4
	.comm	floorButtons_spc9_0,4,4
	.comm	floorButtons_spc9_1,4,4
	.comm	floorButtons_spc9_2,4,4
	.comm	floorButtons_spc9_3,4,4
	.comm	floorButtons_spc9_4,4,4
	.text
	.align	2
	.global	test
	.syntax unified
	.arm
	.fpu softvfp
	.type	test, %function
test:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	bigMacCall
	bl	cleanup
	nop
	pop	{fp, pc}
	.size	test, .-test
	.global	cleanupTimeShifts
	.data
	.align	2
	.type	cleanupTimeShifts, %object
	.size	cleanupTimeShifts, 4
cleanupTimeShifts:
	.word	12
	.text
	.align	2
	.global	spec1
	.syntax unified
	.arm
	.fpu softvfp
	.type	spec1, %function
spec1:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	initBottomUp
	mov	r0, #5
	bl	getOrigin
	str	r0, [fp, #-16]
	ldr	r1, [fp, #-16]
	mov	r0, #5
	bl	initPersonOnFloor
	bl	printState
	mov	r0, #2
	bl	getOrigin
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-12]
	mov	r0, #2
	bl	initPersonOnFloor
	bl	printState
	mov	r3, #0
	str	r3, [fp, #-20]
.L56:
	ldr	r3, .L63
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L61
	bl	isBlocked
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L62
	bl	timeShift
	bl	printState
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L56
.L61:
	nop
	b	.L59
.L62:
	nop
.L59:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L64:
	.align	2
.L63:
	.word	cleanupTimeShifts
	.size	spec1, .-spec1
	.align	2
	.global	spec14
	.syntax unified
	.arm
	.fpu softvfp
	.type	spec14, %function
spec14:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	initTopDown
	mov	r0, #5
	bl	getOrigin
	str	r0, [fp, #-16]
	ldr	r1, [fp, #-16]
	mov	r0, #5
	bl	initPersonOnFloor
	bl	printState
	bl	timeShift
	bl	timeShift
	bl	timeShift
	bl	timeShift
	mov	r0, #0
	bl	getOrigin
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-12]
	mov	r0, #0
	bl	initPersonOnFloor
	bl	printState
	mov	r3, #0
	str	r3, [fp, #-20]
.L66:
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L71
	bl	isBlocked
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L72
	bl	timeShift
	bl	printState
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L66
.L71:
	nop
	b	.L69
.L72:
	nop
.L69:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L74:
	.align	2
.L73:
	.word	cleanupTimeShifts
	.size	spec14, .-spec14
	.align	2
	.global	getWeight
	.syntax unified
	.arm
	.fpu softvfp
	.type	getWeight, %function
getWeight:
	@ 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, #0
	bne	.L76
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L77
.L76:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L78
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L77
.L78:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L79
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L77
.L79:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L80
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L77
.L80:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L81
	mov	r3, #30
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L77
.L81:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L82
	mov	r3, #150
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L77
.L82:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L77:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getWeight, .-getWeight
	.align	2
	.global	getOrigin
	.syntax unified
	.arm
	.fpu softvfp
	.type	getOrigin, %function
getOrigin:
	@ 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, #0
	bne	.L84
	mov	r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L85
.L84:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L86
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L85
.L86:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L87
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L85
.L87:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L88
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L85
.L88:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L89
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L85
.L89:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L90
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L85
.L90:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L85:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getOrigin, .-getOrigin
	.align	2
	.global	getDestination
	.syntax unified
	.arm
	.fpu softvfp
	.type	getDestination, %function
getDestination:
	@ 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, #0
	bne	.L92
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L93
.L92:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L94
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L93
.L94:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L95
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L93
.L95:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L96
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L93
.L96:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L97
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L93
.L97:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L98
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L93
.L98:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L93:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getDestination, .-getDestination
	.global	currentHeading
	.data
	.align	2
	.type	currentHeading, %object
	.size	currentHeading, 4
currentHeading:
	.word	1
	.global	currentFloorID
	.bss
	.align	2
	.type	currentFloorID, %object
	.size	currentFloorID, 4
currentFloorID:
	.space	4
	.comm	persons_0,4,4
	.comm	persons_1,4,4
	.comm	persons_2,4,4
	.comm	persons_3,4,4
	.comm	persons_4,4,4
	.comm	persons_5,4,4
	.global	doorState
	.data
	.align	2
	.type	doorState, %object
	.size	doorState, 4
doorState:
	.word	1
	.comm	floorButtons_0,4,4
	.comm	floorButtons_1,4,4
	.comm	floorButtons_2,4,4
	.comm	floorButtons_3,4,4
	.comm	floorButtons_4,4,4
	.text
	.align	2
	.global	initTopDown
	.syntax unified
	.arm
	.fpu softvfp
	.type	initTopDown, %function
initTopDown:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L101
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L101+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L101+48
	mov	r2, #0
	str	r2, [r3]
	bl	initFloors
	nop
	pop	{fp, pc}
.L102:
	.align	2
.L101:
	.word	currentFloorID
	.word	currentHeading
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.word	persons_0
	.word	persons_1
	.word	persons_2
	.word	persons_3
	.word	persons_4
	.word	persons_5
	.size	initTopDown, .-initTopDown
	.align	2
	.global	initBottomUp
	.syntax unified
	.arm
	.fpu softvfp
	.type	initBottomUp, %function
initBottomUp:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L105
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L105+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L105+48
	mov	r2, #0
	str	r2, [r3]
	bl	initFloors
	nop
	pop	{fp, pc}
.L106:
	.align	2
.L105:
	.word	currentFloorID
	.word	currentHeading
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.word	persons_0
	.word	persons_1
	.word	persons_2
	.word	persons_3
	.word	persons_4
	.word	persons_5
	.size	initBottomUp, .-initBottomUp
	.align	2
	.global	isBlocked
	.syntax unified
	.arm
	.fpu softvfp
	.type	isBlocked, %function
isBlocked:
	@ 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, .L109
	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
.L110:
	.align	2
.L109:
	.word	blocked
	.size	isBlocked, .-isBlocked
	.align	2
	.global	enterElevator__wrappee__base
	.syntax unified
	.arm
	.fpu softvfp
	.type	enterElevator__wrappee__base, %function
enterElevator__wrappee__base:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L112
	ldr	r3, .L120
	mov	r2, #1
	str	r2, [r3]
	b	.L119
.L112:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L114
	ldr	r3, .L120+4
	mov	r2, #1
	str	r2, [r3]
	b	.L119
.L114:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L115
	ldr	r3, .L120+8
	mov	r2, #1
	str	r2, [r3]
	b	.L119
.L115:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L116
	ldr	r3, .L120+12
	mov	r2, #1
	str	r2, [r3]
	b	.L119
.L116:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L117
	ldr	r3, .L120+16
	mov	r2, #1
	str	r2, [r3]
	b	.L119
.L117:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L119
	ldr	r3, .L120+20
	mov	r2, #1
	str	r2, [r3]
	nop
.L119:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L121:
	.align	2
.L120:
	.word	persons_0
	.word	persons_1
	.word	persons_2
	.word	persons_3
	.word	persons_4
	.word	persons_5
	.size	enterElevator__wrappee__base, .-enterElevator__wrappee__base
	.align	2
	.global	enterElevator
	.syntax unified
	.arm
	.fpu softvfp
	.type	enterElevator, %function
enterElevator:
	@ 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	enterElevator__wrappee__base
	ldr	r0, [fp, #-16]
	bl	getWeight
	str	r0, [fp, #-8]
	ldr	r3, .L124
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, .L124
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L125:
	.align	2
.L124:
	.word	weight
	.size	enterElevator, .-enterElevator
	.align	2
	.global	leaveElevator__wrappee__base
	.syntax unified
	.arm
	.fpu softvfp
	.type	leaveElevator__wrappee__base, %function
leaveElevator__wrappee__base:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L127
	ldr	r3, .L135
	mov	r2, #0
	str	r2, [r3]
	b	.L134
.L127:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L129
	ldr	r3, .L135+4
	mov	r2, #0
	str	r2, [r3]
	b	.L134
.L129:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L130
	ldr	r3, .L135+8
	mov	r2, #0
	str	r2, [r3]
	b	.L134
.L130:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L131
	ldr	r3, .L135+12
	mov	r2, #0
	str	r2, [r3]
	b	.L134
.L131:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L132
	ldr	r3, .L135+16
	mov	r2, #0
	str	r2, [r3]
	b	.L134
.L132:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L134
	ldr	r3, .L135+20
	mov	r2, #0
	str	r2, [r3]
	nop
.L134:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L136:
	.align	2
.L135:
	.word	persons_0
	.word	persons_1
	.word	persons_2
	.word	persons_3
	.word	persons_4
	.word	persons_5
	.size	leaveElevator__wrappee__base, .-leaveElevator__wrappee__base
	.align	2
	.global	leaveElevator__wrappee__weight
	.syntax unified
	.arm
	.fpu softvfp
	.type	leaveElevator__wrappee__weight, %function
leaveElevator__wrappee__weight:
	@ 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	leaveElevator__wrappee__base
	ldr	r0, [fp, #-16]
	bl	getWeight
	str	r0, [fp, #-8]
	ldr	r3, .L139
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	ldr	r2, .L139
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L140:
	.align	2
.L139:
	.word	weight
	.size	leaveElevator__wrappee__weight, .-leaveElevator__wrappee__weight
	.align	2
	.global	leaveElevator
	.syntax unified
	.arm
	.fpu softvfp
	.type	leaveElevator, %function
leaveElevator:
	@ 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	leaveElevator__wrappee__weight
	bl	isEmpty
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L144
	ldr	r3, .L145
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L145+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L145+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L145+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L145+16
	mov	r2, #0
	str	r2, [r3]
	nop
.L144:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L146:
	.align	2
.L145:
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	leaveElevator, .-leaveElevator
	.align	2
	.global	pressInLiftFloorButton
	.syntax unified
	.arm
	.fpu softvfp
	.type	pressInLiftFloorButton, %function
pressInLiftFloorButton:
	@ 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	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	__utac_acc__Specification9_spec__2
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L148
	ldr	r3, .L155
	mov	r2, #1
	str	r2, [r3]
	b	.L154
.L148:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L150
	ldr	r3, .L155+4
	mov	r2, #1
	str	r2, [r3]
	b	.L154
.L150:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L151
	ldr	r3, .L155+8
	mov	r2, #1
	str	r2, [r3]
	b	.L154
.L151:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L152
	ldr	r3, .L155+12
	mov	r2, #1
	str	r2, [r3]
	b	.L154
.L152:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L154
	ldr	r3, .L155+16
	mov	r2, #1
	str	r2, [r3]
	nop
.L154:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L156:
	.align	2
.L155:
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	pressInLiftFloorButton, .-pressInLiftFloorButton
	.align	2
	.global	resetFloorButton
	.syntax unified
	.arm
	.fpu softvfp
	.type	resetFloorButton, %function
resetFloorButton:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L158
	ldr	r3, .L165
	mov	r2, #0
	str	r2, [r3]
	b	.L164
.L158:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L160
	ldr	r3, .L165+4
	mov	r2, #0
	str	r2, [r3]
	b	.L164
.L160:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L161
	ldr	r3, .L165+8
	mov	r2, #0
	str	r2, [r3]
	b	.L164
.L161:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L162
	ldr	r3, .L165+12
	mov	r2, #0
	str	r2, [r3]
	b	.L164
.L162:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L164
	ldr	r3, .L165+16
	mov	r2, #0
	str	r2, [r3]
	nop
.L164:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L166:
	.align	2
.L165:
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	resetFloorButton, .-resetFloorButton
	.align	2
	.global	getCurrentFloorID
	.syntax unified
	.arm
	.fpu softvfp
	.type	getCurrentFloorID, %function
getCurrentFloorID:
	@ 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, .L169
	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
.L170:
	.align	2
.L169:
	.word	currentFloorID
	.size	getCurrentFloorID, .-getCurrentFloorID
	.align	2
	.global	areDoorsOpen
	.syntax unified
	.arm
	.fpu softvfp
	.type	areDoorsOpen, %function
areDoorsOpen:
	@ 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, .L173
	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
.L174:
	.align	2
.L173:
	.word	doorState
	.size	areDoorsOpen, .-areDoorsOpen
	.align	2
	.global	buttonForFloorIsPressed
	.syntax unified
	.arm
	.fpu softvfp
	.type	buttonForFloorIsPressed, %function
buttonForFloorIsPressed:
	@ 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, #0
	bne	.L176
	ldr	r3, .L182
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L177
.L176:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L178
	ldr	r3, .L182+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L177
.L178:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L179
	ldr	r3, .L182+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L177
.L179:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L180
	ldr	r3, .L182+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L177
.L180:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L181
	ldr	r3, .L182+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L177
.L181:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L177:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L183:
	.align	2
.L182:
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	buttonForFloorIsPressed, .-buttonForFloorIsPressed
	.align	2
	.global	getCurrentHeading
	.syntax unified
	.arm
	.fpu softvfp
	.type	getCurrentHeading, %function
getCurrentHeading:
	@ 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, .L186
	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
.L187:
	.align	2
.L186:
	.word	currentHeading
	.size	getCurrentHeading, .-getCurrentHeading
	.align	2
	.global	isEmpty
	.syntax unified
	.arm
	.fpu softvfp
	.type	isEmpty, %function
isEmpty:
	@ 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, .L196
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L189
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L190
.L189:
	ldr	r3, .L196+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L191
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L190
.L191:
	ldr	r3, .L196+8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L192
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L190
.L192:
	ldr	r3, .L196+12
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L193
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L190
.L193:
	ldr	r3, .L196+16
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L194
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L190
.L194:
	ldr	r3, .L196+20
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L195
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L190
.L195:
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L190:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L197:
	.align	2
.L196:
	.word	persons_0
	.word	persons_1
	.word	persons_2
	.word	persons_3
	.word	persons_4
	.word	persons_5
	.size	isEmpty, .-isEmpty
	.align	2
	.global	anyStopRequested
	.syntax unified
	.arm
	.fpu softvfp
	.type	anyStopRequested, %function
anyStopRequested:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	mov	r0, #0
	bl	isFloorCalling
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L199
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L199:
	ldr	r3, .L210
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L201
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L201:
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L202
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L202:
	ldr	r3, .L210+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L203
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L203:
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L204
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L204:
	ldr	r3, .L210+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L205
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L205:
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L206
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L206:
	ldr	r3, .L210+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L207
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L207:
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L208
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L208:
	ldr	r3, .L210+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L209
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L200
.L209:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L200:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L211:
	.align	2
.L210:
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	anyStopRequested, .-anyStopRequested
	.align	2
	.global	isIdle
	.syntax unified
	.arm
	.fpu softvfp
	.type	isIdle, %function
isIdle:
	@ 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	anyStopRequested
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isIdle, .-isIdle
	.align	2
	.global	stopRequestedInDirection__wrappee__empty
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedInDirection__wrappee__empty, %function
stopRequestedInDirection__wrappee__empty:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	cmp	r3, #1
	bne	.L215
	ldr	r3, .L333
	ldr	r3, [r3]
	mov	r0, r3
	bl	isTopFloor
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L216
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L216:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L279
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L280
	mov	r0, #0
	bl	isFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L281
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L279:
	nop
	b	.L218
.L280:
	nop
	b	.L218
.L281:
	nop
.L218:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L282
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L283
	ldr	r3, .L333+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L284
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L282:
	nop
	b	.L221
.L283:
	nop
	b	.L221
.L284:
	nop
.L221:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L285
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L286
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L287
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L285:
	nop
	b	.L224
.L286:
	nop
	b	.L224
.L287:
	nop
.L224:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L288
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L289
	ldr	r3, .L333+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L290
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L288:
	nop
	b	.L227
.L289:
	nop
	b	.L227
.L290:
	nop
.L227:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L291
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L292
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L293
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L291:
	nop
	b	.L230
.L292:
	nop
	b	.L230
.L293:
	nop
.L230:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L294
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L295
	ldr	r3, .L333+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L296
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L294:
	nop
	b	.L233
.L295:
	nop
	b	.L233
.L296:
	nop
.L233:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #2
	bgt	.L297
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L298
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L299
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L297:
	nop
	b	.L236
.L298:
	nop
	b	.L236
.L299:
	nop
.L236:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #2
	bgt	.L300
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L301
	ldr	r3, .L333+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L302
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L300:
	nop
	b	.L239
.L301:
	nop
	b	.L239
.L302:
	nop
.L239:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #3
	bgt	.L303
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L304
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L305
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L303:
	nop
	b	.L242
.L304:
	nop
	b	.L242
.L305:
	nop
.L242:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #3
	bgt	.L245
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L246
	ldr	r3, .L333+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L247
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L247:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L246:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L245:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L215:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L248
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L248:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L306
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L307
	mov	r0, #0
	bl	isFloorCalling
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L308
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L306:
	nop
	b	.L249
.L307:
	nop
	b	.L249
.L308:
	nop
.L249:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L309
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L310
	ldr	r3, .L333+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L311
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L309:
	nop
	b	.L252
.L310:
	nop
	b	.L252
.L311:
	nop
.L252:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L312
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L313
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L314
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L312:
	nop
	b	.L255
.L313:
	nop
	b	.L255
.L314:
	nop
.L255:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L315
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L316
	ldr	r3, .L333+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L317
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L315:
	nop
	b	.L258
.L316:
	nop
	b	.L258
.L317:
	nop
.L258:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L318
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L319
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L320
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L318:
	nop
	b	.L261
.L319:
	nop
	b	.L261
.L320:
	nop
.L261:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L321
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L322
	ldr	r3, .L333+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L323
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L321:
	nop
	b	.L264
.L322:
	nop
	b	.L264
.L323:
	nop
.L264:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L324
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L325
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L326
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L324:
	nop
	b	.L267
.L325:
	nop
	b	.L267
.L326:
	nop
.L267:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L327
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L328
	ldr	r3, .L333+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L329
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L327:
	nop
	b	.L270
.L328:
	nop
	b	.L270
.L329:
	nop
.L270:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L330
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L331
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L332
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L330:
	nop
	b	.L273
.L331:
	nop
	b	.L273
.L332:
	nop
.L273:
	ldr	r3, .L333
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L276
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L277
	ldr	r3, .L333+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L278
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L278:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L277:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L217
.L276:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
.L217:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L334:
	.align	2
.L333:
	.word	currentFloorID
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	stopRequestedInDirection__wrappee__empty, .-stopRequestedInDirection__wrappee__empty
	.align	2
	.global	stopRequestedInDirection
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedInDirection, %function
stopRequestedInDirection:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L339
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r2, .L339+4
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, .L339+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	bl	isAnyLiftButtonPressed
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L336
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L337
	ldr	r2, [fp, #-40]
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	stopRequestedInDirection__wrappee__empty
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L338
.L337:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	stopRequestedInDirection__wrappee__empty
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L338
.L336:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	stopRequestedInDirection__wrappee__empty
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L338:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L340:
	.align	2
.L339:
	.word	maximumWeight
	.word	1431655766
	.word	weight
	.size	stopRequestedInDirection, .-stopRequestedInDirection
	.align	2
	.global	isAnyLiftButtonPressed
	.syntax unified
	.arm
	.fpu softvfp
	.type	isAnyLiftButtonPressed, %function
isAnyLiftButtonPressed:
	@ 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, .L348
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L342
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L343
.L342:
	ldr	r3, .L348+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L344
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L343
.L344:
	ldr	r3, .L348+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L345
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L343
.L345:
	ldr	r3, .L348+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L346
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L343
.L346:
	ldr	r3, .L348+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L347
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L343
.L347:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L343:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L349:
	.align	2
.L348:
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	isAnyLiftButtonPressed, .-isAnyLiftButtonPressed
	.align	2
	.global	continueInDirection
	.syntax unified
	.arm
	.fpu softvfp
	.type	continueInDirection, %function
continueInDirection:
	@ 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	r2, .L356
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L356
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L351
	ldr	r3, .L356+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	isTopFloor
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L352
	ldr	r3, .L356
	mov	r2, #0
	str	r2, [r3]
	b	.L352
.L351:
	ldr	r3, .L356+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L352
	ldr	r3, .L356
	mov	r2, #1
	str	r2, [r3]
.L352:
	ldr	r3, .L356
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L353
	ldr	r3, .L356+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L356+4
	str	r3, [r2]
	b	.L350
.L353:
	ldr	r3, .L356+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L356+4
	str	r3, [r2]
	nop
.L350:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L357:
	.align	2
.L356:
	.word	currentHeading
	.word	currentFloorID
	.size	continueInDirection, .-continueInDirection
	.align	2
	.global	stopRequestedAtCurrentFloor__wrappee__empty
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedAtCurrentFloor__wrappee__empty, %function
stopRequestedAtCurrentFloor__wrappee__empty:
	@ 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, .L362
	ldr	r3, [r3]
	mov	r0, r3
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L359
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L360
.L359:
	ldr	r3, .L362
	ldr	r3, [r3]
	mov	r0, r3
	bl	buttonForFloorIsPressed
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L361
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L360
.L361:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L360:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L363:
	.align	2
.L362:
	.word	currentFloorID
	.size	stopRequestedAtCurrentFloor__wrappee__empty, .-stopRequestedAtCurrentFloor__wrappee__empty
	.align	2
	.global	stopRequestedAtCurrentFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedAtCurrentFloor, %function
stopRequestedAtCurrentFloor:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	ldr	r3, .L367
	ldr	r3, [r3]
	lsl	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, .L367+4
	smull	r1, r2, r3, r2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, .L367+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L365
	bl	getCurrentFloorID
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	buttonForFloorIsPressed
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	b	.L366
.L365:
	bl	stopRequestedAtCurrentFloor__wrappee__empty
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
.L366:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L368:
	.align	2
.L367:
	.word	maximumWeight
	.word	1431655766
	.word	weight
	.size	stopRequestedAtCurrentFloor, .-stopRequestedAtCurrentFloor
	.align	2
	.global	getReverseHeading
	.syntax unified
	.arm
	.fpu softvfp
	.type	getReverseHeading, %function
getReverseHeading:
	@ 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, #0
	bne	.L370
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L371
.L370:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L371:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getReverseHeading, .-getReverseHeading
	.align	2
	.global	processWaitingOnFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	processWaitingOnFloor, %function
processWaitingOnFloor:
	@ 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]
	ldr	r1, [fp, #-56]
	mov	r0, #0
	bl	isPersonOnFloor
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L373
	ldr	r1, [fp, #-56]
	mov	r0, #0
	bl	removePersonFromFloor
	mov	r0, #0
	bl	getDestination
	str	r0, [fp, #-48]
	ldr	r0, [fp, #-48]
	bl	pressInLiftFloorButton
	mov	r0, #0
	bl	enterElevator
.L373:
	ldr	r1, [fp, #-56]
	mov	r0, #1
	bl	isPersonOnFloor
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L374
	ldr	r1, [fp, #-56]
	mov	r0, #1
	bl	removePersonFromFloor
	mov	r0, #1
	bl	getDestination
	str	r0, [fp, #-40]
	ldr	r0, [fp, #-40]
	bl	pressInLiftFloorButton
	mov	r0, #1
	bl	enterElevator
.L374:
	ldr	r1, [fp, #-56]
	mov	r0, #2
	bl	isPersonOnFloor
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L375
	ldr	r1, [fp, #-56]
	mov	r0, #2
	bl	removePersonFromFloor
	mov	r0, #2
	bl	getDestination
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	pressInLiftFloorButton
	mov	r0, #2
	bl	enterElevator
.L375:
	ldr	r1, [fp, #-56]
	mov	r0, #3
	bl	isPersonOnFloor
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L376
	ldr	r1, [fp, #-56]
	mov	r0, #3
	bl	removePersonFromFloor
	mov	r0, #3
	bl	getDestination
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	pressInLiftFloorButton
	mov	r0, #3
	bl	enterElevator
.L376:
	ldr	r1, [fp, #-56]
	mov	r0, #4
	bl	isPersonOnFloor
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L377
	ldr	r1, [fp, #-56]
	mov	r0, #4
	bl	removePersonFromFloor
	mov	r0, #4
	bl	getDestination
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	pressInLiftFloorButton
	mov	r0, #4
	bl	enterElevator
.L377:
	ldr	r1, [fp, #-56]
	mov	r0, #5
	bl	isPersonOnFloor
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L378
	ldr	r1, [fp, #-56]
	mov	r0, #5
	bl	removePersonFromFloor
	mov	r0, #5
	bl	getDestination
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	pressInLiftFloorButton
	mov	r0, #5
	bl	enterElevator
.L378:
	ldr	r0, [fp, #-56]
	bl	resetCallOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	processWaitingOnFloor, .-processWaitingOnFloor
	.align	2
	.global	timeShift__wrappee__twothirdsfull
	.syntax unified
	.arm
	.fpu softvfp
	.type	timeShift__wrappee__twothirdsfull, %function
timeShift__wrappee__twothirdsfull:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	bl	stopRequestedAtCurrentFloor
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L381
	ldr	r3, .L393
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L393+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L382
	mov	r0, #0
	bl	getDestination
	str	r0, [fp, #-28]
	ldr	r3, .L393+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L382
	mov	r0, #0
	bl	leaveElevator
.L382:
	ldr	r3, .L393+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L383
	mov	r0, #1
	bl	getDestination
	str	r0, [fp, #-24]
	ldr	r3, .L393+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L383
	mov	r0, #1
	bl	leaveElevator
.L383:
	ldr	r3, .L393+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L384
	mov	r0, #2
	bl	getDestination
	str	r0, [fp, #-20]
	ldr	r3, .L393+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L384
	mov	r0, #2
	bl	leaveElevator
.L384:
	ldr	r3, .L393+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L385
	mov	r0, #3
	bl	getDestination
	str	r0, [fp, #-16]
	ldr	r3, .L393+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L385
	mov	r0, #3
	bl	leaveElevator
.L385:
	ldr	r3, .L393+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L386
	mov	r0, #4
	bl	getDestination
	str	r0, [fp, #-12]
	ldr	r3, .L393+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L386
	mov	r0, #4
	bl	leaveElevator
.L386:
	ldr	r3, .L393+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L387
	mov	r0, #5
	bl	getDestination
	str	r0, [fp, #-8]
	ldr	r3, .L393+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L387
	mov	r0, #5
	bl	leaveElevator
.L387:
	ldr	r3, .L393+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	processWaitingOnFloor
	ldr	r3, .L393+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	resetFloorButton
	b	.L380
.L381:
	ldr	r3, .L393
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L389
	ldr	r3, .L393
	mov	r2, #0
	str	r2, [r3]
.L389:
	ldr	r3, .L393+32
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, #1
	mov	r0, r3
	bl	stopRequestedInDirection
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L390
	ldr	r3, .L393+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	continueInDirection
	b	.L380
.L390:
	ldr	r3, .L393+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	getReverseHeading
	str	r0, [fp, #-40]
	mov	r2, #1
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	stopRequestedInDirection
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L391
	ldr	r3, .L393+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	getReverseHeading
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	continueInDirection
	b	.L380
.L391:
	ldr	r3, .L393+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	continueInDirection
	nop
.L380:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L394:
	.align	2
.L393:
	.word	doorState
	.word	persons_0
	.word	currentFloorID
	.word	persons_1
	.word	persons_2
	.word	persons_3
	.word	persons_4
	.word	persons_5
	.word	currentHeading
	.size	timeShift__wrappee__twothirdsfull, .-timeShift__wrappee__twothirdsfull
	.align	2
	.global	timeShift
	.syntax unified
	.arm
	.fpu softvfp
	.type	timeShift, %function
timeShift:
	@ 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	areDoorsOpen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L396
	ldr	r3, .L400
	ldr	r2, [r3]
	ldr	r3, .L400+4
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L397
	ldr	r3, .L400+8
	mov	r2, #1
	str	r2, [r3]
	b	.L398
.L397:
	ldr	r3, .L400+8
	mov	r2, #0
	str	r2, [r3]
	bl	timeShift__wrappee__twothirdsfull
	b	.L398
.L396:
	ldr	r3, .L400+8
	mov	r2, #0
	str	r2, [r3]
	bl	timeShift__wrappee__twothirdsfull
.L398:
	bl	__utac_acc__Specification9_spec__3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L401:
	.align	2
.L400:
	.word	weight
	.word	maximumWeight
	.word	blocked
	.size	timeShift, .-timeShift
	.section	.rodata
	.align	2
.LC4:
	.ascii	"Elevator \000"
	.align	2
.LC5:
	.ascii	"[_]\000"
	.align	2
.LC6:
	.ascii	"[] \000"
	.align	2
.LC7:
	.ascii	" at \000"
	.align	2
.LC8:
	.ascii	"%i\000"
	.align	2
.LC9:
	.ascii	" heading \000"
	.align	2
.LC10:
	.ascii	"up\000"
	.align	2
.LC11:
	.ascii	"down\000"
	.align	2
.LC12:
	.ascii	" IL_p:\000"
	.align	2
.LC13:
	.ascii	" %i\000"
	.align	2
.LC14:
	.ascii	" F_p:\000"
	.align	2
.LC15:
	.ascii	"\012\000"
	.text
	.align	2
	.global	printState__wrappee__twothirdsfull
	.syntax unified
	.arm
	.fpu softvfp
	.type	printState__wrappee__twothirdsfull, %function
printState__wrappee__twothirdsfull:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	ldr	r3, .L418
	str	r3, [fp, #-108]
	ldr	r0, [fp, #-108]
	bl	printf
	ldr	r3, .L418+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L403
	ldr	r3, .L418+8
	str	r3, [fp, #-100]
	ldr	r0, [fp, #-100]
	bl	printf
	b	.L404
.L403:
	ldr	r3, .L418+12
	str	r3, [fp, #-104]
	ldr	r0, [fp, #-104]
	bl	printf
.L404:
	ldr	r3, .L418+16
	str	r3, [fp, #-96]
	ldr	r0, [fp, #-96]
	bl	printf
	ldr	r3, .L418+20
	str	r3, [fp, #-92]
	ldr	r3, .L418+24
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	printf
	ldr	r3, .L418+28
	str	r3, [fp, #-88]
	ldr	r0, [fp, #-88]
	bl	printf
	ldr	r3, .L418+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L405
	ldr	r3, .L418+36
	str	r3, [fp, #-80]
	ldr	r0, [fp, #-80]
	bl	printf
	b	.L406
.L405:
	ldr	r3, .L418+40
	str	r3, [fp, #-84]
	ldr	r0, [fp, #-84]
	bl	printf
.L406:
	ldr	r3, .L418+44
	str	r3, [fp, #-76]
	ldr	r0, [fp, #-76]
	bl	printf
	ldr	r3, .L418+48
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L407
	ldr	r3, .L418+52
	str	r3, [fp, #-72]
	mov	r1, #0
	ldr	r0, [fp, #-72]
	bl	printf
.L407:
	ldr	r3, .L418+56
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L408
	ldr	r3, .L418+52
	str	r3, [fp, #-68]
	mov	r1, #1
	ldr	r0, [fp, #-68]
	bl	printf
.L408:
	ldr	r3, .L418+60
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L409
	ldr	r3, .L418+52
	str	r3, [fp, #-64]
	mov	r1, #2
	ldr	r0, [fp, #-64]
	bl	printf
.L409:
	ldr	r3, .L418+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L410
	ldr	r3, .L418+52
	str	r3, [fp, #-60]
	mov	r1, #3
	ldr	r0, [fp, #-60]
	bl	printf
.L410:
	ldr	r3, .L418+68
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L411
	ldr	r3, .L418+52
	str	r3, [fp, #-56]
	mov	r1, #4
	ldr	r0, [fp, #-56]
	bl	printf
.L411:
	ldr	r3, .L418+72
	str	r3, [fp, #-52]
	ldr	r0, [fp, #-52]
	bl	printf
	mov	r0, #0
	bl	isFloorCalling
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L412
	ldr	r3, .L418+52
	str	r3, [fp, #-44]
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	printf
.L412:
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L413
	ldr	r3, .L418+52
	str	r3, [fp, #-36]
	mov	r1, #1
	ldr	r0, [fp, #-36]
	bl	printf
.L413:
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L414
	ldr	r3, .L418+52
	str	r3, [fp, #-28]
	mov	r1, #2
	ldr	r0, [fp, #-28]
	bl	printf
.L414:
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L415
	ldr	r3, .L418+52
	str	r3, [fp, #-20]
	mov	r1, #3
	ldr	r0, [fp, #-20]
	bl	printf
.L415:
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L416
	ldr	r3, .L418+52
	str	r3, [fp, #-12]
	mov	r1, #4
	ldr	r0, [fp, #-12]
	bl	printf
.L416:
	ldr	r3, .L418+76
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L419:
	.align	2
.L418:
	.word	.LC4
	.word	doorState
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	currentFloorID
	.word	.LC9
	.word	currentHeading
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	floorButtons_0
	.word	.LC13
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.word	.LC14
	.word	.LC15
	.size	printState__wrappee__twothirdsfull, .-printState__wrappee__twothirdsfull
	.section	.rodata
	.align	2
.LC16:
	.ascii	"Blocked \000"
	.text
	.align	2
	.global	printState
	.syntax unified
	.arm
	.fpu softvfp
	.type	printState, %function
printState:
	@ 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	isBlocked
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L421
	ldr	r3, .L423
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	printf
.L421:
	bl	printState__wrappee__twothirdsfull
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L424:
	.align	2
.L423:
	.word	.LC16
	.size	printState, .-printState
	.align	2
	.global	existInLiftCallsInDirection
	.syntax unified
	.arm
	.fpu softvfp
	.type	existInLiftCallsInDirection, %function
existInLiftCallsInDirection:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L426
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L476
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L427:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bgt	.L457
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L458
	ldr	r3, .L476+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L459
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L458:
	nop
	b	.L430
.L459:
	nop
.L430:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L460
	ldr	r3, .L476+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L461
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L460:
	nop
	b	.L433
.L461:
	nop
.L433:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L462
	ldr	r3, .L476+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L463
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L462:
	nop
	b	.L435
.L463:
	nop
.L435:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L464
	ldr	r3, .L476+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L465
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L464:
	nop
	b	.L437
.L465:
	nop
.L437:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L439
	ldr	r3, .L476+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L439
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L439:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L427
.L429:
.L426:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L440
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L476
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L441:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L466
	ldr	r3, .L476
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L444:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bgt	.L467
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L468
	ldr	r3, .L476+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L469
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L468:
	nop
	b	.L447
.L469:
	nop
.L447:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L470
	ldr	r3, .L476+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L471
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L470:
	nop
	b	.L449
.L471:
	nop
.L449:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L472
	ldr	r3, .L476+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L473
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L472:
	nop
	b	.L451
.L473:
	nop
.L451:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L474
	ldr	r3, .L476+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L475
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L474:
	nop
	b	.L453
.L475:
	nop
.L453:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L455
	ldr	r3, .L476+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L455
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L455:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L444
.L467:
	nop
.L446:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L441
.L443:
.L457:
	nop
	b	.L440
.L466:
	nop
.L440:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L432:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L477:
	.align	2
.L476:
	.word	currentFloorID
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	existInLiftCallsInDirection, .-existInLiftCallsInDirection
	.comm	calls_0,4,4
	.comm	calls_1,4,4
	.comm	calls_2,4,4
	.comm	calls_3,4,4
	.comm	calls_4,4,4
	.comm	personOnFloor_0_0,4,4
	.comm	personOnFloor_0_1,4,4
	.comm	personOnFloor_0_2,4,4
	.comm	personOnFloor_0_3,4,4
	.comm	personOnFloor_0_4,4,4
	.comm	personOnFloor_1_0,4,4
	.comm	personOnFloor_1_1,4,4
	.comm	personOnFloor_1_2,4,4
	.comm	personOnFloor_1_3,4,4
	.comm	personOnFloor_1_4,4,4
	.comm	personOnFloor_2_0,4,4
	.comm	personOnFloor_2_1,4,4
	.comm	personOnFloor_2_2,4,4
	.comm	personOnFloor_2_3,4,4
	.comm	personOnFloor_2_4,4,4
	.comm	personOnFloor_3_0,4,4
	.comm	personOnFloor_3_1,4,4
	.comm	personOnFloor_3_2,4,4
	.comm	personOnFloor_3_3,4,4
	.comm	personOnFloor_3_4,4,4
	.comm	personOnFloor_4_0,4,4
	.comm	personOnFloor_4_1,4,4
	.comm	personOnFloor_4_2,4,4
	.comm	personOnFloor_4_3,4,4
	.comm	personOnFloor_4_4,4,4
	.comm	personOnFloor_5_0,4,4
	.comm	personOnFloor_5_1,4,4
	.comm	personOnFloor_5_2,4,4
	.comm	personOnFloor_5_3,4,4
	.comm	personOnFloor_5_4,4,4
	.align	2
	.global	initFloors
	.syntax unified
	.arm
	.fpu softvfp
	.type	initFloors, %function
initFloors:
	@ 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
	ldr	r3, .L480
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+56
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+60
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+64
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+68
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+72
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+76
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+80
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+84
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+88
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+92
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+96
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+100
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+104
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+108
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+112
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+116
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+120
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+124
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+128
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+132
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L480+136
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L481:
	.align	2
.L480:
	.word	calls_0
	.word	calls_1
	.word	calls_2
	.word	calls_3
	.word	calls_4
	.word	personOnFloor_0_0
	.word	personOnFloor_0_1
	.word	personOnFloor_0_2
	.word	personOnFloor_0_3
	.word	personOnFloor_0_4
	.word	personOnFloor_1_0
	.word	personOnFloor_1_1
	.word	personOnFloor_1_2
	.word	personOnFloor_1_3
	.word	personOnFloor_1_4
	.word	personOnFloor_2_0
	.word	personOnFloor_2_1
	.word	personOnFloor_2_2
	.word	personOnFloor_2_3
	.word	personOnFloor_2_4
	.word	personOnFloor_3_0
	.word	personOnFloor_3_1
	.word	personOnFloor_3_2
	.word	personOnFloor_3_3
	.word	personOnFloor_3_4
	.word	personOnFloor_4_0
	.word	personOnFloor_4_1
	.word	personOnFloor_4_2
	.word	personOnFloor_4_3
	.word	personOnFloor_4_4
	.word	personOnFloor_5_0
	.word	personOnFloor_5_1
	.word	personOnFloor_5_2
	.word	personOnFloor_5_3
	.word	personOnFloor_5_4
	.size	initFloors, .-initFloors
	.align	2
	.global	isFloorCalling
	.syntax unified
	.arm
	.fpu softvfp
	.type	isFloorCalling, %function
isFloorCalling:
	@ 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, #0
	bne	.L483
	ldr	r3, .L489
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L484
.L483:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L485
	ldr	r3, .L489+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L484
.L485:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L486
	ldr	r3, .L489+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L484
.L486:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L487
	ldr	r3, .L489+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L484
.L487:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L488
	ldr	r3, .L489+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L484
.L488:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L484:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L490:
	.align	2
.L489:
	.word	calls_0
	.word	calls_1
	.word	calls_2
	.word	calls_3
	.word	calls_4
	.size	isFloorCalling, .-isFloorCalling
	.align	2
	.global	resetCallOnFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	resetCallOnFloor, %function
resetCallOnFloor:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L492
	ldr	r3, .L499
	mov	r2, #0
	str	r2, [r3]
	b	.L498
.L492:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L494
	ldr	r3, .L499+4
	mov	r2, #0
	str	r2, [r3]
	b	.L498
.L494:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L495
	ldr	r3, .L499+8
	mov	r2, #0
	str	r2, [r3]
	b	.L498
.L495:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L496
	ldr	r3, .L499+12
	mov	r2, #0
	str	r2, [r3]
	b	.L498
.L496:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L498
	ldr	r3, .L499+16
	mov	r2, #0
	str	r2, [r3]
	nop
.L498:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L500:
	.align	2
.L499:
	.word	calls_0
	.word	calls_1
	.word	calls_2
	.word	calls_3
	.word	calls_4
	.size	resetCallOnFloor, .-resetCallOnFloor
	.align	2
	.global	callOnFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	callOnFloor, %function
callOnFloor:
	@ 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]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L502
	ldr	r3, .L509
	mov	r2, #1
	str	r2, [r3]
	b	.L508
.L502:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L504
	ldr	r3, .L509+4
	mov	r2, #1
	str	r2, [r3]
	b	.L508
.L504:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L505
	ldr	r3, .L509+8
	mov	r2, #1
	str	r2, [r3]
	b	.L508
.L505:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L506
	ldr	r3, .L509+12
	mov	r2, #1
	str	r2, [r3]
	b	.L508
.L506:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L508
	ldr	r3, .L509+16
	mov	r2, #1
	str	r2, [r3]
	nop
.L508:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L510:
	.align	2
.L509:
	.word	calls_0
	.word	calls_1
	.word	calls_2
	.word	calls_3
	.word	calls_4
	.size	callOnFloor, .-callOnFloor
	.align	2
	.global	isPersonOnFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	isPersonOnFloor, %function
isPersonOnFloor:
	@ 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, #-20]
	cmp	r3, #0
	bne	.L512
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L513
	ldr	r3, .L543
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L513:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L515
	ldr	r3, .L543+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L515:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L516
	ldr	r3, .L543+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L516:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L517
	ldr	r3, .L543+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L517:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L518
	ldr	r3, .L543+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L518:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L519
	ldr	r3, .L543+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L512:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L520
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L521
	ldr	r3, .L543+24
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L521:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L522
	ldr	r3, .L543+28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L522:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L523
	ldr	r3, .L543+32
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L523:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L524
	ldr	r3, .L543+36
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L524:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L525
	ldr	r3, .L543+40
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L525:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L519
	ldr	r3, .L543+44
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L520:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L526
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L527
	ldr	r3, .L543+48
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L527:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L528
	ldr	r3, .L543+52
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L528:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L529
	ldr	r3, .L543+56
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L529:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L530
	ldr	r3, .L543+60
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L530:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L531
	ldr	r3, .L543+64
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L531:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L519
	ldr	r3, .L543+68
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L526:
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L532
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L533
	ldr	r3, .L543+72
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L533:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L534
	ldr	r3, .L543+76
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L534:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L535
	ldr	r3, .L543+80
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L535:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L536
	ldr	r3, .L543+84
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L536:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L537
	ldr	r3, .L543+88
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L537:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L519
	ldr	r3, .L543+92
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L532:
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	bne	.L519
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L538
	ldr	r3, .L543+96
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L538:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L539
	ldr	r3, .L543+100
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L539:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L540
	ldr	r3, .L543+104
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L540:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L541
	ldr	r3, .L543+108
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L541:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L542
	ldr	r3, .L543+112
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L542:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L519
	ldr	r3, .L543+116
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L514
.L519:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L514:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L544:
	.align	2
.L543:
	.word	personOnFloor_0_0
	.word	personOnFloor_1_0
	.word	personOnFloor_2_0
	.word	personOnFloor_3_0
	.word	personOnFloor_4_0
	.word	personOnFloor_5_0
	.word	personOnFloor_0_1
	.word	personOnFloor_1_1
	.word	personOnFloor_2_1
	.word	personOnFloor_3_1
	.word	personOnFloor_4_1
	.word	personOnFloor_5_1
	.word	personOnFloor_0_2
	.word	personOnFloor_1_2
	.word	personOnFloor_2_2
	.word	personOnFloor_3_2
	.word	personOnFloor_4_2
	.word	personOnFloor_5_2
	.word	personOnFloor_0_3
	.word	personOnFloor_1_3
	.word	personOnFloor_2_3
	.word	personOnFloor_3_3
	.word	personOnFloor_4_3
	.word	personOnFloor_5_3
	.word	personOnFloor_0_4
	.word	personOnFloor_1_4
	.word	personOnFloor_2_4
	.word	personOnFloor_3_4
	.word	personOnFloor_4_4
	.word	personOnFloor_5_4
	.size	isPersonOnFloor, .-isPersonOnFloor
	.align	2
	.global	initPersonOnFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	initPersonOnFloor, %function
initPersonOnFloor:
	@ 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	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L546
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L547
	ldr	r3, .L577
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L547:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L549
	ldr	r3, .L577+4
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L549:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L550
	ldr	r3, .L577+8
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L550:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L551
	ldr	r3, .L577+12
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L551:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L552
	ldr	r3, .L577+16
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L552:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L548
	ldr	r3, .L577+20
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L546:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L553
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L554
	ldr	r3, .L577+24
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L554:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L555
	ldr	r3, .L577+28
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L555:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L556
	ldr	r3, .L577+32
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L556:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L557
	ldr	r3, .L577+36
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L557:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L558
	ldr	r3, .L577+40
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L558:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L548
	ldr	r3, .L577+44
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L553:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L559
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L560
	ldr	r3, .L577+48
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L560:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L561
	ldr	r3, .L577+52
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L561:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L562
	ldr	r3, .L577+56
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L562:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L563
	ldr	r3, .L577+60
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L563:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L564
	ldr	r3, .L577+64
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L564:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L548
	ldr	r3, .L577+68
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L559:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L565
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L566
	ldr	r3, .L577+72
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L566:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L567
	ldr	r3, .L577+76
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L567:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L568
	ldr	r3, .L577+80
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L568:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L569
	ldr	r3, .L577+84
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L569:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L570
	ldr	r3, .L577+88
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L570:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L548
	ldr	r3, .L577+92
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L565:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L548
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L571
	ldr	r3, .L577+96
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L571:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L572
	ldr	r3, .L577+100
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L572:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L573
	ldr	r3, .L577+104
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L573:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L574
	ldr	r3, .L577+108
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L574:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L575
	ldr	r3, .L577+112
	mov	r2, #1
	str	r2, [r3]
	b	.L548
.L575:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L548
	ldr	r3, .L577+116
	mov	r2, #1
	str	r2, [r3]
.L548:
	ldr	r0, [fp, #-12]
	bl	callOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L578:
	.align	2
.L577:
	.word	personOnFloor_0_0
	.word	personOnFloor_1_0
	.word	personOnFloor_2_0
	.word	personOnFloor_3_0
	.word	personOnFloor_4_0
	.word	personOnFloor_5_0
	.word	personOnFloor_0_1
	.word	personOnFloor_1_1
	.word	personOnFloor_2_1
	.word	personOnFloor_3_1
	.word	personOnFloor_4_1
	.word	personOnFloor_5_1
	.word	personOnFloor_0_2
	.word	personOnFloor_1_2
	.word	personOnFloor_2_2
	.word	personOnFloor_3_2
	.word	personOnFloor_4_2
	.word	personOnFloor_5_2
	.word	personOnFloor_0_3
	.word	personOnFloor_1_3
	.word	personOnFloor_2_3
	.word	personOnFloor_3_3
	.word	personOnFloor_4_3
	.word	personOnFloor_5_3
	.word	personOnFloor_0_4
	.word	personOnFloor_1_4
	.word	personOnFloor_2_4
	.word	personOnFloor_3_4
	.word	personOnFloor_4_4
	.word	personOnFloor_5_4
	.size	initPersonOnFloor, .-initPersonOnFloor
	.align	2
	.global	removePersonFromFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	removePersonFromFloor, %function
removePersonFromFloor:
	@ 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	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L580
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L581
	ldr	r3, .L611
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L581:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L583
	ldr	r3, .L611+4
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L583:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L584
	ldr	r3, .L611+8
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L584:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L585
	ldr	r3, .L611+12
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L585:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L586
	ldr	r3, .L611+16
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L586:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L582
	ldr	r3, .L611+20
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L580:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L587
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L588
	ldr	r3, .L611+24
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L588:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L589
	ldr	r3, .L611+28
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L589:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L590
	ldr	r3, .L611+32
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L590:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L591
	ldr	r3, .L611+36
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L591:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L592
	ldr	r3, .L611+40
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L592:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L582
	ldr	r3, .L611+44
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L587:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L593
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L594
	ldr	r3, .L611+48
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L594:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L595
	ldr	r3, .L611+52
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L595:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L596
	ldr	r3, .L611+56
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L596:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L597
	ldr	r3, .L611+60
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L597:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L598
	ldr	r3, .L611+64
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L598:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L582
	ldr	r3, .L611+68
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L593:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L599
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L600
	ldr	r3, .L611+72
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L600:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L601
	ldr	r3, .L611+76
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L601:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L602
	ldr	r3, .L611+80
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L602:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L603
	ldr	r3, .L611+84
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L603:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L604
	ldr	r3, .L611+88
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L604:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L582
	ldr	r3, .L611+92
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L599:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L582
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L605
	ldr	r3, .L611+96
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L605:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L606
	ldr	r3, .L611+100
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L606:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L607
	ldr	r3, .L611+104
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L607:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L608
	ldr	r3, .L611+108
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L608:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L609
	ldr	r3, .L611+112
	mov	r2, #0
	str	r2, [r3]
	b	.L582
.L609:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L582
	ldr	r3, .L611+116
	mov	r2, #0
	str	r2, [r3]
.L582:
	ldr	r0, [fp, #-12]
	bl	resetCallOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L612:
	.align	2
.L611:
	.word	personOnFloor_0_0
	.word	personOnFloor_1_0
	.word	personOnFloor_2_0
	.word	personOnFloor_3_0
	.word	personOnFloor_4_0
	.word	personOnFloor_5_0
	.word	personOnFloor_0_1
	.word	personOnFloor_1_1
	.word	personOnFloor_2_1
	.word	personOnFloor_3_1
	.word	personOnFloor_4_1
	.word	personOnFloor_5_1
	.word	personOnFloor_0_2
	.word	personOnFloor_1_2
	.word	personOnFloor_2_2
	.word	personOnFloor_3_2
	.word	personOnFloor_4_2
	.word	personOnFloor_5_2
	.word	personOnFloor_0_3
	.word	personOnFloor_1_3
	.word	personOnFloor_2_3
	.word	personOnFloor_3_3
	.word	personOnFloor_4_3
	.word	personOnFloor_5_3
	.word	personOnFloor_0_4
	.word	personOnFloor_1_4
	.word	personOnFloor_2_4
	.word	personOnFloor_3_4
	.word	personOnFloor_4_4
	.word	personOnFloor_5_4
	.size	removePersonFromFloor, .-removePersonFromFloor
	.align	2
	.global	isTopFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	isTopFloor, %function
isTopFloor:
	@ 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, #4
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isTopFloor, .-isTopFloor
	.align	2
	.global	get_nondetMinMax07
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_nondetMinMax07, %function
get_nondetMinMax07:
	@ 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]
	cmp	r3, #0
	bne	.L616
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L616:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L618
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L618:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L619
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L619:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L620
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L620:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L621
	mov	r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L621:
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	bne	.L622
	mov	r3, #5
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L622:
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	bne	.L623
	mov	r3, #6
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L623:
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	bne	.L624
	mov	r3, #7
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L617
.L624:
	mov	r0, #0
	bl	exit
.L617:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	get_nondetMinMax07, .-get_nondetMinMax07
	.align	2
	.global	bobCall
	.syntax unified
	.arm
	.fpu softvfp
	.type	bobCall, %function
bobCall:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #0
	bl	getOrigin
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	mov	r0, #0
	bl	initPersonOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bobCall, .-bobCall
	.align	2
	.global	aliceCall
	.syntax unified
	.arm
	.fpu softvfp
	.type	aliceCall, %function
aliceCall:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #1
	bl	getOrigin
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	mov	r0, #1
	bl	initPersonOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	aliceCall, .-aliceCall
	.align	2
	.global	angelinaCall
	.syntax unified
	.arm
	.fpu softvfp
	.type	angelinaCall, %function
angelinaCall:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #2
	bl	getOrigin
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	mov	r0, #2
	bl	initPersonOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	angelinaCall, .-angelinaCall
	.align	2
	.global	chuckCall
	.syntax unified
	.arm
	.fpu softvfp
	.type	chuckCall, %function
chuckCall:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #3
	bl	getOrigin
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	mov	r0, #3
	bl	initPersonOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	chuckCall, .-chuckCall
	.align	2
	.global	monicaCall
	.syntax unified
	.arm
	.fpu softvfp
	.type	monicaCall, %function
monicaCall:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #4
	bl	getOrigin
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	mov	r0, #4
	bl	initPersonOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	monicaCall, .-monicaCall
	.align	2
	.global	bigMacCall
	.syntax unified
	.arm
	.fpu softvfp
	.type	bigMacCall, %function
bigMacCall:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #5
	bl	getOrigin
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	mov	r0, #5
	bl	initPersonOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	bigMacCall, .-bigMacCall
	.align	2
	.global	threeTS
	.syntax unified
	.arm
	.fpu softvfp
	.type	threeTS, %function
threeTS:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	timeShift
	bl	timeShift
	bl	timeShift
	nop
	pop	{fp, pc}
	.size	threeTS, .-threeTS
	.align	2
	.global	cleanup
	.syntax unified
	.arm
	.fpu softvfp
	.type	cleanup, %function
cleanup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	timeShift
	mov	r3, #0
	str	r3, [fp, #-20]
.L640:
	ldr	r3, .L649
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L646
	bl	isBlocked
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L647
	bl	isIdle
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L648
	bl	timeShift
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L640
.L646:
	nop
	b	.L639
.L647:
	nop
.L643:
	b	.L639
.L648:
	nop
.L639:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L650:
	.align	2
.L649:
	.word	cleanupTimeShifts
	.size	cleanup, .-cleanup
	.align	2
	.global	randomSequenceOfActions
	.syntax unified
	.arm
	.fpu softvfp
	.type	randomSequenceOfActions, %function
randomSequenceOfActions:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	r3, #4
	str	r3, [fp, #-32]
	bl	__VERIFIER_nondet_int
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L652
	bl	initTopDown
	b	.L653
.L652:
	bl	initBottomUp
.L653:
	mov	r3, #0
	str	r3, [fp, #-36]
.L654:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L663
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	bl	get_nondetMinMax07
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #5
	bgt	.L657
	ldr	r0, [fp, #-20]
	bl	getOrigin
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	initPersonOnFloor
	b	.L658
.L657:
	ldr	r3, [fp, #-20]
	cmp	r3, #6
	bne	.L659
	bl	timeShift
	b	.L658
.L659:
	ldr	r3, [fp, #-20]
	cmp	r3, #7
	bne	.L658
	bl	timeShift
	bl	timeShift
	bl	timeShift
.L658:
	bl	isBlocked
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L664
	b	.L654
.L663:
	nop
.L656:
	bl	cleanup
	b	.L651
.L664:
	nop
.L651:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	randomSequenceOfActions, .-randomSequenceOfActions
	.align	2
	.global	runTest_Simple
	.syntax unified
	.arm
	.fpu softvfp
	.type	runTest_Simple, %function
runTest_Simple:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	bigMacCall
	bl	angelinaCall
	bl	cleanup
	nop
	pop	{fp, pc}
	.size	runTest_Simple, .-runTest_Simple
	.align	2
	.global	Specification1
	.syntax unified
	.arm
	.fpu softvfp
	.type	Specification1, %function
Specification1:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	bigMacCall
	bl	angelinaCall
	bl	cleanup
	nop
	pop	{fp, pc}
	.size	Specification1, .-Specification1
	.align	2
	.global	Specification2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Specification2, %function
Specification2:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	bigMacCall
	bl	cleanup
	nop
	pop	{fp, pc}
	.size	Specification2, .-Specification2
	.align	2
	.global	Specification3
	.syntax unified
	.arm
	.fpu softvfp
	.type	Specification3, %function
Specification3:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	bobCall
	bl	timeShift
	bl	timeShift
	bl	timeShift
	bl	timeShift
	bl	timeShift
	bl	bobCall
	bl	cleanup
	nop
	pop	{fp, pc}
	.size	Specification3, .-Specification3
	.align	2
	.global	setup
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup, %function
setup:
	@ 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	setup, .-setup
	.align	2
	.global	runTest
	.syntax unified
	.arm
	.fpu softvfp
	.type	runTest, %function
runTest:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	__utac_acc__Specification9_spec__1
	bl	test
	bl	__utac_acc__Specification9_spec__4
	nop
	pop	{fp, pc}
	.size	runTest, .-runTest
	.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	select_helpers
	bl	select_features
	bl	valid_product
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L678
	bl	setup
	bl	runTest
.L678:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
