	.file	"43887246.c"
	.intel_syntax noprefix
	.text
	.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	executiveFloor
	.align 4
	.type	executiveFloor, @object
	.size	executiveFloor, 4
executiveFloor:
	.long	4
	.globl	blocked
	.bss
	.align 4
	.type	blocked, @object
	.size	blocked, 4
blocked:
	.zero	4
	.globl	floorButtons_spc2_0
	.align 4
	.type	floorButtons_spc2_0, @object
	.size	floorButtons_spc2_0, 4
floorButtons_spc2_0:
	.zero	4
	.globl	floorButtons_spc2_1
	.align 4
	.type	floorButtons_spc2_1, @object
	.size	floorButtons_spc2_1, 4
floorButtons_spc2_1:
	.zero	4
	.globl	floorButtons_spc2_2
	.align 4
	.type	floorButtons_spc2_2, @object
	.size	floorButtons_spc2_2, 4
floorButtons_spc2_2:
	.zero	4
	.globl	floorButtons_spc2_3
	.align 4
	.type	floorButtons_spc2_3, @object
	.size	floorButtons_spc2_3, 4
floorButtons_spc2_3:
	.zero	4
	.globl	floorButtons_spc2_4
	.align 4
	.type	floorButtons_spc2_4, @object
	.size	floorButtons_spc2_4, 4
floorButtons_spc2_4:
	.zero	4
	.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:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR 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
.LFE4:
	.size	initTopDown, .-initTopDown
	.globl	initBottomUp
	.type	initBottomUp, @function
initBottomUp:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR 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
.LFE5:
	.size	initBottomUp, .-initBottomUp
	.globl	isBlocked
	.type	isBlocked, @function
isBlocked:
.LFB6:
	.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
.LFE6:
	.size	isBlocked, .-isBlocked
	.globl	enterElevator__wrappee__base
	.type	enterElevator__wrappee__base, @function
enterElevator__wrappee__base:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L8
	mov	DWORD PTR persons_0[rip], 1
	jmp	.L15
.L8:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L10
	mov	DWORD PTR persons_1[rip], 1
	jmp	.L15
.L10:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L11
	mov	DWORD PTR persons_2[rip], 1
	jmp	.L15
.L11:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L12
	mov	DWORD PTR persons_3[rip], 1
	jmp	.L15
.L12:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L13
	mov	DWORD PTR persons_4[rip], 1
	jmp	.L15
.L13:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L15
	mov	DWORD PTR persons_5[rip], 1
	nop
.L15:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	enterElevator__wrappee__base, .-enterElevator__wrappee__base
	.globl	enterElevator
	.type	enterElevator, @function
enterElevator:
.LFB8:
	.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	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
.LFE8:
	.size	enterElevator, .-enterElevator
	.globl	leaveElevator__wrappee__base
	.type	leaveElevator__wrappee__base, @function
leaveElevator__wrappee__base:
.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], edi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L19
	mov	DWORD PTR persons_0[rip], 0
	jmp	.L26
.L19:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L21
	mov	DWORD PTR persons_1[rip], 0
	jmp	.L26
.L21:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L22
	mov	DWORD PTR persons_2[rip], 0
	jmp	.L26
.L22:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L23
	mov	DWORD PTR persons_3[rip], 0
	jmp	.L26
.L23:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L24
	mov	DWORD PTR persons_4[rip], 0
	jmp	.L26
.L24:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L26
	mov	DWORD PTR persons_5[rip], 0
	nop
.L26:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	leaveElevator__wrappee__base, .-leaveElevator__wrappee__base
	.globl	leaveElevator
	.type	leaveElevator, @function
leaveElevator:
.LFB10:
	.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__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
.LFE10:
	.size	leaveElevator, .-leaveElevator
	.globl	pressInLiftFloorButton
	.type	pressInLiftFloorButton, @function
pressInLiftFloorButton:
.LFB11:
	.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__Specification2_spec__2@PLT
	cmp	DWORD PTR -20[rbp], 0
	jne	.L30
	mov	DWORD PTR floorButtons_0[rip], 1
	jmp	.L36
.L30:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L32
	mov	DWORD PTR floorButtons_1[rip], 1
	jmp	.L36
.L32:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L33
	mov	DWORD PTR floorButtons_2[rip], 1
	jmp	.L36
.L33:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L34
	mov	DWORD PTR floorButtons_3[rip], 1
	jmp	.L36
.L34:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L36
	mov	DWORD PTR floorButtons_4[rip], 1
	nop
.L36:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	pressInLiftFloorButton, .-pressInLiftFloorButton
	.globl	resetFloorButton
	.type	resetFloorButton, @function
resetFloorButton:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L38
	mov	DWORD PTR floorButtons_0[rip], 0
	jmp	.L44
.L38:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L40
	mov	DWORD PTR floorButtons_1[rip], 0
	jmp	.L44
.L40:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L41
	mov	DWORD PTR floorButtons_2[rip], 0
	jmp	.L44
.L41:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L42
	mov	DWORD PTR floorButtons_3[rip], 0
	jmp	.L44
.L42:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L44
	mov	DWORD PTR floorButtons_4[rip], 0
	nop
.L44:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	resetFloorButton, .-resetFloorButton
	.globl	getCurrentFloorID
	.type	getCurrentFloorID, @function
getCurrentFloorID:
.LFB13:
	.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
.LFE13:
	.size	getCurrentFloorID, .-getCurrentFloorID
	.globl	areDoorsOpen
	.type	areDoorsOpen, @function
areDoorsOpen:
.LFB14:
	.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
.LFE14:
	.size	areDoorsOpen, .-areDoorsOpen
	.globl	buttonForFloorIsPressed
	.type	buttonForFloorIsPressed, @function
buttonForFloorIsPressed:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 0
	jne	.L50
	mov	eax, DWORD PTR floorButtons_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L50:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L52
	mov	eax, DWORD PTR floorButtons_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L52:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L53
	mov	eax, DWORD PTR floorButtons_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L53:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L54
	mov	eax, DWORD PTR floorButtons_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L54:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L55
	mov	eax, DWORD PTR floorButtons_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L51
.L55:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L51:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	buttonForFloorIsPressed, .-buttonForFloorIsPressed
	.globl	getCurrentHeading
	.type	getCurrentHeading, @function
getCurrentHeading:
.LFB16:
	.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
.LFE16:
	.size	getCurrentHeading, .-getCurrentHeading
	.globl	isEmpty
	.type	isEmpty, @function
isEmpty:
.LFB17:
	.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	.L59
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L59:
	mov	eax, DWORD PTR persons_1[rip]
	cmp	eax, 1
	jne	.L61
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L61:
	mov	eax, DWORD PTR persons_2[rip]
	cmp	eax, 1
	jne	.L62
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L62:
	mov	eax, DWORD PTR persons_3[rip]
	cmp	eax, 1
	jne	.L63
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L63:
	mov	eax, DWORD PTR persons_4[rip]
	cmp	eax, 1
	jne	.L64
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L64:
	mov	eax, DWORD PTR persons_5[rip]
	cmp	eax, 1
	jne	.L65
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L60
.L65:
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
.L60:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	isEmpty, .-isEmpty
	.globl	anyStopRequested
	.type	anyStopRequested, @function
anyStopRequested:
.LFB18:
	.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	.L67
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L67:
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L69
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L69:
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L70
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L70:
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L71
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L71:
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L72
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L72:
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L73
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L73:
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L74
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L74:
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L75
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L75:
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L76
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L76:
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L77
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L68
.L77:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L68:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	anyStopRequested, .-anyStopRequested
	.globl	isIdle
	.type	isIdle, @function
isIdle:
.LFB19:
	.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
.LFE19:
	.size	isIdle, .-isIdle
	.globl	stopRequestedInDirection__wrappee__weight
	.type	stopRequestedInDirection__wrappee__weight, @function
stopRequestedInDirection__wrappee__weight:
.LFB20:
	.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	.L81
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	isTopFloor
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	je	.L82
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L82:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jns	.L145
	cmp	DWORD PTR -56[rbp], 0
	je	.L146
	mov	edi, 0
	call	isFloorCalling
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L147
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L145:
	nop
	jmp	.L84
.L146:
	nop
	jmp	.L84
.L147:
	nop
.L84:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jns	.L148
	cmp	DWORD PTR -60[rbp], 0
	je	.L149
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L150
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L148:
	nop
	jmp	.L87
.L149:
	nop
	jmp	.L87
.L150:
	nop
.L87:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jg	.L151
	cmp	DWORD PTR -56[rbp], 0
	je	.L152
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -16[rbp], eax
	cmp	DWORD PTR -16[rbp], 0
	je	.L153
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L151:
	nop
	jmp	.L90
.L152:
	nop
	jmp	.L90
.L153:
	nop
.L90:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jg	.L154
	cmp	DWORD PTR -60[rbp], 0
	je	.L155
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L156
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L154:
	nop
	jmp	.L93
.L155:
	nop
	jmp	.L93
.L156:
	nop
.L93:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jg	.L157
	cmp	DWORD PTR -56[rbp], 0
	je	.L158
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L159
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L157:
	nop
	jmp	.L96
.L158:
	nop
	jmp	.L96
.L159:
	nop
.L96:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jg	.L160
	cmp	DWORD PTR -60[rbp], 0
	je	.L161
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L162
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L160:
	nop
	jmp	.L99
.L161:
	nop
	jmp	.L99
.L162:
	nop
.L99:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jg	.L163
	cmp	DWORD PTR -56[rbp], 0
	je	.L164
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L165
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L163:
	nop
	jmp	.L102
.L164:
	nop
	jmp	.L102
.L165:
	nop
.L102:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jg	.L166
	cmp	DWORD PTR -60[rbp], 0
	je	.L167
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L168
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L166:
	nop
	jmp	.L105
.L167:
	nop
	jmp	.L105
.L168:
	nop
.L105:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jg	.L169
	cmp	DWORD PTR -56[rbp], 0
	je	.L170
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L171
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L169:
	nop
	jmp	.L108
.L170:
	nop
	jmp	.L108
.L171:
	nop
.L108:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jg	.L111
	cmp	DWORD PTR -60[rbp], 0
	je	.L112
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L113
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L113:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L112:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L111:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L81:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jne	.L114
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L114:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jle	.L172
	cmp	DWORD PTR -56[rbp], 0
	je	.L173
	mov	edi, 0
	call	isFloorCalling
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L174
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L172:
	nop
	jmp	.L115
.L173:
	nop
	jmp	.L115
.L174:
	nop
.L115:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jle	.L175
	cmp	DWORD PTR -60[rbp], 0
	je	.L176
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L177
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L175:
	nop
	jmp	.L118
.L176:
	nop
	jmp	.L118
.L177:
	nop
.L118:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jle	.L178
	cmp	DWORD PTR -56[rbp], 0
	je	.L179
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	je	.L180
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L178:
	nop
	jmp	.L121
