// File: /workspace/github_c_makefile_star2_O2/buptlxb[P]xRay/disasm/instr_set/opcodes_Grp1.c
// Function: G1_EbIb
void __bea_callspec__ G1_EbIb(PDISASM pMyDisasm)
{
    GV.REGOPCODE = ((*((UInt8*)(UIntPtr) (GV.EIP_+1))) >> 3) & 0x7;
    EbIb(pMyDisasm);
    if (GV.REGOPCODE == 0) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+ARITHMETIC_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "add ");
        #endif
        FillFlags(pMyDisasm, 5);
    }
    else if (GV.REGOPCODE == 1) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+LOGICAL_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "or ");
        #endif
        FillFlags(pMyDisasm, 74);
    }
    else if (GV.REGOPCODE == 2) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+ARITHMETIC_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "adc ");
        #endif
        FillFlags(pMyDisasm, 4);
    }
    else if (GV.REGOPCODE == 3) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+ARITHMETIC_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "sbb ");
        #endif
        FillFlags(pMyDisasm, 93);
    }
    else if (GV.REGOPCODE == 4) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+LOGICAL_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "and ");
        #endif
        FillFlags(pMyDisasm, 6);
    }
    else if (GV.REGOPCODE == 5) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+ARITHMETIC_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "sub ");
        #endif
        FillFlags(pMyDisasm, 103);
    }

    else if (GV.REGOPCODE == 6) {
        if ((*pMyDisasm).Prefix.LockPrefix == InvalidPrefix) {
            (*pMyDisasm).Prefix.LockPrefix = InUsePrefix;
        }
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+LOGICAL_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "xor ");
        #endif
        FillFlags(pMyDisasm, 113);
    }

    else if (GV.REGOPCODE == 7) {
        (*pMyDisasm).Instruction.Category = GENERAL_PURPOSE_INSTRUCTION+ARITHMETIC_INSTRUCTION;
        #ifndef BEA_LIGHT_DISASSEMBLY
           (void) strcpy ((*pMyDisasm).Instruction.Mnemonic, "cmp ");
        #endif
        FillFlags(pMyDisasm, 20);
        (*pMyDisasm).Argument1.AccessMode = READ;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x1f0(%rdi), %rax
movzbl 0x1(%rax), %eax
shrl $0x3, %eax
andl $0x7, %eax
movl %eax, 0x240(%rdi)
callq 0x28cb3
movl 0x240(%rbx), %eax
cmpq $0x7, %rax
ja 0x106ec
leaq 0x19f20(%rip), %rcx     # 0x2a44c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpb $0x4, 0x1dc(%rbx)
jne 0x10545
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20646461, 0x68(%rbx) # imm = 0x20646461
movb $0x0, 0x6c(%rbx)
movq 0x25c7e(%rip), %rax     # 0x361dc
movq %rax, 0x7c(%rbx)
movl 0x25c7c(%rip), %eax     # 0x361e4
jmp 0x106e6
cmpb $0x4, 0x1dc(%rbx)
jne 0x1057d
movb $0x1, 0x1dc(%rbx)
movl $0x10003, 0x60(%rbx)    # imm = 0x10003
movl $0x20646e61, 0x68(%rbx) # imm = 0x20646E61
movb $0x0, 0x6c(%rbx)
movq 0x25c52(%rip), %rax     # 0x361e8
movq %rax, 0x7c(%rbx)
movl 0x25c50(%rip), %eax     # 0x361f0
jmp 0x106e6
cmpb $0x4, 0x1dc(%rbx)
jne 0x105b5
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20636461, 0x68(%rbx) # imm = 0x20636461
movb $0x0, 0x6c(%rbx)
movq 0x25c02(%rip), %rax     # 0x361d0
movq %rax, 0x7c(%rbx)
movl 0x25c00(%rip), %eax     # 0x361d8
jmp 0x106e6
cmpb $0x4, 0x1dc(%rbx)
jne 0x105ed
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20626273, 0x68(%rbx) # imm = 0x20626273
movb $0x0, 0x6c(%rbx)
movq 0x25ff6(%rip), %rax     # 0x365fc
movq %rax, 0x7c(%rbx)
movl 0x25ff4(%rip), %eax     # 0x36604
jmp 0x106e6
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20706d63, 0x68(%rbx) # imm = 0x20706D63
movb $0x0, 0x6c(%rbx)
movq 0x25c62(%rip), %rax     # 0x36290
movq %rax, 0x7c(%rbx)
movl 0x25c60(%rip), %eax     # 0x36298
movl %eax, 0x84(%rbx)
movl $0x1, 0xe8(%rbx)
jmp 0x106ec
cmpb $0x4, 0x1dc(%rbx)
jne 0x1065d
movb $0x1, 0x1dc(%rbx)
movl $0x10003, 0x60(%rbx)    # imm = 0x10003
movl $0x20726f, 0x68(%rbx)   # imm = 0x20726F
movq 0x25ea6(%rip), %rax     # 0x36518
movq %rax, 0x7c(%rbx)
movl 0x25ea4(%rip), %eax     # 0x36520
jmp 0x106e6
cmpb $0x4, 0x1dc(%rbx)
jne 0x1068e
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20627573, 0x68(%rbx) # imm = 0x20627573
movb $0x0, 0x6c(%rbx)
movq 0x25fcd(%rip), %rax     # 0x36674
movq %rax, 0x7c(%rbx)
movl 0x25fcb(%rip), %eax     # 0x3667c
jmp 0x106e6
cmpb $0x4, 0x1dc(%rbx)
jne 0x106c3
movb $0x1, 0x1dc(%rbx)
movl $0x10003, 0x60(%rbx)    # imm = 0x10003
movl $0x20726f78, 0x68(%rbx) # imm = 0x20726F78
movb $0x0, 0x6c(%rbx)
movq 0x26010(%rip), %rax     # 0x366ec
movq %rax, 0x7c(%rbx)
movl 0x2600e(%rip), %eax     # 0x366f4
movl %eax, 0x84(%rbx)
popq %rbx
retq