def ida_offset(string):
    """
    Converts non-IDA conforming offset representation to a more IDAesk form.
    :param string: a non IDA conform string
    :return: IDA conform string
    """
    segment, rest = string.split(':', 2)
    offset_start = rest.rfind('+')
    offset = rest[offset_start + 1:-1]
    operands = rest[1:offset_start]

    # ds:off_40439c[eax * 4]
    return '%s:off_%s[%s]' % (segment, offset, operands)