.L179:
	nop
	jmp	.L121
.L180:
	nop
.L121:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 1
	jle	.L181
	cmp	DWORD PTR -60[rbp], 0
	je	.L182
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L183
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L181:
	nop
	jmp	.L124
.L182:
	nop
	jmp	.L124
.L183:
	nop
.L124:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jle	.L184
	cmp	DWORD PTR -56[rbp], 0
	je	.L185
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L186
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L184:
	nop
	jmp	.L127
.L185:
	nop
	jmp	.L127
.L186:
	nop
.L127:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 2
	jle	.L187
	cmp	DWORD PTR -60[rbp], 0
	je	.L188
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L189
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L187:
	nop
	jmp	.L130
.L188:
	nop
	jmp	.L130
.L189:
	nop
.L130:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jle	.L190
	cmp	DWORD PTR -56[rbp], 0
	je	.L191
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -32[rbp], eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L192
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L190:
	nop
	jmp	.L133
.L191:
	nop
	jmp	.L133
.L192:
	nop
.L133:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 3
	jle	.L193
	cmp	DWORD PTR -60[rbp], 0
	je	.L194
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L195
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L193:
	nop
	jmp	.L136
.L194:
	nop
	jmp	.L136
.L195:
	nop
.L136:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 4
	jle	.L196
	cmp	DWORD PTR -56[rbp], 0
	je	.L197
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L198
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L196:
	nop
	jmp	.L139
.L197:
	nop
	jmp	.L139
.L198:
	nop
