Done test system

This commit is contained in:
hardtobelieve 2019-02-08 20:51:55 -08:00
parent fdd7411666
commit 27a80547c5
8 changed files with 112 additions and 522 deletions

20
issues/README.md Normal file
View File

@ -0,0 +1,20 @@
# Regression testing
This directory contains a tool for regression testing core of Capstone
## Build
```
cd issues
make
```
## Usage
- Test for all closed issues
```
cd issues
./build/issues ./issues.cs
```
- Test for some input from LLVM
```
cd issues
./build/issues ../suite/MC/AArch64/basic-a64-instructions.s.cs
```

View File

@ -5,11 +5,13 @@
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <ctype.h>
char **split(char *str, char *delim, int *size);
void print_strs(char **list_str, int size);
char *readfile(char *filename);
void free_strs(char **list_str, int size);
void addStr(char **src, const char *format, ...);
void replaceHex(char **src);
#endif /* HELPER_H */

View File

@ -39,7 +39,7 @@
0xa0,0x28,0x57,0x88,0x7c == mov al, byte ptr [0x7c885728]
!#950
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x66,0xa3,0x94,0x90,0x04,0x08 == mov word ptr [0x8049094], ax | Prefix:0x00 0x00 0x66 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x8049094 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.disp: 0x8049094 | operands[0].size: 2 | operands[0].access: WRITE | operands[1].type: REG = ax | operands[1].size: 2 | operands[1].access: READ | Registers read: ax
0x66,0xa3,0x94,0x90,0x04,0x08 == mov word ptr [0x8049094], ax | Prefix:0x00 0x00 0x66 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x8049094 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.disp: 0x8049094 | operands[0].size: 2 | operands[0].access: WRITE | operands[1].type: REG = ax | operands[1].size: 2 | operands[1].access: READ | Registers read: ax
!#938
!#CS_ARCH_MIPS, CS_MODE_MIPS64+CS_MODE_LITTLE_ENDIAN, None
0x70,0x00,0xb2,0xff == sd $s2, 0x70($sp)
@ -60,7 +60,7 @@
0x01,0x81,0xa0,0xfc == stc2 p1, c8, [r0], #4 | op_count: 4 | operands[0].type: P-IMM = 1 | operands[1].type: C-IMM = 8 | operands[2].type: MEM | operands[2].mem.base: REG = r0 | operands[2].access: READ | operands[3].type: IMM = 0x4 | Write-back: True | Registers read: r0 | Registers modified: r0 | Groups: prev8
!#852
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x64,0xa3,0x00,0x00,0x00,0x00 == mov dword ptr fs:[0], eax | Prefix:0x00 0x64 0x00 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.segment: REG = fs | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: REG = eax | operands[1].size: 4 | operands[1].access: READ | Registers read: fs eax
0x64,0xa3,0x00,0x00,0x00,0x00 == mov dword ptr fs:[0], eax | Prefix:0x00 0x64 0x00 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.segment: REG = fs | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: REG = eax | operands[1].size: 4 | operands[1].access: READ | Registers read: fs eax
!#825
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0xf0,0xa0,0xe1 == mov pc, lr | op_count: 2 | operands[0].type: REG = pc | operands[0].access: WRITE | operands[1].type: REG = lr | operands[1].access: READ | Registers read: lr | Registers modified: pc | Groups: arm
@ -78,7 +78,7 @@
0x0f,0x35 == sysexit
!#805
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x4c,0x0f,0xb5,0x80,0x16,0x76,0x8a,0xfe == movb $0x80, %bpl
0x48,0x4c,0x0f,0xb5,0x80,0x16,0x76,0x8a,0xfe == movb $0x80, %bpl
!#804
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x66,0x48,0xf3,0xd1,0xc0 == rol $1, %ax
@ -87,19 +87,19 @@
0x8e,0x1e == movw 0(%rsi), %ds
!#767
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0xb1,0xe8,0xfc,0x07 == ldm.w r1!, {r2, r3, r4, r5, r6, r7, r8, sb, sl} | op_count: 10 | operands[0].type: REG = r1 | operands[0].access: READ | WRITE | operands[1].type: REG = r2 | operands[1].access: WRITE | operands[2].type: REG = r3 | operands[2].access: WRITE | operands[3].type: REG = r4 | operands[3].access: WRITE | operands[4].type: REG = r5 | operands[4].access: WRITE | operands[5].type: REG = r6 | operands[5].access: WRITE | operands[6].type: REG = r7 | operands[6].access: WRITE | operands[7].type: REG = r8 | operands[7].access: WRITE | operands[8].type: REG = sb | operands[8].access: WRITE | operands[9].type: REG = sl | operands[9].access: WRITE | Write-back: True | Registers read: r1 | Registers modified: r1 r2 r3 r4 r5 r6 r7 r8 sb sl | Groups: thumb2
0xb1,0xe8,0xfc,0x07 == ldm.w r1!, {r2, r3, r4, r5, r6, r7, r8, sb, sl} | op_count: 10 | operands[0].type: REG = r1 | operands[0].access: READ | WRITE | operands[1].type: REG = r2 | operands[1].access: WRITE | operands[2].type: REG = r3 | operands[2].access: WRITE | operands[3].type: REG = r4 | operands[3].access: WRITE | operands[4].type: REG = r5 | operands[4].access: WRITE | operands[5].type: REG = r6 | operands[5].access: WRITE | operands[6].type: REG = r7 | operands[6].access: WRITE | operands[7].type: REG = r8 | operands[7].access: WRITE | operands[8].type: REG = sb | operands[8].access: WRITE | operands[9].type: REG = sl | operands[9].access: WRITE | Write-back: True | Registers read: r1 | Registers modified: r1 r2 r3 r4 r5 r6 r7 r8 sb sl | Groups: thumb2
!#760
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x02,0x80,0xbd,0xe8 == pop {r1, pc} | op_count: 2 | operands[0].type: REG = r1 | operands[0].access: WRITE | operands[1].type: REG = pc | operands[1].access: WRITE | Registers read: sp | Registers modified: sp r1 pc | Groups: arm
!#750
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0x00,0x20,0xe9 == stmdb r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | operands[1].type: REG = r1 | operands[2].type: REG = r2 | operands[3].type: REG = r3 | Write-back: True | Registers read: r0 | Groups: arm
0x0e,0x00,0x20,0xe9 == stmdb r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | operands[1].type: REG = r1 | operands[2].type: REG = r2 | operands[3].type: REG = r3 | Write-back: True | Registers read: r0 | Groups: arm
!#747
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0x00,0xb0,0xe8 == ldm r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | WRITE | operands[1].type: REG = r1 | operands[1].access: WRITE | operands[2].type: REG = r2 | operands[2].access: WRITE | operands[3].type: REG = r3 | operands[3].access: WRITE | Write-back: True | Registers read: r0 | Registers modified: r0 r1 r2 r3 | Groups: arm
!#747
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x0e,0xc8 == ldm r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | WRITE | operands[1].type: REG = r1 | operands[1].access: WRITE | operands[2].type: REG = r2 | operands[2].access: WRITE | operands[3].type: REG = r3 | operands[3].access: WRITE | Write-back: True | Registers read: r0 | Registers modified: r0 r1 r2 r3 | Groups: thumb thumb1only
0x0e,0xc8 == ldm r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | WRITE | operands[1].type: REG = r1 | operands[1].access: WRITE | operands[2].type: REG = r2 | operands[2].access: WRITE | operands[3].type: REG = r3 | operands[3].access: WRITE | Write-back: True | Registers read: r0 | Registers modified: r0 r1 r2 r3 | Groups: thumb thumb1only
!#746
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x89,0x00,0x2d,0xe9 == push {r0, r3, r7} | op_count: 3 | operands[0].type: REG = r0 | operands[0].access: READ | operands[1].type: REG = r3 | operands[1].access: READ | operands[2].type: REG = r7 | operands[2].access: READ | Registers read: sp r0 r3 r7 | Registers modified: sp | Groups: arm
@ -126,7 +126,7 @@
0xe5,0x8c == in eax, 0x8c
!#545
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x95 == xchg eax, ebp | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x95 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: REG = eax | operands[0].size: 4 | operands[0].access: READ | WRITE | operands[1].type: REG = ebp | operands[1].size: 4 | operands[1].access: READ | WRITE | Registers read: eax ebp | Registers modified: eax ebp | Groups: not64bitmode
0x95 == xchg eax, ebp | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x95 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: REG = eax | operands[0].size: 4 | operands[0].access: READ | WRITE | operands[1].type: REG = ebp | operands[1].size: 4 | operands[1].access: READ | WRITE | Registers read: eax ebp | Registers modified: eax ebp | Groups: not64bitmode
!#544
!#CS_ARCH_X86, CS_MODE_32, None
0xdf,0x30 == fbstp tbyte ptr [eax]
@ -156,7 +156,7 @@
0x66,0xe8,0x35,0x64,0xe9,0x35,0x64,0x93,0x53,0x66,0xe8,0x35,0x64,0x66,0xe9,0x35,0x64 == call 0x6439;jmp 0x5393643e;call 0x6442;jmp 0x6446
!#458
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xA1,0x12,0x34,0x90,0x90 == mov eax, dword ptr [0x90903412] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xa1 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x90903412 | sib: 0x0 | op_count: 2 | operands[0].type: REG = eax | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.disp: 0x90903412 | operands[1].size: 4 | operands[1].access: READ | Registers modified: eax
0xA1,0x12,0x34,0x90,0x90 == mov eax, dword ptr [0x90903412] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xa1 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x90903412 | sib: 0x0 | op_count: 2 | operands[0].type: REG = eax | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.disp: 0x90903412 | operands[1].size: 4 | operands[1].access: READ | Registers modified: eax
!#454
!#CS_ARCH_X86, CS_MODE_32, None
0xf2,0x6c,0xf2,0x6d,0xf2,0x6e,0xf2,0x6f,0xf2,0xac,0xf2,0xad == repne insb byte ptr es:[edi], dx;repne insd dword ptr es:[edi], dx;repne outsb dx, byte ptr [esi];repne outsd dx, dword ptr [esi];repne lodsb al, byte ptr [esi];repne lodsd eax, dword ptr [esi]

