// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x1f0(%rax), %rax
movzbl 0x1(%rax), %ecx
sarl $0x3, %ecx
andl $0x7, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x240(%rax)
movq -0x8(%rbp), %rdi
callq 0x4e3f0
movq -0x8(%rbp), %rax
cmpl $0x0, 0x240(%rax)
jne 0x1e832
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1e7fc
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10002, 0x60(%rax)    # imm = 0x10002
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x332bb(%rip), %rsi     # 0x51ad5
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x5, %esi
callq 0x4d560
jmp 0x1eabd
movq -0x8(%rbp), %rax
cmpl $0x1, 0x240(%rax)
jne 0x1e890
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1e85a
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10003, 0x60(%rax)    # imm = 0x10003
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x3361c(%rip), %rsi     # 0x51e94
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x4a, %esi
callq 0x4d560
jmp 0x1eabb
movq -0x8(%rbp), %rax
cmpl $0x2, 0x240(%rax)
jne 0x1e8ee
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1e8b8
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10002, 0x60(%rax)    # imm = 0x10002
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x32b94(%rip), %rsi     # 0x5146a
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
callq 0x4d560
jmp 0x1eab9
movq -0x8(%rbp), %rax
cmpl $0x3, 0x240(%rax)
jne 0x1e94c
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1e916
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10002, 0x60(%rax)    # imm = 0x10002
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x32ee5(%rip), %rsi     # 0x51819
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x5d, %esi
callq 0x4d560
jmp 0x1eab7
movq -0x8(%rbp), %rax
cmpl $0x4, 0x240(%rax)
jne 0x1e9aa
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1e974
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10003, 0x60(%rax)    # imm = 0x10003
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x334a6(%rip), %rsi     # 0x51e38
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x6, %esi
callq 0x4d560
jmp 0x1eab5
movq -0x8(%rbp), %rax
cmpl $0x5, 0x240(%rax)
jne 0x1ea08
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1e9d2
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10002, 0x60(%rax)    # imm = 0x10002
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x330fe(%rip), %rsi     # 0x51aee
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x67, %esi
callq 0x4d560
jmp 0x1eab3
movq -0x8(%rbp), %rax
cmpl $0x6, 0x240(%rax)
jne 0x1ea63
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x4, %eax
jne 0x1ea30
movq -0x8(%rbp), %rax
movb $0x1, 0x1dc(%rax)
movq -0x8(%rbp), %rax
movl $0x10003, 0x60(%rax)    # imm = 0x10003
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x334c4(%rip), %rsi     # 0x51f12
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x71, %esi
callq 0x4d560
jmp 0x1eab1
movq -0x8(%rbp), %rax
cmpl $0x7, 0x240(%rax)
jne 0x1eaaf
movq -0x8(%rbp), %rax
movl $0x10002, 0x60(%rax)    # imm = 0x10002
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
addq $0x8, %rdi
leaq 0x32ac8(%rip), %rsi     # 0x51556
callq 0x81c0
movq -0x8(%rbp), %rdi
movl $0x14, %esi
callq 0x4d560
movq -0x8(%rbp), %rax
movl $0x1, 0xe8(%rax)
jmp 0x1eab1
jmp 0x1eab3
jmp 0x1eab5
jmp 0x1eab7
jmp 0x1eab9
jmp 0x1eabb
jmp 0x1eabd
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)