// File: /workspace/github_c_makefile_star2_O0/jonof[P]jftekwar/jfbuild/src/osd.c
// Function: OSD_Manipulate
static void OSD_Manipulate(int op) {
	int i, j;
	symbol_t *tabc = NULL;

	switch (op) {
		case OSDOP_START:
			osdeditcursor = 0;
			osdeditwinstart = osdeditcursor;
			osdeditwinend = osdeditwinstart+editlinewidth;
			break;
		case OSDOP_END:
			osdeditcursor = osdeditlen;
			osdeditwinend = osdeditcursor;
			osdeditwinstart = osdeditwinend-editlinewidth;
			if (osdeditwinstart<0) {
				osdeditwinstart=0;
				osdeditwinend = editlinewidth;
			}
			break;
		case OSDOP_LEFT:
			if (osdeditcursor>0) {
				osdeditcursor--;
			}
			if (osdeditcursor<osdeditwinstart) {
				osdeditwinend-=(osdeditwinstart-osdeditcursor);
				osdeditwinstart-=(osdeditwinstart-osdeditcursor);
			}
			break;
		case OSDOP_LEFT_WORD:
			if (osdeditcursor>0) {
				while (osdeditcursor>0) {
					if (osdeditbuf[osdeditcursor-1] != 32) break;
					osdeditcursor--;
				}
				while (osdeditcursor>0) {
					if (osdeditbuf[osdeditcursor-1] == 32) break;
					osdeditcursor--;
				}
			}
			if (osdeditcursor<osdeditwinstart) {
				osdeditwinend-=(osdeditwinstart-osdeditcursor);
				osdeditwinstart-=(osdeditwinstart-osdeditcursor);
			}
			break;
		case OSDOP_RIGHT:
			if (osdeditcursor<osdeditlen) {
				osdeditcursor++;
			}
			if (osdeditcursor>=osdeditwinend) {
				osdeditwinstart+=(osdeditcursor-osdeditwinend);
				osdeditwinend+=(osdeditcursor-osdeditwinend);
			}
			break;
		case OSDOP_RIGHT_WORD:
			if (osdeditcursor<osdeditlen) {
				while (osdeditcursor<osdeditlen) {
					if (osdeditbuf[osdeditcursor] == 32) break;
					osdeditcursor++;
				}
				while (osdeditcursor<osdeditlen) {
					if (osdeditbuf[osdeditcursor] != 32) break;
					osdeditcursor++;
				}
			}
			if (osdeditcursor>=osdeditwinend) {
				osdeditwinstart+=(osdeditcursor-osdeditwinend);
				osdeditwinend+=(osdeditcursor-osdeditwinend);
			}
			break;
		case OSDOP_BACKSPACE:
			if (!osdeditcursor || !osdeditlen) return;
			if (!osdovertype) {
				if (osdeditcursor < osdeditlen)
					Bmemmove(osdeditbuf+osdeditcursor-1, osdeditbuf+osdeditcursor, osdeditlen-osdeditcursor);
				osdeditlen--;
			}
			osdeditcursor--;
			if (osdeditcursor<osdeditwinstart) {
				osdeditwinstart--;
				osdeditwinend--;
			}
			break;
		case OSDOP_DELETE:
			if (osdeditcursor == osdeditlen || !osdeditlen) return;
			if (osdeditcursor <= osdeditlen-1) Bmemmove(osdeditbuf+osdeditcursor, osdeditbuf+osdeditcursor+1, osdeditlen-osdeditcursor-1);
			osdeditlen--;
			break;
		case OSDOP_DELETE_START:
			if (osdeditcursor>0 && osdeditlen) {
				if (osdeditcursor<osdeditlen)
					Bmemmove(osdeditbuf, osdeditbuf+osdeditcursor, osdeditlen-osdeditcursor);
				osdeditlen-=osdeditcursor;
				osdeditcursor = 0;
				osdeditwinstart = 0;
				osdeditwinend = editlinewidth;
			}
			break;
		case OSDOP_DELETE_END:
			osdeditlen = osdeditcursor;
			break;
		case OSDOP_DELETE_WORD:
			if (osdeditcursor>0 && osdeditlen>0) {
				i=osdeditcursor;
				while (i>0 && osdeditbuf[i-1]==32) i--;
				while (i>0 && osdeditbuf[i-1]!=32) i--;
				if (osdeditcursor<osdeditlen)
					Bmemmove(osdeditbuf+i, osdeditbuf+osdeditcursor, osdeditlen-osdeditcursor);
				osdeditlen -= (osdeditcursor-i);
				osdeditcursor = i;
				if (osdeditcursor < osdeditwinstart) {
					osdeditwinstart=osdeditcursor;
					osdeditwinend=osdeditwinstart+editlinewidth;
				}
			}
			break;
		case OSDOP_CANCEL:
			osdeditlen=0;
			osdeditcursor=0;
			osdeditwinstart=0;
			osdeditwinend=editlinewidth;
			break;
		case OSDOP_COMPLETE:
			if (!lastmatch) {
				for (i=osdeditcursor;i>0;i--) if (osdeditbuf[i-1] == ' ') break;
				for (j=0;osdeditbuf[i] != ' ' && i < osdeditlen;j++,i++)
					osdedittmp[j] = osdeditbuf[i];
				osdedittmp[j] = 0;

				if (j > 0)
					tabc = findsymbol(osdedittmp, NULL);
			} else {
				tabc = findsymbol(osdedittmp, lastmatch->next);
				if (!tabc && lastmatch)
					tabc = findsymbol(osdedittmp, NULL);	// wrap
			}

			if (tabc) {
				for (i=osdeditcursor;i>0;i--) if (osdeditbuf[i-1] == ' ') break;
				osdeditlen = i;
				for (j=0;tabc->name[j] && osdeditlen <= EDITLENGTH;i++,j++,osdeditlen++)
					osdeditbuf[i] = tabc->name[j];
				osdeditcursor = osdeditlen;
				osdeditwinend = osdeditcursor;
				osdeditwinstart = osdeditwinend-editlinewidth;
				if (osdeditwinstart<0) {
					osdeditwinstart=0;
					osdeditwinend = editlinewidth;
				}

				lastmatch = tabc;
			}
			break;
		case OSDOP_SUBMIT:
			if (osdeditlen>0) {
				osdeditbuf[osdeditlen] = 0;
				Bmemmove(osdhistorybuf[1], osdhistorybuf[0], (HISTORYDEPTH-1)*(EDITLENGTH+1));
				Bmemmove(osdhistorybuf[0], osdeditbuf, EDITLENGTH+1);
				if (osdhistorysize < HISTORYDEPTH) osdhistorysize++;
				if (osdexeccount == HISTORYDEPTH)
					OSD_Printf("Command Buffer Warning: Failed queueing command "
							"for execution. Buffer full.\n");
				else
					osdexeccount++;
				osdhistorypos=-1;
			}

			osdeditlen=0;
			osdeditcursor=0;
			osdeditwinstart=0;
			osdeditwinend=editlinewidth;
			break;
		case OSDOP_HISTORY_UP:
			if (osdhistorypos < osdhistorysize-1) {
				osdhistorypos++;
				memcpy(osdeditbuf, osdhistorybuf[osdhistorypos], EDITLENGTH+1);
				osdeditlen = osdeditcursor = 0;
				while (osdeditbuf[osdeditcursor]) {
					osdeditlen++;
					osdeditcursor++;
				}
				if (osdeditcursor<osdeditwinstart) {
					osdeditwinend = osdeditcursor;
					osdeditwinstart = osdeditwinend-editlinewidth;

					if (osdeditwinstart<0) {
						osdeditwinend-=osdeditwinstart;
						osdeditwinstart=0;
					}
				} else if (osdeditcursor>=osdeditwinend) {
					osdeditwinstart+=(osdeditcursor-osdeditwinend);
					osdeditwinend+=(osdeditcursor-osdeditwinend);
				}
			}
			break;
		case OSDOP_HISTORY_DOWN:
			if (osdhistorypos >= 0) {
				if (osdhistorypos == 0) {
					osdeditlen=0;
					osdeditcursor=0;
					osdeditwinstart=0;
					osdeditwinend=editlinewidth;
					osdhistorypos = -1;
				} else {
					osdhistorypos--;
					memcpy(osdeditbuf, osdhistorybuf[osdhistorypos], EDITLENGTH+1);
					osdeditlen = osdeditcursor = 0;
					while (osdeditbuf[osdeditcursor]) {
						osdeditlen++;
						osdeditcursor++;
					}
					if (osdeditcursor<osdeditwinstart) {
						osdeditwinend = osdeditcursor;
						osdeditwinstart = osdeditwinend-editlinewidth;

						if (osdeditwinstart<0) {
							osdeditwinend-=osdeditwinstart;
							osdeditwinstart=0;
						}
					} else if (osdeditcursor>=osdeditwinend) {
						osdeditwinstart+=(osdeditcursor-osdeditwinend);
						osdeditwinend+=(osdeditcursor-osdeditwinend);
					}
				}
			}
			break;
		case OSDOP_SCROLL_TOP:
			osdhead = osdlines-1;
			break;
		case OSDOP_SCROLL_BOTTOM:
			osdhead = 0;
			break;
		case OSDOP_PAGE_UP:
			if (osdhead < osdlines-1)
				osdhead++;
			break;
		case OSDOP_PAGE_DOWN:
			if (osdhead > 0)
				osdhead--;
			break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq $0x0, -0x18(%rbp)
movl -0x4(%rbp), %eax
movq %rax, -0x20(%rbp)
subq $0x13, %rax
ja 0x6da50
movq -0x20(%rbp), %rax
leaq 0x46ccd(%rip), %rcx     # 0xb3adc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, 0x57e6be(%rip)    # 0x5eb4e0
movl 0x57e6b8(%rip), %eax    # 0x5eb4e0
movl %eax, 0x57e4aa(%rip)    # 0x5eb2d8
movl 0x57e4a4(%rip), %eax    # 0x5eb2d8
movl 0x744d2(%rip), %ecx     # 0xe130c
subl $0x1, %ecx
subl $0x3, %ecx
addl %ecx, %eax
movl %eax, 0x744d0(%rip)     # 0xe1318
jmp 0x6da50
movl 0x57e489(%rip), %eax    # 0x5eb2dc
movl %eax, 0x57e687(%rip)    # 0x5eb4e0
movl 0x57e681(%rip), %eax    # 0x5eb4e0
movl %eax, 0x744b3(%rip)     # 0xe1318
movl 0x744ad(%rip), %eax     # 0xe1318
movl 0x7449b(%rip), %ecx     # 0xe130c
subl $0x1, %ecx
subl $0x3, %ecx
subl %ecx, %eax
movl %eax, 0x57e459(%rip)    # 0x5eb2d8
cmpl $0x0, 0x57e452(%rip)    # 0x5eb2d8
jge 0x6cea4
movl $0x0, 0x57e446(%rip)    # 0x5eb2d8
movl 0x74474(%rip), %eax     # 0xe130c
subl $0x1, %eax
subl $0x3, %eax
movl %eax, 0x74474(%rip)     # 0xe1318
jmp 0x6da50
cmpl $0x0, 0x57e630(%rip)    # 0x5eb4e0
jle 0x6cec1
movl 0x57e628(%rip), %eax    # 0x5eb4e0
addl $-0x1, %eax
movl %eax, 0x57e61f(%rip)    # 0x5eb4e0
movl 0x57e619(%rip), %eax    # 0x5eb4e0
cmpl 0x57e40b(%rip), %eax    # 0x5eb2d8
jge 0x6cf03
movl 0x57e403(%rip), %ecx    # 0x5eb2d8
subl 0x57e605(%rip), %ecx    # 0x5eb4e0
movl 0x74437(%rip), %eax     # 0xe1318
subl %ecx, %eax
movl %eax, 0x7442f(%rip)     # 0xe1318
movl 0x57e3e9(%rip), %ecx    # 0x5eb2d8
subl 0x57e5eb(%rip), %ecx    # 0x5eb4e0
movl 0x57e3dd(%rip), %eax    # 0x5eb2d8
subl %ecx, %eax
movl %eax, 0x57e3d5(%rip)    # 0x5eb2d8
jmp 0x6da50
cmpl $0x0, 0x57e5d1(%rip)    # 0x5eb4e0
jle 0x6cf87
jmp 0x6cf13
cmpl $0x0, 0x57e5c6(%rip)    # 0x5eb4e0
jle 0x6cf4b
movl 0x57e5be(%rip), %eax    # 0x5eb4e0
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x57e3b1(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x6cf3a
jmp 0x6cf4b
movl 0x57e5a0(%rip), %eax    # 0x5eb4e0
addl $-0x1, %eax
movl %eax, 0x57e597(%rip)    # 0x5eb4e0
jmp 0x6cf13
jmp 0x6cf4d
cmpl $0x0, 0x57e58c(%rip)    # 0x5eb4e0
jle 0x6cf85
movl 0x57e584(%rip), %eax    # 0x5eb4e0
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x57e377(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jne 0x6cf74
jmp 0x6cf85
movl 0x57e566(%rip), %eax    # 0x5eb4e0
addl $-0x1, %eax
movl %eax, 0x57e55d(%rip)    # 0x5eb4e0
jmp 0x6cf4d
jmp 0x6cf87
movl 0x57e553(%rip), %eax    # 0x5eb4e0
cmpl 0x57e345(%rip), %eax    # 0x5eb2d8
jge 0x6cfc9
movl 0x57e33d(%rip), %ecx    # 0x5eb2d8
subl 0x57e53f(%rip), %ecx    # 0x5eb4e0
movl 0x74371(%rip), %eax     # 0xe1318
subl %ecx, %eax
movl %eax, 0x74369(%rip)     # 0xe1318
movl 0x57e323(%rip), %ecx    # 0x5eb2d8
subl 0x57e525(%rip), %ecx    # 0x5eb4e0
movl 0x57e317(%rip), %eax    # 0x5eb2d8
subl %ecx, %eax
movl %eax, 0x57e30f(%rip)    # 0x5eb2d8
jmp 0x6da50
movl 0x57e50c(%rip), %eax    # 0x5eb4e0
cmpl 0x57e302(%rip), %eax    # 0x5eb2dc
jge 0x6cfeb
movl 0x57e4fe(%rip), %eax    # 0x5eb4e0
addl $0x1, %eax
movl %eax, 0x57e4f5(%rip)    # 0x5eb4e0
movl 0x57e4ef(%rip), %eax    # 0x5eb4e0
cmpl 0x74321(%rip), %eax     # 0xe1318
jl 0x6d029
movl 0x57e4e1(%rip), %eax    # 0x5eb4e0
subl 0x74313(%rip), %eax     # 0xe1318
addl 0x57e2cd(%rip), %eax    # 0x5eb2d8
movl %eax, 0x57e2c7(%rip)    # 0x5eb2d8
movl 0x57e4c9(%rip), %eax    # 0x5eb4e0
subl 0x742fb(%rip), %eax     # 0xe1318
addl 0x742f5(%rip), %eax     # 0xe1318
movl %eax, 0x742ef(%rip)     # 0xe1318
jmp 0x6da50
movl 0x57e4ac(%rip), %eax    # 0x5eb4e0
cmpl 0x57e2a2(%rip), %eax    # 0x5eb2dc
jge 0x6d0b2
jmp 0x6d03e
movl 0x57e49c(%rip), %eax    # 0x5eb4e0
cmpl 0x57e292(%rip), %eax    # 0x5eb2dc
jge 0x6d076
movslq 0x57e48d(%rip), %rcx    # 0x5eb4e0
leaq 0x57e286(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jne 0x6d065
jmp 0x6d076
movl 0x57e475(%rip), %eax    # 0x5eb4e0
addl $0x1, %eax
movl %eax, 0x57e46c(%rip)    # 0x5eb4e0
jmp 0x6d03e
jmp 0x6d078
movl 0x57e462(%rip), %eax    # 0x5eb4e0
cmpl 0x57e258(%rip), %eax    # 0x5eb2dc
jge 0x6d0b0
movslq 0x57e453(%rip), %rcx    # 0x5eb4e0
leaq 0x57e24c(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x6d09f
jmp 0x6d0b0
movl 0x57e43b(%rip), %eax    # 0x5eb4e0
addl $0x1, %eax
movl %eax, 0x57e432(%rip)    # 0x5eb4e0
jmp 0x6d078
jmp 0x6d0b2
movl 0x57e428(%rip), %eax    # 0x5eb4e0
cmpl 0x7425a(%rip), %eax     # 0xe1318
jl 0x6d0f0
movl 0x57e41a(%rip), %eax    # 0x5eb4e0
subl 0x7424c(%rip), %eax     # 0xe1318
addl 0x57e206(%rip), %eax    # 0x5eb2d8
movl %eax, 0x57e200(%rip)    # 0x5eb2d8
movl 0x57e402(%rip), %eax    # 0x5eb4e0
subl 0x74234(%rip), %eax     # 0xe1318
addl 0x7422e(%rip), %eax     # 0xe1318
movl %eax, 0x74228(%rip)     # 0xe1318
jmp 0x6da50
cmpl $0x0, 0x57e3e4(%rip)    # 0x5eb4e0
je 0x6d107
cmpl $0x0, 0x57e1d7(%rip)    # 0x5eb2dc
jne 0x6d10c
jmp 0x6da50
cmpl $0x0, 0x57e1b5(%rip)    # 0x5eb2c8
jne 0x6d16c
movl 0x57e3c5(%rip), %eax    # 0x5eb4e0
cmpl 0x57e1bb(%rip), %eax    # 0x5eb2dc
jge 0x6d15d
movslq 0x57e3b6(%rip), %rax    # 0x5eb4e0
leaq 0x57e1af(%rip), %rdi    # 0x5eb2e0
addq %rax, %rdi
addq $-0x1, %rdi
movslq 0x57e3a1(%rip), %rax    # 0x5eb4e0
leaq 0x57e19a(%rip), %rsi    # 0x5eb2e0
addq %rax, %rsi
movl 0x57e18d(%rip), %eax    # 0x5eb2dc
subl 0x57e38b(%rip), %eax    # 0x5eb4e0
movslq %eax, %rdx
callq 0x6190
movl 0x57e179(%rip), %eax    # 0x5eb2dc
addl $-0x1, %eax
movl %eax, 0x57e170(%rip)    # 0x5eb2dc
movl 0x57e36e(%rip), %eax    # 0x5eb4e0
addl $-0x1, %eax
movl %eax, 0x57e365(%rip)    # 0x5eb4e0
movl 0x57e35f(%rip), %eax    # 0x5eb4e0
cmpl 0x57e151(%rip), %eax    # 0x5eb2d8
jge 0x6d1a7
movl 0x57e149(%rip), %eax    # 0x5eb2d8
addl $-0x1, %eax
movl %eax, 0x57e140(%rip)    # 0x5eb2d8
movl 0x7417a(%rip), %eax     # 0xe1318
addl $-0x1, %eax
movl %eax, 0x74171(%rip)     # 0xe1318
jmp 0x6da50
movl 0x57e32e(%rip), %eax    # 0x5eb4e0
cmpl 0x57e124(%rip), %eax    # 0x5eb2dc
je 0x6d1c3
cmpl $0x0, 0x57e11b(%rip)    # 0x5eb2dc
jne 0x6d1c8
jmp 0x6da50
movl 0x57e312(%rip), %eax    # 0x5eb4e0
movl 0x57e108(%rip), %ecx    # 0x5eb2dc
subl $0x1, %ecx
cmpl %ecx, %eax
jg 0x6d218
movslq 0x57e2fe(%rip), %rax    # 0x5eb4e0
leaq 0x57e0f7(%rip), %rdi    # 0x5eb2e0
addq %rax, %rdi
movslq 0x57e2ed(%rip), %rax    # 0x5eb4e0
leaq 0x57e0e6(%rip), %rsi    # 0x5eb2e0
addq %rax, %rsi
addq $0x1, %rsi
movl 0x57e0d5(%rip), %eax    # 0x5eb2dc
subl 0x57e2d3(%rip), %eax    # 0x5eb4e0
subl $0x1, %eax
movslq %eax, %rdx
callq 0x6190
movl 0x57e0be(%rip), %eax    # 0x5eb2dc
addl $-0x1, %eax
movl %eax, 0x57e0b5(%rip)    # 0x5eb2dc
jmp 0x6da50
cmpl $0x0, 0x57e2ad(%rip)    # 0x5eb4e0
jle 0x6d2b2
cmpl $0x0, 0x57e0a0(%rip)    # 0x5eb2dc
je 0x6d2b2
movl 0x57e29c(%rip), %eax    # 0x5eb4e0
cmpl 0x57e092(%rip), %eax    # 0x5eb2dc
jge 0x6d278
movslq 0x57e28d(%rip), %rax    # 0x5eb4e0
leaq 0x57e086(%rip), %rsi    # 0x5eb2e0
addq %rax, %rsi
movl 0x57e079(%rip), %eax    # 0x5eb2dc
subl 0x57e277(%rip), %eax    # 0x5eb4e0
movslq %eax, %rdx
leaq 0x57e06d(%rip), %rdi    # 0x5eb2e0
callq 0x6190
movl 0x57e262(%rip), %ecx    # 0x5eb4e0
movl 0x57e058(%rip), %eax    # 0x5eb2dc
subl %ecx, %eax
movl %eax, 0x57e050(%rip)    # 0x5eb2dc
movl $0x0, 0x57e24a(%rip)    # 0x5eb4e0
movl $0x0, 0x57e038(%rip)    # 0x5eb2d8
movl 0x74066(%rip), %eax     # 0xe130c
subl $0x1, %eax
subl $0x3, %eax
movl %eax, 0x74066(%rip)     # 0xe1318
jmp 0x6da50
movl 0x57e223(%rip), %eax    # 0x5eb4e0
movl %eax, 0x57e019(%rip)    # 0x5eb2dc
jmp 0x6da50
cmpl $0x0, 0x57e211(%rip)    # 0x5eb4e0
jle 0x6d3fc
cmpl $0x0, 0x57e000(%rip)    # 0x5eb2dc
jle 0x6d3fc
movl 0x57e1f8(%rip), %eax    # 0x5eb4e0
movl %eax, -0x8(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x8(%rbp)
movb %al, -0x21(%rbp)
jle 0x6d313
movl -0x8(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x57dfda(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
sete %al
movb %al, -0x21(%rbp)
movb -0x21(%rbp), %al
testb $0x1, %al
jne 0x6d31c
jmp 0x6d327
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x6d2eb
jmp 0x6d329
xorl %eax, %eax
cmpl $0x0, -0x8(%rbp)
movb %al, -0x22(%rbp)
jle 0x6d351
movl -0x8(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x57df9c(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
setne %al
movb %al, -0x22(%rbp)
movb -0x22(%rbp), %al
testb $0x1, %al
jne 0x6d35a
jmp 0x6d365
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x6d329
movl 0x57e175(%rip), %eax    # 0x5eb4e0
cmpl 0x57df6b(%rip), %eax    # 0x5eb2dc
jge 0x6d3a6
movslq -0x8(%rbp), %rax
leaq 0x57df62(%rip), %rdi    # 0x5eb2e0
addq %rax, %rdi
movslq 0x57e158(%rip), %rax    # 0x5eb4e0
leaq 0x57df51(%rip), %rsi    # 0x5eb2e0
addq %rax, %rsi
movl 0x57df44(%rip), %eax    # 0x5eb2dc
subl 0x57e142(%rip), %eax    # 0x5eb4e0
movslq %eax, %rdx
callq 0x6190
movl 0x57e134(%rip), %ecx    # 0x5eb4e0
subl -0x8(%rbp), %ecx
movl 0x57df27(%rip), %eax    # 0x5eb2dc
subl %ecx, %eax
movl %eax, 0x57df1f(%rip)    # 0x5eb2dc
movl -0x8(%rbp), %eax
movl %eax, 0x57e11a(%rip)    # 0x5eb4e0
movl 0x57e114(%rip), %eax    # 0x5eb4e0
cmpl 0x57df06(%rip), %eax    # 0x5eb2d8
jge 0x6d3fa
movl 0x57e106(%rip), %eax    # 0x5eb4e0
movl %eax, 0x57def8(%rip)    # 0x5eb2d8
movl 0x57def2(%rip), %eax    # 0x5eb2d8
movl 0x73f20(%rip), %ecx     # 0xe130c
subl $0x1, %ecx
subl $0x3, %ecx
addl %ecx, %eax
movl %eax, 0x73f1e(%rip)     # 0xe1318
jmp 0x6d3fc
jmp 0x6da50
movl $0x0, 0x57ded1(%rip)    # 0x5eb2dc
movl $0x0, 0x57e0cb(%rip)    # 0x5eb4e0
movl $0x0, 0x57deb9(%rip)    # 0x5eb2d8
movl 0x73ee7(%rip), %eax     # 0xe130c
subl $0x1, %eax
subl $0x3, %eax
movl %eax, 0x73ee7(%rip)     # 0xe1318
jmp 0x6da50
cmpq $0x0, 0x57de82(%rip)    # 0x5eb2c0
jne 0x6d50e
movl 0x57e096(%rip), %eax    # 0x5eb4e0
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
jle 0x6d47b
movl -0x8(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x57de7d(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jne 0x6d46e
jmp 0x6d47b
jmp 0x6d470
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x6d44d
movl $0x0, -0xc(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x57de53(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x20, %ecx
movb %al, -0x23(%rbp)
je 0x6d4aa
movl -0x8(%rbp), %eax
cmpl 0x57de38(%rip), %eax    # 0x5eb2dc
setl %al
movb %al, -0x23(%rbp)
movb -0x23(%rbp), %al
testb $0x1, %al
jne 0x6d4b3
jmp 0x6d4e3
movslq -0x8(%rbp), %rcx
leaq 0x57de22(%rip), %rax    # 0x5eb2e0
movb (%rax,%rcx), %dl
movslq -0xc(%rbp), %rcx
leaq 0x580024(%rip), %rax    # 0x5ed4f0
movb %dl, (%rax,%rcx)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x6d482
movslq -0xc(%rbp), %rcx
leaq 0x580002(%rip), %rax    # 0x5ed4f0
movb $0x0, (%rax,%rcx)
cmpl $0x0, -0xc(%rbp)
jle 0x6d50c
leaq 0x57fff1(%rip), %rdi    # 0x5ed4f0
xorl %eax, %eax
movl %eax, %esi
callq 0x6ec00
movq %rax, -0x18(%rbp)
jmp 0x6d550
movq 0x57ddab(%rip), %rax    # 0x5eb2c0
movq 0x8(%rax), %rsi
leaq 0x57ffd0(%rip), %rdi    # 0x5ed4f0
callq 0x6ec00
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x6d54e
cmpq $0x0, 0x57dd88(%rip)    # 0x5eb2c0
je 0x6d54e
leaq 0x57ffaf(%rip), %rdi    # 0x5ed4f0
xorl %eax, %eax
movl %eax, %esi
callq 0x6ec00
movq %rax, -0x18(%rbp)
jmp 0x6d550
cmpq $0x0, -0x18(%rbp)
je 0x6d675
movl 0x57df7f(%rip), %eax    # 0x5eb4e0
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x8(%rbp)
jle 0x6d592
movl -0x8(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x57dd66(%rip), %rax    # 0x5eb2e0
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
jne 0x6d585
jmp 0x6d592
jmp 0x6d587
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x6d564
movl -0x8(%rbp), %eax
movl %eax, 0x57dd41(%rip)    # 0x5eb2dc
movl $0x0, -0xc(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movsbl (%rax,%rcx), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x24(%rbp)
je 0x6d5cb
cmpl $0x1ff, 0x57dd17(%rip)  # imm = 0x1FF
setle %al
movb %al, -0x24(%rbp)
movb -0x24(%rbp), %al
testb $0x1, %al
jne 0x6d5d4
jmp 0x6d613
movq -0x18(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
movb (%rax,%rcx), %dl
movslq -0x8(%rbp), %rcx
leaq 0x57dcf3(%rip), %rax    # 0x5eb2e0
movb %dl, (%rax,%rcx)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
movl 0x57dcd4(%rip), %eax    # 0x5eb2dc
addl $0x1, %eax
movl %eax, 0x57dccb(%rip)    # 0x5eb2dc
jmp 0x6d5a2
movl 0x57dcc3(%rip), %eax    # 0x5eb2dc
movl %eax, 0x57dec1(%rip)    # 0x5eb4e0
movl 0x57debb(%rip), %eax    # 0x5eb4e0
movl %eax, 0x73ced(%rip)     # 0xe1318
movl 0x73ce7(%rip), %eax     # 0xe1318
movl 0x73cd5(%rip), %ecx     # 0xe130c
subl $0x1, %ecx
subl $0x3, %ecx
subl %ecx, %eax
movl %eax, 0x57dc93(%rip)    # 0x5eb2d8
cmpl $0x0, 0x57dc8c(%rip)    # 0x5eb2d8
jge 0x6d66a
movl $0x0, 0x57dc80(%rip)    # 0x5eb2d8
movl 0x73cae(%rip), %eax     # 0xe130c
subl $0x1, %eax
subl $0x3, %eax
movl %eax, 0x73cae(%rip)     # 0xe1318
movq -0x18(%rbp), %rax
movq %rax, 0x57dc4b(%rip)    # 0x5eb2c0
jmp 0x6da50
cmpl $0x0, 0x57dc5b(%rip)    # 0x5eb2dc
jle 0x6d713
movslq 0x57dc4e(%rip), %rcx    # 0x5eb2dc
leaq 0x57dc4b(%rip), %rax    # 0x5eb2e0
movb $0x0, (%rax,%rcx)
leaq 0x57e050(%rip), %rdi    # 0x5eb6f0
leaq 0x57de49(%rip), %rsi    # 0x5eb4f0
movl $0x1e00, %edx           # imm = 0x1E00
callq 0x6190
leaq 0x57de38(%rip), %rdi    # 0x5eb4f0
leaq 0x57dc21(%rip), %rsi    # 0x5eb2e0
movl $0x200, %edx            # imm = 0x200
callq 0x6190
cmpl $0x10, 0x580020(%rip)   # 0x5ed6f0
jge 0x6d6e1
movl 0x580018(%rip), %eax    # 0x5ed6f0
addl $0x1, %eax
movl %eax, 0x58000f(%rip)    # 0x5ed6f0
cmpl $0x10, 0x57ddfc(%rip)   # 0x5eb4e4
jne 0x6d6fa
leaq 0x4679a(%rip), %rdi     # 0xb3e8b
movb $0x0, %al
callq 0x6e340
jmp 0x6d709
movl 0x57dde4(%rip), %eax    # 0x5eb4e4
addl $0x1, %eax
movl %eax, 0x57dddb(%rip)    # 0x5eb4e4
movl $0xffffffff, 0x73c2d(%rip) # imm = 0xFFFFFFFF
movl $0x0, 0x57dbbf(%rip)    # 0x5eb2dc
movl $0x0, 0x57ddb9(%rip)    # 0x5eb4e0
movl $0x0, 0x57dba7(%rip)    # 0x5eb2d8
movl 0x73bd5(%rip), %eax     # 0xe130c
subl $0x1, %eax
subl $0x3, %eax
movl %eax, 0x73bd5(%rip)     # 0xe1318
jmp 0x6da50
movl 0x73bf2(%rip), %eax     # 0xe1340
movl 0x57ff9c(%rip), %ecx    # 0x5ed6f0
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x6d87b
movl 0x73bdb(%rip), %eax     # 0xe1340
addl $0x1, %eax
movl %eax, 0x73bd2(%rip)     # 0xe1340
movslq 0x73bcb(%rip), %rax     # 0xe1340
leaq 0x57dd74(%rip), %rsi    # 0x5eb4f0
shlq $0x9, %rax
addq %rax, %rsi
leaq 0x57db56(%rip), %rdi    # 0x5eb2e0
movl $0x200, %edx            # imm = 0x200
callq 0x60c0
movl $0x0, 0x57dd42(%rip)    # 0x5eb4e0
movl $0x0, 0x57db34(%rip)    # 0x5eb2dc
movslq 0x57dd31(%rip), %rcx    # 0x5eb4e0
leaq 0x57db2a(%rip), %rax    # 0x5eb2e0
cmpb $0x0, (%rax,%rcx)
je 0x6d7dc
movl 0x57db1a(%rip), %eax    # 0x5eb2dc
addl $0x1, %eax
movl %eax, 0x57db11(%rip)    # 0x5eb2dc
movl 0x57dd0f(%rip), %eax    # 0x5eb4e0
addl $0x1, %eax
movl %eax, 0x57dd06(%rip)    # 0x5eb4e0
jmp 0x6d7a8
movl 0x57dcfe(%rip), %eax    # 0x5eb4e0
cmpl 0x57daf0(%rip), %eax    # 0x5eb2d8
jge 0x6d839
movl 0x57dcf0(%rip), %eax    # 0x5eb4e0
movl %eax, 0x73b22(%rip)     # 0xe1318
movl 0x73b1c(%rip), %eax     # 0xe1318
movl 0x73b0a(%rip), %ecx     # 0xe130c
subl $0x1, %ecx
subl $0x3, %ecx
subl %ecx, %eax
movl %eax, 0x57dac8(%rip)    # 0x5eb2d8
cmpl $0x0, 0x57dac1(%rip)    # 0x5eb2d8
jge 0x6d837
movl 0x57dab9(%rip), %ecx    # 0x5eb2d8
movl 0x73af3(%rip), %eax     # 0xe1318
subl %ecx, %eax
movl %eax, 0x73aeb(%rip)     # 0xe1318
movl $0x0, 0x57daa1(%rip)    # 0x5eb2d8
jmp 0x6d879
movl 0x57dca1(%rip), %eax    # 0x5eb4e0
cmpl 0x73ad3(%rip), %eax     # 0xe1318
jl 0x6d877
movl 0x57dc93(%rip), %eax    # 0x5eb4e0
subl 0x73ac5(%rip), %eax     # 0xe1318
addl 0x57da7f(%rip), %eax    # 0x5eb2d8
movl %eax, 0x57da79(%rip)    # 0x5eb2d8
movl 0x57dc7b(%rip), %eax    # 0x5eb4e0
subl 0x73aad(%rip), %eax     # 0xe1318
addl 0x73aa7(%rip), %eax     # 0xe1318
movl %eax, 0x73aa1(%rip)     # 0xe1318
jmp 0x6d879
jmp 0x6d87b
jmp 0x6da50
cmpl $0x0, 0x73ab9(%rip)     # 0xe1340
jl 0x6d9f3
cmpl $0x0, 0x73aac(%rip)     # 0xe1340
jne 0x6d8d5
movl $0x0, 0x57da3c(%rip)    # 0x5eb2dc
movl $0x0, 0x57dc36(%rip)    # 0x5eb4e0
movl $0x0, 0x57da24(%rip)    # 0x5eb2d8
movl 0x73a52(%rip), %eax     # 0xe130c
subl $0x1, %eax
subl $0x3, %eax
movl %eax, 0x73a52(%rip)     # 0xe1318
movl $0xffffffff, 0x73a70(%rip) # imm = 0xFFFFFFFF
jmp 0x6d9f1
movl 0x73a65(%rip), %eax     # 0xe1340
addl $-0x1, %eax
movl %eax, 0x73a5c(%rip)     # 0xe1340
movslq 0x73a55(%rip), %rax     # 0xe1340
leaq 0x57dbfe(%rip), %rsi    # 0x5eb4f0
shlq $0x9, %rax
addq %rax, %rsi
leaq 0x57d9e0(%rip), %rdi    # 0x5eb2e0
movl $0x200, %edx            # imm = 0x200
callq 0x60c0
movl $0x0, 0x57dbcc(%rip)    # 0x5eb4e0
movl $0x0, 0x57d9be(%rip)    # 0x5eb2dc
movslq 0x57dbbb(%rip), %rcx    # 0x5eb4e0
leaq 0x57d9b4(%rip), %rax    # 0x5eb2e0
cmpb $0x0, (%rax,%rcx)
je 0x6d952
movl 0x57d9a4(%rip), %eax    # 0x5eb2dc
addl $0x1, %eax
movl %eax, 0x57d99b(%rip)    # 0x5eb2dc
movl 0x57db99(%rip), %eax    # 0x5eb4e0
addl $0x1, %eax
movl %eax, 0x57db90(%rip)    # 0x5eb4e0
jmp 0x6d91e
movl 0x57db88(%rip), %eax    # 0x5eb4e0
cmpl 0x57d97a(%rip), %eax    # 0x5eb2d8
jge 0x6d9af
movl 0x57db7a(%rip), %eax    # 0x5eb4e0
movl %eax, 0x739ac(%rip)     # 0xe1318
movl 0x739a6(%rip), %eax     # 0xe1318
movl 0x73994(%rip), %ecx     # 0xe130c
subl $0x1, %ecx
subl $0x3, %ecx
subl %ecx, %eax
movl %eax, 0x57d952(%rip)    # 0x5eb2d8
cmpl $0x0, 0x57d94b(%rip)    # 0x5eb2d8
jge 0x6d9ad
movl 0x57d943(%rip), %ecx    # 0x5eb2d8
movl 0x7397d(%rip), %eax     # 0xe1318
subl %ecx, %eax
movl %eax, 0x73975(%rip)     # 0xe1318
movl $0x0, 0x57d92b(%rip)    # 0x5eb2d8
jmp 0x6d9ef
movl 0x57db2b(%rip), %eax    # 0x5eb4e0
cmpl 0x7395d(%rip), %eax     # 0xe1318
jl 0x6d9ed
movl 0x57db1d(%rip), %eax    # 0x5eb4e0
subl 0x7394f(%rip), %eax     # 0xe1318
addl 0x57d909(%rip), %eax    # 0x5eb2d8
movl %eax, 0x57d903(%rip)    # 0x5eb2d8
movl 0x57db05(%rip), %eax    # 0x5eb4e0
subl 0x73937(%rip), %eax     # 0xe1318
addl 0x73931(%rip), %eax     # 0xe1318
movl %eax, 0x7392b(%rip)     # 0xe1318
jmp 0x6d9ef
jmp 0x6d9f1
jmp 0x6d9f3
jmp 0x6da50
movl 0x738b5(%rip), %eax     # 0xe12b0
subl $0x1, %eax
movl %eax, 0x57d8d0(%rip)    # 0x5eb2d4
jmp 0x6da50
movl $0x0, 0x57d8c4(%rip)    # 0x5eb2d4
jmp 0x6da50
movl 0x57d8bc(%rip), %eax    # 0x5eb2d4
movl 0x73892(%rip), %ecx     # 0xe12b0
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x6da34
movl 0x57d8a9(%rip), %eax    # 0x5eb2d4
addl $0x1, %eax
movl %eax, 0x57d8a0(%rip)    # 0x5eb2d4
jmp 0x6da50
cmpl $0x0, 0x57d897(%rip)    # 0x5eb2d4
jle 0x6da4e
movl 0x57d88f(%rip), %eax    # 0x5eb2d4
addl $-0x1, %eax
movl %eax, 0x57d886(%rip)    # 0x5eb2d4
jmp 0x6da50
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)