// File: /workspace/github_c_makefile_star2_O3/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 0x2aedf
movl 0x240(%rbx), %eax
cmpq $0x7, %rax
ja 0x109e1
leaq 0x1cc2b(%rip), %rcx     # 0x2d44c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpb $0x4, 0x1dc(%rbx)
jne 0x1083a
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20646461, 0x68(%rbx) # imm = 0x20646461
movb $0x0, 0x6c(%rbx)
movq 0x27969(%rip), %rax     # 0x381bc
movq %rax, 0x7c(%rbx)
movl 0x27967(%rip), %eax     # 0x381c4
jmp 0x109db
cmpb $0x4, 0x1dc(%rbx)
jne 0x10872
movb $0x1, 0x1dc(%rbx)
movl $0x10003, 0x60(%rbx)    # imm = 0x10003
movl $0x20646e61, 0x68(%rbx) # imm = 0x20646E61
movb $0x0, 0x6c(%rbx)
movq 0x2793d(%rip), %rax     # 0x381c8
movq %rax, 0x7c(%rbx)
movl 0x2793b(%rip), %eax     # 0x381d0
jmp 0x109db
cmpb $0x4, 0x1dc(%rbx)
jne 0x108aa
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20636461, 0x68(%rbx) # imm = 0x20636461
movb $0x0, 0x6c(%rbx)
movq 0x278ed(%rip), %rax     # 0x381b0
movq %rax, 0x7c(%rbx)
movl 0x278eb(%rip), %eax     # 0x381b8
jmp 0x109db
cmpb $0x4, 0x1dc(%rbx)
jne 0x108e2
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20626273, 0x68(%rbx) # imm = 0x20626273
movb $0x0, 0x6c(%rbx)
movq 0x27ce1(%rip), %rax     # 0x385dc
movq %rax, 0x7c(%rbx)
movl 0x27cdf(%rip), %eax     # 0x385e4
jmp 0x109db
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20706d63, 0x68(%rbx) # imm = 0x20706D63
movb $0x0, 0x6c(%rbx)
movq 0x2794d(%rip), %rax     # 0x38270
movq %rax, 0x7c(%rbx)
movl 0x2794b(%rip), %eax     # 0x38278
movl %eax, 0x84(%rbx)
movl $0x1, 0xe8(%rbx)
jmp 0x109e1
cmpb $0x4, 0x1dc(%rbx)
jne 0x10952
movb $0x1, 0x1dc(%rbx)
movl $0x10003, 0x60(%rbx)    # imm = 0x10003
movl $0x20726f, 0x68(%rbx)   # imm = 0x20726F
movq 0x27b91(%rip), %rax     # 0x384f8
movq %rax, 0x7c(%rbx)
movl 0x27b8f(%rip), %eax     # 0x38500
jmp 0x109db
cmpb $0x4, 0x1dc(%rbx)
jne 0x10983
movb $0x1, 0x1dc(%rbx)
movl $0x10002, 0x60(%rbx)    # imm = 0x10002
movl $0x20627573, 0x68(%rbx) # imm = 0x20627573
movb $0x0, 0x6c(%rbx)
movq 0x27cb8(%rip), %rax     # 0x38654
movq %rax, 0x7c(%rbx)
movl 0x27cb6(%rip), %eax     # 0x3865c
jmp 0x109db
cmpb $0x4, 0x1dc(%rbx)
jne 0x109b8
movb $0x1, 0x1dc(%rbx)
movl $0x10003, 0x60(%rbx)    # imm = 0x10003
movl $0x20726f78, 0x68(%rbx) # imm = 0x20726F78
movb $0x0, 0x6c(%rbx)
movq 0x27cfb(%rip), %rax     # 0x386cc
movq %rax, 0x7c(%rbx)
movl 0x27cf9(%rip), %eax     # 0x386d4
movl %eax, 0x84(%rbx)
popq %rbx
retq