View File

@ -84,6 +84,18 @@ double_dict options[] = {
char *(*function)(csh *, cs_mode, cs_insn*) = NULL;
int triple_compare(const char *src1, const char *src2, const char *des)
{
if (strcmp(src1, des) && strcmp(src2, des)) {
fprintf(stderr,"[ ERROR ] --- \"%s\" != \"%s\"", src1, des);
if (strcmp(src1, src2))
fprintf(stderr, " (\"%s\" != \"%s\")", src2, des);
fprintf(stderr, "\n");
return 0;
}
return 1;
}
void test_single(csh *handle, char *line)
{
char **list_part, **list_byte, **list_data;
@ -91,6 +103,7 @@ void test_single(csh *handle, char *line)
int i, count;
unsigned char *code;
cs_insn *insn;
char *tmp, *tmptmp;
list_part = split(line, " = ", &size_part);
list_byte = split(list_part[0], ",", &size_byte);
@ -103,15 +116,26 @@ void test_single(csh *handle, char *line)
list_data = split(list_part[1], ";", &size_data);
count = cs_disasm(*handle, code, size_byte, 0x1000, 0, &insn);
// printf("====\nCount: %d\nSize_data: %d\n", count, size_data);
assert_int_equal(size_data, count);
// assert_int_equal(size_data, count);
if (count == 0) {
fprintf(stderr, "[ ERROR ] --- Failed to disassemble given code!\n");
_fail(__FILE__, __LINE__);
}
for (i=0; i<count; ++i) {
char *tmp = (char *)malloc(strlen(insn[i].mnemonic) + strlen(insn[i].op_str) + 100);
tmp = (char *)malloc(strlen(insn[i].mnemonic) + strlen(insn[i].op_str) + 100);
strcpy(tmp, insn[i].mnemonic);
tmp[strlen(insn[i].mnemonic)] = ' ';
strcpy(tmp + strlen(insn[i].mnemonic) + 1, insn[i].op_str);
if (strlen(insn[i].op_str) > 0) {
tmp[strlen(insn[i].mnemonic)] = ' ';
strcpy(tmp + strlen(insn[i].mnemonic) + 1, insn[i].op_str);
}
// printf("--------\nCapstone: %s\nUser: %s\n", tmp, list_data[i]);
assert_string_equal(tmp, list_data[i]);
tmptmp = strdup(tmp);
replaceHex(&tmp);
// assert_string_equal(tmp, list_data[i]);
if (!triple_compare(tmp, tmptmp, list_data[i]))
_fail(__FILE__, __LINE__);
free(tmp);
free(tmptmp);
}
cs_free(insn, count);
free(list_part);
@ -190,8 +214,8 @@ int setFunction(int arch)
void test_single_issues(csh *handle, cs_mode mode, char *line, int detail)
{
char **list_part, **list_byte;
int size_part, size_byte;
char **list_part, **list_byte, **list_part_cs_result, **list_part_issue_result;
int size_part, size_byte, size_part_cs_result, size_part_issue_result;
int i, count, j;
unsigned char *code;
cs_insn *insn;
@ -212,15 +236,16 @@ void test_single_issues(csh *handle, cs_mode mode, char *line, int detail)
for (i=0; i < count; ++i) {
tmp = (char *)malloc(strlen(insn[i].mnemonic) + strlen(insn[i].op_str) + 100);
strcpy(tmp, insn[i].mnemonic);
if (strlen(insn[i].op_str) > 0)
if (strlen(insn[i].op_str) > 0) {
tmp[strlen(insn[i].mnemonic)] = ' ';
strcpy(tmp + strlen(insn[i].mnemonic) + 1, insn[i].op_str);
strcpy(tmp + strlen(insn[i].mnemonic) + 1, insn[i].op_str);
}
addStr(&cs_result, tmp);
if (i < count - 1)
addStr(&cs_result, ";");
free(tmp);
}
if (detail == 1) {
tmp = (*function)(handle, mode, insn);
addStr(&cs_result, tmp);
@ -234,9 +259,20 @@ void test_single_issues(csh *handle, cs_mode mode, char *line, int detail)
}
}
assert_string_equal(cs_result, list_part[1]);
list_part_cs_result = split(cs_result, " | ", &size_part_cs_result);
list_part_issue_result = split(list_part[1], " | ", &size_part_issue_result);
if (size_part_cs_result != size_part_issue_result) {
fprintf(stderr, "[ ERROR ] --- Number of details doesn't match");
_fail(__FILE__, __LINE__);
}
for (i=0; i<size_part_cs_result; ++i)
assert_string_equal(list_part_cs_result[i], list_part_issue_result[i]);
// assert_string_equal(cs_result, list_part[1]);
cs_free(insn, count);
free(list_part);
free(list_byte);
free(cs_result);
free(list_part_cs_result);
free(list_part_issue_result);
}

View File

@ -73,21 +73,48 @@ void addStr(char **src, const char *format, ...)
size_t len1, len2;
va_list args;
// puts ("HOHOHOHO");
tmp = (char *)malloc(sizeof(char) * 1000);
va_start(args, format);
vsprintf(tmp, format, args);
va_end(args);
// printf("HAHAHAHAHA %s\n", tmp);
len1 = strlen(*src);
len2 = strlen(tmp);
// printf("Source: %p %s\n", *src, *src);
*src = (char *)realloc(*src, sizeof(char) * (len1 + len2 + 10));
// printf("Source: %p %s\n", *src, *src);
memcpy(*src + len1, tmp, len2 + 1);
// printf("Source: %s\n", *src);
free(tmp);
}
void replaceHex(char **src)
{
char *tmp, *result, *found;
int i;
unsigned long long int value;
result = (char *)malloc(sizeof(char));
result[0] = '\0';
tmp = *src;
while ( (found = strstr(tmp, "0x")) != NULL ) {
*found = '\0';
found += 2;
value = 0;
while ( *found != '\0' && isxdigit(*found) ) {
if (*found >= 'a' && *found <='f')
value = value*0x10 + (*found - 'a' + 10);
else
value = value*0x10 + (*found - '0');
// printf("====> %d -- %llu\n", *found, value);
found++;
}
addStr(&result, "%s%llu", tmp, value);
tmp = found;
}
addStr(&result, "%s", tmp);
free(*src);
*src = result;
}

View File

@ -142,6 +142,9 @@ int main(int argc, char *argv[])
if (argc != 2) {
puts("Usage: ./issues <file_name.cs>");
char *haha = strdup("AHHA 0x123 hohoho 0xf hehehe 0xdeadbeaf");
replaceHex(&haha);
puts(haha);
return -1;
}

View File

@ -1,252 +0,0 @@
!#1323
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x70,0x47,0x00 = bx lr | 1 | lr | READ | lr | pc | | thumb jump
!#1317
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0xd0,0xe8,0x11,0xf0 = tbh [r0, r1, lsl #1] | 1 | MEM | r0 | r1 | 0x1 | READ | 2 1 | r0 r1 | thumb2 jump
!#1308
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x83,0x3d,0xa1,0x75,0x21,0x00,0x04 = cmp dword ptr [rip + 0x2175a1], 4 | 0x00 0x00 0x00 0x00 | 0x83 0x00 0x00 0x00 | 0x0 | 8 | 0x3d | 0x2175a1 | 0x0 | 1 | 0x4 | 2 | MEM | rip | 0x2175a1 | 4 | READ | 0x4 | 4 | rip | rflags | MOD_AF MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF
!#1262
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x0f,0x95,0x44,0x24,0x5e = setne byte ptr [rsp + 0x5e] | 0x00 0x00 0x00 0x00 | 0x0f 0x95 0x00 0x00 | 0x0 | 8 | 0x44 | 0x5e | 0x24 | rsp | 1 | 1 | MEM | rsp | 0x5e | 1 | WRITE | rflags rsp
!#1262
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x0f,0x94,0x44,0x24,0x1f = sete byte ptr [rsp + 0x1f] | 0x00 0x00 0x00 0x00 | 0x0f 0x94 0x00 0x00 | 0x0 | 8 | 0x44 | 0x1f | 0x24 | rsp | 1 | 1 | MEM | rsp | 0x1f | 1 | WRITE | rflags rsp
!#1255
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0xdb,0x7c,0x24,0x40 = fstp xword ptr [rsp + 0x40] | 0x00 0x00 0x00 0x00 | 0xdb 0x00 0x00 0x00 | 0x0 | 8 | 0x7c | 0x40 | 0x24 | rsp | 1 | 1 | MEM | rsp | 0x40 | 10 | WRITE | rsp | fpsw | MOD_C1 UNDEF_C0 UNDEF_C2 UNDEF_C3 | fpu
!#1255
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0xdd,0xd9 = fstp st(1) | 0x00 0x00 0x00 0x00 | 0xdd 0x00 0x00 0x00 | 0x0 | 8 | 0xd9 | 0x0 | 0x0
1 | st(1) | 10 | WRITE | fpsw st(1) | MOD_CF PRIOR_SF PRIOR_AF PRIOR_PF
!#1255
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0xdf,0x7c,0x24,0x68 = fistp qword ptr [rsp + 0x68] | 0x00 0x00 0x00 0x00 | 0xdf 0x00 0x00 0x00 | 0x0 | 8 | 0x7c | 0x68 | 0x24 | rsp | 1 | 1 | MEM | rsp | 0x68 | 8 | WRITE | rsp | fpsw | RESET_C1 UNDEF_C0 UNDEF_C2 UNDEF_C3 | fpu
!#1221
!#CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, None
0x55,0x48,0x89,0xe5 = call 0x55222794
!#1144
!#CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN, None
0x00,0x00,0x02,0xb6,0x00,0x00,0x04,0xb6,0x00,0x00,0x02,0xb7,0x00,0x00,0x04,0xb7 = tbz x0, #0x20, #0x4000;tbz x0, #0x20, #0xffffffffffff8004;tbnz x0, #0x20, #0x4008;tbnz x0, #0x20, #0xffffffffffff800c
!#826
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0b,0x00,0x00,0x0a = beq #0x34 | 1 | 0x34 | 1 | pc | pc | branch_relative arm jump
!#1047
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x83,0xe4,0xf0 = andq $0xfffffffffffffff0, %rsp
!#959
!#CS_ARCH_X86, CS_MODE_32, None
0xa0,0x28,0x57,0x88,0x7c = mov al, byte ptr[0x7c885728]
!#950
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x66,0xa3,0x94,0x90,0x04,0x08 = mov word ptr [0x8049094], ax | 0x00 0x00 0x66 0x00 | 0xa3 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x8049094 | 0x0 | 2 | MEM | 0x8049094 | 2 | WRITE | ax | 2 | READ | ax
!#938
!#CS_ARCH_MIPS, CS_MODE_MIPS64 | CS_MODE_LITTLE_ENDIAN, None
0x70,0x00,0xb2,0xff = sd $s2, 0x70($sp)
!#915
!#CS_ARCH_X86, CS_MODE_64, None
0xf0,0x0f,0x1f,0x00 = lock nop dword ptr [rax]
!#913
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x04,0x10,0x9d,0xe4 = pop {r1} | 1 | r1 | WRITE | True | sp | sp r1 | arm
!#884
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x64,0x48,0x03,0x04,0x25,0x00,0x00,0x00,0x00 = addq %fs:0, %rax
!#872
!#CS_ARCH_X86, CS_MODE_32, None
0xf2,0xeb,0x3e = bnd jmp 0x41
!#861
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x01,0x81,0xa0,0xfc = stc2 p1, c8, [r0], #4 | 4 | 1 | 8 | MEM | r0 | READ | 0x4 | True | r0 | r0 | prev8
!#852
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x64,0xa3,0x00,0x00,0x00,0x00 = mov dword ptr fs:[0], eax | 0x00 0x64 0x00 0x00 | 0xa3 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x0 | 0x0 | 2 | MEM | fs | 4 | WRITE | eax | 4 | READ | fs eax
!#825
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0xf0,0xa0,0xe1 = mov pc, lr | 2 | pc | WRITE | lr | READ | lr | pc | arm
!#813
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_THUMB | CS_MODE_BIG_ENDIAN, None
0xF6,0xC0,0x04,0x01 = movt r4, #0x801
!#809
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x0f,0x29,0x8d,0xf0,0xfd,0xff,0xff = movaps xmmword ptr [rbp - 0x210], xmm1 | 0x00 0x00 0x00 0x00 | 0x0f 0x29 0x00 0x00 | 0x0 | 8 | 0x8d | 0xfffffffffffffdf0 | 0x0 | 2 | MEM | rbp | 0xfffffffffffffdf0 | 16 | WRITE | xmm1 | 16 | READ | rbp xmm1 | sse1
!#807
!#CS_ARCH_X86, CS_MODE_64, None
0x4c,0x0f,0x00,0x80,0x16,0x76,0x8a,0xfe = sldt word ptr [rax - 0x17589ea]
!#806
!#CS_ARCH_X86, CS_MODE_64, None
0x0f,0x35 = sysexit
!#805
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x4c,0x0f,0xb5,0x80,0x16,0x76,0x8a,0xfe = movb $0x80, %bpl
!#804
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x66,0x48,0xf3,0xd1,0xc0 = rol $1, %ax
!#789
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x8e,0x1e = movw 0(%rsi), %ds
!#767
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0xb1,0xe8,0xfc,0x07 = ldm.w r1!, {r2, r3, r4, r5, r6, r7, r8, sb, sl} | 10 | r1 | READ WRITE | r2 | WRITE | r3 | WRITE | r4 | WRITE | r5 | WRITE | r6 | WRITE | r7 | WRITE | r8 | WRITE | sb | WRITE | sl | WRITE | True | r1 | r1 r2 r3 r4 r5 r6 r7 r8 sb sl | thumb2
!#760
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x02,0x80,0xbd,0xe8 = pop {r1, pc} | 2 | r1 | WRITE | pc | WRITE | sp | sp r1 pc | arm
!#750
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0x00,0x20,0xe9 = stmdb r0!, {r1, r2, r3} | 4 | r0 | READ WRITE | r1 | READ | r2 | READ | r3 | READ | True | r0 r1 r2 r3 | r0 | arm
!#747
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0x00,0xb0,0xe8 = ldm r0!, {r1, r2, r3} | 4 | r0 | READ WRITE | r1 | WRITE | r2 | WRITE | r3 | WRITE | True | r0 | r0 r1 r2 r3 | arm
!#747
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x0e,0xc8 = ldm r0!, {r1, r2, r3} | 4 | r0 | READ WRITE | r1 | WRITE | r2 | WRITE | r3 | WRITE | True | r0 | r0 r1 r2 r3 | arm
!#746
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x89,0x00,0x2d,0xe9 = push {r0, r3, r7} | 3 | r0 | READ WRITE | r3 | READ WRITE | r7 | READ WRITE | sp r0 r3 r7 | sp | arm
!#744
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x02,0x80,0xbd,0xe8 = pop {r1, pc} | 2 | r1 | WRITE | pc | WRITE | sp | sp r1 pc | arm
!#741
!#CS_ARCH_X86, CS_MODE_32, None
0x83,0xff,0xf7 = cmp edi, -9
!#717
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x8b,0x04,0x25,0x00,0x00,0x00,0x00 = movq 0, %rax
!#711
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xa3,0x44,0xb0,0x00,0x10 = mov dword ptr [0x1000b044], eax | 0x00 0x00 0x00 0x00 | 0xa3 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x1000b044 | 0x0 | 2 | MEM | 0x1000b044 | 4 | WRITE | eax | 4 | READ | eax
!#613
!#CS_ARCH_X86, CS_MODE_64, None
0xd9,0x74,0x24,0xd8 = fnstenv [rsp - 0x28]
!#CS_ARCH_X86, CS_MODE_64, None
0xd9,0x64,0x24,0xd8 = fldenv [rsp-0x28]
!#554
!#CS_ARCH_X86, CS_MODE_32, None
0xe7,0x84 = out 0x84, eax
!#554
!#CS_ARCH_X86, CS_MODE_32, None
0xe5,0x8c = in eax, 0x8c
!#545
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x95 = xchg eax, ebp | 0x00 0x00 0x00 0x00 | 0x95 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x0 | 0x0 | 2 | eax | 4 | READ WRITE | ebp | 4 | READ WRITE | eax ebp | eax ebp | not64bitmode
!#544
!#CS_ARCH_X86, CS_MODE_32, None
0xdf,0x30 = fbstp tbyte ptr [eax]
!#544
!#CS_ARCH_X86, CS_MODE_32, None
0xdf,0x20 = fbld tbyte ptr [eax]
!#541
!#CS_ARCH_X86, CS_MODE_64, None
0x48,0xb8,0x00,0x00,0x00,0x00,0x80,0xf8,0xff,0xff = movabs rax, 0xfffff88000000000
!#499
!#CS_ARCH_X86, CS_MODE_64, None
0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80 = movabs rax, 0x8000000000000000
!#492
!#CS_ARCH_X86, CS_MODE_32, None
0xff,0x18,0xff,0x28,0x0f,0xae,0x04,0x24,0x0f,0xae,0x0c,0x24 = lcall [eax];ljmp [eax];fxsave [esp];fxrstor [esp]
!#470
!#CS_ARCH_X86, CS_MODE_32, None
0x0f,0x01,0x05,0xa0,0x90,0x04,0x08,0x0f,0x01,0x0d,0xa7,0x90,0x04,0x08,0x0f,0x01,0x15,0xa0,0x90,0x04,0x08,0x0f,0x01,0x1d,0xa7,0x90,0x04,0x08 = sgdt [0x80490a0];sidt [0x80490a7];lgdt [0x80490a0];lidt [0x80490a7]
!#459
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0xd3,0x20,0x11,0xe1 = ldrsb r2, [r1, -r3] | 2 | r2 | WRITE | MEM | r1 | r3 | -1 | True | r1 r3 | r2 | arm
!#456
!#CS_ARCH_X86, CS_MODE_16, None
0xe8,0x35,0x64,0xe9,0x35,0x64,0x66,0xe9,0x35,0x64,0x93,0x53,0x66,0xe8,0x35,0x64,0x93,0x53,0x66,0xe9,0x35,0x64,0x93,0x53 = call 0x6438;jmp 0x643b;jmp 0x53936441;call 0x53936447;jmp 0x5393644d
!#456
!#CS_ARCH_X86, CS_MODE_32, None
0x66,0xe8,0x35,0x64,0xe9,0x35,0x64,0x93,0x53,0x66,0xe8,0x35,0x64,0x66,0xe9,0x35,0x64 = call 0x6439;jmp 0x5393643e;call 0x6442;jmp 0x6446
!#458
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xA1,0x12,0x34,0x90,0x90 = mov eax, dword ptr [0x90903412] | 0x00 0x00 0x00 0x00 | 0xa1 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x90903412 | 0x0 | 2 | eax | 4 | WRITE | MEM | 0x90903412 | 4 | READ | eax
!#454
!#CS_ARCH_X86, CS_MODE_32, None
0xf2,0x6c,0xf2,0x6d,0xf2,0x6e,0xf2,0x6f,0xf2,0xac,0xf2,0xad = repne insb byte ptr es:[edi], dx;repne insd dword ptr es:[edi], dx;repne outsb dx, byte ptr [esi];repne outsd dx, dword ptr [esi];repne lodsb al, byte ptr [esi];repne lodsd eax, dword ptr [esi]
!#450
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xff,0x2d,0x34,0x35,0x23,0x01 = ljmp [0x1233534] | 0x00 0x00 0x00 0x00 | 0xff 0x00 0x00 0x00 | 0x0 | 4 | 0x2d | 0x1233534 | 0x0 | 1 | MEM | 0x1233534 | 6 | jump
!#448
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xea,0x12,0x34,0x56,0x78,0x9a,0xbc = ljmp 0xbc9a:0x78563412 | 0x00 0x00 0x00 0x00 | 0xea 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x0 | 0x0 | 2 | 0xbc9a | 0x78563412 | 2 | 0xbc9a | 2 | 0x78563412 | 4 | not64bitmode jump
!#426
!#CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, None
0xbb,0x70,0x00,0x00 = popc %g0, %i5
!#358
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xe8,0xe3,0xf6,0xff,0xff = call 0xfffffffffffff6e8 | 0x00 0x00 0x00 0x00 | 0xe8 0x00 0x00 0x00 | 0x0 | 8 | 0x0 | 0x0 | 0x0 | 1 | 0xfffffffffffff6e8 | 1 | 0xfffffffffffff6e8 | 8 | rsp rip | rsp | call branch_relative mode64
!#353
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xe6,0xa2 = out 0xa2, al | 0x00 0x00 0x00 0x00 | 0xe6 0x00 0x00 0x00 | 0x0 | 8 | 0x0 | 0x0 | 0x0 | 1 | 0xa2 | 2 | 0xa2 | 8 | al | 1 | READ | al
!#305
!#CS_ARCH_X86, CS_MODE_32, None
0x34,0x8b = xor al, 0x8b
!#298
!#CS_ARCH_X86, CS_MODE_32, None
0xf3,0x90,0x66,0xf3,0xf2,0x0f,0x59,0xff,0xf2,0x66,0x0f,0x59,0xff = pause;mulsd xmm7, xmm7;mulpd xmm7, xmm7
!#294
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xc1,0xe6,0x08 = shl esi, 8 | 0x00 0x00 0x00 0x00 | 0xc1 0x00 0x00 0x00 | 0x0 | 4 | 0xe6 | 0x0 | 0x0 | 1 | 0x8 | 2 | esi | 4 | READ WRITE | 0x8 | 1 | esi | eflags esi | MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF UNDEF_AF
!#285
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x3c,0x12,0x80 = cmp al, 0x12 | 0x00 0x00 0x00 0x00 | 0x3c 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x0 | 0x0 | 1 | 0x12 | 2 | al | 1 | READ | 0x12 | 1 | al | eflags | MOD_AF MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF
!#265
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x52,0xf8,0x23,0x30 = ldr.w r3, [r2, r3, lsl #2] | 2 | r3 | WRITE | MEM | r2 | r3 | READ | 2 2 | r2 r3 | r3 | thumb2
!#264
!#CS_ARCH_ARM, CS_MODE_THUMB, None
0x0c,0xbf,0x17,0x20,0x4f,0xf0,0xff,0x30 = ite eq;moveq r0, #0x17;movne.w r0, #-1
!#246
!#CS_ARCH_ARM, CS_MODE_THUMB, None
0x52,0xf8,0x23,0xf0 = ldr.w pc, [r2, r3, lsl #2] | 2 | pc | WRITE | MEM | r2 | r3 | READ | 2 2 | r2 r3 | pc | thumb2
!#232
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x8e,0x10 = mov ss, word ptr [eax] | 0x00 0x00 0x00 0x00 | 0x8e 0x00 0x00 0x00 | 0x0 | 4 | 0x10 | 0x0 | 0x0 | 2 | ss | 2 | WRITE | MEM | eax | 2 | READ | eax | ss | privilege
!#231
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x66,0x6b,0xc0,0x02 = imul ax, ax, 2 | 0x00 0x00 0x66 0x00 | 0x6b 0x00 0x00 0x00 | 0x0 | 4 | 0xc0 | 0x0 | 0x0 | 1 | 0x2 | 3 | ax | 2 | WRITE | ax | 2 | READ | 0x2 | 2 | ax | eflags ax | MOD_CF MOD_SF MOD_OF UNDEF_ZF UNDEF_PF UNDEF_AF
!#230
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xec = in al, dx | 0x00 0x00 0x00 0x00 | 0xec 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x0 | 0x0 | 2 | al | 1 | WRITE | dx | 2 | READ | dx | al
!#229
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x0e, push cs | 0x00 0x00 0x00 0x00 | 0x0e 0x00 0x00 0x00 | 0x0 | 4 | 0x0 | 0x0 | 0x0 | 1 | cs | 2 | not64bitmode
!#213
!#CS_ARCH_X86, CS_MODE_16, None
0xea,0xaa,0xff,0x00,0xf0 = ljmp 0xf000:0xffaa
!#191
!#CS_ARCH_X86, CS_MODE_64, None
0xc5,0xe8,0xc2,0x33,0x9b = vcmpps xmm6, xmm2, xmmword ptr [rbx], 0x9b
!#176
!#CS_ARCH_ARM, CS_MODE_ARM, None
0xfd,0xff,0xff,0x1a = bne #0xfffffffc
!#151
!#CS_ARCH_X86, CS_MODE_64, None
0x4d,0x8d,0x3d,0x02,0x00,0x00,0x00,0xeb,0xb0 = lea r15, [rip + 2];jmp 0xffffffffffffffb9
!#134
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0xe7,0x92,0x11,0x80 = ldr r1, [r2, r0, lsl #3] | 2 | r1 | WRITE | MEM | r2 | r0 | READ | 2 3 | r2 r0 | r1 | arm
!#133
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0xed,0xdf,0x2b,0x1b = vldr d18, [pc, #0x6c] | 2 | d18 | WRITE | MEM | pc | 0x6c | READ | pc | d18 | vfp2
!#132
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_THUMB | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0x49,0x19 = ldr r1, [pc, #0x64] | 2 | r1 | WRITE | MEM | pc | 0x64 | READ | pc | r1 | thumb thumb1only
!#130
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0xe1,0xa0,0xf0,0x0e = mov pc, lr | 2 | pc | WRITE | lr | READ | lr | pc | arm
!#85
!#CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN, None
0xee,0x3f,0xbf,0x29 = stp w14, w15, [sp, #-8]!
!#82
!#CS_ARCH_X86, CS_MODE_64, None
0xf2,0x66,0xaf = repne scasw ax, word ptr [rdi]
!#35
!#CS_ARCH_X86, CS_MODE_32, None
0xe8,0xc6,0x02,0x00,0x00 = call 0x2cb
!#8
!#CS_ARCH_X86, CS_MODE_32, None
0xff,0x8c,0xf9,0xff,0xff,0x9b,0xf9 = dec dword ptr [ecx + edi*8 - 0x6640001]
!#29
!#CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN, None
0x00,0x00,0x00,0x4c = st4 {v0.16b, v1.16b, v2.16b, v3.16b}, [x0]

View File

@ -1,246 +0,0 @@
!#1323
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x70,0x47,0x00 = bx lr | op_count: 1 | operands[0].type: REG = lr | operands[0].access: READ | Registers read: lr | Registers modified: pc | Groups: thumb jump
!#1317
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0xd0,0xe8,0x11,0xf0 = tbh [r0, r1, lsl #1] | op_count: 1 | operands[0].type: MEM | operands[0].mem.base: REG = r0 | operands[0].mem.index: REG = r1 | operands[0].mem.lshift: 0x1 | operands[0].access: READ | Shift: 2 = 1 | Registers read: r0 r1 | Groups: thumb2 jump
!#1308
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x83,0x3d,0xa1,0x75,0x21,0x00,0x04 = cmp dword ptr [rip + 0x2175a1], 4 | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x83 0x00 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0x3d | disp: 0x2175a1 | sib: 0x0 | imm_count: 1 | imms[1]: 0x4 | op_count: 2 | operands[0].type: MEM | operands[0].mem.base: REG = rip | operands[0].mem.disp: 0x2175a1 | operands[0].size: 4 | operands[0].access: READ | operands[1].type: IMM = 0x4 | operands[1].size: 4 | Registers read: rip | Registers modified: rflags | EFLAGS: MOD_AF MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF
!#1262
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x0f,0x95,0x44,0x24,0x5e = setne byte ptr [rsp + 0x5e] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x0f 0x95 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0x44 | disp: 0x5e | sib: 0x24 | sib_base: rsp | sib_scale: 1 | op_count: 1 | operands[0].type: MEM | operands[0].mem.base: REG = rsp | operands[0].mem.disp: 0x5e | operands[0].size: 1 | operands[0].access: WRITE | Registers read: rflags rsp | EFLAGS: TEST_ZF
!#1262
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x0f,0x94,0x44,0x24,0x1f = sete byte ptr [rsp + 0x1f] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x0f 0x94 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0x44 | disp: 0x1f | sib: 0x24 | sib_base: rsp | sib_scale: 1 | op_count: 1 | operands[0].type: MEM | operands[0].mem.base: REG = rsp | operands[0].mem.disp: 0x1f | operands[0].size: 1 | operands[0].access: WRITE | Registers read: rflags rsp | EFLAGS: TEST_ZF
!#1255
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0xdb,0x7c,0x24,0x40 = fstp xword ptr [rsp + 0x40] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xdb 0x00 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0x7c | disp: 0x40 | sib: 0x24 | sib_base: rsp | sib_scale: 1 | op_count: 1 | operands[0].type: MEM | operands[0].mem.base: REG = rsp | operands[0].mem.disp: 0x40 | operands[0].size: 10 | operands[0].access: WRITE | Registers read: rsp | Registers modified: fpsw | FPU_FLAGS: MOD_C1 UNDEF_C0 UNDEF_C2 UNDEF_C3 | Groups: fpu
!#1255
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0xdd,0xd9 = fstp st(1) | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xdd 0x00 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0xd9 | disp: 0x0 | sib: 0x0 | op_count: 1 | operands[0].type: REG = st(1) | operands[0].size: 10 | operands[0].access: WRITE | Registers modified: fpsw st(1) | EFLAGS: MOD_CF PRIOR_SF PRIOR_AF PRIOR_PF
!#1255
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0xdf,0x7c,0x24,0x68 = fistp qword ptr [rsp + 0x68] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xdf 0x00 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0x7c | disp: 0x68 | sib: 0x24 | sib_base: rsp | sib_scale: 1 | op_count: 1 | operands[0].type: MEM | operands[0].mem.base: REG = rsp | operands[0].mem.disp: 0x68 | operands[0].size: 8 | operands[0].access: WRITE | Registers read: rsp | Registers modified: fpsw | FPU_FLAGS: RESET_C1 UNDEF_C0 UNDEF_C2 UNDEF_C3 | Groups: fpu
!#1221
!#CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, None
0x55,0x48,0x89,0xe5 = call 0x55222794
!#1144
!#CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN, None
0x00,0x00,0x02,0xb6,0x00,0x00,0x04,0xb6,0x00,0x00,0x02,0xb7,0x00,0x00,0x04,0xb7 = tbz x0, #0x20, #0x4000;tbz x0, #0x20, #0xffffffffffff8004;tbnz x0, #0x20, #0x4008;tbnz x0, #0x20, #0xffffffffffff800c
!#826
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0b,0x00,0x00,0x0a = beq #0x34 | op_count: 1 | operands[0].type: IMM = 0x34 | Code condition: 1 | Registers read: pc | Registers modified: pc | Groups: branch_relative arm jump
!#1047
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x83,0xe4,0xf0 = andq $0xfffffffffffffff0, %rsp
!#959
!#CS_ARCH_X86, CS_MODE_32, None
0xa0,0x28,0x57,0x88,0x7c = mov al, byte ptr[0x7c885728]
!#950
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x66,0xa3,0x94,0x90,0x04,0x08 = mov word ptr [0x8049094], ax | Prefix:0x00 0x00 0x66 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x8049094 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.disp: 0x8049094 | operands[0].size: 2 | operands[0].access: WRITE | operands[1].type: REG = ax | operands[1].size: 2 | operands[1].access: READ | Registers read: ax
!#938
!#CS_ARCH_MIPS, CS_MODE_MIPS64 | CS_MODE_LITTLE_ENDIAN, None
0x70,0x00,0xb2,0xff = sd $s2, 0x70($sp)
!#915
!#CS_ARCH_X86, CS_MODE_64, None
0xf0,0x0f,0x1f,0x00 = lock nop dword ptr [rax]
!#913
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x04,0x10,0x9d,0xe4 = pop {r1} | op_count: 1 | operands[0].type: REG = r1 | operands[0].access: WRITE | Write-back: True | Registers read: sp | Registers modified: sp r1 | Groups: arm
!#884
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x64,0x48,0x03,0x04,0x25,0x00,0x00,0x00,0x00 = addq %fs:0, %rax
!#872
!#CS_ARCH_X86, CS_MODE_32, None
0xf2,0xeb,0x3e = bnd jmp 0x41
!#861
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x01,0x81,0xa0,0xfc = stc2 p1, c8, [r0], #4 | op_count: 4 | operands[0].type: P-IMM = 1 | operands[1].type: C-IMM = 8 | operands[2].type: MEM | operands[2].mem.base: REG = r0 | operands[2].access: READ | operands[3].type: IMM = 0x4 | Write-back: True | Registers read: r0 | Registers modified: r0 | Groups: prev8
!#852
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x64,0xa3,0x00,0x00,0x00,0x00 = mov dword ptr fs:[0], eax | Prefix:0x00 0x64 0x00 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.segment: REG = fs | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: REG = eax | operands[1].size: 4 | operands[1].access: READ | Registers read: fs eax
!#825
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0xf0,0xa0,0xe1 = mov pc, lr | op_count: 2 | operands[0].type: REG = pc | operands[0].access: WRITE | operands[1].type: REG = lr | operands[1].access: READ | Registers read: lr | Registers modified: pc | Groups: arm
!#813
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_THUMB | CS_MODE_BIG_ENDIAN, None
0xF6,0xC0,0x04,0x01 = movt r4, #0x801
!#809
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_DETAIL
0x0f,0x29,0x8d,0xf0,0xfd,0xff,0xff = movaps xmmword ptr [rbp - 0x210], xmm1 | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x0f 0x29 0x00 0x00 | rex: 0x0 | addr_size: 8 | modrm: 0x8d | disp: 0xfffffffffffffdf0 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.base: REG = rbp | operands[0].mem.disp: 0xfffffffffffffdf0 | operands[0].size: 16 | operands[0].access: WRITE | operands[1].type: REG = xmm1 | operands[1].size: 16 | operands[1].access: READ | Registers read: rbp xmm1 | Groups: sse1
!#807
!#CS_ARCH_X86, CS_MODE_64, None
0x4c,0x0f,0x00,0x80,0x16,0x76,0x8a,0xfe = sldt word ptr [rax - 0x17589ea]
!#806
!#CS_ARCH_X86, CS_MODE_64, None
0x0f,0x35 = sysexit
!#805
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x4c,0x0f,0xb5,0x80,0x16,0x76,0x8a,0xfe = movb $0x80, %bpl
!#804
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x66,0x48,0xf3,0xd1,0xc0 = rol $1, %ax
!#789
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x8e,0x1e = movw 0(%rsi), %ds
!#767
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0xb1,0xe8,0xfc,0x07 = ldm.w r1!, {r2, r3, r4, r5, r6, r7, r8, sb, sl} | op_count: 10 | operands[0].type: REG = r1 | operands[0].access: READ | WRITE | operands[1].type: REG = r2 | operands[1].access: WRITE | operands[2].type: REG = r3 | operands[2].access: WRITE | operands[3].type: REG = r4 | operands[3].access: WRITE | operands[4].type: REG = r5 | operands[4].access: WRITE | operands[5].type: REG = r6 | operands[5].access: WRITE | operands[6].type: REG = r7 | operands[6].access: WRITE | operands[7].type: REG = r8 | operands[7].access: WRITE | operands[8].type: REG = sb | operands[8].access: WRITE | operands[9].type: REG = sl | operands[9].access: WRITE | Write-back: True | Registers read: r1 | Registers modified: r1 r2 r3 r4 r5 r6 r7 r8 sb sl | Groups: thumb2
!#760
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x02,0x80,0xbd,0xe8 = pop {r1, pc} | op_count: 2 | operands[0].type: REG = r1 | operands[0].access: WRITE | operands[1].type: REG = pc | operands[1].access: WRITE | Registers read: sp | Registers modified: sp r1 pc | Groups: arm
!#750
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0x00,0x20,0xe9 = stmdb r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | operands[1].type: REG = r1 | operands[2].type: REG = r2 | operands[3].type: REG = r3 | Write-back: True | Registers read: r0 | Groups: arm
!#747
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x0e,0x00,0xb0,0xe8 = ldm r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | WRITE | operands[1].type: REG = r1 | operands[1].access: WRITE | operands[2].type: REG = r2 | operands[2].access: WRITE | operands[3].type: REG = r3 | operands[3].access: WRITE | Write-back: True | Registers read: r0 | Registers modified: r0 r1 r2 r3 | Groups: arm
!#747
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x0e,0xc8 = ldm r0!, {r1, r2, r3} | op_count: 4 | operands[0].type: REG = r0 | operands[0].access: READ | WRITE | operands[1].type: REG = r1 | operands[1].access: WRITE | operands[2].type: REG = r2 | operands[2].access: WRITE | operands[3].type: REG = r3 | operands[3].access: WRITE | Write-back: True | Registers read: r0 | Registers modified: r0 r1 r2 r3 | Groups: thumb thumb1only
!#746
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x89,0x00,0x2d,0xe9 = push {r0, r3, r7} | op_count: 3 | operands[0].type: REG = r0 | operands[0].access: READ | operands[1].type: REG = r3 | operands[1].access: READ | operands[2].type: REG = r7 | operands[2].access: READ | Registers read: sp r0 r3 r7 | Registers modified: sp | Groups: arm
!#744
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0x02,0x80,0xbd,0xe8 = pop {r1, pc} | op_count: 2 | operands[0].type: REG = r1 | operands[0].access: WRITE | operands[1].type: REG = pc | operands[1].access: WRITE | Registers read: sp | Registers modified: sp r1 pc | Groups: arm
!#741
!#CS_ARCH_X86, CS_MODE_32, None
0x83,0xff,0xf7 = cmp edi, -9
!#717
!#CS_ARCH_X86, CS_MODE_64, CS_OPT_SYNTAX_ATT
0x48,0x8b,0x04,0x25,0x00,0x00,0x00,0x00 = movq 0, %rax
!#711
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xa3,0x44,0xb0,0x00,0x10 = mov dword ptr [0x1000b044], eax | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xa3 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x1000b044 | sib: 0x0 | op_count: 2 | operands[0].type: MEM | operands[0].mem.disp: 0x1000b044 | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: REG = eax | operands[1].size: 4 | operands[1].access: READ | Registers read: eax
!#613
!#CS_ARCH_X86, CS_MODE_64, None
0xd9,0x74,0x24,0xd8 = fnstenv [rsp - 0x28]
!#554
!#CS_ARCH_X86, CS_MODE_32, None
0xe7,0x84 = out 0x84, eax
!#554
!#CS_ARCH_X86, CS_MODE_32, None
0xe5,0x8c = in eax, 0x8c
!#545
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x95 = xchg eax, ebp | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x95 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: REG = eax | operands[0].size: 4 | operands[0].access: READ | WRITE | operands[1].type: REG = ebp | operands[1].size: 4 | operands[1].access: READ | WRITE | Registers read: eax ebp | Registers modified: eax ebp | Groups: not64bitmode
!#544
!#CS_ARCH_X86, CS_MODE_32, None
0xdf,0x30 = fbstp tbyte ptr [eax]
!#544
!#CS_ARCH_X86, CS_MODE_32, None
0xdf,0x20 = fbld tbyte ptr [eax]
!#541
!#CS_ARCH_X86, CS_MODE_64, None
0x48,0xb8,0x00,0x00,0x00,0x00,0x80,0xf8,0xff,0xff = movabs rax, 0xfffff88000000000
!#499
!#CS_ARCH_X86, CS_MODE_64, None
0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80 = movabs rax, 0x8000000000000000
!#492
!#CS_ARCH_X86, CS_MODE_32, None
0xff,0x18,0xff,0x28,0x0f,0xae,0x04,0x24,0x0f,0xae,0x0c,0x24 = lcall [eax];ljmp [eax];fxsave [esp];fxrstor [esp]
!#470
!#CS_ARCH_X86, CS_MODE_32, None
0x0f,0x01,0x05,0xa0,0x90,0x04,0x08,0x0f,0x01,0x0d,0xa7,0x90,0x04,0x08,0x0f,0x01,0x15,0xa0,0x90,0x04,0x08,0x0f,0x01,0x1d,0xa7,0x90,0x04,0x08 = sgdt [0x80490a0];sidt [0x80490a7];lgdt [0x80490a0];lidt [0x80490a7]
!#459
!#CS_ARCH_ARM, CS_MODE_ARM, CS_OPT_DETAIL
0xd3,0x20,0x11,0xe1 = ldrsb r2, [r1, -r3] | op_count: 2 | operands[0].type: REG = r2 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.base: REG = r1 | operands[1].mem.index: REG = r3 | operands[1].mem.scale: -1 | Subtracted: True | Registers read: r1 r3 | Registers modified: r2 | Groups: arm
!#456
!#CS_ARCH_X86, CS_MODE_16, None
0xe8,0x35,0x64,0xe9,0x35,0x64,0x66,0xe9,0x35,0x64,0x93,0x53,0x66,0xe8,0x35,0x64,0x93,0x53,0x66,0xe9,0x35,0x64,0x93,0x53 = call 0x6438;jmp 0x643b;jmp 0x53936441;call 0x53936447;jmp 0x5393644d
!#456
!#CS_ARCH_X86, CS_MODE_32, None
0x66,0xe8,0x35,0x64,0xe9,0x35,0x64,0x93,0x53,0x66,0xe8,0x35,0x64,0x66,0xe9,0x35,0x64 = call 0x6439;jmp 0x5393643e;call 0x6442;jmp 0x6446
!#458
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xA1,0x12,0x34,0x90,0x90 = mov eax, dword ptr [0x90903412] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xa1 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x90903412 | sib: 0x0 | op_count: 2 | operands[0].type: REG = eax | operands[0].size: 4 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.disp: 0x90903412 | operands[1].size: 4 | operands[1].access: READ | Registers modified: eax
!#454
!#CS_ARCH_X86, CS_MODE_32, None
0xf2,0x6c,0xf2,0x6d,0xf2,0x6e,0xf2,0x6f,0xf2,0xac,0xf2,0xad = repne insb byte ptr es:[edi], dx;repne insd dword ptr es:[edi], dx;repne outsb dx, byte ptr [esi];repne outsd dx, dword ptr [esi];repne lodsb al, byte ptr [esi];repne lodsd eax, dword ptr [esi]
!#450
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xff,0x2d,0x34,0x35,0x23,0x01 = ljmp [0x1233534] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xff 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x2d | disp: 0x1233534 | sib: 0x0 | op_count: 1 | operands[0].type: MEM | operands[0].mem.disp: 0x1233534 | operands[0].size: 6 | Groups: jump
!#448
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xea,0x12,0x34,0x56,0x78,0x9a,0xbc = ljmp 0xbc9a:0x78563412 | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xea 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | imm_count: 2 | imms[1]: 0xbc9a | imms[2]: 0x78563412 | op_count: 2 | operands[0].type: IMM = 0xbc9a | operands[0].size: 2 | operands[1].type: IMM = 0x78563412 | operands[1].size: 4 | Groups: not64bitmode jump
!#426
!#CS_ARCH_SPARC, CS_MODE_BIG_ENDIAN, None
0xbb,0x70,0x00,0x00 = popc %g0, %i5
!#358
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xe8,0xe3,0xf6,0xff,0xff = call 0xfffffffffffff6e8 | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xe8 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | imm_count: 1 | imms[1]: 0xfffff6e8 | op_count: 1 | operands[0].type: IMM = 0xfffff6e8 | operands[0].size: 4 | Registers read: esp eip | Registers modified: esp | Groups: call branch_relative not64bitmode
!#353
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xe6,0xa2 = out 0xa2, al | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xe6 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | imm_count: 1 | imms[1]: 0xa2 | op_count: 2 | operands[0].type: IMM = 0xa2 | operands[0].size: 4 | operands[1].type: REG = al | operands[1].size: 1 | operands[1].access: READ | Registers read: al
!#305
!#CS_ARCH_X86, CS_MODE_32, None
0x34,0x8b = xor al, 0x8b
!#298
!#CS_ARCH_X86, CS_MODE_32, None
0xf3,0x90,0x66,0xf3,0xf2,0x0f,0x59,0xff,0xf2,0x66,0x0f,0x59,0xff = pause;mulsd xmm7, xmm7;mulpd xmm7, xmm7
!#294
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xc1,0xe6,0x08 = shl esi, 8 | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xc1 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0xe6 | disp: 0x0 | sib: 0x0 | imm_count: 1 | imms[1]: 0x8 | op_count: 2 | operands[0].type: REG = esi | operands[0].size: 4 | operands[0].access: READ | WRITE | operands[1].type: IMM = 0x8 | operands[1].size: 1 | Registers read: esi | Registers modified: eflags esi | EFLAGS: MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF UNDEF_AF
!#285
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x3c,0x12,0x80 = cmp al, 0x12 | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x3c 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | imm_count: 1 | imms[1]: 0x12 | op_count: 2 | operands[0].type: REG = al | operands[0].size: 1 | operands[0].access: READ | operands[1].type: IMM = 0x12 | operands[1].size: 1 | Registers read: al | Registers modified: eflags | EFLAGS: MOD_AF MOD_CF MOD_SF MOD_ZF MOD_PF MOD_OF
!#265
!#CS_ARCH_ARM, CS_MODE_THUMB, CS_OPT_DETAIL
0x52,0xf8,0x23,0x30 = ldr.w r3, [r2, r3, lsl #2] | op_count: 2 | operands[0].type: REG = r3 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.base: REG = r2 | operands[1].mem.index: REG = r3 | operands[1].access: READ | Shift: 2 = 2 | Registers read: r2 r3 | Registers modified: r3 | Groups: thumb2
!#264
!#CS_ARCH_ARM, CS_MODE_THUMB, None
0x0c,0xbf,0x17,0x20,0x4f,0xf0,0xff,0x30 = ite eq;moveq r0, #0x17;movne.w r0, #-1
!#246
!#CS_ARCH_ARM, CS_MODE_THUMB, None
0x52,0xf8,0x23,0xf0 = ldr.w pc, [r2, r3, lsl #2]
!#232
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x8e,0x10 = mov ss, word ptr [eax] | Prefix:0x00 0x00 0x00 0x00 | Opcode:0x8e 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x10 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: REG = ss | operands[0].size: 2 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.base: REG = eax | operands[1].size: 2 | operands[1].access: READ | Registers read: eax | Registers modified: ss | Groups: privilege
!#231
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0x66,0x6b,0xc0,0x02 = imul ax, ax, 2 | Prefix:0x00 0x00 0x66 0x00 | Opcode:0x6b 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0xc0 | disp: 0x0 | sib: 0x0 | imm_count: 1 | imms[1]: 0x2 | op_count: 3 | operands[0].type: REG = ax | operands[0].size: 2 | operands[0].access: WRITE | operands[1].type: REG = ax | operands[1].size: 2 | operands[1].access: READ | operands[2].type: IMM = 0x2 | operands[2].size: 2 | Registers read: ax | Registers modified: eflags ax | EFLAGS: MOD_CF MOD_SF MOD_OF UNDEF_ZF UNDEF_PF UNDEF_AF
!#230
!#CS_ARCH_X86, CS_MODE_32, CS_OPT_DETAIL
0xec = in al, dx | Prefix:0x00 0x00 0x00 0x00 | Opcode:0xec 0x00 0x00 0x00 | rex: 0x0 | addr_size: 4 | modrm: 0x0 | disp: 0x0 | sib: 0x0 | op_count: 2 | operands[0].type: REG = al | operands[0].size: 1 | operands[0].access: WRITE | operands[1].type: REG = dx | operands[1].size: 2 | operands[1].access: READ | Registers read: dx | Registers modified: al
!#213
!#CS_ARCH_X86, CS_MODE_16, None
0xea,0xaa,0xff,0x00,0xf0 = ljmp 0xf000:0xffaa
!#191
!#CS_ARCH_X86, CS_MODE_64, None
0xc5,0xe8,0xc2,0x33,0x9b = vcmpps xmm6, xmm2, xmmword ptr [rbx], 0x9b
!#176
!#CS_ARCH_ARM, CS_MODE_ARM, None
0xfd,0xff,0xff,0x1a = bne #0xfffffffc
!#151
!#CS_ARCH_X86, CS_MODE_64, None
0x4d,0x8d,0x3d,0x02,0x00,0x00,0x00,0xeb,0xb0 = lea r15, [rip + 2];jmp 0xffffffffffffffb9
!#134
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0xe7,0x92,0x11,0x80 = ldr r1, [r2, r0, lsl #3] | op_count: 2 | operands[0].type: REG = r1 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.base: REG = r2 | operands[1].mem.index: REG = r0 | operands[1].access: READ | Shift: 2 = 3 | Registers read: r2 r0 | Registers modified: r1 | Groups: arm
!#133
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0xed,0xdf,0x2b,0x1b = vldr d18, [pc, #0x6c] | op_count: 2 | operands[0].type: REG = d18 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.base: REG = pc | operands[1].mem.disp: 0x6c | operands[1].access: READ | Registers read: pc | Registers modified: d18 | Groups: vfp2
!#132
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_THUMB | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0x49,0x19 = ldr r1, [pc, #0x64] | op_count: 2 | operands[0].type: REG = r1 | operands[0].access: WRITE | operands[1].type: MEM | operands[1].mem.base: REG = pc | operands[1].mem.disp: 0x64 | operands[1].access: READ | Registers read: pc | Registers modified: r1 | Groups: thumb thumb1only
!#130
!#CS_ARCH_ARM, CS_MODE_ARM | CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL
0xe1,0xa0,0xf0,0x0e = mov pc, lr | op_count: 2 | operands[0].type: REG = pc | operands[0].access: WRITE | operands[1].type: REG = lr | operands[1].access: READ | Registers read: lr | Registers modified: pc | Groups: arm
!#85
!#CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN, None
0xee,0x3f,0xbf,0x29 = stp w14, w15, [sp, #-8]!
!#82
!#CS_ARCH_X86, CS_MODE_64, None
0xf2,0x66,0xaf = repne scasw ax, word ptr [rdi]
!#35
!#CS_ARCH_X86, CS_MODE_32, None
0xe8,0xc6,0x02,0x00,0x00 = call 0x2cb
!#8
!#CS_ARCH_X86, CS_MODE_32, None
0xff,0x8c,0xf9,0xff,0xff,0x9b,0xf9 = dec dword ptr [ecx + edi*8 - 0x6640001]
!#29
!#CS_ARCH_ARM64, CS_MODE_LITTLE_ENDIAN, None
0x00,0x00,0x00,0x4c = st4 {v0.16b, v1.16b, v2.16b, v3.16b}, [x0]