.L139:
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	eax, 4
	jle	.L142
	cmp	DWORD PTR -60[rbp], 0
	je	.L143
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L144
	mov	DWORD PTR -44[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L144:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L143:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	jmp	.L83
.L142:
	mov	DWORD PTR -44[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
.L83:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	stopRequestedInDirection__wrappee__weight, .-stopRequestedInDirection__wrappee__weight
	.globl	stopRequestedInDirection
	.type	stopRequestedInDirection, @function
stopRequestedInDirection:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	DWORD PTR -44[rbp], edx
	call	isExecutiveFloorCalling
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L200
	call	getCurrentFloorID
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -36[rbp], 1
	sete	al
	movzx	eax, al
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR executiveFloor[rip]
	cmp	DWORD PTR -12[rbp], eax
	setl	al
	movzx	eax, al
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	sete	al
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L201
.L200:
	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__weight
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
.L201:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	stopRequestedInDirection, .-stopRequestedInDirection
	.globl	isAnyLiftButtonPressed
	.type	isAnyLiftButtonPressed, @function
isAnyLiftButtonPressed:
.LFB22:
	.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	.L203
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L204
.L203:
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L205
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L204
.L205:
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L206
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L204
.L206:
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L207
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L204
.L207:
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L208
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L204
.L208:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L204:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	isAnyLiftButtonPressed, .-isAnyLiftButtonPressed
	.globl	continueInDirection
	.type	continueInDirection, @function
continueInDirection:
.LFB23:
	.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	.L210
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	isTopFloor
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L211
	mov	DWORD PTR currentHeading[rip], 0
	jmp	.L211
.L210:
	mov	eax, DWORD PTR currentFloorID[rip]
	test	eax, eax
	jne	.L211
	mov	DWORD PTR currentHeading[rip], 1
.L211:
	mov	eax, DWORD PTR currentHeading[rip]
	cmp	eax, 1
	jne	.L212
	mov	eax, DWORD PTR currentFloorID[rip]
	add	eax, 1
	mov	DWORD PTR currentFloorID[rip], eax
	jmp	.L209
.L212:
	mov	eax, DWORD PTR currentFloorID[rip]
	sub	eax, 1
	mov	DWORD PTR currentFloorID[rip], eax
	nop
.L209:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	continueInDirection, .-continueInDirection
	.globl	stopRequestedAtCurrentFloor__wrappee__weight
	.type	stopRequestedAtCurrentFloor__wrappee__weight, @function
stopRequestedAtCurrentFloor__wrappee__weight:
.LFB24:
	.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	.L216
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L217
.L216:
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	buttonForFloorIsPressed
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L218
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L217
.L218:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L217:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	stopRequestedAtCurrentFloor__wrappee__weight, .-stopRequestedAtCurrentFloor__wrappee__weight
	.globl	stopRequestedAtCurrentFloor
	.type	stopRequestedAtCurrentFloor, @function
stopRequestedAtCurrentFloor:
.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, 16
	call	isExecutiveFloorCalling
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L220
	call	getCurrentFloorID
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR executiveFloor[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L221
	call	stopRequestedAtCurrentFloor__wrappee__weight
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L222
.L221:
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L222
.L220:
	call	stopRequestedAtCurrentFloor__wrappee__weight
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
.L222:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	stopRequestedAtCurrentFloor, .-stopRequestedAtCurrentFloor
	.globl	getReverseHeading
	.type	getReverseHeading, @function
getReverseHeading:
.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 -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 0
	jne	.L224
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L225
.L224:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L225:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	getReverseHeading, .-getReverseHeading
	.globl	processWaitingOnFloor
	.type	processWaitingOnFloor, @function
processWaitingOnFloor:
.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, 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	.L227
	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
.L227:
	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	.L228
	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
.L228:
	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	.L229
	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
.L229:
	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	.L230
	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
.L230:
	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	.L231
	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
.L231:
	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	.L232
	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
.L232:
	mov	eax, DWORD PTR -52[rbp]
	mov	edi, eax
	call	resetCallOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	processWaitingOnFloor, .-processWaitingOnFloor
	.globl	timeShift__wrappee__executivefloor
	.type	timeShift__wrappee__executivefloor, @function
timeShift__wrappee__executivefloor:
.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, 48
	call	stopRequestedAtCurrentFloor
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L235
	mov	DWORD PTR doorState[rip], 1
	mov	eax, DWORD PTR persons_0[rip]
	test	eax, eax
	je	.L236
	mov	edi, 0
	call	getDestination
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -24[rbp], eax
	jne	.L236
	mov	edi, 0
	call	leaveElevator
.L236:
	mov	eax, DWORD PTR persons_1[rip]
	test	eax, eax
	je	.L237
	mov	edi, 1
	call	getDestination
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L237
	mov	edi, 1
	call	leaveElevator
.L237:
	mov	eax, DWORD PTR persons_2[rip]
	test	eax, eax
	je	.L238
	mov	edi, 2
	call	getDestination
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -16[rbp], eax
	jne	.L238
	mov	edi, 2
	call	leaveElevator
.L238:
	mov	eax, DWORD PTR persons_3[rip]
	test	eax, eax
	je	.L239
	mov	edi, 3
	call	getDestination
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L239
	mov	edi, 3
	call	leaveElevator
.L239:
	mov	eax, DWORD PTR persons_4[rip]
	test	eax, eax
	je	.L240
	mov	edi, 4
	call	getDestination
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -8[rbp], eax
	jne	.L240
	mov	edi, 4
	call	leaveElevator
.L240:
	mov	eax, DWORD PTR persons_5[rip]
	test	eax, eax
	je	.L241
	mov	edi, 5
	call	getDestination
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR currentFloorID[rip]
	cmp	DWORD PTR -4[rbp], eax
	jne	.L241
	mov	edi, 5
	call	leaveElevator
.L241:
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	processWaitingOnFloor
	mov	eax, DWORD PTR currentFloorID[rip]
	mov	edi, eax
	call	resetFloorButton
	jmp	.L234
.L235:
	mov	eax, DWORD PTR doorState[rip]
	cmp	eax, 1
	jne	.L243
	mov	DWORD PTR doorState[rip], 0
.L243:
	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	.L244
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edi, eax
	call	continueInDirection
	jmp	.L234
.L244:
	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	.L245
	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	.L234
.L245:
	mov	eax, DWORD PTR currentHeading[rip]
	mov	edi, eax
	call	continueInDirection
	nop
.L234:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	timeShift__wrappee__executivefloor, .-timeShift__wrappee__executivefloor
	.globl	timeShift
	.type	timeShift, @function
timeShift:
.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, 16
	call	areDoorsOpen
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L248
	mov	edx, DWORD PTR weight[rip]
	mov	eax, DWORD PTR maximumWeight[rip]
	cmp	edx, eax
	jle	.L249
	mov	DWORD PTR blocked[rip], 1
	jmp	.L250
.L249:
	mov	DWORD PTR blocked[rip], 0
	call	timeShift__wrappee__executivefloor
	jmp	.L250
.L248:
	mov	DWORD PTR blocked[rip], 0
	call	timeShift__wrappee__executivefloor
.L250:
	call	__utac_acc__Specification2_spec__3@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	timeShift, .-timeShift
	.section	.rodata
.LC0:
	.string	"Elevator "
.LC1:
	.string	"[_]"
.LC2:
	.string	"[] "
.LC3:
	.string	" at "
.LC4:
	.string	"%i"
.LC5:
	.string	" heading "
.LC6:
	.string	"up"
.LC7:
	.string	"down"
.LC8:
	.string	" IL_p:"
.LC9:
	.string	" %i"
.LC10:
	.string	" F_p:"
.LC11:
	.string	"\n"
	.text
	.globl	printState__wrappee__executivefloor
	.type	printState__wrappee__executivefloor, @function
printState__wrappee__executivefloor:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	lea	rax, .LC0[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	.L253
	lea	rax, .LC1[rip]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	jmp	.L254
.L253:
	lea	rax, .LC2[rip]
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L254:
	lea	rax, .LC3[rip]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	lea	rax, .LC4[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, .LC5[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	.L255
	lea	rax, .LC6[rip]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
	jmp	.L256
.L255:
	lea	rax, .LC7[rip]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L256:
	lea	rax, .LC8[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	.L257
	lea	rax, .LC9[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
.L257:
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L258
	lea	rax, .LC9[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
.L258:
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L259
	lea	rax, .LC9[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
.L259:
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L260
	lea	rax, .LC9[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
.L260:
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L261
	lea	rax, .LC9[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
.L261:
	lea	rax, .LC10[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	.L262
	lea	rax, .LC9[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
.L262:
	mov	edi, 1
	call	isFloorCalling
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], 0
	je	.L263
	lea	rax, .LC9[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
.L263:
	mov	edi, 2
	call	isFloorCalling
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	je	.L264
	lea	rax, .LC9[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
.L264:
	mov	edi, 3
	call	isFloorCalling
	mov	DWORD PTR -176[rbp], eax
	cmp	DWORD PTR -176[rbp], 0
	je	.L265
	lea	rax, .LC9[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
.L265:
	mov	edi, 4
	call	isFloorCalling
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	je	.L266
	lea	rax, .LC9[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
.L266:
	lea	rax, .LC11[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
.LFE30:
	.size	printState__wrappee__executivefloor, .-printState__wrappee__executivefloor
	.section	.rodata
.LC12:
	.string	"Blocked "
	.text
	.globl	printState
	.type	printState, @function
printState:
.LFB31:
	.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	.L269
	lea	rax, .LC12[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	printf@PLT
.L269:
	call	printState__wrappee__executivefloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	printState, .-printState
	.globl	existInLiftCallsInDirection
	.type	existInLiftCallsInDirection, @function
existInLiftCallsInDirection:
.LFB32:
	.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	.L272
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR currentFloorID[rip]
	add	eax, 1
	mov	DWORD PTR -12[rbp], eax
.L273:
	cmp	DWORD PTR -12[rbp], 4
	jg	.L303
	cmp	DWORD PTR -12[rbp], 0
	jne	.L304
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L305
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L304:
	nop
	jmp	.L276
.L305:
	nop
.L276:
	cmp	DWORD PTR -12[rbp], 1
	jne	.L306
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L307
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L306:
	nop
	jmp	.L279
.L307:
	nop
.L279:
	cmp	DWORD PTR -12[rbp], 2
	jne	.L308
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L309
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L308:
	nop
	jmp	.L281
.L309:
	nop
.L281:
	cmp	DWORD PTR -12[rbp], 3
	jne	.L310
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L311
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L310:
	nop
	jmp	.L283
.L311:
	nop
.L283:
	cmp	DWORD PTR -12[rbp], 4
	jne	.L285
	mov	eax, DWORD PTR floorButtons_4[rip]
	test	eax, eax
	je	.L285
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L285:
	add	DWORD PTR -12[rbp], 1
	jmp	.L273
.L275:
.L272:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L286
	mov	DWORD PTR -8[rbp], 0
	mov	eax, DWORD PTR currentFloorID[rip]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L287:
	cmp	DWORD PTR -8[rbp], 0
	js	.L312
	mov	eax, DWORD PTR currentFloorID[rip]
	add	eax, 1
	mov	DWORD PTR -8[rbp], eax
.L290:
	cmp	DWORD PTR -8[rbp], 4
	jg	.L313
	cmp	DWORD PTR -8[rbp], 0
	jne	.L314
	mov	eax, DWORD PTR floorButtons_0[rip]
	test	eax, eax
	je	.L315
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L314:
	nop
	jmp	.L293
.L315:
	nop
.L293:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L316
	mov	eax, DWORD PTR floorButtons_1[rip]
	test	eax, eax
	je	.L317
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L316:
	nop
	jmp	.L295
.L317:
	nop
.L295:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L318
	mov	eax, DWORD PTR floorButtons_2[rip]
	test	eax, eax
	je	.L319
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L318:
	nop
	jmp	.L297
.L319:
	nop
.L297:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L320
	mov	eax, DWORD PTR floorButtons_3[rip]
	test	eax, eax
	je	.L321
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L278
.L320:
	nop
	jmp	.L299
.L321:
	nop
.L299:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L301
	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	.L278
.L301:
	add	DWORD PTR -8[rbp], 1
	jmp	.L290
.L313:
	nop
.L292:
	sub	DWORD PTR -8[rbp], 1
	jmp	.L287
.L289:
.L303:
	nop
	jmp	.L286
.L312:
	nop
.L286:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L278:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	existInLiftCallsInDirection, .-existInLiftCallsInDirection
	.globl	isExecutiveFloorCalling
	.type	isExecutiveFloorCalling, @function
isExecutiveFloorCalling:
.LFB33:
	.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 executiveFloor[rip]
	mov	edi, eax
	call	isFloorCalling
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	isExecutiveFloorCalling, .-isExecutiveFloorCalling
	.globl	isExecutiveFloor
	.type	isExecutiveFloor, @function
isExecutiveFloor:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR executiveFloor[rip]
	cmp	DWORD PTR -20[rbp], eax
	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
.LFE34:
	.size	isExecutiveFloor, .-isExecutiveFloor
	.globl	__automaton_fail
	.type	__automaton_fail, @function
__automaton_fail:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
.L327:
	mov	eax, 0
	call	__VERIFIER_error@PLT
	.cfi_endproc
.LFE35:
	.size	__automaton_fail, .-__automaton_fail
	.globl	__utac__exception__cf_handler_set
	.type	__utac__exception__cf_handler_set, @function
__utac__exception__cf_handler_set:
.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, 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
.LFE36:
	.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:
.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, 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
.L331:
	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	.L336
	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	.L331
.L336:
	nop
.L333:
	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
.LFE37:
	.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:
.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, 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
.L338:
	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	.L343
	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	.L338
.L343:
	nop
.L340:
	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
.LFE38:
	.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:
.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, 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	.L345
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L346
.L345:
	cmp	DWORD PTR -188[rbp], 0
	jne	.L347
	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	.L346
.L347:
	cmp	DWORD PTR -188[rbp], 1
	jne	.L348
	mov	rax, QWORD PTR head[rip]
	mov	QWORD PTR -168[rbp], rax
.L349:
	cmp	DWORD PTR -192[rbp], 1
	jle	.L355
	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	.L349
.L355:
	nop
.L351:
	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	.L346
.L348:
	cmp	DWORD PTR -188[rbp], 2
	jne	.L352
	mov	rax, QWORD PTR head[rip]
	test	rax, rax
	je	.L353
	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	.L346
.L353:
	mov	QWORD PTR -160[rbp], 0
	mov	rax, QWORD PTR -160[rbp]
	jmp	.L346
.L352:
	mov	rax, QWORD PTR -160[rbp]
.L346:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	__utac__error_stack_mgt, .-__utac__error_stack_mgt
	.section	.rodata
.LC13:
	.string	"__utac__get_this_arg"
.LC14:
	.string	"libacc.c"
.LC15:
	.string	"i > 0 && i <= this->argsCount"
	.text
	.globl	__utac__get_this_arg
	.type	__utac__get_this_arg, @function
__utac__get_this_arg:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	cmp	DWORD PTR -84[rbp], 0
	jle	.L357
	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	.L358
	lea	rcx, .LC13[rip]
	mov	edx, 123
	lea	rsi, .LC14[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L357:
	lea	rcx, .LC13[rip]
	mov	edx, 123
	lea	rsi, .LC14[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L358:
	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
.LFE40:
	.size	__utac__get_this_arg, .-__utac__get_this_arg
	.section	.rodata
.LC16:
	.string	"__utac__get_this_argtype"
	.text
	.globl	__utac__get_this_argtype
	.type	__utac__get_this_argtype, @function
__utac__get_this_argtype:
.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, 96
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	cmp	DWORD PTR -84[rbp], 0
	jle	.L361
	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	.L362
	lea	rcx, .LC16[rip]
	mov	edx, 131
	lea	rsi, .LC14[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L361:
	lea	rcx, .LC16[rip]
	mov	edx, 131
	lea	rsi, .LC14[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L362:
	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
.LFE41:
	.size	__utac__get_this_argtype, .-__utac__get_this_argtype
	.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:
.LFB42:
	.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
.LFE42:
	.size	initFloors, .-initFloors
	.globl	isFloorCalling
	.type	isFloorCalling, @function
isFloorCalling:
.LFB43:
	.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	.L367
	mov	eax, DWORD PTR calls_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L368
.L367:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L369
	mov	eax, DWORD PTR calls_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L368
.L369:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L370
	mov	eax, DWORD PTR calls_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L368
.L370:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L371
	mov	eax, DWORD PTR calls_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L368
.L371:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L372
	mov	eax, DWORD PTR calls_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L368
.L372:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L368:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	isFloorCalling, .-isFloorCalling
	.globl	resetCallOnFloor
	.type	resetCallOnFloor, @function
resetCallOnFloor:
.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 -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	jne	.L374
	mov	DWORD PTR calls_0[rip], 0
	jmp	.L380
.L374:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L376
	mov	DWORD PTR calls_1[rip], 0
	jmp	.L380
.L376:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L377
	mov	DWORD PTR calls_2[rip], 0
	jmp	.L380
.L377:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L378
	mov	DWORD PTR calls_3[rip], 0
	jmp	.L380
.L378:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L380
	mov	DWORD PTR calls_4[rip], 0
	nop
.L380:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	resetCallOnFloor, .-resetCallOnFloor
	.globl	callOnFloor
	.type	callOnFloor, @function
callOnFloor:
.LFB45:
	.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	.L382
	mov	DWORD PTR calls_0[rip], 1
	jmp	.L388
.L382:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L384
	mov	DWORD PTR calls_1[rip], 1
	jmp	.L388
.L384:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L385
	mov	DWORD PTR calls_2[rip], 1
	jmp	.L388
.L385:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L386
	mov	DWORD PTR calls_3[rip], 1
	jmp	.L388
.L386:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L388
	mov	DWORD PTR calls_4[rip], 1
	nop
.L388:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	callOnFloor, .-callOnFloor
	.globl	isPersonOnFloor
	.type	isPersonOnFloor, @function
isPersonOnFloor:
.LFB46:
	.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	.L390
	cmp	DWORD PTR -20[rbp], 0
	jne	.L391
	mov	eax, DWORD PTR personOnFloor_0_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L391:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L393
	mov	eax, DWORD PTR personOnFloor_1_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L393:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L394
	mov	eax, DWORD PTR personOnFloor_2_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L394:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L395
	mov	eax, DWORD PTR personOnFloor_3_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L395:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L396
	mov	eax, DWORD PTR personOnFloor_4_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L396:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L397
	mov	eax, DWORD PTR personOnFloor_5_0[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L390:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L398
	cmp	DWORD PTR -20[rbp], 0
	jne	.L399
	mov	eax, DWORD PTR personOnFloor_0_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L399:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L400
	mov	eax, DWORD PTR personOnFloor_1_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L400:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L401
	mov	eax, DWORD PTR personOnFloor_2_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L401:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L402
	mov	eax, DWORD PTR personOnFloor_3_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L402:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L403
	mov	eax, DWORD PTR personOnFloor_4_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L403:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L397
	mov	eax, DWORD PTR personOnFloor_5_1[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L398:
	cmp	DWORD PTR -24[rbp], 2
	jne	.L404
	cmp	DWORD PTR -20[rbp], 0
	jne	.L405
	mov	eax, DWORD PTR personOnFloor_0_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L405:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L406
	mov	eax, DWORD PTR personOnFloor_1_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L406:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L407
	mov	eax, DWORD PTR personOnFloor_2_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L407:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L408
	mov	eax, DWORD PTR personOnFloor_3_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L408:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L409
	mov	eax, DWORD PTR personOnFloor_4_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L409:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L397
	mov	eax, DWORD PTR personOnFloor_5_2[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L404:
	cmp	DWORD PTR -24[rbp], 3
	jne	.L410
	cmp	DWORD PTR -20[rbp], 0
	jne	.L411
	mov	eax, DWORD PTR personOnFloor_0_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L411:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L412
	mov	eax, DWORD PTR personOnFloor_1_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L412:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L413
	mov	eax, DWORD PTR personOnFloor_2_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L413:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L414
	mov	eax, DWORD PTR personOnFloor_3_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L414:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L415
	mov	eax, DWORD PTR personOnFloor_4_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L415:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L397
	mov	eax, DWORD PTR personOnFloor_5_3[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L410:
	cmp	DWORD PTR -24[rbp], 4
	jne	.L397
	cmp	DWORD PTR -20[rbp], 0
	jne	.L416
	mov	eax, DWORD PTR personOnFloor_0_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L416:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L417
	mov	eax, DWORD PTR personOnFloor_1_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L417:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L418
	mov	eax, DWORD PTR personOnFloor_2_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L418:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L419
	mov	eax, DWORD PTR personOnFloor_3_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L419:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L420
	mov	eax, DWORD PTR personOnFloor_4_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L420:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L397
	mov	eax, DWORD PTR personOnFloor_5_4[rip]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L392
.L397:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L392:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	isPersonOnFloor, .-isPersonOnFloor
	.globl	initPersonOnFloor
	.type	initPersonOnFloor, @function
initPersonOnFloor:
.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, 8
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	jne	.L422
	cmp	DWORD PTR -4[rbp], 0
	jne	.L423
	mov	DWORD PTR personOnFloor_0_0[rip], 1
	jmp	.L424
.L423:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L425
	mov	DWORD PTR personOnFloor_1_0[rip], 1
	jmp	.L424
.L425:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L426
	mov	DWORD PTR personOnFloor_2_0[rip], 1
	jmp	.L424
.L426:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L427
	mov	DWORD PTR personOnFloor_3_0[rip], 1
	jmp	.L424
.L427:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L428
	mov	DWORD PTR personOnFloor_4_0[rip], 1
	jmp	.L424
.L428:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L424
	mov	DWORD PTR personOnFloor_5_0[rip], 1
	jmp	.L424
.L422:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L429
	cmp	DWORD PTR -4[rbp], 0
	jne	.L430
	mov	DWORD PTR personOnFloor_0_1[rip], 1
	jmp	.L424
.L430:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L431
	mov	DWORD PTR personOnFloor_1_1[rip], 1
	jmp	.L424
.L431:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L432
	mov	DWORD PTR personOnFloor_2_1[rip], 1
	jmp	.L424
.L432:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L433
	mov	DWORD PTR personOnFloor_3_1[rip], 1
	jmp	.L424
.L433:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L434
	mov	DWORD PTR personOnFloor_4_1[rip], 1
	jmp	.L424
.L434:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L424
	mov	DWORD PTR personOnFloor_5_1[rip], 1
	jmp	.L424
.L429:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L435
	cmp	DWORD PTR -4[rbp], 0
	jne	.L436
	mov	DWORD PTR personOnFloor_0_2[rip], 1
	jmp	.L424
.L436:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L437
	mov	DWORD PTR personOnFloor_1_2[rip], 1
	jmp	.L424
.L437:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L438
	mov	DWORD PTR personOnFloor_2_2[rip], 1
	jmp	.L424
.L438:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L439
	mov	DWORD PTR personOnFloor_3_2[rip], 1
	jmp	.L424
.L439:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L440
	mov	DWORD PTR personOnFloor_4_2[rip], 1
	jmp	.L424
.L440:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L424
	mov	DWORD PTR personOnFloor_5_2[rip], 1
	jmp	.L424
.L435:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L441
	cmp	DWORD PTR -4[rbp], 0
	jne	.L442
	mov	DWORD PTR personOnFloor_0_3[rip], 1
	jmp	.L424
.L442:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L443
	mov	DWORD PTR personOnFloor_1_3[rip], 1
	jmp	.L424
.L443:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L444
	mov	DWORD PTR personOnFloor_2_3[rip], 1
	jmp	.L424
.L444:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L445
	mov	DWORD PTR personOnFloor_3_3[rip], 1
	jmp	.L424
.L445:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L446
	mov	DWORD PTR personOnFloor_4_3[rip], 1
	jmp	.L424
.L446:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L424
	mov	DWORD PTR personOnFloor_5_3[rip], 1
	jmp	.L424
.L441:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L424
	cmp	DWORD PTR -4[rbp], 0
	jne	.L447
	mov	DWORD PTR personOnFloor_0_4[rip], 1
	jmp	.L424
.L447:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L448
	mov	DWORD PTR personOnFloor_1_4[rip], 1
	jmp	.L424
.L448:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L449
	mov	DWORD PTR personOnFloor_2_4[rip], 1
	jmp	.L424
.L449:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L450
	mov	DWORD PTR personOnFloor_3_4[rip], 1
	jmp	.L424
.L450:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L451
	mov	DWORD PTR personOnFloor_4_4[rip], 1
	jmp	.L424
.L451:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L424
	mov	DWORD PTR personOnFloor_5_4[rip], 1
.L424:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	callOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	initPersonOnFloor, .-initPersonOnFloor
	.globl	removePersonFromFloor
	.type	removePersonFromFloor, @function
removePersonFromFloor:
.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, 8
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	jne	.L454
	cmp	DWORD PTR -4[rbp], 0
	jne	.L455
	mov	DWORD PTR personOnFloor_0_0[rip], 0
	jmp	.L456
.L455:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L457
	mov	DWORD PTR personOnFloor_1_0[rip], 0
	jmp	.L456
.L457:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L458
	mov	DWORD PTR personOnFloor_2_0[rip], 0
	jmp	.L456
.L458:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L459
	mov	DWORD PTR personOnFloor_3_0[rip], 0
	jmp	.L456
.L459:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L460
	mov	DWORD PTR personOnFloor_4_0[rip], 0
	jmp	.L456
.L460:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L456
	mov	DWORD PTR personOnFloor_5_0[rip], 0
	jmp	.L456
.L454:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L461
	cmp	DWORD PTR -4[rbp], 0
	jne	.L462
	mov	DWORD PTR personOnFloor_0_1[rip], 0
	jmp	.L456
.L462:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L463
	mov	DWORD PTR personOnFloor_1_1[rip], 0
	jmp	.L456
.L463:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L464
	mov	DWORD PTR personOnFloor_2_1[rip], 0
	jmp	.L456
.L464:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L465
	mov	DWORD PTR personOnFloor_3_1[rip], 0
	jmp	.L456
.L465:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L466
	mov	DWORD PTR personOnFloor_4_1[rip], 0
	jmp	.L456
.L466:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L456
	mov	DWORD PTR personOnFloor_5_1[rip], 0
	jmp	.L456
.L461:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L467
	cmp	DWORD PTR -4[rbp], 0
	jne	.L468
	mov	DWORD PTR personOnFloor_0_2[rip], 0
	jmp	.L456
.L468:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L469
	mov	DWORD PTR personOnFloor_1_2[rip], 0
	jmp	.L456
.L469:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L470
	mov	DWORD PTR personOnFloor_2_2[rip], 0
	jmp	.L456
.L470:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L471
	mov	DWORD PTR personOnFloor_3_2[rip], 0
	jmp	.L456
.L471:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L472
	mov	DWORD PTR personOnFloor_4_2[rip], 0
	jmp	.L456
.L472:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L456
	mov	DWORD PTR personOnFloor_5_2[rip], 0
	jmp	.L456
.L467:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L473
	cmp	DWORD PTR -4[rbp], 0
	jne	.L474
	mov	DWORD PTR personOnFloor_0_3[rip], 0
	jmp	.L456
.L474:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L475
	mov	DWORD PTR personOnFloor_1_3[rip], 0
	jmp	.L456
.L475:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L476
	mov	DWORD PTR personOnFloor_2_3[rip], 0
	jmp	.L456
.L476:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L477
	mov	DWORD PTR personOnFloor_3_3[rip], 0
	jmp	.L456
.L477:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L478
	mov	DWORD PTR personOnFloor_4_3[rip], 0
	jmp	.L456
.L478:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L456
	mov	DWORD PTR personOnFloor_5_3[rip], 0
	jmp	.L456
.L473:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L456
	cmp	DWORD PTR -4[rbp], 0
	jne	.L479
	mov	DWORD PTR personOnFloor_0_4[rip], 0
	jmp	.L456
.L479:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L480
	mov	DWORD PTR personOnFloor_1_4[rip], 0
	jmp	.L456
.L480:
	cmp	DWORD PTR -4[rbp], 2
	jne	.L481
	mov	DWORD PTR personOnFloor_2_4[rip], 0
	jmp	.L456
.L481:
	cmp	DWORD PTR -4[rbp], 3
	jne	.L482
	mov	DWORD PTR personOnFloor_3_4[rip], 0
	jmp	.L456
.L482:
	cmp	DWORD PTR -4[rbp], 4
	jne	.L483
	mov	DWORD PTR personOnFloor_4_4[rip], 0
	jmp	.L456
.L483:
	cmp	DWORD PTR -4[rbp], 5
	jne	.L456
	mov	DWORD PTR personOnFloor_5_4[rip], 0
.L456:
	mov	eax, DWORD PTR -8[rbp]
	mov	edi, eax
	call	resetCallOnFloor
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	removePersonFromFloor, .-removePersonFromFloor
	.globl	isTopFloor
	.type	isTopFloor, @function
isTopFloor:
.LFB49:
	.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
.LFE49:
	.size	isTopFloor, .-isTopFloor
	.globl	test
	.type	test, @function
test:
.LFB50:
	.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
.LFE50:
	.size	test, .-test
	.globl	select_one
	.type	select_one, @function
select_one:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	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
.LFE51:
	.size	select_one, .-select_one
	.globl	select_features
	.type	select_features, @function
select_features:
.LFB52:
	.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
.LFE52:
	.size	select_features, .-select_features
	.globl	select_helpers
	.type	select_helpers, @function
select_helpers:
.LFB53:
	.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
.LFE53:
	.size	select_helpers, .-select_helpers
	.globl	valid_product
	.type	valid_product, @function
valid_product:
.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], 1
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	valid_product, .-valid_product
	.globl	cleanupTimeShifts
	.data
	.align 4
	.type	cleanupTimeShifts, @object
	.size	cleanupTimeShifts, 4
cleanupTimeShifts:
	.long	12
	.text
	.globl	spec1
	.type	spec1, @function
spec1:
.LFB55:
	.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
.L498:
	mov	eax, DWORD PTR cleanupTimeShifts[rip]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L503
	call	isBlocked
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 1
	je	.L504
	call	timeShift
	call	printState
	add	DWORD PTR -16[rbp], 1
	jmp	.L498
.L503:
	nop
	jmp	.L501
.L504:
	nop
.L501:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	spec1, .-spec1
	.globl	spec14
	.type	spec14, @function
spec14:
.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, 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
.L506:
	mov	eax, DWORD PTR cleanupTimeShifts[rip]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L511
	call	isBlocked
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 1
	je	.L512
	call	timeShift
	call	printState
	add	DWORD PTR -16[rbp], 1
	jmp	.L506
.L511:
	nop
	jmp	.L509
.L512:
	nop
.L509:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	spec14, .-spec14
	.globl	get_nondetMinMax07
	.type	get_nondetMinMax07, @function
get_nondetMinMax07:
.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, 16
	call	__VERIFIER_nondet_int@PLT
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	jne	.L514
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L514:
	cmp	DWORD PTR -8[rbp], 1
	jne	.L516
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L516:
	cmp	DWORD PTR -8[rbp], 2
	jne	.L517
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L517:
	cmp	DWORD PTR -8[rbp], 3
	jne	.L518
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L518:
	cmp	DWORD PTR -8[rbp], 4
	jne	.L519
	mov	DWORD PTR -4[rbp], 4
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L519:
	cmp	DWORD PTR -8[rbp], 5
	jne	.L520
	mov	DWORD PTR -4[rbp], 5
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L520:
	cmp	DWORD PTR -8[rbp], 6
	jne	.L521
	mov	DWORD PTR -4[rbp], 6
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L521:
	cmp	DWORD PTR -8[rbp], 7
	jne	.L522
	mov	DWORD PTR -4[rbp], 7
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L515
.L522:
	mov	edi, 0
	call	exit@PLT
.L515:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	get_nondetMinMax07, .-get_nondetMinMax07
	.globl	bobCall
	.type	bobCall, @function
bobCall:
.LFB58:
	.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
.LFE58:
	.size	bobCall, .-bobCall
	.globl	aliceCall
	.type	aliceCall, @function
aliceCall:
.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
	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
.LFE59:
	.size	aliceCall, .-aliceCall
	.globl	angelinaCall
	.type	angelinaCall, @function
angelinaCall:
.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, 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
.LFE60:
	.size	angelinaCall, .-angelinaCall
	.globl	chuckCall
	.type	chuckCall, @function
chuckCall:
.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, 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
.LFE61:
	.size	chuckCall, .-chuckCall
	.globl	monicaCall
	.type	monicaCall, @function
monicaCall:
.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, 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
.LFE62:
	.size	monicaCall, .-monicaCall
	.globl	bigMacCall
	.type	bigMacCall, @function
bigMacCall:
.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, 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
.LFE63:
	.size	bigMacCall, .-bigMacCall
	.globl	threeTS
	.type	threeTS, @function
threeTS:
.LFB64:
	.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
.LFE64:
	.size	threeTS, .-threeTS
	.globl	cleanup
	.type	cleanup, @function
cleanup:
.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
	call	timeShift
	mov	DWORD PTR -16[rbp], 0
.L538:
	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	.L544
	call	isBlocked
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 1
	je	.L545
	call	isIdle
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L546
	call	timeShift
	add	DWORD PTR -16[rbp], 1
	jmp	.L538
.L544:
	nop
	jmp	.L537
.L545:
	nop
.L541:
	jmp	.L537
.L546:
	nop
.L537:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	cleanup, .-cleanup
	.globl	randomSequenceOfActions
	.type	randomSequenceOfActions, @function
randomSequenceOfActions:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 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	.L548
	call	initTopDown
	jmp	.L549
.L548:
	call	initBottomUp
.L549:
	mov	DWORD PTR -32[rbp], 0
.L550:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jge	.L559
	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	.L553
	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	.L554
.L553:
	cmp	DWORD PTR -16[rbp], 6
	jne	.L555
	call	timeShift
	jmp	.L554
.L555:
	cmp	DWORD PTR -16[rbp], 7
	jne	.L554
	call	timeShift
	call	timeShift
	call	timeShift
.L554:
	call	isBlocked
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L560
	jmp	.L550
.L559:
	nop
.L552:
	call	cleanup
	jmp	.L547
.L560:
	nop
.L547:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	randomSequenceOfActions, .-randomSequenceOfActions
	.globl	runTest_Simple
	.type	runTest_Simple, @function
runTest_Simple:
.LFB67:
	.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
.LFE67:
	.size	runTest_Simple, .-runTest_Simple
	.globl	Specification1
	.type	Specification1, @function
Specification1:
.LFB68:
	.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
.LFE68:
	.size	Specification1, .-Specification1
	.globl	Specification2
	.type	Specification2, @function
Specification2:
.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	cleanup
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	Specification2, .-Specification2
	.globl	Specification3
	.type	Specification3, @function
Specification3:
.LFB70:
	.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
.LFE70:
	.size	Specification3, .-Specification3
	.globl	setup
	.type	setup, @function
setup:
.LFB71:
	.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
.LFE71:
	.size	setup, .-setup
	.globl	runTest
	.type	runTest, @function
runTest:
.LFB72:
	.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__Specification2_spec__1@PLT
	call	test
	call	__utac_acc__Specification2_spec__4@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	runTest, .-runTest
	.globl	main
	.type	main, @function
main:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	call	select_helpers
	call	select_features
	call	valid_product
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], 0
	je	.L574
	call	setup
	call	runTest
.L574:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	main, .-main
	.globl	getWeight
	.type	getWeight, @function
getWeight:
.LFB74:
	.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	.L577
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L578
.L577:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L579
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L578
.L579:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L580
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L578
.L580:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L581
	mov	DWORD PTR -4[rbp], 40
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L578
.L581:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L582
	mov	DWORD PTR -4[rbp], 30
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L578
.L582:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L583
	mov	DWORD PTR -4[rbp], 150
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L578
.L583:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L578:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	getWeight, .-getWeight
	.globl	getOrigin
	.type	getOrigin, @function
getOrigin:
.LFB75:
	.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	.L585
	mov	DWORD PTR -4[rbp], 4
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L586
.L585:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L587
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L586
.L587:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L588
	mov	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L586
.L588:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L589
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L586
.L589:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L590
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L586
.L590:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L591
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L586
.L591:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L586:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	getOrigin, .-getOrigin
	.globl	getDestination
	.type	getDestination, @function
getDestination:
.LFB76:
	.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	.L593
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L594
.L593:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L595
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L594
.L595:
	cmp	DWORD PTR -20[rbp], 2
	jne	.L596
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L594
.L596:
	cmp	DWORD PTR -20[rbp], 3
	jne	.L597
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L594
.L597:
	cmp	DWORD PTR -20[rbp], 4
	jne	.L598
	mov	DWORD PTR -4[rbp], 1
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L594
.L598:
	cmp	DWORD PTR -20[rbp], 5
	jne	.L599
	mov	DWORD PTR -4[rbp], 3
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L594
.L599:
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
.L594:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	getDestination, .-getDestination
	.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	"43887246.c"
	.text
	.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	executiveFloor
	.align	2
	.type	executiveFloor, %object
	.size	executiveFloor, 4
executiveFloor:
	.word	4
	.global	blocked
	.bss
	.align	2
	.type	blocked, %object
	.size	blocked, 4
blocked:
	.space	4
	.comm	floorButtons_spc2_0,4,4
	.comm	floorButtons_spc2_1,4,4
	.comm	floorButtons_spc2_2,4,4
	.comm	floorButtons_spc2_3,4,4
	.comm	floorButtons_spc2_4,4,4
	.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, .L3
	mov	r2, #4
	str	r2, [r3]
	ldr	r3, .L3+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L3+48
	mov	r2, #0
	str	r2, [r3]
	bl	initFloors
	nop
	pop	{fp, pc}
.L4:
	.align	2
.L3:
	.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, .L7
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+4
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L7+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L7+48
	mov	r2, #0
	str	r2, [r3]
	bl	initFloors
	nop
	pop	{fp, pc}
.L8:
	.align	2
.L7:
	.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, .L11
	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
.L12:
	.align	2
.L11:
	.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	.L14
	ldr	r3, .L22
	mov	r2, #1
	str	r2, [r3]
	b	.L21
.L14:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L16
	ldr	r3, .L22+4
	mov	r2, #1
	str	r2, [r3]
	b	.L21
.L16:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L17
	ldr	r3, .L22+8
	mov	r2, #1
	str	r2, [r3]
	b	.L21
.L17:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L18
	ldr	r3, .L22+12
	mov	r2, #1
	str	r2, [r3]
	b	.L21
.L18:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L19
	ldr	r3, .L22+16
	mov	r2, #1
	str	r2, [r3]
	b	.L21
.L19:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L21
	ldr	r3, .L22+20
	mov	r2, #1
	str	r2, [r3]
	nop
.L21:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L23:
	.align	2
.L22:
	.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, .L26
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, .L26
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L27:
	.align	2
.L26:
	.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	.L29
	ldr	r3, .L37
	mov	r2, #0
	str	r2, [r3]
	b	.L36
.L29:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L31
	ldr	r3, .L37+4
	mov	r2, #0
	str	r2, [r3]
	b	.L36
.L31:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L32
	ldr	r3, .L37+8
	mov	r2, #0
	str	r2, [r3]
	b	.L36
.L32:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L33
	ldr	r3, .L37+12
	mov	r2, #0
	str	r2, [r3]
	b	.L36
.L33:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L34
	ldr	r3, .L37+16
	mov	r2, #0
	str	r2, [r3]
	b	.L36
.L34:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L36
	ldr	r3, .L37+20
	mov	r2, #0
	str	r2, [r3]
	nop
.L36:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L38:
	.align	2
.L37:
	.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
	.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__base
	ldr	r0, [fp, #-16]
	bl	getWeight
	str	r0, [fp, #-8]
	ldr	r3, .L41
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	ldr	r2, .L41
	str	r3, [r2]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L42:
	.align	2
.L41:
	.word	weight
	.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__Specification2_spec__2
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L44
	ldr	r3, .L51
	mov	r2, #1
	str	r2, [r3]
	b	.L50
.L44:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L46
	ldr	r3, .L51+4
	mov	r2, #1
	str	r2, [r3]
	b	.L50
.L46:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L47
	ldr	r3, .L51+8
	mov	r2, #1
	str	r2, [r3]
	b	.L50
.L47:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L48
	ldr	r3, .L51+12
	mov	r2, #1
	str	r2, [r3]
	b	.L50
.L48:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L50
	ldr	r3, .L51+16
	mov	r2, #1
	str	r2, [r3]
	nop
.L50:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L52:
	.align	2
.L51:
	.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	.L54
	ldr	r3, .L61
	mov	r2, #0
	str	r2, [r3]
	b	.L60
.L54:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L56
	ldr	r3, .L61+4
	mov	r2, #0
	str	r2, [r3]
	b	.L60
.L56:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L57
	ldr	r3, .L61+8
	mov	r2, #0
	str	r2, [r3]
	b	.L60
.L57:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L58
	ldr	r3, .L61+12
	mov	r2, #0
	str	r2, [r3]
	b	.L60
.L58:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L60
	ldr	r3, .L61+16
	mov	r2, #0
	str	r2, [r3]
	nop
.L60:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L62:
	.align	2
.L61:
	.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, .L65
	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
.L66:
	.align	2
.L65:
	.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, .L69
	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
.L70:
	.align	2
.L69:
	.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	.L72
	ldr	r3, .L78
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L72:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L74
	ldr	r3, .L78+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L74:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L75
	ldr	r3, .L78+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L75:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L76
	ldr	r3, .L78+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L76:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L77
	ldr	r3, .L78+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L73
.L77:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L73:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L79:
	.align	2
.L78:
	.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, .L82
	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
.L83:
	.align	2
.L82:
	.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, .L92
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L85
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L85:
	ldr	r3, .L92+4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L87
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L87:
	ldr	r3, .L92+8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L88
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L88:
	ldr	r3, .L92+12
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L89
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L89:
	ldr	r3, .L92+16
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L90
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L90:
	ldr	r3, .L92+20
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L91
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L86
.L91:
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L86:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L93:
	.align	2
.L92:
	.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	.L95
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L95:
	ldr	r3, .L106
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L97
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L97:
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L98
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L98:
	ldr	r3, .L106+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L99
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L99:
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L100
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L100:
	ldr	r3, .L106+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L101
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L101:
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L102
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L102:
	ldr	r3, .L106+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L103
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L103:
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L104
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L104:
	ldr	r3, .L106+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L105
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L96
.L105:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L96:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L107:
	.align	2
.L106:
	.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__weight
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedInDirection__wrappee__weight, %function
stopRequestedInDirection__wrappee__weight:
	@ 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	.L111
	ldr	r3, .L229
	ldr	r3, [r3]
	mov	r0, r3
	bl	isTopFloor
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L112
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L112:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L175
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L176
	mov	r0, #0
	bl	isFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L177
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L175:
	nop
	b	.L114
.L176:
	nop
	b	.L114
.L177:
	nop
.L114:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L178
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L179
	ldr	r3, .L229+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L180
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L178:
	nop
	b	.L117
.L179:
	nop
	b	.L117
.L180:
	nop
.L117:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L181
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L182
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L183
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L181:
	nop
	b	.L120
.L182:
	nop
	b	.L120
.L183:
	nop
.L120:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L184
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L185
	ldr	r3, .L229+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L186
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L184:
	nop
	b	.L123
.L185:
	nop
	b	.L123
.L186:
	nop
.L123:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L187
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L188
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L189
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L187:
	nop
	b	.L126
.L188:
	nop
	b	.L126
.L189:
	nop
.L126:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L190
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L191
	ldr	r3, .L229+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L192
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L190:
	nop
	b	.L129
.L191:
	nop
	b	.L129
.L192:
	nop
.L129:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #2
	bgt	.L193
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L194
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L195
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L193:
	nop
	b	.L132
.L194:
	nop
	b	.L132
.L195:
	nop
.L132:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #2
	bgt	.L196
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L197
	ldr	r3, .L229+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L198
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L196:
	nop
	b	.L135
.L197:
	nop
	b	.L135
.L198:
	nop
.L135:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #3
	bgt	.L199
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L200
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L201
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L199:
	nop
	b	.L138
.L200:
	nop
	b	.L138
.L201:
	nop
.L138:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #3
	bgt	.L141
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L142
	ldr	r3, .L229+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L143
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L143:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L142:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L141:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L111:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L144
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L144:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L202
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L203
	mov	r0, #0
	bl	isFloorCalling
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L204
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L202:
	nop
	b	.L145
.L203:
	nop
	b	.L145
.L204:
	nop
.L145:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L205
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L206
	ldr	r3, .L229+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L207
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L205:
	nop
	b	.L148
.L206:
	nop
	b	.L148
.L207:
	nop
.L148:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L208
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L209
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L210
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L208:
	nop
	b	.L151
.L209:
	nop
	b	.L151
.L210:
	nop
.L151:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L211
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L212
	ldr	r3, .L229+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L213
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L211:
	nop
	b	.L154
.L212:
	nop
	b	.L154
.L213:
	nop
.L154:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L214
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L215
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L216
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L214:
	nop
	b	.L157
.L215:
	nop
	b	.L157
.L216:
	nop
.L157:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L217
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L218
	ldr	r3, .L229+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L219
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L217:
	nop
	b	.L160
.L218:
	nop
	b	.L160
.L219:
	nop
.L160:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L220
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L221
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L222
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L220:
	nop
	b	.L163
.L221:
	nop
	b	.L163
.L222:
	nop
.L163:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #3
	ble	.L223
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L224
	ldr	r3, .L229+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L225
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L223:
	nop
	b	.L166
.L224:
	nop
	b	.L166
.L225:
	nop
.L166:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L226
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L227
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L228
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L226:
	nop
	b	.L169
.L227:
	nop
	b	.L169
.L228:
	nop
.L169:
	ldr	r3, .L229
	ldr	r3, [r3]
	cmp	r3, #4
	ble	.L172
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L173
	ldr	r3, .L229+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L174
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L174:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L173:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	b	.L113
.L172:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
.L113:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L230:
	.align	2
.L229:
	.word	currentFloorID
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	stopRequestedInDirection__wrappee__weight, .-stopRequestedInDirection__wrappee__weight
	.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]
	bl	isExecutiveFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L232
	bl	getCurrentFloorID
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-12]
	ldr	r3, .L234
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	b	.L233
.L232:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	stopRequestedInDirection__wrappee__weight
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
.L233:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L235:
	.align	2
.L234:
	.word	executiveFloor
	.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, .L243
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L237
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L238
.L237:
	ldr	r3, .L243+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L239
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L238
.L239:
	ldr	r3, .L243+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L240
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L238
.L240:
	ldr	r3, .L243+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L241
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L238
.L241:
	ldr	r3, .L243+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L242
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L238
.L242:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L238:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L244:
	.align	2
.L243:
	.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, .L251
	ldr	r3, [fp, #-16]
	str	r3, [r2]
	ldr	r3, .L251
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L246
	ldr	r3, .L251+4
	ldr	r3, [r3]
	mov	r0, r3
	bl	isTopFloor
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L247
	ldr	r3, .L251
	mov	r2, #0
	str	r2, [r3]
	b	.L247
.L246:
	ldr	r3, .L251+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L247
	ldr	r3, .L251
	mov	r2, #1
	str	r2, [r3]
.L247:
	ldr	r3, .L251
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L248
	ldr	r3, .L251+4
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L251+4
	str	r3, [r2]
	b	.L245
.L248:
	ldr	r3, .L251+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L251+4
	str	r3, [r2]
	nop
.L245:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L252:
	.align	2
.L251:
	.word	currentHeading
	.word	currentFloorID
	.size	continueInDirection, .-continueInDirection
	.align	2
	.global	stopRequestedAtCurrentFloor__wrappee__weight
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedAtCurrentFloor__wrappee__weight, %function
stopRequestedAtCurrentFloor__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
	ldr	r3, .L257
	ldr	r3, [r3]
	mov	r0, r3
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L254
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L255
.L254:
	ldr	r3, .L257
	ldr	r3, [r3]
	mov	r0, r3
	bl	buttonForFloorIsPressed
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L256
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L255
.L256:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L255:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L258:
	.align	2
.L257:
	.word	currentFloorID
	.size	stopRequestedAtCurrentFloor__wrappee__weight, .-stopRequestedAtCurrentFloor__wrappee__weight
	.align	2
	.global	stopRequestedAtCurrentFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	stopRequestedAtCurrentFloor, %function
stopRequestedAtCurrentFloor:
	@ 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	isExecutiveFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L260
	bl	getCurrentFloorID
	str	r0, [fp, #-8]
	ldr	r3, .L263
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L261
	bl	stopRequestedAtCurrentFloor__wrappee__weight
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L262
.L261:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	b	.L262
.L260:
	bl	stopRequestedAtCurrentFloor__wrappee__weight
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
.L262:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L264:
	.align	2
.L263:
	.word	executiveFloor
	.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	.L266
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L267
.L266:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L267:
	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	.L269
	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
.L269:
	ldr	r1, [fp, #-56]
	mov	r0, #1
	bl	isPersonOnFloor
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L270
	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
.L270:
	ldr	r1, [fp, #-56]
	mov	r0, #2
	bl	isPersonOnFloor
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L271
	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
.L271:
	ldr	r1, [fp, #-56]
	mov	r0, #3
	bl	isPersonOnFloor
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L272
	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
.L272:
	ldr	r1, [fp, #-56]
	mov	r0, #4
	bl	isPersonOnFloor
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L273
	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
.L273:
	ldr	r1, [fp, #-56]
	mov	r0, #5
	bl	isPersonOnFloor
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L274
	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
.L274:
	ldr	r0, [fp, #-56]
	bl	resetCallOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	processWaitingOnFloor, .-processWaitingOnFloor
	.align	2
	.global	timeShift__wrappee__executivefloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	timeShift__wrappee__executivefloor, %function
timeShift__wrappee__executivefloor:
	@ 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	.L277
	ldr	r3, .L289
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L289+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L278
	mov	r0, #0
	bl	getDestination
	str	r0, [fp, #-28]
	ldr	r3, .L289+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L278
	mov	r0, #0
	bl	leaveElevator
.L278:
	ldr	r3, .L289+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L279
	mov	r0, #1
	bl	getDestination
	str	r0, [fp, #-24]
	ldr	r3, .L289+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L279
	mov	r0, #1
	bl	leaveElevator
.L279:
	ldr	r3, .L289+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L280
	mov	r0, #2
	bl	getDestination
	str	r0, [fp, #-20]
	ldr	r3, .L289+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L280
	mov	r0, #2
	bl	leaveElevator
.L280:
	ldr	r3, .L289+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L281
	mov	r0, #3
	bl	getDestination
	str	r0, [fp, #-16]
	ldr	r3, .L289+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L281
	mov	r0, #3
	bl	leaveElevator
.L281:
	ldr	r3, .L289+24
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L282
	mov	r0, #4
	bl	getDestination
	str	r0, [fp, #-12]
	ldr	r3, .L289+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L282
	mov	r0, #4
	bl	leaveElevator
.L282:
	ldr	r3, .L289+28
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L283
	mov	r0, #5
	bl	getDestination
	str	r0, [fp, #-8]
	ldr	r3, .L289+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L283
	mov	r0, #5
	bl	leaveElevator
.L283:
	ldr	r3, .L289+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	processWaitingOnFloor
	ldr	r3, .L289+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	resetFloorButton
	b	.L276
.L277:
	ldr	r3, .L289
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L285
	ldr	r3, .L289
	mov	r2, #0
	str	r2, [r3]
.L285:
	ldr	r3, .L289+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	.L286
	ldr	r3, .L289+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	continueInDirection
	b	.L276
.L286:
	ldr	r3, .L289+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	.L287
	ldr	r3, .L289+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	getReverseHeading
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	continueInDirection
	b	.L276
.L287:
	ldr	r3, .L289+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	continueInDirection
	nop
.L276:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L290:
	.align	2
.L289:
	.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__executivefloor, .-timeShift__wrappee__executivefloor
	.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	.L292
	ldr	r3, .L296
	ldr	r2, [r3]
	ldr	r3, .L296+4
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L293
	ldr	r3, .L296+8
	mov	r2, #1
	str	r2, [r3]
	b	.L294
.L293:
	ldr	r3, .L296+8
	mov	r2, #0
	str	r2, [r3]
	bl	timeShift__wrappee__executivefloor
	b	.L294
.L292:
	ldr	r3, .L296+8
	mov	r2, #0
	str	r2, [r3]
	bl	timeShift__wrappee__executivefloor
.L294:
	bl	__utac_acc__Specification2_spec__3
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L297:
	.align	2
.L296:
	.word	weight
	.word	maximumWeight
	.word	blocked
	.size	timeShift, .-timeShift
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Elevator \000"
	.align	2
.LC1:
	.ascii	"[_]\000"
	.align	2
.LC2:
	.ascii	"[] \000"
	.align	2
.LC3:
	.ascii	" at \000"
	.align	2
.LC4:
	.ascii	"%i\000"
	.align	2
.LC5:
	.ascii	" heading \000"
	.align	2
.LC6:
	.ascii	"up\000"
	.align	2
.LC7:
	.ascii	"down\000"
	.align	2
.LC8:
	.ascii	" IL_p:\000"
	.align	2
.LC9:
	.ascii	" %i\000"
	.align	2
.LC10:
	.ascii	" F_p:\000"
	.align	2
.LC11:
	.ascii	"\012\000"
	.text
	.align	2
	.global	printState__wrappee__executivefloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	printState__wrappee__executivefloor, %function
printState__wrappee__executivefloor:
	@ 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, .L314
	str	r3, [fp, #-108]
	ldr	r0, [fp, #-108]
	bl	printf
	ldr	r3, .L314+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L299
	ldr	r3, .L314+8
	str	r3, [fp, #-100]
	ldr	r0, [fp, #-100]
	bl	printf
	b	.L300
.L299:
	ldr	r3, .L314+12
	str	r3, [fp, #-104]
	ldr	r0, [fp, #-104]
	bl	printf
.L300:
	ldr	r3, .L314+16
	str	r3, [fp, #-96]
	ldr	r0, [fp, #-96]
	bl	printf
	ldr	r3, .L314+20
	str	r3, [fp, #-92]
	ldr	r3, .L314+24
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	printf
	ldr	r3, .L314+28
	str	r3, [fp, #-88]
	ldr	r0, [fp, #-88]
	bl	printf
	ldr	r3, .L314+32
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L301
	ldr	r3, .L314+36
	str	r3, [fp, #-80]
	ldr	r0, [fp, #-80]
	bl	printf
	b	.L302
.L301:
	ldr	r3, .L314+40
	str	r3, [fp, #-84]
	ldr	r0, [fp, #-84]
	bl	printf
.L302:
	ldr	r3, .L314+44
	str	r3, [fp, #-76]
	ldr	r0, [fp, #-76]
	bl	printf
	ldr	r3, .L314+48
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L303
	ldr	r3, .L314+52
	str	r3, [fp, #-72]
	mov	r1, #0
	ldr	r0, [fp, #-72]
	bl	printf
.L303:
	ldr	r3, .L314+56
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L304
	ldr	r3, .L314+52
	str	r3, [fp, #-68]
	mov	r1, #1
	ldr	r0, [fp, #-68]
	bl	printf
.L304:
	ldr	r3, .L314+60
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L305
	ldr	r3, .L314+52
	str	r3, [fp, #-64]
	mov	r1, #2
	ldr	r0, [fp, #-64]
	bl	printf
.L305:
	ldr	r3, .L314+64
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L306
	ldr	r3, .L314+52
	str	r3, [fp, #-60]
	mov	r1, #3
	ldr	r0, [fp, #-60]
	bl	printf
.L306:
	ldr	r3, .L314+68
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L307
	ldr	r3, .L314+52
	str	r3, [fp, #-56]
	mov	r1, #4
	ldr	r0, [fp, #-56]
	bl	printf
.L307:
	ldr	r3, .L314+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	.L308
	ldr	r3, .L314+52
	str	r3, [fp, #-44]
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	printf
.L308:
	mov	r0, #1
	bl	isFloorCalling
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L309
	ldr	r3, .L314+52
	str	r3, [fp, #-36]
	mov	r1, #1
	ldr	r0, [fp, #-36]
	bl	printf
.L309:
	mov	r0, #2
	bl	isFloorCalling
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L310
	ldr	r3, .L314+52
	str	r3, [fp, #-28]
	mov	r1, #2
	ldr	r0, [fp, #-28]
	bl	printf
.L310:
	mov	r0, #3
	bl	isFloorCalling
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L311
	ldr	r3, .L314+52
	str	r3, [fp, #-20]
	mov	r1, #3
	ldr	r0, [fp, #-20]
	bl	printf
.L311:
	mov	r0, #4
	bl	isFloorCalling
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L312
	ldr	r3, .L314+52
	str	r3, [fp, #-12]
	mov	r1, #4
	ldr	r0, [fp, #-12]
	bl	printf
.L312:
	ldr	r3, .L314+76
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L315:
	.align	2
.L314:
	.word	.LC0
	.word	doorState
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	currentFloorID
	.word	.LC5
	.word	currentHeading
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	floorButtons_0
	.word	.LC9
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.word	.LC10
	.word	.LC11
	.size	printState__wrappee__executivefloor, .-printState__wrappee__executivefloor
	.section	.rodata
	.align	2
.LC12:
	.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	.L317
	ldr	r3, .L319
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	printf
.L317:
	bl	printState__wrappee__executivefloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L320:
	.align	2
.L319:
	.word	.LC12
	.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	.L322
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, .L372
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L323:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bgt	.L353
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L354
	ldr	r3, .L372+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L355
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L354:
	nop
	b	.L326
.L355:
	nop
.L326:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L356
	ldr	r3, .L372+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L357
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L356:
	nop
	b	.L329
.L357:
	nop
.L329:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L358
	ldr	r3, .L372+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L359
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L358:
	nop
	b	.L331
.L359:
	nop
.L331:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L360
	ldr	r3, .L372+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L361
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L360:
	nop
	b	.L333
.L361:
	nop
.L333:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L335
	ldr	r3, .L372+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L335
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L335:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L323
.L325:
.L322:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L336
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L372
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L337:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	blt	.L362
	ldr	r3, .L372
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L340:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bgt	.L363
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L364
	ldr	r3, .L372+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L365
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L364:
	nop
	b	.L343
.L365:
	nop
.L343:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L366
	ldr	r3, .L372+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L367
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L366:
	nop
	b	.L345
.L367:
	nop
.L345:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L368
	ldr	r3, .L372+12
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L369
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L368:
	nop
	b	.L347
.L369:
	nop
.L347:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L370
	ldr	r3, .L372+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L371
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L370:
	nop
	b	.L349
.L371:
	nop
.L349:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L351
	ldr	r3, .L372+20
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L351
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L328
.L351:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L340
.L363:
	nop
.L342:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L337
.L339:
.L353:
	nop
	b	.L336
.L362:
	nop
.L336:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L328:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L373:
	.align	2
.L372:
	.word	currentFloorID
	.word	floorButtons_0
	.word	floorButtons_1
	.word	floorButtons_2
	.word	floorButtons_3
	.word	floorButtons_4
	.size	existInLiftCallsInDirection, .-existInLiftCallsInDirection
	.align	2
	.global	isExecutiveFloorCalling
	.syntax unified
	.arm
	.fpu softvfp
	.type	isExecutiveFloorCalling, %function
isExecutiveFloorCalling:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L376
	ldr	r3, [r3]
	mov	r0, r3
	bl	isFloorCalling
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L377:
	.align	2
.L376:
	.word	executiveFloor
	.size	isExecutiveFloorCalling, .-isExecutiveFloorCalling
	.align	2
	.global	isExecutiveFloor
	.syntax unified
	.arm
	.fpu softvfp
	.type	isExecutiveFloor, %function
isExecutiveFloor:
	@ 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, .L380
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	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
.L381:
	.align	2
.L380:
	.word	executiveFloor
	.size	isExecutiveFloor, .-isExecutiveFloor
	.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
.L383:
	bl	__VERIFIER_error
	.size	__automaton_fail, .-__automaton_fail
	.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]
.L387:
	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	.L392
	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	.L387
.L392:
	nop
.L389:
	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]
.L394:
	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	.L399
	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	.L394
.L399:
	nop
.L396:
	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	.L401
	ldr	r3, [fp, #-84]
	b	.L402
.L401:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L403
	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, .L412
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r2, .L412
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L402
.L403:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L404
	ldr	r3, .L412
	ldr	r3, [r3]
	str	r3, [fp, #-88]
.L405:
	ldr	r3, [fp, #-104]
	cmp	r3, #1
	ble	.L411
	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	.L405
.L411:
	nop
.L407:
	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, .L412
	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	.L402
.L404:
	ldr	r3, [fp, #-100]
	cmp	r3, #2
	bne	.L408
	ldr	r3, .L412
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L409
	ldr	r3, .L412
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L402
.L409:
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	b	.L402
.L408:
	ldr	r3, [fp, #-84]
.L402:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L413:
	.align	2
.L412:
	.word	head
	.size	__utac__error_stack_mgt, .-__utac__error_stack_mgt
	.section	.rodata
	.align	2
.LC13:
	.ascii	"__utac__get_this_arg\000"
	.align	2
.LC14:
	.ascii	"libacc.c\000"
	.align	2
.LC15:
	.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	.L415
	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	.L416
	ldr	r3, .L418
	mov	r2, #123
	ldr	r1, .L418+4
	ldr	r0, .L418+8
	bl	__assert_fail
.L415:
	ldr	r3, .L418
	mov	r2, #123
	ldr	r1, .L418+4
	ldr	r0, .L418+8
	bl	__assert_fail
.L416:
	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}
.L419:
	.align	2
.L418:
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.size	__utac__get_this_arg, .-__utac__get_this_arg
	.section	.rodata
	.align	2
.LC16:
	.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	.L421
	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	.L422
	ldr	r3, .L424
	mov	r2, #131
	ldr	r1, .L424+4
	ldr	r0, .L424+8
	bl	__assert_fail
.L421:
	ldr	r3, .L424
	mov	r2, #131
	ldr	r1, .L424+4
	ldr	r0, .L424+8
	bl	__assert_fail
.L422:
	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}
.L425:
	.align	2
.L424:
	.word	.LC16
	.word	.LC14
	.word	.LC15
	.size	__utac__get_this_argtype, .-__utac__get_this_argtype
	.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, .L428
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+20
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+24
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+36
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+40
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+48
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+52
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+56
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+60
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+64
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+68
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+72
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+76
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+80
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+84
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+88
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+92
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+96
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+100
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+104
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+108
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+112
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+116
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+120
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+124
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+128
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+132
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L428+136
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L429:
	.align	2
.L428:
	.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	.L431
	ldr	r3, .L437
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L431:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L433
	ldr	r3, .L437+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L433:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L434
	ldr	r3, .L437+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L434:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L435
	ldr	r3, .L437+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L435:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L436
	ldr	r3, .L437+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L432
.L436:
	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
.L438:
	.align	2
.L437:
	.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	.L440
	ldr	r3, .L447
	mov	r2, #0
	str	r2, [r3]
	b	.L446
.L440:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L442
	ldr	r3, .L447+4
	mov	r2, #0
	str	r2, [r3]
	b	.L446
.L442:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L443
	ldr	r3, .L447+8
	mov	r2, #0
	str	r2, [r3]
	b	.L446
.L443:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L444
	ldr	r3, .L447+12
	mov	r2, #0
	str	r2, [r3]
	b	.L446
.L444:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L446
	ldr	r3, .L447+16
	mov	r2, #0
	str	r2, [r3]
	nop
.L446:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L448:
	.align	2
.L447:
	.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	.L450
	ldr	r3, .L457
	mov	r2, #1
	str	r2, [r3]
	b	.L456
.L450:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L452
	ldr	r3, .L457+4
	mov	r2, #1
	str	r2, [r3]
	b	.L456
.L452:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L453
	ldr	r3, .L457+8
	mov	r2, #1
	str	r2, [r3]
	b	.L456
.L453:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L454
	ldr	r3, .L457+12
	mov	r2, #1
	str	r2, [r3]
	b	.L456
.L454:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L456
	ldr	r3, .L457+16
	mov	r2, #1
	str	r2, [r3]
	nop
.L456:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L458:
	.align	2
.L457:
	.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	.L460
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L461
	ldr	r3, .L491
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L461:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L463
	ldr	r3, .L491+4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L463:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L464
	ldr	r3, .L491+8
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L464:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L465
	ldr	r3, .L491+12
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L465:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L466
	ldr	r3, .L491+16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L466:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L467
	ldr	r3, .L491+20
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L460:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L468
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L469
	ldr	r3, .L491+24
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L469:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L470
	ldr	r3, .L491+28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L470:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L471
	ldr	r3, .L491+32
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L471:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L472
	ldr	r3, .L491+36
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L472:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L473
	ldr	r3, .L491+40
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L473:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L467
	ldr	r3, .L491+44
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L468:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L474
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L475
	ldr	r3, .L491+48
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L475:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L476
	ldr	r3, .L491+52
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L476:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L477
	ldr	r3, .L491+56
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L477:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L478
	ldr	r3, .L491+60
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L478:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L479
	ldr	r3, .L491+64
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L479:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L467
	ldr	r3, .L491+68
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L474:
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L480
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L481
	ldr	r3, .L491+72
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L481:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L482
	ldr	r3, .L491+76
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L482:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L483
	ldr	r3, .L491+80
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L483:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L484
	ldr	r3, .L491+84
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L484:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L485
	ldr	r3, .L491+88
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L485:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L467
	ldr	r3, .L491+92
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L480:
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	bne	.L467
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L486
	ldr	r3, .L491+96
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L486:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L487
	ldr	r3, .L491+100
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L487:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L488
	ldr	r3, .L491+104
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L488:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L489
	ldr	r3, .L491+108
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L489:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L490
	ldr	r3, .L491+112
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L490:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L467
	ldr	r3, .L491+116
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L462
.L467:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L462:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L492:
	.align	2
.L491:
	.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	.L494
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L495
	ldr	r3, .L525
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L495:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L497
	ldr	r3, .L525+4
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L497:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L498
	ldr	r3, .L525+8
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L498:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L499
	ldr	r3, .L525+12
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L499:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L500
	ldr	r3, .L525+16
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L500:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L496
	ldr	r3, .L525+20
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L494:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L501
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L502
	ldr	r3, .L525+24
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L502:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L503
	ldr	r3, .L525+28
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L503:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L504
	ldr	r3, .L525+32
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L504:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L505
	ldr	r3, .L525+36
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L505:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L506
	ldr	r3, .L525+40
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L506:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L496
	ldr	r3, .L525+44
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L501:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L507
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L508
	ldr	r3, .L525+48
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L508:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L509
	ldr	r3, .L525+52
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L509:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L510
	ldr	r3, .L525+56
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L510:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L511
	ldr	r3, .L525+60
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L511:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L512
	ldr	r3, .L525+64
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L512:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L496
	ldr	r3, .L525+68
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L507:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L513
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L514
	ldr	r3, .L525+72
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L514:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L515
	ldr	r3, .L525+76
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L515:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L516
	ldr	r3, .L525+80
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L516:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L517
	ldr	r3, .L525+84
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L517:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L518
	ldr	r3, .L525+88
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L518:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L496
	ldr	r3, .L525+92
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L513:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L496
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L519
	ldr	r3, .L525+96
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L519:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L520
	ldr	r3, .L525+100
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L520:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L521
	ldr	r3, .L525+104
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L521:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L522
	ldr	r3, .L525+108
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L522:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L523
	ldr	r3, .L525+112
	mov	r2, #1
	str	r2, [r3]
	b	.L496
.L523:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L496
	ldr	r3, .L525+116
	mov	r2, #1
	str	r2, [r3]
.L496:
	ldr	r0, [fp, #-12]
	bl	callOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L526:
	.align	2
.L525:
	.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	.L528
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L529
	ldr	r3, .L559
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L529:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L531
	ldr	r3, .L559+4
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L531:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L532
	ldr	r3, .L559+8
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L532:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L533
	ldr	r3, .L559+12
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L533:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L534
	ldr	r3, .L559+16
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L534:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L530
	ldr	r3, .L559+20
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L528:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L535
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L536
	ldr	r3, .L559+24
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L536:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L537
	ldr	r3, .L559+28
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L537:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L538
	ldr	r3, .L559+32
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L538:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L539
	ldr	r3, .L559+36
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L539:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L540
	ldr	r3, .L559+40
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L540:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L530
	ldr	r3, .L559+44
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L535:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L541
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L542
	ldr	r3, .L559+48
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L542:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L543
	ldr	r3, .L559+52
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L543:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L544
	ldr	r3, .L559+56
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L544:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L545
	ldr	r3, .L559+60
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L545:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L546
	ldr	r3, .L559+64
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L546:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L530
	ldr	r3, .L559+68
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L541:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L547
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L548
	ldr	r3, .L559+72
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L548:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L549
	ldr	r3, .L559+76
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L549:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L550
	ldr	r3, .L559+80
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L550:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L551
	ldr	r3, .L559+84
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L551:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L552
	ldr	r3, .L559+88
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L552:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L530
	ldr	r3, .L559+92
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L547:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L530
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L553
	ldr	r3, .L559+96
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L553:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L554
	ldr	r3, .L559+100
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L554:
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L555
	ldr	r3, .L559+104
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L555:
	ldr	r3, [fp, #-8]
	cmp	r3, #3
	bne	.L556
	ldr	r3, .L559+108
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L556:
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	bne	.L557
	ldr	r3, .L559+112
	mov	r2, #0
	str	r2, [r3]
	b	.L530
.L557:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L530
	ldr	r3, .L559+116
	mov	r2, #0
	str	r2, [r3]
.L530:
	ldr	r0, [fp, #-12]
	bl	resetCallOnFloor
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L560:
	.align	2
.L559:
	.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	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
	.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
	.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]
.L574:
	ldr	r3, .L581
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L579
	bl	isBlocked
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L580
	bl	timeShift
	bl	printState
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L574
.L579:
	nop
	b	.L577
.L580:
	nop
.L577:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L582:
	.align	2
.L581:
	.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]
.L584:
	ldr	r3, .L591
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L589
	bl	isBlocked
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	beq	.L590
	bl	timeShift
	bl	printState
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L584
.L589:
	nop
	b	.L587
.L590:
	nop
.L587:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L592:
	.align	2
.L591:
	.word	cleanupTimeShifts
	.size	spec14, .-spec14
	.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	.L594
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L594:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L596
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L596:
	ldr	r3, [fp, #-12]
	cmp	r3, #2
	bne	.L597
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L597:
	ldr	r3, [fp, #-12]
	cmp	r3, #3
	bne	.L598
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L598:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L599
	mov	r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L599:
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	bne	.L600
	mov	r3, #5
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L600:
	ldr	r3, [fp, #-12]
	cmp	r3, #6
	bne	.L601
	mov	r3, #6
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L601:
	ldr	r3, [fp, #-12]
	cmp	r3, #7
	bne	.L602
	mov	r3, #7
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L595
.L602:
	mov	r0, #0
	bl	exit
.L595:
	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]
.L618:
	ldr	r3, .L627
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bge	.L624
	bl	isBlocked
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L625
	bl	isIdle
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L626
	bl	timeShift
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L618
.L624:
	nop
	b	.L617
.L625:
	nop
.L621:
	b	.L617
.L626:
	nop
.L617:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L628:
	.align	2
.L627:
	.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	.L630
	bl	initTopDown
	b	.L631
.L630:
	bl	initBottomUp
.L631:
	mov	r3, #0
	str	r3, [fp, #-36]
.L632:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L641
	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	.L635
	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	.L636
.L635:
	ldr	r3, [fp, #-20]
	cmp	r3, #6
	bne	.L637
	bl	timeShift
	b	.L636
.L637:
	ldr	r3, [fp, #-20]
	cmp	r3, #7
	bne	.L636
	bl	timeShift
	bl	timeShift
	bl	timeShift
.L636:
	bl	isBlocked
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L642
	b	.L632
.L641:
	nop
.L634:
	bl	cleanup
	b	.L629
.L642:
	nop
.L629:
	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__Specification2_spec__1
	bl	test
	bl	__utac_acc__Specification2_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	.L656
	bl	setup
	bl	runTest
.L656:
	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
	.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	.L659
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L660
.L659:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L661
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L660
.L661:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L662
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L660
.L662:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L663
	mov	r3, #40
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L660
.L663:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L664
	mov	r3, #30
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L660
.L664:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L665
	mov	r3, #150
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L660
.L665:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L660:
	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	.L667
	mov	r3, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L668
.L667:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L669
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L668
.L669:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L670
	mov	r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L668
.L670:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L671
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L668
.L671:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L672
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L668
.L672:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L673
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L668
.L673:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L668:
	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	.L675
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L676
.L675:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L677
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L676
.L677:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L678
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L676
.L678:
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	bne	.L679
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L676
.L679:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L680
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L676
.L680:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	bne	.L681
	mov	r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	b	.L676
.L681:
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
.L676:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	getDestination, .-getDestination
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
