// File: /workspace/github_c_makefile_star2_O2/ethinethin[P]Secret/input.c
// Function: input_loop
extern void input_loop(void)
{
	char *line;

	/* Start in room 0 and show it */
	room_name();
	look_room();
	GAME_STATUS = 0;

	/* set up tab completion */
	linenoiseSetCompletionCallback(completion);

	/* main input loop */
	while(putchar('\n') && (line = linenoise("command> ")) != NULL) {
		if (line[0] != '\0') {
			linenoiseHistoryAdd(line);
			parse_input(line);
			if (GAME_STATUS == -1) {
				quit_screen();
				break;
			} else if (GAME_STATUS == -2) {
				bad_ending();
				break;
			} else if (GAME_STATUS == -3) {
				good_ending();
				break;
			}
		}
		free(line);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
callq 0x5203
callq 0x5228
andl $0x0, 0xb762(%rip)      # 0xebb4
leaq 0x6fb(%rip), %rdi       # 0x3b54
callq 0x3c59
pushq $0xa
popq %rbp
leaq 0x2d74(%rip), %r15      # 0x61dc
leaq 0x2d77(%rip), %r12      # 0x61e6
movl %ebp, %edi
callq 0x3050
testl %eax, %eax
je 0x3b42
movq %r15, %rdi
callq 0x46e7
testq %rax, %rax
je 0x3b42
movq %rax, %r14
cmpb $0x0, (%rax)
je 0x3606
movq %r14, %rdi
callq 0x4e3b
xorl %eax, %eax
cmpq $0x63, %rax
je 0x34ce
movb (%r14,%rax), %cl
testb %cl, %cl
je 0x34ce
leal -0x41(%rcx), %edx
movzbl %cl, %esi
orb $0x20, %cl
cmpb $0x1a, %dl
movzbl %cl, %ecx
cmovael %esi, %ecx
movb %cl, 0x50(%rsp,%rax)
incq %rax
jmp 0x34a5
movb $0x0, 0x50(%rsp,%rax)
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0x3270
movq %rax, %rbx
movq %rax, 0x10(%rsp)
pushq $0x1
popq %r13
cmpq $0x8, %r13
je 0x3506
xorl %edi, %edi
movq %r12, %rsi
callq 0x3270
movq %rax, 0x10(%rsp,%r13,8)
incq %r13
jmp 0x34ec
testq %rbx, %rbx
je 0x35e5
movq %rbx, %rdi
leaq 0x2cd0(%rip), %rsi      # 0x61e9
callq 0x3180
testl %eax, %eax
je 0x359f
movq %rbx, %rdi
leaq 0x2cc2(%rip), %rsi      # 0x61ee
callq 0x3180
testl %eax, %eax
je 0x359f
movzbl (%rbx), %r13d
cmpl $0x71, %r13d
jne 0x3545
cmpb $0x0, 0x1(%rbx)
je 0x359f
movq %rbx, %rdi
leaq 0x2c38(%rip), %rsi      # 0x6187
callq 0x3180
testl %eax, %eax
je 0x3613
cmpl $0x68, %r13d
jne 0x356c
cmpb $0x0, 0x1(%rbx)
je 0x3613
movq %rbx, %rdi
leaq 0x2c7d(%rip), %rsi      # 0x61f3
callq 0x3180
testl %eax, %eax
sete %sil
movq 0x18(%rsp), %rdx
testq %rdx, %rdx
sete %cl
andb %sil, %cl
cmpb $0x1, %cl
jne 0x3707
callq 0x5228
jmp 0x35e5
leaq 0x2cb1(%rip), %rdi      # 0x6257
xorl %eax, %eax
callq 0x30f0
callq 0x3190
movl %eax, %ebx
callq 0x3190
cmpl $0xa, %eax
je 0x35d9
cmpl $-0x1, %eax
jne 0x35b4
movl %ebp, %edi
callq 0x3050
movq 0x9a07(%rip), %rax      # 0xcfd8
movq (%rax), %rdi
callq 0x31c0
andl $-0x21, %ebx
cmpl $0x59, %ebx
je 0x3b11
movl 0xb5c9(%rip), %eax      # 0xebb4
cmpl $-0x3, %eax
je 0x3a51
cmpl $-0x1, %eax
je 0x3b18
cmpl $-0x2, %eax
je 0x3ab1
movq %r14, %rdi
callq 0x3040
jmp 0x346f
leaq 0x2a2c(%rip), %rdi      # 0x6046
callq 0x3090
leaq 0x2f94(%rip), %rdi      # 0x65ba
callq 0x3090
leaq 0x2f94(%rip), %rdi      # 0x65c6
callq 0x3090
leaq 0x2fc0(%rip), %rdi      # 0x65fe
callq 0x3090
leaq 0x29fd(%rip), %rbx      # 0x6047
movq %rbx, %rdi
callq 0x3090
leaq 0x2fd8(%rip), %rdi      # 0x6631
callq 0x3090
leaq 0x2fe1(%rip), %rdi      # 0x6646
callq 0x3090
leaq 0x301b(%rip), %rdi      # 0x668c
callq 0x3090
movq %rbx, %rdi
callq 0x3090
leaq 0x3029(%rip), %rdi      # 0x66ae
callq 0x3090
leaq 0x302c(%rip), %rdi      # 0x66bd
callq 0x3090
leaq 0x3042(%rip), %rdi      # 0x66df
callq 0x3090
leaq 0x304e(%rip), %rdi      # 0x66f7
callq 0x3090
movq %rbx, %rdi
callq 0x3090
leaq 0x304f(%rip), %rdi      # 0x670c
callq 0x3090
leaq 0x305e(%rip), %rdi      # 0x6727
callq 0x3090
leaq 0x3074(%rip), %rdi      # 0x6749
callq 0x3090
movq %rbx, %rdi
callq 0x3090
leaq 0x307c(%rip), %rdi      # 0x6765
callq 0x3090
leaq 0x3078(%rip), %rdi      # 0x676d
callq 0x3090
movq %rbx, %rdi
callq 0x3090
jmp 0x35e5
movl %eax, 0xc(%rsp)
movq %rdx, (%rsp)
cmpl $0x67, %r13d
jne 0x3725
cmpb $0x6f, 0x1(%rbx)
jne 0x3725
cmpb $0x0, 0x2(%rbx)
je 0x37c2
movq %rbx, %rdi
leaq 0x2ac9(%rip), %rsi      # 0x61f8
callq 0x3180
testl %eax, %eax
je 0x37c2
movq %rbx, %rdi
leaq 0x2ab7(%rip), %rsi      # 0x61fd
callq 0x3180
testl %eax, %eax
je 0x37c2
movq %rbx, %rdi
leaq 0x2aa9(%rip), %rsi      # 0x6202
callq 0x3180
testl %eax, %eax
je 0x37c8
movq %rbx, %rdi
leaq 0x2a9c(%rip), %rsi      # 0x6208
callq 0x3180
testl %eax, %eax
je 0x37c8
movq %rbx, %rdi
leaq 0x4665(%rip), %rsi      # 0x7de4
callq 0x3180
testl %eax, %eax
je 0x37c8
movq %rbx, %rdi
leaq 0x2a7b(%rip), %rsi      # 0x620d
callq 0x3180
testl %eax, %eax
je 0x37c8
cmpl $0x65, %r13d
je 0x37f3
cmpl $0x77, %r13d
je 0x37d5
cmpl $0x73, %r13d
je 0x37e4
cmpl $0x6e, %r13d
jne 0x37fd
cmpb $0x0, 0x1(%rbx)
jne 0x37fd
leaq 0x2a42(%rip), %rdi      # 0x6202
jmp 0x37cb
movq (%rsp), %rdi
jmp 0x37cb
movq %rbx, %rdi
callq 0x52d9
jmp 0x35e5
cmpb $0x0, 0x1(%rbx)
jne 0x37fd
leaq 0x2a2b(%rip), %rdi      # 0x620d
jmp 0x37cb
cmpb $0x0, 0x1(%rbx)
jne 0x37fd
leaq 0x45f3(%rip), %rdi      # 0x7de4
jmp 0x37cb
cmpb $0x0, 0x1(%rbx)
je 0x399b
movq %rbx, %rdi
leaq 0x2a0b(%rip), %rsi      # 0x6212
callq 0x3180
testl %eax, %eax
je 0x390b
movq %rbx, %rdi
leaq 0x29f9(%rip), %rsi      # 0x6217
callq 0x3180
testl %eax, %eax
je 0x390b
movq %rbx, %rdi
leaq 0x29e6(%rip), %rsi      # 0x621b
callq 0x3180
testl %eax, %eax
je 0x394e
movq %rbx, %rdi
leaq 0x29d4(%rip), %rsi      # 0x6220
callq 0x3180
testl %eax, %eax
je 0x393d
movq %rbx, %rdi
leaq 0x29c4(%rip), %rsi      # 0x6227
callq 0x3180
testl %eax, %eax
je 0x393d
cmpl $0x69, %r13d
jne 0x3880
cmpb $0x0, 0x1(%rbx)
je 0x39a7
movq %rbx, %rdi
leaq 0x29a2(%rip), %rsi      # 0x622c
callq 0x3180
testl %eax, %eax
je 0x39a7
movq %rbx, %rdi
leaq 0x2995(%rip), %rsi      # 0x6236
callq 0x3180
testl %eax, %eax
je 0x39a7
cmpl $0x0, 0xc(%rsp)
je 0x39d8
movq %rbx, %rdi
leaq 0x2977(%rip), %rsi      # 0x623a
callq 0x3180
testl %eax, %eax
je 0x3a06
leaq 0x2967(%rip), %rdi      # 0x623e
movq %rbx, %rsi
xorl %eax, %eax
callq 0x30f0
pushq $0x1
popq %rbx
cmpq $0x4, %rbx
je 0x39cc
movq 0x10(%rsp,%rbx,8), %rsi
testq %rsi, %rsi
je 0x3906
leaq 0x2954(%rip), %rdi      # 0x6253
xorl %eax, %eax
callq 0x30f0
incq %rbx
jmp 0x38e4
movq (%rsp), %rbx
testq %rbx, %rbx
je 0x392c
movq (%rsp), %rdi
leaq 0x2a0e(%rip), %rsi      # 0x632d
callq 0x3180
movq (%rsp), %rbx
testl %eax, %eax
je 0x3980
callq 0x51fc
movq 0x20(%rsp), %rdx
movl %eax, %edi
movq %rbx, %rsi
jmp 0x3991
callq 0x51fc
movl %eax, %edi
callq 0x5447
jmp 0x35e5
movq (%rsp), %rbx
testq %rbx, %rbx
je 0x396f
movq (%rsp), %rdi
leaq 0x29cb(%rip), %rsi      # 0x632d
callq 0x3180
movq (%rsp), %rbx
testl %eax, %eax
je 0x39b1
callq 0x51fc
movq 0x20(%rsp), %rdx
movl %eax, %edi
movq %rbx, %rsi
jmp 0x39c2
callq 0x51fc
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movl %eax, %edi
callq 0x55bb
jmp 0x35e5
leaq 0x2866(%rip), %rdi      # 0x6208
jmp 0x37cb
callq 0x552f
jmp 0x35e5
callq 0x51fc
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movl %eax, %edi
callq 0x5850
jmp 0x35e5
leaq 0x28bf(%rip), %rdi      # 0x6292
jmp 0x36fd
movq (%rsp), %rbx
cmpb $0x61, (%rbx)
jne 0x39ed
cmpb $0x74, 0x1(%rbx)
jne 0x39ed
cmpb $0x0, 0x2(%rbx)
je 0x3a15
callq 0x51fc
movq 0x20(%rsp), %rdx
movl %eax, %edi
movq %rbx, %rsi
callq 0x592b
jmp 0x35e5
leaq 0x10(%rsp), %rdi
callq 0x5a10
jmp 0x35e5
movq 0x20(%rsp), %rbx
testq %rbx, %rbx
je 0x3a32
movq %rbx, %rdi
leaq 0x2904(%rip), %rsi      # 0x632d
callq 0x3180
testl %eax, %eax
je 0x3a3e
callq 0x51fc
movq 0x28(%rsp), %rdx
jmp 0x39f7
callq 0x51fc
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movl %eax, %edi
jmp 0x39fc
leaq 0x25ee(%rip), %rdi      # 0x6046
callq 0x3090
leaq 0x29c1(%rip), %rdi      # 0x6425
callq 0x3090
leaq 0x25d7(%rip), %r14      # 0x6047
movq %r14, %rdi
callq 0x3090
leaq 0x29be(%rip), %rdi      # 0x643d
callq 0x3090
leaq 0x2a03(%rip), %rdi      # 0x648e
callq 0x3090
leaq 0x2a46(%rip), %rdi      # 0x64dd
callq 0x3090
leaq 0x2a89(%rip), %rdi      # 0x652c
callq 0x3090
leaq 0x2aa8(%rip), %rbx      # 0x6557
jmp 0x3b26
leaq 0x258e(%rip), %rdi      # 0x6046
callq 0x3090
leaq 0x2808(%rip), %rdi      # 0x62cc
callq 0x3090
leaq 0x2577(%rip), %r14      # 0x6047
movq %r14, %rdi
callq 0x3090
leaq 0x2804(%rip), %rdi      # 0x62e3
callq 0x3090
leaq 0x2846(%rip), %rdi      # 0x6331
callq 0x3090
leaq 0x2884(%rip), %rdi      # 0x637b
callq 0x3090
leaq 0x28c4(%rip), %rdi      # 0x63c7
callq 0x3090
leaq 0x28f4(%rip), %rbx      # 0x6403
jmp 0x3b26
orl $-0x1, 0xb09c(%rip)     # 0xebb4
leaq 0x2776(%rip), %rbx      # 0x6295
leaq 0x2520(%rip), %r14      # 0x6046
movq %r14, %rdi
callq 0x3090
movq %rbx, %rdi
callq 0x3090
leaq 0x2a2b(%rip), %rdi      # 0x6568
callq 0x3090
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq