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