more flexible on extracting insn menemonic, as sometimes space can be used as separator, not only tab
diff --git a/cs.c b/cs.c
index 71ed9d8..70ae05e 100644
--- a/cs.c
+++ b/cs.c
@@ -180,10 +180,14 @@
 		printer(insn->id, insn, buffer);
 
 	// fill in mnemonic & operands
-	char *tab = strchr(buffer, '\t');
-	if (tab) {
-		*tab = '\0';
-		strncpy(insn->op_str, tab + 1, sizeof(insn->op_str) - 1);
+	// find first space or tab
+	char *sp = buffer;
+	for (sp = buffer; *sp; sp++)
+		if (*sp == ' '||*sp == '\t')
+			break;
+	if (*sp) {
+		*sp = '\0';
+		strncpy(insn->op_str, sp + 1, sizeof(insn->op_str) - 1);
 		insn->op_str[sizeof(insn->op_str) - 1] = '\0';
 	} else
 		insn->op_str[0] = '\0';