// File: /workspace/github_c_makefile_star2_O0/buptlxb[P]xRay/disasm/Routines_Disasm.c
// Function: BuildCompleteInstruction
void __bea_callspec__ BuildCompleteInstruction(PDISASM pMyDisasm)
{
    size_t i = 0;
    /* =============== Copy Instruction Mnemonic */

    if ((*pMyDisasm).Prefix.RepnePrefix == InUsePrefix) {
            (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "repne ");
            i = strlen((char*) &(*pMyDisasm).CompleteInstr);
    }
    if ((*pMyDisasm).Prefix.RepPrefix == InUsePrefix) {
            (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "rep ");
            i = strlen((char*) &(*pMyDisasm).CompleteInstr);
    }
    if ((*pMyDisasm).Prefix.LockPrefix == InUsePrefix) {
            (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "lock ");
            i = strlen((char*) &(*pMyDisasm).CompleteInstr);
    }
    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, (char*) &(*pMyDisasm).Instruction.Mnemonic);
    i = strlen((char*) &(*pMyDisasm).CompleteInstr);

    /* =============== if TAB = 1, add tabulation */
    if (GV.TAB_ == 1) {
       (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, space_tab[i>10 ? 0 : 10-i]);
        i = strlen((char*) &(*pMyDisasm).CompleteInstr);
    }
    /* =============== if Arg1.IsMemoryType, add decoration-example == "dword ptr ds:[" */
    if ((GV.MemDecoration >0) && (GV.MemDecoration < 99)) {
        if (GV.SYNTAX_ == NasmSyntax) {
            (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, NasmPrefixes[GV.MemDecoration-1]);
            i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            if ((GV.SEGMENTREGS != 0) || (GV.SEGMENTFS != 0)){
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
                if (GV.SEGMENTREGS != 0) {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[(*pMyDisasm).Argument1.SegmentReg]);
                }
                else {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[3]);
                }
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            }
            else {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
            }
        }
        else {
            if (GV.SYNTAX_ == MasmSyntax) {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, MasmPrefixes[GV.MemDecoration-1]);
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            }
            else {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, GoAsmPrefixes[GV.MemDecoration-1]);
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            }
            if ((GV.SEGMENTREGS != 0) || (GV.SEGMENTFS != 0)){
                if (GV.SEGMENTREGS != 0) {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[(*pMyDisasm).Argument1.SegmentReg]);
                }
                else {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[3]);
                }
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
            }
            else {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
            }
        }
        /* =============== add Arg1.Mnemonic */
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, (char*) &(*pMyDisasm).Argument1.ArgMnemonic);
        i = strlen((char*) &(*pMyDisasm).CompleteInstr);
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "]");
        i++;
    }
    /* =============== add Arg1.Mnemonic */
    else {
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, (char*) &(*pMyDisasm).Argument1.ArgMnemonic);
        i = strlen((char*) &(*pMyDisasm).CompleteInstr);
    }

    /* =============== if Arg2.Exists and Arg1.Exists , add"," */
    if (((UInt8)*((UInt8*) &(*pMyDisasm).Argument1.ArgMnemonic) != 0) && ((UInt8)*((UInt8*) &(*pMyDisasm).Argument2.ArgMnemonic) != 0)) {
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, ", ");
        i += 2;
    }

    /* =============== if Arg2.IsMemoryType, add decoration-example == "dword ptr ds:[" */
    if ((GV.MemDecoration >100) && (GV.MemDecoration < 199)) {
        GV.MemDecoration -= 100;
        if (GV.SYNTAX_ == NasmSyntax) {
            (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, NasmPrefixes[GV.MemDecoration-1]);
            i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            if ((GV.SEGMENTREGS != 0) || (GV.SEGMENTFS != 0)){
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
                if (GV.SEGMENTREGS != 0) {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[(*pMyDisasm).Argument2.SegmentReg]);
                }
                else {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[3]);
                }
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            }
            else {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
            }
        }
        else {
            if (GV.SYNTAX_ == MasmSyntax) {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, MasmPrefixes[GV.MemDecoration-1]);
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            }
            else {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, GoAsmPrefixes[GV.MemDecoration-1]);
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
            }
            if ((GV.SEGMENTREGS != 0) || (GV.SEGMENTFS != 0)){
                if (GV.SEGMENTREGS != 0) {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[(*pMyDisasm).Argument2.SegmentReg]);
                }
                else {
                    (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, SegmentRegs[3]);
                }
                i = strlen((char*) &(*pMyDisasm).CompleteInstr);
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
            }
            else {
                (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "[");
                i++;
            }
        }
        /* =============== add Arg2.ArgMnemonic */
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, (char*) &(*pMyDisasm).Argument2.ArgMnemonic);
        i = strlen((char*) &(*pMyDisasm).CompleteInstr);
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, "]");
        i++;
    }
    /* =============== add Arg2.ArgMnemonic */
    else {
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, (char*) &(*pMyDisasm).Argument2.ArgMnemonic);
        i = strlen((char*) &(*pMyDisasm).CompleteInstr);
    }


    /* =============== if Arg3.Exists */
    if (GV.third_arg != 0) {
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, ", ");
        i += 2;
        (void) strcpy ((char*) &(*pMyDisasm).CompleteInstr+i, (char*) &(*pMyDisasm).Argument3.ArgMnemonic);
    }



}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x1df(%rax), %eax
cmpl $0x1, %eax
jne 0x5004d
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x25a1(%rip), %rsi      # 0x525d8
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x1e0(%rax), %eax
cmpl $0x1, %eax
jne 0x50086
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x256f(%rip), %rsi      # 0x525df
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x1dc(%rax), %eax
cmpl $0x1, %eax
jne 0x500bf
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x253b(%rip), %rsi      # 0x525e4
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x60, %rsi
addq $0x8, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x1, 0x27c(%rax)
jne 0x50152
movq -0x8(%rbp), %rax
addq $0x14, %rax
addq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0xa, -0x10(%rbp)
jbe 0x50119
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x50126
movl $0xa, %eax
subq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rax
leaq 0x1267b(%rip), %rsi     # 0x627b0
shlq $0x4, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x210(%rax)
jle 0x50440
movq -0x8(%rbp), %rax
cmpl $0x63, 0x210(%rax)
jge 0x50440
movq -0x8(%rbp), %rax
cmpl $0x200, 0x24c(%rax)     # imm = 0x200
jne 0x50295
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x210(%rax), %eax
subl $0x1, %eax
cltq
leaq 0x12776(%rip), %rsi     # 0x62920
shlq $0x3, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
jne 0x501e5
movq -0x8(%rbp), %rax
cmpl $0x0, 0x274(%rax)
je 0x5026c
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x23f2(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
je 0x50241
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x100(%rax), %eax
leaq 0x1262d(%rip), %rsi     # 0x62860
shlq $0x2, %rax
addq %rax, %rsi
callq 0x81c0
jmp 0x50259
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x12618(%rip), %rsi     # 0x6286c
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
jmp 0x50290
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x236b(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x503ed
movq -0x8(%rbp), %rax
cmpl $0x0, 0x24c(%rax)
jne 0x502e3
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x210(%rax), %eax
subl $0x1, %eax
cltq
leaq 0x125dc(%rip), %rsi     # 0x628a0
shlq $0x4, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
jmp 0x50322
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x210(%rax), %eax
subl $0x1, %eax
cltq
leaq 0x1265b(%rip), %rsi     # 0x62960
shlq $0x2, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
jne 0x50340
movq -0x8(%rbp), %rax
cmpl $0x0, 0x274(%rax)
je 0x503c7
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
je 0x50378
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x100(%rax), %eax
leaq 0x124f6(%rip), %rsi     # 0x62860
shlq $0x2, %rax
addq %rax, %rsi
callq 0x81c0
jmp 0x50390
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x124e1(%rip), %rsi     # 0x6286c
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x2236(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x503eb
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x2210(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x503ed
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x9c, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0xe55(%rip), %rsi       # 0x51282
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x5046d
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x9c, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movzbl 0x9c(%rax), %eax
cmpl $0x0, %eax
je 0x504b1
movq -0x8(%rbp), %rax
movzbl 0x104(%rax), %eax
cmpl $0x0, %eax
je 0x504b1
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0xc5f(%rip), %rsi       # 0x510ff
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x64, 0x210(%rax)
jle 0x507b5
movq -0x8(%rbp), %rax
cmpl $0xc7, 0x210(%rax)
jge 0x507b5
movq -0x8(%rbp), %rax
movl 0x210(%rax), %ecx
subl $0x64, %ecx
movl %ecx, 0x210(%rax)
movq -0x8(%rbp), %rax
cmpl $0x200, 0x24c(%rax)     # imm = 0x200
jne 0x5060a
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x210(%rax), %eax
subl $0x1, %eax
cltq
leaq 0x12401(%rip), %rsi     # 0x62920
shlq $0x3, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
jne 0x5055a
movq -0x8(%rbp), %rax
cmpl $0x0, 0x274(%rax)
je 0x505e1
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x207d(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
je 0x505b6
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x168(%rax), %eax
leaq 0x122b8(%rip), %rsi     # 0x62860
shlq $0x2, %rax
addq %rax, %rsi
callq 0x81c0
jmp 0x505ce
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x122a3(%rip), %rsi     # 0x6286c
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
jmp 0x50605
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x1ff6(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x50762
movq -0x8(%rbp), %rax
cmpl $0x0, 0x24c(%rax)
jne 0x50658
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x210(%rax), %eax
subl $0x1, %eax
cltq
leaq 0x12267(%rip), %rsi     # 0x628a0
shlq $0x4, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
jmp 0x50697
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x210(%rax), %eax
subl $0x1, %eax
cltq
leaq 0x122e6(%rip), %rsi     # 0x62960
shlq $0x2, %rax
addq %rax, %rsi
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
jne 0x506b5
movq -0x8(%rbp), %rax
cmpl $0x0, 0x274(%rax)
je 0x5073c
movq -0x8(%rbp), %rax
cmpl $0x0, 0x270(%rax)
je 0x506ed
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x168(%rax), %eax
leaq 0x12181(%rip), %rsi     # 0x62860
shlq $0x2, %rax
addq %rax, %rsi
callq 0x81c0
jmp 0x50705
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x1216c(%rip), %rsi     # 0x6286c
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x1ec1(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x50760
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x1e9b(%rip), %rsi      # 0x525ea
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x50762
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x104, %rsi            # imm = 0x104
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0xae0(%rip), %rsi       # 0x51282
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x507e2
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x104, %rsi            # imm = 0x104
callq 0x81c0
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
callq 0x80b0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x278(%rax)
je 0x5082f
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
leaq 0x8fd(%rip), %rsi       # 0x510ff
callq 0x81c0
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x14, %rdi
addq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x16c, %rsi            # imm = 0x16C
callq 0x81c0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)