// File: /workspace/github_cpp_makefile_star2_O3/lotuskip[P]yuxtapa/client/input.cpp
// Function: Input::inputhandle()
bool Input::inputhandle()
{
	if(clientstate == CS_TYPE_CHAT || clientstate == CS_TYPE_SHOUT)
	{
		if(check_typing()) // returns true if done typing
		{
			clientstate = CS_NORMAL;
			Base::def_cursor();
		}
		return false;
	}
	// else
	
	int key = getch();
	if(key != ERR) // there is some key
	{
		if(key == KEYCODE_INT)
			return true; // ^C quits

		if(clientstate == CS_HELP || clientstate == CS_TEAM_INFO)
		{
			// any key in help screen closes help
			leave_limbo(); // not leaving limbo, but the functionality is the same
			return false;
		}

		// Quickshouts handled regardless of clientstate:
		if(ClassCPV::im_alive())
		{
			for(char f = 1; f <= MAX_QUICK_SHOUTS; ++f)
			{
				if(key == KEY_F(f))
				{
					if(!Config::quick_shout(--f).empty())
						Network::send_line(Config::quick_shout(f), false);
					return false;
				}
			}
		}

		if(clientstate == CS_LIMBO)
		{
			key = tolower(key);
			if(key <= 'k' && key >= 'a') // switch class
			{
				Network::send_spawn((unsigned char)(key - 'a'));
				leave_limbo();
			}
			else if(key == 't')
			{
				Network::send_switch();
				leave_limbo();
			}
			else if(key == 's')
			{
				Network::send_spawn(NO_CLASS);
				leave_limbo();
			}
			else if(key == 'l' || key == 27) // 27: escape
				leave_limbo();
		}
		else
		{
			if(key == '?') // help key
			{
				clientstate = CS_HELP;
				walkmode_off();
				redraw_view();
				Base::type_cursor(0);
				return false;
			}

			// if here, we need to convert the key:
			e_Key_binding kb = MAX_KEY_BINDING;
			if(key < 256) // fits in a byte; try to convert
				kb = Config::convert_key(char(key));
			// map arrow keys to the directions, for the n00bs:
			else if(key == KEY_UP)
				kb = KB_8;
			else if(key == KEY_DOWN)
				kb = KB_2;
			else if(key == KEY_LEFT)
				kb = KB_4;
			else if(key == KEY_RIGHT)
				kb = KB_6;
		
			if(kb < MAX_KEY_BINDING) // a recognized key
			{
			switch(kb)
			{
			/*
			 * The effect of these depends on clientstate & class.
			 * The handling is delegated to class_cpv.cpp
			 */
			case KB_1: // movement
			case KB_2: case KB_3: case KB_4: case KB_6: case KB_7: case KB_8: case KB_9:
				ClassCPV::move((last_dir = e_Dir(kb)));
				break;
			case KB_5: // special direction
				ClassCPV::five();
				last_dir = MAX_D;
				break;
			case KB_SPACE: // action key
				ClassCPV::space();
				walkmode_off();
				break;
			case KB_p: // follow previous key
				ClassCPV::follow_prev();
				walkmode_off();
				break;

			/*
			 * These can be done in the middle of unfinished actions, but will cause
			 * interruption:
			 */
			case KB_C: // say in chat
				clientstate = CS_TYPE_CHAT;
				init_type();
				walkmode_off();
				break;
			case KB_s: // say aloud
				clientstate = CS_TYPE_SHOUT;
				init_type();
				walkmode_off();
				break;
			case KB_c: // close a door
				Network::send_action(XN_CLOSE_DOOR);
				// interrupts any aiming/casting etc:
				clientstate = CS_NORMAL;
				walkmode_off();
				break;
			case KB_u: // torch handling
				Network::send_action(XN_TORCH_HANDLE);
				// interrupts any aiming/casting etc:
				clientstate = CS_NORMAL;
				walkmode_off();
				break;
			case KB_T: // trigger a trap
				Network::send_action(XN_TRAP_TRIGGER);
				// interrupts any aiming/casting etc:
				clientstate = CS_NORMAL;
				walkmode_off();
				break;
			case KB_X: // suicide
				ClassCPV::suicide();
				walkmode_off();
				break;
			case KB_l: // limbo toggle
				clientstate = CS_LIMBO;
				walkmode_off();
				redraw_view();
				Base::type_cursor(0);
				break;
			case KB_i: // request team info
				Network::send_teami_req();
				break;	
			case KB_Q: // quit
				return true; // confirmation? nah

			/*
			 * The following can be carried out in any clientstate except limbo
			 * without interruption:
			 */
			case KB_w: // walk toggle
				if(walkmode)
					walkmode_off();
				else
					Base::print_walk((walkmode = true));
				break;
			case KB_t: // titles toggle
				toggle_titles();
				break;
			case KB_d: // differentiate titles
				diff_titles();
				break;
			case KB_o: // ouching toggle
				add_msg(string("[Reacting to damage ") + offon[Config::toggle_ouch()], 15);
				break;
			case KB_PLUS:
				scroll_chat_up();
				break;
			case KB_MINUS:
				scroll_chat_down();
				break;
			case KB_PERCENT:
				add_msg(string("[Act per turn ") + offon[Config::toggle_act_per_turn()], 15);
				break;
			default: break;
			}
			} // a recognized key binding
		} // need to convert key
	} // key != ERR
	else if(clientstate == CS_NORMAL && walkmode && last_dir != MAX_D
		&& Network::not_acted())
		ClassCPV::move(last_dir);
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movl 0xf4b5(%rip), %eax      # 0x17e80
decl %eax
cmpl $0x1, %eax
ja 0x8aa6
movq 0xe5e3(%rip), %rax      # 0x16fc0
movq (%rax), %rdi
leaq -0x58(%rbp), %rsi
callq 0x4260
testl %eax, %eax
je 0x8af2
cmpl $0x100, %eax            # imm = 0x100
jne 0x9141
movl -0x58(%rbp), %eax
cmpl $0x149, %eax            # imm = 0x149
jg 0x8c61
addl $0xfffffefe, %eax       # imm = 0xFFFFFEFE
cmpl $0x5, %eax
ja 0x9141
leaq 0x7bcd(%rip), %rcx      # 0x105ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xf459(%rip), %rcx      # 0x17e88
movq 0xf45a(%rip), %rax      # 0x17e90
cmpq %rax, %rcx
je 0x90b2
movq 0xf4a2(%rip), %rdx      # 0x17ee8
leaq 0x20(%rdx), %rdi
cmpq %rax, %rdx
cmoveq %rcx, %rdi
movq %rdi, 0xf490(%rip)      # 0x17ee8
leaq 0xf441(%rip), %rbx      # 0x17ea0
cmpq %rax, %rdi
je 0x9074
movq 0xf431(%rip), %rsi      # 0x17ea0
movq 0xf432(%rip), %rcx      # 0x17ea8
xorl %edx, %edx
callq 0x4650
movq 0xf464(%rip), %rdi      # 0x17ee8
testq %rax, %rax
je 0x9071
addq $0x20, %rdi
movq %rdi, 0xf450(%rip)      # 0x17ee8
cmpq 0xf3f1(%rip), %rdi      # 0x17e90
jne 0x8a68
jmp 0x9074
movq 0xe513(%rip), %rax      # 0x16fc0
movq (%rax), %rdi
callq 0x44b0
cmpl $-0x1, %eax
je 0x8b88
movl %eax, %r14d
movb $0x1, %bl
cmpl $0x3, %eax
je 0x9143
movl 0xf3ae(%rip), %eax      # 0x17e80
andl $-0x2, %eax
cmpl $0x4, %eax
jne 0x8c05
movl $0x0, 0xf398(%rip)      # 0x17e80
callq 0xead1
jmp 0x8bfb
movl -0x58(%rbp), %esi
cmpl $0xc, %esi
jg 0x8bc9
cmpl $0x3, %esi
je 0x8bd7
cmpl $0x9, %esi
je 0x8bd7
movswl 0xf3c9(%rip), %edx      # 0x17ee0
leaq 0xf3a2(%rip), %rbx      # 0x17ec0
movq %rbx, %rdi
callq 0xf5d8
leaq 0xf373(%rip), %rdi      # 0x17ea0
movq %rbx, %rsi
callq 0x4200
movq 0xf354(%rip), %rax      # 0x17e90
movq %rax, 0xf3a5(%rip)      # 0x17ee8
movzwl 0xf3a8(%rip), %eax      # 0x17ef2
movl %eax, %ecx
incl %ecx
movw %cx, 0xf39d(%rip)       # 0x17ef2
movzwl 0xf384(%rip), %ecx      # 0x17ee0
movl %ecx, %edx
incl %edx
movw %dx, 0xf379(%rip)       # 0x17ee0
cmpw %ax, %cx
setne %al
cmpw $0x39, %dx
setl %cl
orb %al, %cl
jne 0x90b2
incw 0xf36d(%rip)            # 0x17ef0
jmp 0x90b2
cmpl $0x0, 0xf2f1(%rip)      # 0x17e80
jne 0x9141
xorl %ebx, %ebx
cmpb $0x1, 0xf2e6(%rip)      # 0x17e84
jne 0x9143
cmpl $0x8, 0xe819(%rip)      # 0x173c4
je 0x9143
callq 0xcbc6
testb %al, %al
je 0x9141
movl 0xe800(%rip), %edi      # 0x173c4
jmp 0x9014
cmpl $0xd, %esi
je 0x8bec
cmpl $0x1b, %esi
jne 0x8b10
movq $0x0, 0xf2e6(%rip) # 0x17ec8
movq 0xf2d7(%rip), %rax      # 0x17ec0
movb $0x0, (%rax)
callq 0x9471
movl $0x0, 0xf285(%rip)      # 0x17e80
callq 0x6bc6
jmp 0x9141
callq 0x786d
testb %al, %al
je 0x8c31
leal -0x109(%r14), %ecx
cmpl $0xb, %ecx
movl $0xb, %eax
cmovbl %ecx, %eax
xorl %edx, %edx
cmpl %edx, %ecx
je 0x8d3b
incl %edx
cmpl $0xc, %edx
jne 0x8c22
cmpl $0x3, 0xf248(%rip)      # 0x17e80
jne 0x8cf3
movl %r14d, %edi
callq 0x4520
leal -0x61(%rax), %ecx
cmpl $0xa, %ecx
ja 0x8d68
addb $-0x61, %al
movzbl %al, %edi
callq 0xca95
jmp 0x8ade
cmpl $0x156, %eax            # imm = 0x156
jg 0x8cd1
cmpl $0x14a, %eax            # imm = 0x14A
je 0x8dcb
cmpl $0x152, %eax            # imm = 0x152
jne 0x9141
movq 0xf20b(%rip), %rax      # 0x17e90
movq %rax, 0xf25c(%rip)      # 0x17ee8
movq 0xf235(%rip), %rdx      # 0x17ec8
cmpq 0xf20e(%rip), %rdx      # 0x17ea8
jne 0x8cc0
testq %rdx, %rdx
je 0x901e
movq 0xf1f4(%rip), %rsi      # 0x17ea0
movq 0xf20d(%rip), %rdi      # 0x17ec0
callq 0x43a0
testl %eax, %eax
je 0x901e
leaq 0xf1d9(%rip), %rdi      # 0x17ea0
callq 0x9539
jmp 0x90b2
cmpl $0x157, %eax            # imm = 0x157
je 0x8bec
cmpl $0x168, %eax            # imm = 0x168
jne 0x9141
movzwl 0xf204(%rip), %eax      # 0x17ef2
jmp 0x9095
cmpl $0x3f, %r14d
jne 0x8d8a
movl $0x4, 0xf179(%rip)      # 0x17e80
cmpb $0x1, 0xf176(%rip)      # 0x17e84
jne 0x8d1e
movb $0x0, 0xf16d(%rip)      # 0x17e84
xorl %edi, %edi
callq 0x6cd0
movl $0x8, 0xe69c(%rip)      # 0x173c4
callq 0xead1
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x6bf4
jmp 0x9143
movsbl %al, %ebx
movl %ebx, %edi
callq 0xe00b
cmpq $0x0, 0x8(%rax)
je 0x9141
movl %ebx, %edi
callq 0xe00b
xorl %ebx, %ebx
movq %rax, %rdi
xorl %esi, %esi
callq 0xc98e
jmp 0x9143
xorl %ebx, %ebx
cmpl $0x72, %eax
jg 0x8fd2
cmpl $0x1b, %eax
je 0x8ade
cmpl $0x6c, %eax
je 0x8ade
jmp 0x9143
cmpl $0x100, %r14d           # imm = 0x100
jge 0x8fee
movsbl %r14b, %edi
callq 0xdde6
cmpl $0x1a, %eax
jg 0x9141
ja 0x9141
movl %eax, %ecx
leaq 0x77c8(%rip), %rdx      # 0x10580
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
callq 0x773b
jmp 0x92b4
movswl 0xf10e(%rip), %esi      # 0x17ee0
cmpw 0xf119(%rip), %si       # 0x17ef2
jge 0x90b2
leaq 0xf0da(%rip), %rbx      # 0x17ec0
movq %rbx, %rdi
callq 0xf43c
leaq 0xf0ab(%rip), %rdi      # 0x17ea0
movq %rbx, %rsi
callq 0x4200
movq 0xf08c(%rip), %rax      # 0x17e90
movq %rax, 0xf0dd(%rip)      # 0x17ee8
jmp 0x8f71
xorl %eax, %eax
movw %ax, 0xf0d7(%rip)       # 0x17ef0
movw %ax, 0xf0c0(%rip)       # 0x17ee0
jmp 0x90b2
movzwl 0xf0b4(%rip), %eax      # 0x17ee0
testw %ax, %ax
jle 0x90b2
leal -0x1(%rax), %ecx
movw %cx, 0xf0a1(%rip)       # 0x17ee0
movzwl 0xf0aa(%rip), %ecx      # 0x17ef0
cmpw %cx, %ax
jg 0x90b2
cmpw $0x1d, %cx
movl $0x1c, %eax
cmovael %ecx, %eax
addl $-0x1c, %eax
movw %ax, 0xf08b(%rip)       # 0x17ef0
jmp 0x90b2
movzwl 0xf06f(%rip), %eax      # 0x17ee0
cmpw 0xf07a(%rip), %ax       # 0x17ef2
jge 0x90b2
leal 0x1(%rax), %ecx
movw %cx, 0xf058(%rip)       # 0x17ee0
cmpw $0x38, %ax
jge 0x8b7c
jmp 0x90b2
movq 0xf04a(%rip), %rax      # 0x17ee8
cmpq 0xefe3(%rip), %rax      # 0x17e88
je 0x8f7d
movq 0xf036(%rip), %rdi      # 0x17ee8
cmpq 0xefcf(%rip), %rdi      # 0x17e88
je 0x8f7d
addq $-0x20, %rdi
movq %rdi, 0xf01e(%rip)      # 0x17ee8
movq 0xefcf(%rip), %rsi      # 0x17ea0
movq 0xefd0(%rip), %rcx      # 0x17ea8
xorl %edx, %edx
callq 0x4650
testq %rax, %rax
jne 0x8eab
movq 0xeffd(%rip), %rsi      # 0x17ee8
leaq 0xefce(%rip), %rbx      # 0x17ec0
movq %rbx, %rdi
callq 0x4200
movq %rbx, %rdi
jmp 0x9089
movswl 0xefd7(%rip), %esi      # 0x17ee0
testl %esi, %esi
jle 0x90b2
decl %esi
leaq 0xefa6(%rip), %rbx      # 0x17ec0
movq %rbx, %rdi
callq 0xf43c
leaq 0xef77(%rip), %rdi      # 0x17ea0
movq %rbx, %rsi
callq 0x4200
movq 0xef58(%rip), %rax      # 0x17e90
movq %rax, 0xefa9(%rip)      # 0x17ee8
movzwl 0xef9a(%rip), %ecx      # 0x17ee0
decl %ecx
movw %cx, 0xef91(%rip)       # 0x17ee0
movzwl 0xef9a(%rip), %eax      # 0x17ef0
cmpw %ax, %cx
jge 0x8f71
cmpw $0x1d, %ax
movl $0x1c, %ecx
cmovgel %eax, %ecx
addl $-0x1c, %ecx
movw %cx, 0xef7f(%rip)       # 0x17ef0
decw 0xef7a(%rip)            # 0x17ef2
jmp 0x90b2
leaq 0xef3c(%rip), %rbx      # 0x17ec0
leaq 0xef15(%rip), %rsi      # 0x17ea0
movq %rbx, %rdi
callq 0x4200
movq %rbx, %rdi
callq 0xf738
movw %ax, 0xef50(%rip)       # 0x17ef2
movw %ax, 0xef37(%rip)       # 0x17ee0
cmpw $0x39, %ax
movl $0x38, %ecx
cmovgel %eax, %ecx
addl $-0x38, %ecx
movw %cx, 0xef31(%rip)       # 0x17ef0
movq 0xeeca(%rip), %rax      # 0x17e90
movq %rax, 0xef1b(%rip)      # 0x17ee8
jmp 0x90b2
cmpl $0x73, %eax
je 0x9067
cmpl $0x74, %eax
jne 0x9143
callq 0xcb02
jmp 0x8ade
addl $0xfffffefe, %r14d      # imm = 0xFFFFFEFE
cmpl $0x4, %r14d
jae 0x9141
movl %r14d, %eax
leaq 0x762b(%rip), %rcx      # 0x10634
movl (%rcx,%rax,4), %eax
movl %eax, 0xe3b2(%rip)      # 0x173c4
movl %eax, %edi
callq 0x7640
jmp 0x9141
leaq -0x28(%rbp), %r14
movq %r14, -0x10(%r14)
movq $0x0, -0x8(%r14)
movb $0x0, (%r14)
leaq -0x38(%rbp), %rdi
callq 0x9539
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x9050
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x4390
movq $0x0, 0xee4d(%rip) # 0x17ea8
movq 0xee3e(%rip), %rax      # 0x17ea0
movb $0x0, (%rax)
jmp 0x90b2
movl $0xb, %edi
jmp 0x8c57
movq %rdi, %rbx
leaq 0xee45(%rip), %r14      # 0x17ec0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4200
movq %r14, %rdi
callq 0xf738
movw %ax, 0xee5d(%rip)       # 0x17ef2
movw %ax, 0xee44(%rip)       # 0x17ee0
cmpw $0x39, %ax
movl $0x38, %ecx
cmovgel %eax, %ecx
addl $-0x38, %ecx
movw %cx, 0xee3e(%rip)       # 0x17ef0
xorl %r14d, %r14d
cmpl $0x1, 0xedc4(%rip)      # 0x17e80
setne %r14b
movswl 0xee29(%rip), %edx      # 0x17ef0
movswl 0xee24(%rip), %eax      # 0x17ef2
subl %edx, %eax
cmpl $0x39, %eax
movl $0x39, %ecx
cmovll %eax, %ecx
movswl %cx, %ecx
leaq 0xeddb(%rip), %rsi      # 0x17ec0
leaq -0x38(%rbp), %rbx
movq %rbx, %rdi
callq 0xf85c
movq (%rbx), %rdi
leal 0x7(,%r14,4), %esi
xorl %edx, %edx
movl $0xe, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x686d
leaq -0x28(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x912d
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x4390
movb 0xedad(%rip), %al       # 0x17ee0
subb 0xedb7(%rip), %al       # 0x17ef0
movsbl %al, %edi
callq 0x6bf4
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x77a0
jmp 0x929d
callq 0xcb64
jmp 0x9141
movl $0x2, %edi
jmp 0x9231
leaq -0x48(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x748a(%rip), %rsi      # 0x10604
leaq 0x7497(%rip), %rdx      # 0x10618
leaq -0x58(%rbp), %rdi
callq 0x891a
callq 0xe11c
movzbl %al, %eax
leaq 0xdb87(%rip), %rcx      # 0x16d20
movq (%rcx,%rax,8), %rsi
leaq -0x58(%rbp), %rdi
callq 0x46e0
leaq -0x28(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9322
movq %rdx, -0x38(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x28(%rbp)
jmp 0x9329
movl $0x2, 0xeca5(%rip)      # 0x17e80
jmp 0x9298
movl $0x1, %edi
jmp 0x9231
callq 0xede4
jmp 0x9141
callq 0xb093
jmp 0x9141
cmpb $0x1, 0xec82(%rip)      # 0x17e84
je 0x92a6
movb $0x1, 0xec75(%rip)      # 0x17e84
movl $0x1, %edi
callq 0x6cd0
jmp 0x9141
callq 0x7889
jmp 0x929d
callq 0xb0ce
jmp 0x9141
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
callq 0xc85e
movl $0x0, 0xec3c(%rip)      # 0x17e80
jmp 0x929d
callq 0xe96c
jmp 0x9141
callq 0x78b0
jmp 0x929d
movl $0x3, 0xec1f(%rip)      # 0x17e80
cmpb $0x1, 0xec1c(%rip)      # 0x17e84
jne 0x9278
movb $0x0, 0xec13(%rip)      # 0x17e84
xorl %edi, %edi
callq 0x6cd0
movl $0x8, 0xe142(%rip)      # 0x173c4
callq 0xead1
xorl %edi, %edi
jmp 0x913c
movl $0x1, 0xebe8(%rip)      # 0x17e80
callq 0x9418
cmpb $0x1, 0xebe0(%rip)      # 0x17e84
jne 0x92b4
movb $0x0, 0xebd7(%rip)      # 0x17e84
xorl %edi, %edi
callq 0x6cd0
movl $0x8, 0xe106(%rip)      # 0x173c4
jmp 0x9141
leaq -0x48(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x7347(%rip), %rsi      # 0x10619
leaq 0x734e(%rip), %rdx      # 0x10627
leaq -0x58(%rbp), %rdi
callq 0x891a
callq 0xe13e
movzbl %al, %eax
leaq 0xda2f(%rip), %rcx      # 0x16d20
movq (%rcx,%rax,8), %rsi
leaq -0x58(%rbp), %rdi
callq 0x46e0
leaq -0x28(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9350
movq %rdx, -0x38(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x28(%rbp)
jmp 0x9357
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0xf, %esi
callq 0x9bb7
jmp 0x937c
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x38(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0xf, %esi
callq 0x9bb7
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x9391
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x4390
movq -0x58(%rbp), %rdi
cmpq %r14, %rdi
je 0x9141
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x4390
jmp 0x9141
jmp 0x93b1
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r15, %rdi
je 0x93d7
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x4390
jmp 0x93d7
jmp 0x93cd
movq %rax, %rbx
jmp 0x9410
jmp 0x93d4
movq %rax, %rbx
movq -0x58(%rbp), %rdi
cmpq %r14, %rdi
je 0x9410
movq -0x48(%rbp), %rsi
jmp 0x9408
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
jne 0x9404
jmp 0x9410
movq %rax, %rbx
leaq -0x28(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9410
movq -0x28(%rbp), %rsi
incq %rsi
callq 0x4390
movq %rbx, %rdi
callq 0x4660