// File: /workspace/github_c_makefile_star2_O0/buptlxb[P]xRay/disasm/Routines_Disasm.c
// Function: InitVariables
int __bea_callspec__ InitVariables (PDISASM pMyDisasm) {

    (void) memset (&GV, 0, sizeof (InternalDatas));
    GV.EIP_ = (*pMyDisasm).EIP;
    GV.EIP_REAL = GV.EIP_;
    GV.EIP_VA = (*pMyDisasm).VirtualAddr;
    if ((*pMyDisasm).SecurityBlock != 0) GV.EndOfBlock = GV.EIP_+(*pMyDisasm).SecurityBlock;
    GV.OperandSize = 32;
    GV.OriginalOperandSize = 32;
    GV.AddressSize = 32;
    GV.Architecture = (*pMyDisasm).Archi;
    (*pMyDisasm).Prefix.Number = 0;
    if (GV.Architecture == 64) {
        GV.AddressSize = 64;
    }
    if (GV.Architecture == 16) {
        GV.OperandSize = 16;
        GV.OriginalOperandSize = 16;
        GV.AddressSize = 16;
    }
	(void) memset (&(*pMyDisasm).Argument1, 0, sizeof (ARGTYPE));
	(void) memset (&(*pMyDisasm).Argument2, 0, sizeof (ARGTYPE));
	(void) memset (&(*pMyDisasm).Argument3, 0, sizeof (ARGTYPE));
    (void) memset (&(*pMyDisasm).Prefix, 0, sizeof (PREFIXINFO));
    (*pMyDisasm).Argument1.AccessMode = WRITE;
	(*pMyDisasm).Argument1.ArgPosition = LowPosition;
	(*pMyDisasm).Argument2.ArgPosition = LowPosition;
	(*pMyDisasm).Argument3.ArgPosition = LowPosition;
	(*pMyDisasm).Argument1.ArgType = NO_ARGUMENT;
	(*pMyDisasm).Argument2.ArgType = NO_ARGUMENT;
	(*pMyDisasm).Argument3.ArgType = NO_ARGUMENT;
    (*pMyDisasm).Argument2.AccessMode = READ;
    (*pMyDisasm).Argument3.AccessMode = READ;
    (void) memset (&(*pMyDisasm).Instruction, 0, sizeof (INSTRTYPE));
    GV.TAB_ = (UInt32)(*pMyDisasm).Options & 0xff;
    GV.SYNTAX_ = (UInt32)(*pMyDisasm).Options & 0xff00;
    GV.FORMATNUMBER = (UInt32)(*pMyDisasm).Options & 0xff0000;
    GV.SEGMENTREGS = (UInt32)(*pMyDisasm).Options & 0xff000000;
    GV.OutOfBlock = 0;
    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x1f0, %rdi            # imm = 0x1F0
xorl %esi, %esi
movl $0x9d, %edx
callq 0x80e0
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1f0(%rax)
movq -0x8(%rbp), %rax
movq 0x1f0(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x200(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1f8(%rax)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x10(%rax)
je 0x4eda8
movq -0x8(%rbp), %rax
movq 0x1f0(%rax), %rcx
movq -0x8(%rbp), %rax
movl 0x10(%rax), %eax
addq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x250(%rax)
movq -0x8(%rbp), %rax
movl $0x20, 0x20c(%rax)
movq -0x8(%rbp), %rax
movl $0x20, 0x208(%rax)
movq -0x8(%rbp), %rax
movl $0x20, 0x214(%rax)
movq -0x8(%rbp), %rax
movl 0x54(%rax), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x25c(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x1d4(%rax)
movq -0x8(%rbp), %rax
cmpl $0x40, 0x25c(%rax)
jne 0x4ee0c
movq -0x8(%rbp), %rax
movl $0x40, 0x214(%rax)
movq -0x8(%rbp), %rax
cmpl $0x10, 0x25c(%rax)
jne 0x4ee43
movq -0x8(%rbp), %rax
movl $0x10, 0x20c(%rax)
movq -0x8(%rbp), %rax
movl $0x10, 0x208(%rax)
movq -0x8(%rbp), %rax
movl $0x10, 0x214(%rax)
movq -0x8(%rbp), %rdi
addq $0x9c, %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x80e0
movq -0x8(%rbp), %rdi
addq $0x104, %rdi            # imm = 0x104
xorl %esi, %esi
movl $0x68, %edx
callq 0x80e0
movq -0x8(%rbp), %rdi
addq $0x16c, %rdi            # imm = 0x16C
xorl %esi, %esi
movl $0x68, %edx
callq 0x80e0
movq -0x8(%rbp), %rdi
addq $0x1d4, %rdi            # imm = 0x1D4
xorl %esi, %esi
movl $0x1c, %edx
callq 0x80e0
movq -0x8(%rbp), %rax
movl $0x2, 0xe8(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0xe4(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x14c(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x1b4(%rax)
movq -0x8(%rbp), %rax
movl $0x10000000, 0xdc(%rax) # imm = 0x10000000
movq -0x8(%rbp), %rax
movl $0x10000000, 0x144(%rax) # imm = 0x10000000
movq -0x8(%rbp), %rax
movl $0x10000000, 0x1ac(%rax) # imm = 0x10000000
movq -0x8(%rbp), %rax
movl $0x1, 0x150(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x1b8(%rax)
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
xorl %esi, %esi
movl $0x3c, %edx
callq 0x80e0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl %eax, %ecx
andl $0xff, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x27c(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl %eax, %ecx
andl $0xff00, %ecx           # imm = 0xFF00
movq -0x8(%rbp), %rax
movl %ecx, 0x24c(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl %eax, %ecx
andl $0xff0000, %ecx         # imm = 0xFF0000
movq -0x8(%rbp), %rax
movl %ecx, 0x248(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl %eax, %ecx
andl $0xff000000, %ecx       # imm = 0xFF000000
movq -0x8(%rbp), %rax
movl %ecx, 0x270(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x289(%rax)
movl $0x1, %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)