'only currently supports NTLMSSP Authentication Requests/Responses'

def PARSE_SESSION_SETUP_ANDX_REQUEST(self, data):

    try:
        (wct, andxcmd, rsrv1, andxoffset, maxbuf, maxmpxcount, vcnum) = struct.unpack('<BBBHHHH', data[:11])
        (sessionkey, securitybloblen, rsrv2, capabilities, bytecount) = struct.unpack('<IHIIH', data[11:27])
        secblob = data[27:(27 + securitybloblen)]
        if (NTLMSSP_IDENT in secblob):
            offset = secblob.find(NTLMSSP_IDENT)
            if (offset > len(secblob)):
                return None
            msgtype = struct.unpack('<I', secblob[(offset + 8):(offset + 12)])[0]
            if (msgtype == NTLMSSP_AUTH):
                auth_record = NTLMSSP_AUTH_RECORD(secblob[offset:])
                if auth_record.valid:
                    return auth_record
                else:
                    return None
            elif (msgtype == NTLMSSP_CHALLENGE):
                auth_record = NTLMSSP_CHALLENGE_RECORD(secblob[offset:])
                if auth_record.valid:
                    return auth_record
                else:
                    return None
        return None
    except:
        return None
