Page 1 of 1

Save and Restore Data media Sectors in windows

Posted: Thu Dec 29, 2011 10:59 pm
by Psychophanta
It is just a frontend of a powerful console 32bit tool from Microsoft called Sector Inspector.
Specially useful to backup/restore boot sector or MBR (master boor record) to/from any drive. Do it directly in windows.

Code: Select all

;{- Enumerations / DataSections
;{ Windows
Enumeration
  #BackupRestoreDeviceSectors
EndEnumeration
;}
;{ Gadgets
Enumeration
  #String_StartSector
  #String_EndSector
  #Text_2
  #Combobox_Devicenumber
  #Text_4
  #Text_5
  #Button_Go
  #Text_filename
  #Button_fromtofile
  #ComboBox_BackupRestore
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_BackupRestoreDeviceSectors()
  If OpenWindow(#BackupRestoreDeviceSectors, 464, 648, 520, 42, "Backup/Restore Device Sectors", #PB_Window_MinimizeGadget|#PB_Window_SystemMenu|#PB_Window_TitleBar)
    StringGadget(#String_StartSector, 135, 0, 50, 20, "0", #ES_CENTER|#WS_BORDER)
    StringGadget(#String_EndSector, 229, 0, 55, 20, "0", #ES_CENTER|#WS_BORDER)
    TextGadget(#Text_2, 282, 0, 38, 20, "device", #PB_Text_Center|#SS_CENTERIMAGE)
    ComboBoxGadget(#Combobox_Devicenumber, 320, 0, 200, 20)
    TextGadget(#Text_4, 185, 0, 45, 20, "to sector", #PB_Text_Center|#SS_CENTERIMAGE)
    TextGadget(#Text_5, 81, 0, 55, 20, "from sector", #PB_Text_Center|#SS_CENTERIMAGE)
    ButtonGadget(#Button_Go, 495, 22, 25, 20, "Go!")
    TextGadget(#Text_filename, 40, 22, 454, 20, "", #PB_Text_Center|#SS_CENTERIMAGE)
    ButtonGadget(#Button_fromtofile, 0, 22, 40, 20, "to file")
    ComboBoxGadget(#ComboBox_BackupRestore, 0, 0, 82, 20)
    GadgetToolTip(#ComboBox_BackupRestore, "Restore or Backup")
  EndIf
EndProcedure

OpenWindow_BackupRestoreDeviceSectors()

Procedure$ BackupRestoreSectors(unitn.l,file$,restor.b=1,sectn0.q=0,sectnend.q=0)
  Protected r.i,Output$
  If restor
    r=RunProgram("secinspect.exe","-restore \\.\PhysicalDrive"+Str(unitn)+" "+file$+" "+Str(sectn0),".\",#PB_Program_Open|#PB_Program_Read|#PB_Program_Error)
  Else
    r=RunProgram("secinspect.exe","-backup \\.\PhysicalDrive"+Str(unitn)+" "+file$+" "+Str(sectn0)+" "+Str(sectnend-sectn0+1),".\",#PB_Program_Hide|#PB_Program_Open|#PB_Program_Read|#PB_Program_Error)
  EndIf
  If r
    While ProgramRunning(r)
      If AvailableProgramOutput(r)
        Output$+ReadProgramString(r)+#CR$
      EndIf
    Wend
  EndIf
  ProcedureReturn StringField(Output$,CountString(RTrim(Output$,#CR$),#CR$)+1,#CR$)
  ;ProcedureReturn Output$; to output all the text
EndProcedure
Procedure errorend(m$)
  MessageRequester("Error found",m$+#LF$+"Finalizar programa",#PB_MessageRequester_Ok):End
EndProcedure
Macro BuildFile()
  If FileSize(".\secinspect.exe")=-1
    If CreateFile(0,".\secinspect.exe")
      *secinspect.b=AllocateMemory(PeekL(?secinspect-5)):UnpackMemory(?secinspect,*secinspect)
      WriteData(0,*secinspect,PeekL(?secinspect-5))
      FreeMemory(*secinspect)
      CloseFile(0)
    Else
      errorend("no se puede crear el fichero "+"secinspect.exe")
    EndIf
  EndIf
EndMacro
Macro FlushFile()
  If FileSize(".\secinspect.exe")<>-1
    DeleteFile(".\secinspect.exe")
  EndIf
EndMacro

; Volume Management Functions
; Stuff from:
; http://msdn.microsoft.com/en-us/library/windows/desktop/aa365248(v=vs.85).aspx
; http://msdn.microsoft.com/en-us/windows/aa365730

Prototype.b DefineDosDevice(Flags.l,DeviceName$,TargetPath$); Defines, redefines, or deletes MS-DOS device names.
Enumeration
; Flags [in]
  ; The controllable aspects of the DefineDosDevice function. This parameter can be one Or more of the following values.
  #DDD_EXACT_MATCH_ON_REMOVE=$00000004; If this value is specified along With DDD_REMOVE_DEFINITION, the function will use an exact match To determine which mapping To remove. Use this value To ensure that you do Not delete something that you did Not Define.
  #DDD_NO_BROADCAST_SYSTEM=$00000008; Do Not broadcast the WM_SETTINGCHANGE message. By Default, this message is broadcast To notify the shell And applications of the change.
  #DDD_RAW_TARGET_PATH=$00000001; Uses the lpTargetPath string As is. Otherwise, it is converted from an MS-DOS path To a path.
  #DDD_REMOVE_DEFINITION=$00000002; Removes the specified definition For the specified device. To determine which definition To remove, the function walks the List of mappings For the device, looking For a match of lpTargetPath against a prefix of each mapping associated With this device. The first mapping that matches is the one removed, And then the function returns.
  ; If TargetPath is NULL Or a pointer To a NULL string, the function will remove the first mapping associated With the device And pop the most recent one pushed. If there is nothing left To pop, the device name will be removed.
  ; If this value is Not specified, the string pointed To by the TargetPath parameter will become the new mapping For this device.
; DeviceName$ [in]
  ; A pointer To an MS-DOS device name string specifying the device the function is defining, redefining, Or deleting. The device name string must Not have a colon As the last character, unless a drive letter is being defined, redefined, Or deleted. For example, drive C would be the string "C:". In no Case is a trailing backslash ("\") allowed.
; TargetPath$ [in, optional]
  ; A pointer To a path string that will implement this device. The string is an MS-DOS path string unless the DDD_RAW_TARGET_PATH flag is specified, in which Case this string is a path string. 
EndEnumeration
Prototype.b DeleteVolumeMountPoint(VolumeMountPoint$); Deletes a drive letter or mounted folder.
Prototype.i FindFirstVolume(VolumeGUIDpath$,BufferLength.l); Retrieves the name of a volume on a computer.
Prototype.i FindFirstVolumeMountPoint(VolumeGUIDpath$,VolumeMountPoint$,BufferLength.l); Retrieves the name of a mounted folder on the specified volume.
Prototype.b FindNextVolume(hFindVolume.i,VolumeGUIDpath$,BufferLength.l); Continues a volume search started by a call To the FindFirstVolume function.
Prototype.b FindNextVolumeMountPoint(hFindVolumeMountPoint.i,VolumeMountPoint$,BufferLength.l); Continues a mounted folder search started by a call To the FindFirstVolumeMountPoint function.
Prototype.b FindVolumeClose(hFindVolume.i); Closes the specified volume search handle.
Prototype.b FindVolumeMountPointClose(hFindVolumeMountPoint.i); Closes the specified mounted folder search handle.
Prototype.i GetDriveType(RootPathName$); Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, Or network drive.
Enumeration
  ;The Return value specifies the type of drive, which can be one of the following values.
  #DRIVE_UNKNOWN;The drive type cannot be determined.
  #DRIVE_NO_ROOT_DIR;The root path is invalid; for example, there is no volume mounted at the specified path.
  #DRIVE_REMOVABLE;The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader.
  #DRIVE_FIXED;The drive has fixed media; for example, a hard disk drive or flash drive.
  #DRIVE_REMOTE;The drive is a remote (network) drive.
  #DRIVE_CDROM;The drive is a CD-ROM drive.
  #DRIVE_RAMDISK;The drive is a RAM disk.
EndEnumeration
Prototype.l GetLogicalDrives(); Retrieves a bitmask representing the currently available disk drives.
;Return value: If the function succeeds, the Return value is a bitmask representing the currently available disk drives.
;Bit position 0 (the least-significant bit) is drive A, bit position 1 is drive B, bit position 2 is drive C, And so on.
;If the function fails, the Return value is zero. To get extended error information, call GetLastError_().
Prototype.l GetLogicalDriveStrings(BufferLength.l,*VolumePathNames.a); Fills a buffer with strings that specify valid drives in the system.
Prototype.b GetVolumeInformation(RootPathName$,VolumeName$,VolumeNameSize.l,*VolumeSerialNumber.l,*MaximumComponentLength.l,*FileSystemFlags.l,FileSystemNameBuffer$,FileSystemNameSize.l); Retrieves information about the file system And volume associated With the specified root directory.
Prototype.b GetVolumeInformationByHandleW(hFile.i,VolumeName$,VolumeNameSize.l,*VolumeSerialNumber.l,*MaximumComponentLength.l,*FileSystemFlags.l,FileSystemNameBuffer$,FileSystemNameSize.l); Retrieves information about the file system And volume associated With the specified file.
Enumeration
  ;FileSystemFlags [out, optional] (para GetVolumeInformation() y para GetVolumeInformationByHandleW() )
  #FILE_CASE_PRESERVED_NAMES=$00000002;The specified volume supports preserved Case of file names when it places a name on disk.
  #FILE_CASE_SENSITIVE_SEARCH=$00000001;The specified volume supports Case-sensitive file names.
  #FILE_FILE_COMPRESSION=$00000010; The specified volume supports file-based compression.
  #FILE_NAMED_STREAMS=$00040000; The specified volume supports named streams.
  #FILE_PERSISTENT_ACLS=$00000008; The specified volume preserves And enforces access control lists (ACL). For example, the NTFS file system preserves And enforces ACLs, And the FAT file system does Not.
  #FILE_READ_ONLY_VOLUME=$00080000; The specified volume is Read-only.
  #FILE_SEQUENTIAL_WRITE_ONCE=$00100000; The specified volume supports a single sequential write.
  #FILE_SUPPORTS_ENCRYPTION=$00020000; The specified volume supports the Encrypted File System (EFS). For more information, see File Encryption.
  #FILE_SUPPORTS_EXTENDED_ATTRIBUTES=$00800000;The specified volume supports extended attributes. An extended attribute is a piece of application-specific metadata that an application can associate With a file And is Not part of the file's data. Windows Server 2008, Windows Vista, Windows Server 2003, And Windows XP:  This value is Not supported Until Windows Server 2008 R2 And Windows 7.
  #FILE_SUPPORTS_HARD_LINKS=$00400000;The specified volume supports hard links. For more information, see Hard Links And Junctions. Windows Server 2008, Windows Vista, Windows Server 2003, And Windows XP:  This value is Not supported Until Windows Server 2008 R2 And Windows 7.
  #FILE_SUPPORTS_OBJECT_IDS=$00010000;The specified volume supports object identifiers.
  #FILE_SUPPORTS_OPEN_BY_FILE_ID=$01000000;The file system supports open by FileID. For more information, see #FILE_ID_BOTH_DIR_INFO. Windows Server 2008, Windows Vista, Windows Server 2003, And Windows XP:  This value is Not supported Until Windows Server 2008 R2 And Windows 7.
  #FILE_SUPPORTS_REPARSE_POINTS=$00000080;The specified volume supports re-parse points.
  #FILE_SUPPORTS_SPARSE_FILES=$00000040;The specified volume supports sparse files.
  #FILE_SUPPORTS_TRANSACTIONS=$00200000;The specified volume supports transactions. For more information, see About KTM.
  #FILE_SUPPORTS_USN_JOURNAL=$02000000;The specified volume supports update sequence number (USN) journals. For more information, see Change Journal Records. Windows Server 2008, Windows Vista, Windows Server 2003, And Windows XP:  This value is Not supported Until Windows Server 2008 R2 And Windows 7.
  #FILE_UNICODE_ON_DISK=$00000004;The specified volume supports Unicode in file names As they appear on disk.
  #FILE_VOLUME_IS_COMPRESSED=$00008000;The specified volume is a compressed volume, For example, a DoubleSpace volume.
  #FILE_VOLUME_QUOTAS=$00000020;The specified volume supports disk quotas.
EndEnumeration
Prototype.b GetVolumeNameForVolumeMountPoint(VolumeMountPoint$,VolumeGUIDpath$,BufferLength.l); Retrieves a volume GUID path For the volume that is associated With the specified volume mount Point (drive letter, volume GUID path, or mounted folder).
Prototype.b GetVolumePathName(DirectoryName$,VolumeMountPoint$,BufferLength.l); Retrieves the volume mount point where the specified DirectoryName$ (without ending '\' character) is mounted.
Prototype.b GetVolumePathNamesForVolumeName(VolumeGUIDpath$,*VolumePathNames.a,BufferLength.l,*ReturnLength.l); Retrieves a List of drive letters and mounted folder paths for the specified volume.
Prototype.l QueryDosDevice(DeviceName$,TargetPath$,TargetPathLenght.l); Retrieves information about MS-DOS device names.
;Return value: If the function succeeds, the Return value is the number of characters stored into the buffer pointed to by TargetPath
Prototype.b SetVolumeLabel(RootPathName$,VolumeName$); Sets the label of a file system volume.
Prototype.b SetVolumeMountPoint(VolumeMountPoint$,VolumeGUIDpath$); Associates a volume With a drive letter or a directory on another volume.
;
Structure PhysicalDriveInfo
  n.l
  StructureUnion
    *Volume$
    VolumeGUIDpath$; <- unique ID per physical store device
  EndStructureUnion
  DriveType$
  List VolumeMountPoint$(); <- logical IDs
EndStructure
Procedure GetAllDrives(List unit.PhysicalDriveInfo()); <- not used in this program
  Protected memLen=GetLogicalDriveStrings_(0,0),*buffer,numDrives.l,*ptrChar.CHARACTER,i.l
  If memlen
    *buffer=AllocateMemory(memLen*SizeOf(CHARACTER))
    If *buffer
      numDrives=GetLogicalDriveStrings_(memLen,*buffer)>>2
      *ptrChar=*buffer
      For i=1 To numDrives
        AddElement(unit()):AddElement(unit()\VolumeMountPoint$())
        unit()\VolumeMountPoint$()=UCase(PeekS(*ptrChar,3))
        *ptrChar+SizeOf(CHARACTER)<<2
        unit()\Volume$=Space(#MAX_PATH)
        GetVolumeInformation_(unit()\VolumeMountPoint$(),@unit()\Volume$,#MAX_PATH,0,0,0,0,0)
      Next
    EndIf
    FreeMemory(*buffer)
  EndIf
EndProcedure
Procedure.l GetPhysicalDataStoreDevices(List unit.PhysicalDriveInfo())
  Protected FindFirstVolume.FindFirstVolume,FindNextVolume.FindNextVolume,FindVolumeClose.FindVolumeClose,GetDriveType.GetDriveType,VolumeGUIDpath$=Space(#MAX_PATH),hFindVolume.i
  Protected GetVolumePathNamesForVolumeName.GetVolumePathNamesForVolumeName,ReturnLen.l,*VolumePathNames.string=AllocateMemory(1024),*VPN.string,*p.PhysicalDriveInfo,AorW$="A"
  If OpenLibrary(0,"kernel32.dll")
    CompilerIf #PB_Compiler_Unicode:AorW$="W":CompilerEndIf
    FindFirstVolume=GetFunction(0,"FindFirstVolume"+AorW$)
    FindNextVolume=GetFunction(0,"FindNextVolume"+AorW$)
    GetVolumePathNamesForVolumeName=GetFunction(0,"GetVolumePathNamesForVolumeName"+AorW$)
    GetDriveType=GetFunction(0,"GetDriveType"+AorW$)
    ;
    hFindVolume=FindFirstVolume(VolumeGUIDpath$,#MAX_PATH)
    If hFindVolume
      AddElement(unit()):unit()\VolumeGUIDpath$=VolumeGUIDpath$
      While FindNextVolume(hFindVolume,VolumeGUIDpath$,#MAX_PATH)
        AddElement(unit()):unit()\VolumeGUIDpath$=VolumeGUIDpath$
      Wend
      If GetLastError_()<>#ERROR_NO_MORE_FILES
      EndIf
      FindVolumeClose=GetFunction(0,"FindVolumeClose"):FindVolumeClose(hFindVolume)
    EndIf
    ForEach unit()
      If GetVolumePathNamesForVolumeName(unit()\VolumeGUIDpath$,*VolumePathNames,1024,@ReturnLen)
        *VPN=*VolumePathNames:ReturnLen*2
        While ReturnLen>0
          unit$=PeekS(*VPN):unit.l=Len(unit$)+1
          AddElement(unit()\VolumeMountPoint$()):unit()\VolumeMountPoint$()=unit$
          Select GetDriveType(unit$)
          Case #DRIVE_UNKNOWN
            unit()\DriveType$="type cannot be determined."
          Case #DRIVE_NO_ROOT_DIR
            unit()\DriveType$="The root path is invalid"
          Case #DRIVE_REMOVABLE
            unit()\DriveType$="removable media"
          Case #DRIVE_FIXED
            unit()\DriveType$="fixed media"
          Case #DRIVE_REMOTE
            unit()\DriveType$="remote (network) drive."
          Case #DRIVE_CDROM
            unit()\DriveType$="CD-ROM drive."
          Case #DRIVE_RAMDISK
            unit()\DriveType$="RAM disk."
          EndSelect
          *VPN+unit
          ReturnLen-unit
        Wend
      EndIf
    Next
    CloseLibrary(0)
    ;
    ForEach unit()
      *p=@unit()
      PushListPosition(unit())
      While NextElement(unit())
        If RemoveString(*p\VolumeGUIDpath$,StringField(*p\VolumeGUIDpath$,1,"-"),#PB_String_CaseSensitive,1,1)=RemoveString(unit()\VolumeGUIDpath$,StringField(unit()\VolumeGUIDpath$,1,"-"),#PB_String_CaseSensitive,1,1)
          ForEach unit()\VolumeMountPoint$()
            AddElement(*p\VolumeMountPoint$()):*p\VolumeMountPoint$()=unit()\VolumeMountPoint$()
          Next
          DeleteElement(unit())
        EndIf
      Wend
      PopListPosition(unit())
    Next
  EndIf
  FreeMemory(*VolumePathNames.string)
  ProcedureReturn ListSize(unit())
EndProcedure
NewList Drive.PhysicalDriveInfo()
GetPhysicalDataStoreDevices(Drive())
ForEach Drive()
  If Drive()\DriveType$<>"removable media" And Drive()\DriveType$<>"fixed media"
    DeleteElement(Drive())
  EndIf
Next
ForEach Drive()
  Drive()\n=ListIndex(Drive())
  driveletters$=""
  ForEach Drive()\VolumeMountPoint$()
    driveletters$+Drive()\VolumeMountPoint$()+" "
  Next
  AddGadgetItem(#Combobox_Devicenumber,-1,"("+Str(Drive()\n)+") "+Drive()\DriveType$+" "+driveletters$)
Next
SetGadgetState(#Combobox_Devicenumber,0)
AddGadgetItem(#ComboBox_BackupRestore,-1,"Backup")
AddGadgetItem(#ComboBox_BackupRestore,-1,"Restore")
SetGadgetState(#ComboBox_BackupRestore,0)
;{- Event loop
Repeat
  Event=WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget=EventGadget()
      EventType=EventType()
      If EventGadget=#String_StartSector
      ElseIf EventGadget=#String_EndSector
      ElseIf EventGadget=#Text_2
      ElseIf EventGadget=#Combobox_Devicenumber
      ElseIf EventGadget=#Text_4
      ElseIf EventGadget=#Text_5
      ElseIf EventGadget=#Button_Go
        BuildFile()
        message$=BackupRestoreSectors(GetGadgetState(#Combobox_Devicenumber),Filename$,GetGadgetState(#ComboBox_BackupRestore),Val(GetGadgetText(#String_StartSector)),Val(GetGadgetText(#String_EndSector)))
        If CountString(message$,"=")>5:message$="Nothing done!":EndIf
        MessageRequester("Message",message$)
        FlushFile()
      ElseIf EventGadget=#Text_filename
      ElseIf EventGadget=#Button_fromtofile
        If GetGadgetState(#ComboBox_BackupRestore); restore
          Filename$=OpenFileRequester("Choose file to restore sectors from","","",0)
        Else; backup
          Filename$=OpenFileRequester("Choose file to backup sectors to","","",0)
        EndIf
        SetGadgetText(#Text_filename,Right(Filename$,GadgetWidth(#Text_filename)/5))
      ElseIf EventGadget=#ComboBox_BackupRestore
        If GetGadgetState(#ComboBox_BackupRestore); restore
          SetGadgetText(#Button_fromtofile,"from file")
        Else; backup
          SetGadgetText(#Button_fromtofile,"to file")
        EndIf
      EndIf
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #BackupRestoreDeviceSectors
        CloseWindow(#BackupRestoreDeviceSectors)
        Break
      EndIf
  EndSelect
ForEver
DataSection
  Data.l $00008000 ; original filesize
  Data.b $01 ; compressed with JCalg1
  secinspect: ; startlabel
  Data.l $8000434A,$AF480000,$6B59748C,$322820D3,$47FE0230,$C1164100,$0451490D,$008C0128,$BA285CF0,$09E63A3F
  Data.l $101A4769,$552DC877,$9C82600A,$B7D9169B,$6DA6E172,$6DC4CA58,$0C586C65,$0FDD8DDD,$B480ACA5,$9F534D15
  Data.l $B7D96512,$E8692B6D,$91912CB2,$28142854,$D9B62DC1,$112F67F9,$195F5298,$CC4AFD1B,$4EDAC811,$0437FEC1
  Data.l $CCAF5782,$18C42E8C,$AFF4CD1A,$C8D514C8,$8ED008E6,$48A92B4D,$A14C204D,$11C450A2,$27ED80B7,$3E03A1E1
  Data.l $078570E4,$01AD0B27,$082511A1,$62006185,$03F82005,$C0902360,$A8090819,$F5388280,$E6374118,$43840A16
  Data.l $BC805845,$8518C001,$D00F8B1E,$88548C30,$2A6C6C29,$13770098,$47181375,$9112A228,$E1957DFB,$83F45253
  Data.l $65BCFC31,$8141BAE9,$A129144B,$03CD691E,$25D6CBCC,$D09A6F58,$CDF94B0D,$11A345A3,$83C3D020,$5CAE3143
  Data.l $645BC097,$094E64EC,$314613B0,$AE8C12A4,$ADF8CB1B,$841A03AB,$6929A680,$E4AA9C84,$92B79253,$4B280957
  Data.l $2D92257C,$BA099691,$F5255C44,$094F7712,$94B9FC4A,$55444228,$611229F2,$AC4BAD49,$9C0DCC25,$0C809055
  Data.l $92BA3545,$425508E0,$7C021561,$AA495042,$B6253484,$10965712,$F25A7C4B,$896F512C,$25D464B6,$97C992E3
  Data.l $98C54BCC,$4C942830,$32568046,$80E3D12A,$1FF564A2,$A2510A01,$022E3D0F,$D024E3AA,$22113C39,$83A19A4D
  Data.l $73623011,$91B22523,$B59046A9,$46E491B1,$495046DE,$1B83E1C1,$77237007,$082E0A2D,$05166148,$01E4A0E2
  Data.l $704126C2,$8834FA31,$A4160A0B,$9213DA42,$2458AD00,$DA441646,$2D24B82C,$F86C2EC2,$1321C1C4,$06139D06
  Data.l $740F036E,$74CB23B7,$00963B18,$414A9B68,$58C9A05D,$EECEB984,$D6185C86,$726C0736,$8033AC20,$16805CE8
  Data.l $28CD2512,$012550E8,$06089476,$028C8606,$8520A731,$50551997,$7D46B6F8,$99CC0BB2,$9B533754,$008E80A6
  Data.l $A724562E,$4636AF49,$005256A9,$0095F5A3,$80D9B564,$8BD1012C,$02EB0044,$02216ACC,$8084482C,$A8537089
  Data.l $C28A1868,$12751982,$5D0A0B35,$96B25CB7,$56C35CEC,$5652D6F2,$208106AE,$0A86A6ED,$B1B3633A,$5C00C188
  Data.l $2DF6E60B,$53B3600B,$D9852B51,$5AC939C4,$CD223A5C,$10A66266,$4B1894B0,$2E092561,$CC5D96B1,$04C05620
  Data.l $8D373249,$D5CEFE5B,$E0500AD0,$69DF0B33,$0B173D70,$410820D4,$B38BC1E1,$DD65E0E7,$0088002E,$200576A5
  Data.l $068CAC12,$B1AB985E,$220312AE,$802A44A2,$C4AB85A3,$388A0C9E,$C3F42482,$C20B4213,$E3351350,$919D0BA9
  Data.l $03546B41,$A492DF50,$6A20E1BB,$7C132056,$4C144151,$8E437BAC,$7A7A6116,$DA2423B0,$500BE1F8,$A1939219
  Data.l $AF0A48AF,$152C4168,$44F805CD,$C4784991,$203FCA50,$ED413D04,$ADE10524,$518F9FC8,$6E0A9581,$2350A328
  Data.l $4F855B44,$03102F19,$208D0BD7,$08541E14,$CC974DA3,$27380512,$FA5AA35A,$C016BAE0,$B07CA080,$FB201F04
  Data.l $E7BE43C2,$AB05ABE2,$2FFF0039,$BC800591,$0C025C1F,$5FAF8C68,$69AA3231,$654C56D4,$700DB8BF,$018EA576
  Data.l $672A975A,$EDA25FA2,$3C0415C0,$A2449C3F,$038A6E77,$00A49934,$211E203E,$88143003,$B1748BCC,$5C188D4B
  Data.l $00623825,$0029AFC6,$D18E4816,$20F220C4,$2BFE7A3B,$A30E6413,$A2D5B875,$F14ADBF7,$581BFE69,$0A803211
  Data.l $36CF8AEF,$5F8537D8,$210531B4,$2ADD4004,$9AC35A40,$5FF5CD74,$7F88F6F4,$4FC24005,$13EC9FA4,$2D6827C1
  Data.l $F46D89F2,$86BFE189,$17102501,$E4A8240B,$6D442020,$02891D0A,$19B40A2A,$CD494DFE,$18982E7D,$620C05A1
  Data.l $C13312C5,$9EC0BE46,$90C4F8B1,$02E68205,$16AE94F5,$0068D183,$08B50FF5,$6D001481,$9D455B0F,$6D1CD4C5
  Data.l $D1B0C007,$44E2407A,$80AB899C,$8844A264,$5F918C89,$9744E3A2,$25A93908,$89604E4A,$A2551394,$889444E5
  Data.l $6A259139,$9C89C44E,$E7A20913,$3A083844,$9BD44B91,$E8819244,$237DA01E,$86A2B45D,$2068202A,$4FCF74D1
  Data.l $AA279D44,$AC89F12E,$EBA2BD13,$3B08E544,$4ECA76D1,$13B49D14,$44ED271D,$D13B89BD,$949BA26C,$00F2889A
  Data.l $6C07EAD1,$9C708326,$6E905A24,$67B0F70E,$B34013F3,$A179CC0F,$88C6A3AD,$7EC27659,$A5C892C2,$60541312
  Data.l $CDD71B91,$991499F6,$E8CC7F80,$194EFEA1,$0794820F,$62930202,$7701C2C9,$1F462048,$1D6FEB49,$6B9681A9
  Data.l $F6D5AB0B,$D1BB8FA0,$3308BD17,$F4E68614,$B41E0648,$F4F6BA68,$722167F6,$8F02E04A,$139ED5B3,$E61999AC
  Data.l $4990B4AA,$7C802E91,$FC439CE7,$169C5B8B,$F2C3F09B,$46B583FE,$983EF59E,$11A2F25A,$B6F7E948,$C6DD4B56
  Data.l $E142F690,$408AD2C5,$DC761B8F,$0C311160,$8C445B46,$61143583,$427E9088,$0C2A58F4,$5529C1BD,$B4B99335
  Data.l $69D22305,$333F21D4,$AEC2042D,$4A99FD1E,$4A10F43E,$88A57073,$A20FB2F5,$CC3C5EA6,$056552E2,$6CC25492
  Data.l $394711DA,$4858B4F5,$2583E4F4,$01355694,$6A03D2DC,$6C4C4303,$75B0C069,$317F01E6,$DAE99244,$963C0C2F
  Data.l $0AB51BC6,$B43508B5,$28F6A31E,$3907B2FD,$A619C7FD,$EA20CFF2,$12589E0F,$7E92C1C5,$C4804AC8,$40C3B718
  Data.l $CC07EB8A,$1816B108,$4247A289,$3C869A2C,$C2F0C758,$06765D26,$04180AD5,$B22BAC12,$A86049CE,$80585AE4
  Data.l $12C5ECB0,$9846DAE8,$ED3951BF,$A041D4B6,$A4614F20,$27B94080,$4DD909C2,$334608E2,$D50CD8B8,$FA33A823
  Data.l $4B0848AB,$43CA8A7C,$76AD874D,$474763D4,$0545566F,$2A07F2A3,$78A78450,$9B9D6E47,$1A5B5BB5,$67C06517
  Data.l $102A1542,$43F51E16,$BEB61E89,$523EC939,$A45662B6,$07468A90,$BA91CFC9,$7C68D862,$84122430,$C64982D2
  Data.l $12B7B30F,$37BF8FA9,$7DC18E3C,$72276A35,$B4C46722,$AC230D34,$3DC1D188,$8A4BD5A0,$03DCD37F,$E853294B
  Data.l $B2625D37,$8C688D5E,$5BF461AB,$80497BE1,$431C5625,$18D5C9E1,$B1CC3122,$0F4D94D9,$54297CA5,$2B08BC79
  Data.l $95441432,$3CA18A11,$60099BF4,$3C89B2C0,$2B505E8B,$9E1F4355,$75811581,$F84AF871,$06619B15,$C8A2DE63
  Data.l $8B283190,$511E393E,$912A6AB5,$5584AFC7,$296688F7,$005BB6B5,$A9C48726,$A91E85E4,$684567C8,$A345903C
  Data.l $A31B44F0,$BC6C893A,$385B5458,$59A952E0,$8F28490B,$B494A722,$FF7682D5,$063AFABA,$258CB3AE,$68D20613
  Data.l $DB284394,$4A239C4E,$BD91EA2A,$2D3CC8A9,$2DD22180,$243D02D8,$47F91AC1,$6894A108,$4FA5CCBA,$D9A9CF92
  Data.l $405B0336,$38D613E5,$49D09DA2,$EF2AC54F,$B8C48D71,$DDE7E8DE,$7064EFF6,$480DC411,$3149E040,$FDD65564
  Data.l $E6A01C8E,$E9A9A843,$E2C2FF90,$6BA587EE,$8812A911,$9B2A8891,$A8D33CA0,$C6A64414,$14C288D2,$B03B2EBB
  Data.l $B6A8F6EE,$A77D540A,$7E64C835,$6ACCE40E,$8FA37814,$A4FCC66E,$16471F35,$5BA920A8,$88B2E02F,$B68C773A
  Data.l $63924816,$E7D66059,$10D4ACFA,$341DA80B,$3D72E902,$B8665135,$08731C59,$5D2326BB,$DD580C82,$F0DBAA93
  Data.l $23F43611,$CC974625,$AAF7D107,$11A5E1C0,$8C614AA3,$B0651238,$A6EE83ED,$A732DD26,$E7C7D045,$CBA16DE8
  Data.l $B602D4E5,$841D950E,$B5EACFAA,$8F2EE7FB,$976E7AEC,$885DF38B,$64EE735D,$66E0A9F5,$2C20F46C,$9714B39A
  Data.l $5D74B59D,$93B8B9A7,$5EA78C56,$0680E207,$D04A7307,$4F2EC46F,$2CA71CEC,$1FEC5B17,$21572158,$844831E7
  Data.l $F5CABA72,$2F4D8116,$5D03C7D5,$F428786D,$C8019270,$A449A549,$8E628863,$3C094402,$737D1205,$A7819FFE
  Data.l $0C79A001,$D5BE0920,$A5D30A4E,$983D8E07,$A29BDA74,$07031BFF,$1F7B8944,$5F7F8B2A,$FC04A868,$464E0019
  Data.l $2AB149A0,$3149F8E6,$C244C87E,$730DE4BF,$DC682268,$03818102,$A7805254,$CD384510,$C5AABBA6,$C5FF1D48
  Data.l $E7A50D59,$6CE40087,$A3DE02B0,$C2000147,$606BD352,$0AC3AEC0,$DB090A86,$33F1CB65,$0F31A883,$84063A54
  Data.l $B444090C,$88B59BC8,$9E00DA2A,$7A305805,$60CC18F2,$D64FCD21,$8100FE0F,$5AF95D7F,$C204A290,$051F8DBF
  Data.l $0DB27268,$0D608B96,$D1A48F5C,$4B68A280,$8AB572E9,$BAC59C34,$238D9934,$858F1B99,$2E370215,$C6761FA2
  Data.l $2ECAA159,$18E0C139,$94A266E3,$C8B515AC,$35A86920,$E8B55DC0,$B4A6F175,$5369391F,$3260F174,$3791F973
  Data.l $8C07F204,$F6EC429C,$F1BE8619,$D104DAAC,$C1F84F07,$9A6CFB9A,$17502038,$0F9B50A6,$D0C6145A,$579FC6E5
  Data.l $93786407,$841BC377,$C2A5F02B,$C40ABD1B,$85268BBE,$DFA2DDE0,$B83EF6AB,$C695EC07,$D4492491,$E91CB1D1
  Data.l $27D3DFCE,$543D472A,$238CA77F,$23883248,$B6F1EA44,$91FCD185,$D8FEC6B6,$BF11D258,$6574C0D7,$8FAFB254
  Data.l $D7418282,$BA0F4EC2,$A01E6DA4,$D39C816E,$A18AFAF7,$4171EB5F,$BB99C5B9,$C0224C30,$1244F17C,$8B60BE3F
  Data.l $4524AD15,$082B0ABF,$3E015640,$A2F64718,$31274A83,$5C7700EE,$7D3631CC,$8BC51008,$1438B40C,$5156DA6C
  Data.l $3653D821,$B0DCB31C,$337A07F9,$5298A0C0,$E4ECBB44,$1C8D019C,$02A014BF,$682B7C58,$543F375C,$D30F372E
  Data.l $E9136F85,$DA049010,$7679B449,$88A2ECC2,$AC5A3B34,$45F2D5BB,$39F786C1,$E8AEACD6,$F0A64AA7,$685FFC9C
  Data.l $102080C9,$03382AE3,$054D2427,$E24A811E,$D648AE08,$8494D2C5,$6A3C0591,$E29D282A,$A0B0F763,$D4C0C2F9
  Data.l $D57CC1E9,$018584B6,$DAC2F470,$51194630,$2117DDDB,$4EA0963F,$7D3148A5,$D7C3C726,$CA024C3B,$5FE274A0
  Data.l $84A1C660,$48946826,$50758539,$02460513,$40248F0C,$A3D968F0,$DAF4C224,$3B68B046,$F6C0021B,$23550EE2
  Data.l $12281BA8,$AD9A126B,$700488AD,$2A0EC049,$A389B8C5,$DB448907,$7A21F00F,$27E661C0,$DC22F176,$2E40B68A
  Data.l $DE8D82A8,$310B3018,$6A5CE3E0,$D62DE129,$AB3712DF,$AAFE0028,$73B19854,$E30A894B,$D6D5EFE3,$571C5C00
  Data.l $55051433,$C41ECBA2,$D61137AF,$4D7F1F84,$69435EAE,$1A13C15A,$CB52F7D3,$328DEDFC,$3088E4A6,$8EBE4D45
  Data.l $8BE597E0,$C32AC508,$D18FD6F8,$BF470EA6,$455A4676,$4668D171,$9864701E,$6DC04C74,$27C66BD2,$21FA449A
  Data.l $67D3ED18,$4F2D2295,$89EF2B5C,$3A771147,$4D2287BC,$D5BBAB7E,$452C5AA0,$636AAD51,$7397559E,$A90E2B38
  Data.l $DCDA8DDA,$12C69501,$317F3038,$94071E92,$0093CF9E,$2BF4C23B,$6441D325,$619188B8,$C4E9ED11,$8D80F5D0
  Data.l $0A30C919,$307B1C72,$BD10C6CF,$46B95411,$947F5645,$B0413108,$1AA37A25,$C7985A63,$A24A14F4,$300A2BFF
  Data.l $37AE112B,$A61103D4,$3CD11CFA,$FE0F73DF,$5E2E7760,$8AD0AF47,$E1FAAD14,$D482EB14,$4408296B,$35DAA1B2
  Data.l $3845AF1C,$DC894889,$1EC4178D,$185EC493,$C6FB5B95,$FF042D56,$2AA893AE,$3FA96DE0,$AA900876,$7B7513DA
  Data.l $831472D9,$E8BB006A,$BC9E7444,$49FFD508,$368B98D4,$AF16B912,$1242138B,$A61C661D,$60F40F79,$8FD9A089
  Data.l $C069BC03,$01E6E803,$1176BC4C,$93F625B5,$9A23B3E8,$850AE69E,$35A4E3B5,$F5146A83,$2F1661F1,$357B407B
  Data.l $90AE454E,$4235D10A,$5D2864D0,$D24760B0,$36072B52,$12D7CD2A,$E9C1FCAB,$E3582F5A,$466403EE,$C822A2EA
  Data.l $DC8F6895,$D220B49B,$336DDA66,$2B49A2FE,$AC62A588,$FB76362C,$0E07490C,$501E15A0,$3DABDCB8,$3580F44B
  Data.l $CE8C7817,$6C0A030A,$D84550DC,$D8E47175,$9D234CE5,$4293400B,$DFD18370,$38A16B55,$BFBF0109,$3A58BBC1
  Data.l $32A7B1C3,$53C206A7,$6A9D1E2F,$62E305AE,$F28BA30F,$62B2995D,$D85A3A26,$547C2A5A,$B42EC5C5,$622268D2
  Data.l $385199EF,$7D219D17,$3D71551D,$825049C7,$6A7C9566,$7A45954D,$DAB9C1B3,$237A2A6E,$CD4848F6,$D1FB6E2E
  Data.l $95B012F0,$B0FBBA43,$0A8CDAA0,$EA8C7AF0,$52C51811,$031EC2C9,$ABB46B75,$646B1F84,$B509CA15,$8F077EC2
  Data.l $F7BA11BE,$4AD4ADEC,$CA9D47D3,$D9B5511A,$7D8CBF7A,$52D3C125,$BAC53DA1,$63BEAAFB,$D2EBC9B3,$17003F5B
  Data.l $89226FEB,$AE584C0B,$718B8C28,$AD070F4E,$ED188281,$0103BAC3,$BE7A15D8,$225437D3,$A4137E89,$00737D6A
  Data.l $59C46611,$0DBA3889,$62F3E176,$B8DA9465,$E0226804,$BE3D2C31,$A1AF28F2,$A1F436B3,$C7B66376,$B271E877
  Data.l $29B1006E,$8CD2F558,$25EA7F85,$3C84FDE8,$358D41DB,$C56D2970,$FBA446F5,$811004C7,$C1CD0B20,$CF24AB82
  Data.l $7A33D35C,$C29CB0C1,$7227AAB2,$2B72844C,$7EA41BD7,$AE0919B3,$299F98B7,$8D3DE585,$EBCE01C3,$5F3F1D58
  Data.l $52CBD914,$4090DA50,$13B6F852,$827AA94E,$628AFA29,$AE0A62CA,$AC24D1B8,$19C1901B,$C9E1193D,$5A204425
  Data.l $604BB864,$10254794,$C291D227,$92B55F94,$F82AD5FB,$D4314156,$6E1DEBD1,$E4A54B8A,$5F8D2ED5,$C224D116
  Data.l $01084B45,$C83A1101,$B030520C,$1B4F81FC,$3491597E,$2920A006,$68FE7652,$D6A66083,$515AA9D0,$D8748646
  Data.l $83D12E99,$062F6F84,$5FE4CEFD,$240948F2,$D43D69CA,$533A3485,$B4461E75,$1465D684,$09980289,$D72F6DA6
  Data.l $D8DC24C6,$5440092E,$AF171812,$29B14428,$1BFE1EC1,$4A78A218,$E0CA51E6,$54264435,$D70D2730,$866E88F9
  Data.l $50A9105C,$B073EB05,$5B3CA659,$F17CD03A,$0894BA46,$08DC33E5,$31399ECC,$AB50AB80,$E4EC2377,$5D7CC903
  Data.l $9904882E,$3B08EA30,$A18C9448,$4E445911,$64FEEC98,$46880900,$F494215C,$BFC022DA,$4B3711AE,$4E88DE1F
  Data.l $BC9AC50F,$0F3D145F,$A454CC4C,$E93676C3,$E922176F,$123BCD56,$B442D678,$B3F34292,$112843F5,$73ADD1B9
  Data.l $49628B8D,$36DFE0B4,$E152D316,$AE189F3B,$922C4884,$BF51DF6B,$FD235F2D,$80C8DAA0,$09011746,$402308D0
  Data.l $F136A4E1,$75A89175,$08F829EC,$A2250F40,$531A1BAC,$853F5350,$DBF3C522,$BF690A61,$04F4AA04,$E78E8FA5
  Data.l $4351FC9C,$99073783,$ED10736E,$F4F9BAC9,$2118B093,$A0CBD283,$FE0E472B,$4282C7A2,$0994BDF5,$83AED60C
  Data.l $3A9DA80A,$4594DEDF,$FB805D74,$4483BD78,$9147BD14,$F534B5C7,$089B08B4,$00A5BB7F,$F092C378,$9A024CD3
  Data.l $A95E9A72,$67DA8E24,$5219709D,$F2E2D103,$4724C998,$795DE7AE,$B42D0D27,$6BAD1AF1,$2A21C190,$A0E31918
  Data.l $8975295A,$E29282C4,$5C2384B6,$94039B44,$CAF2FCC4,$4832C623,$D69E5104,$DF2FDD35,$8BCCDF6B,$1CAA323A
  Data.l $8B4FF7E0,$39886E27,$792E1EB8,$E1E2A937,$8B627A6A,$E910F826,$01986104,$0E1D400C,$F1546211,$C8815B17
  Data.l $27C48715,$B8515C53,$0BA4EFC0,$E8890291,$05652AA1,$ABC1AA94,$C5BEDEE3,$1A832957,$B289C687,$95C46222
  Data.l $00395085,$8AD2D46B,$2BD80301,$DC411074,$34C3A2F0,$01C47B18,$494492B2,$010C4103,$502C52B4,$B6254D2B
  Data.l $DC944550,$8010164A,$B900612B,$062EC692,$10BCE470,$2F918848,$81D62124,$CD837C9A,$A4B65081,$44B00592
  Data.l $8C284901,$DC300936,$4B744C12,$E1345932,$749F9636,$095F29B9,$AA6DB4A0,$24915EA4,$3072795F,$91C406E6
  Data.l $4317622B,$CCCDEDF6,$0BA86210,$92C8BD65,$FD7F3B73,$0250DA50,$A379ED43,$748AAA05,$100280D1,$F7483785
  Data.l $A08A4842,$3E915EBC,$99421483,$E0BF13EC,$850E1A0C,$A05C9AC1,$403C4741,$817C2F10,$391825E9,$0CC6F4A6
  Data.l $42263F0C,$B5139075,$A0BB8304,$BAE0AD55,$63E0E752,$D231C502,$400E4FF2,$8CDDCE04,$2A4F0A52,$D3977DEA
  Data.l $2BD1A684,$1EC9C565,$09E49C71,$B7A3AB80,$DC32421F,$14445614,$AC68A07D,$20ACDB51,$10CB6591,$BC683C59
  Data.l $3308A27D,$1A31D664,$289D9E7F,$A75AE433,$AD58803F,$D10A8042,$85996A4B,$9B576E53,$B6B1DFBB,$E76CDD5C
  Data.l $B1C3345F,$99A0033B,$B2694A52,$07E6BED4,$328D6CA8,$01E66D13,$149946B7,$3A897113,$B9217043,$B6247B4C
  Data.l $D0F69E44,$ABE9D925,$5E077C0D,$A0E028BE,$A0198F90,$F4533C3C,$FB06C2AC,$7011472A,$E9A0EE41,$068125AB
  Data.l $92FDFA88,$40751258,$41E36449,$9BCB6C71,$B3FF92B3,$EB8535E8,$37CB2CE6,$0598EF8B,$013C2218,$4234D4C2
  Data.l $6234C10C,$8234D10C,$A24BE10C,$1433F10C,$B4BA3894,$A2A12959,$084A4030,$00AB9D4C,$A402421A,$6A12A621
  Data.l $89887248,$026A6992,$F9BC359C,$895E012A,$DB060A97,$53727FA8,$E26E4E19,$46E144AB,$6897BF8F,$6D06FC8A
  Data.l $96938807,$40542168,$57921044,$17E3FEF8,$41041B8D,$C013A8A2,$9834077F,$C901EA32,$10EF5A67,$3F914AF4
  Data.l $3E182249,$9533F3F8,$F27D142F,$E819E928,$03C23154,$7E0F4E8E,$D7DA0A1D,$3DB2890E,$20658DFD,$A52D905D
  Data.l $6272B850,$0A87C848,$02144062,$0A6D02A2,$6A0BE810,$F552F965,$AA0205CF,$22B67D00,$8C2002BC,$1088A25E
  Data.l $34BAF3CB,$2EB91853,$1210E39A,$CACD24BA,$049FB290,$0827D62A,$B8568294,$7E8AFF61,$D6491EAD,$3499B038
  Data.l $1A4162DB,$3B1286A7,$864F80BF,$A48912C5,$7C28E146,$A872F6E0,$C3309F2C,$7CE816A6,$CC6D7C00,$1F1B941C
  Data.l $1D6E1C68,$8D0913D1,$4BE70CA3,$58854350,$A2FA15DB,$B8760993,$F6964208,$9781F587,$F8134510,$813636EC
  Data.l $136D6E57,$36CEDDF8,$F6B76781,$CAF7F811,$A7F87813,$07818136,$F811136A,$E4D53698,$F101E921,$18D6BE3D
  Data.l $2178DB2A,$0C328D08,$111A5210,$7B09A1BC,$6D1A244E,$34F61B24,$444D26F4,$E11B889A,$9B4C6A66,$69914A89
  Data.l $0F25DD23,$C6543129,$D68D0303,$5D525EAA,$72BE3829,$167BAC92,$9F96556F,$209B43B9,$B464D440,$97DFFF10
  Data.l $69E782AA,$96F75277,$F77D7D36,$DF4DD368,$D1F63639,$93CE88F7,$36D9E8F7,$6D1F0F79,$CA777793,$39E47936
  Data.l $83EF91EC,$288ED5AA,$4A1386CC,$C46DDA84,$C0730919,$1CF34A24,$9C02C547,$EC4DA261,$7BA29F8E,$82E257F8
  Data.l $1B2AAE22,$600C05B8,$12BFA907,$D0673C02,$FB6F8207,$3F1D231D,$79B4C003,$721B9F07,$16F6CE4F,$D522881F
  Data.l $852E4158,$4806768E,$5A35D9EB,$C4463109,$641160B5,$9AE4CA23,$36813588,$89986D22,$B6D4135A,$53BC4B17
  Data.l $61812556,$288AD722,$F0DB2478,$FD789525,$F4BD91C8,$A8765554,$6297276E,$07EF3EE8,$C205174C,$4490BD0F
  Data.l $78EFF012,$425DD2A2,$8FA2E061,$4069384B,$5F40881C,$5AF00BBA,$23305218,$04048404,$27784167,$3B4BE832
  Data.l $520EB5CC,$8B9A5B80,$1E285A35,$FB5AE71D,$822F2636,$6745ABA8,$F35477DD,$A87A9CC5,$A828913F,$11CBE9B6
  Data.l $11B33468,$9113A4D4,$8F6E08F4,$445B20C7,$F7123F69,$04D32ED8,$1B503707,$B17CDF84,$8E84AEAB,$20F8E852
  Data.l $1940E622,$1805BE3A,$55621872,$EEE5AB74,$576A9713,$72037104,$ABB192A8,$E4F153AB,$7A3D7B2B,$78C6708A
  Data.l $618AB125,$6751C6D3,$A0354395,$13ED5052,$B2C78BFC,$277F7FE2,$52135269,$2C307C48,$E9051ACA,$EB0DDF0E
  Data.l $C80DB555,$2885022B,$BCC783FF,$087B34CC,$427256DA,$91918D9F,$897B2183,$55EE1BCF,$5066F022,$437A9603
  Data.l $141CCDAB,$BF7C6AF1,$E8B4987E,$DB51D269,$C881ABE5,$E84F1F31,$54C15ABA,$24662AC2,$36262751,$86970317
  Data.l $ED14FA3C,$618DC6B2,$C6F1C1DF,$F805A440,$1FEFB8C1,$F030195F,$31F8D88D,$437F7E09,$F886196E,$DAA0D5B1
  Data.l $9CD32283,$F1673D0B,$28CBA103,$93BE0185,$E22A1341,$09E4097A,$2BA42BE2,$459DFF34,$999AD13F,$6A1345F6
  Data.l $E0430C51,$65D4D8AC,$C39C7076,$98D23334,$AE96455F,$A2DBACE9,$9E83A8C7,$2AE21152,$52CD1DB0,$B3673186
  Data.l $E29C2B38,$5E01BC3F,$8357938A,$52EE4939,$4CFFA1F9,$899F8E2A,$419BE189,$D6437A27,$A6A63BE3,$F162614C
  Data.l $BC0955D5,$18390646,$69E20EE1,$B46116BF,$2B75BE2B,$D02CF8B4,$20288932,$4D9ADFD4,$2FF7297B,$60743405
  Data.l $6C4AA3CE,$F6024550,$50848D6A,$61763E2C,$0FA36766,$60201C65,$C18DCF8C,$040DFA36,$50FE393B,$40E60038
  Data.l $8BA83FFF,$609CF84C,$64DCA4D6,$124E30B0,$FBD8762E,$2E2A8310,$1A905444,$49750213,$4B41721F,$CBAC956C
  Data.l $B0841512,$1C43888D,$1C47AA6A,$03219975,$108A6B50,$2EDE8844,$ED8162E7,$2F40457F,$AFD21625,$43357C38
  Data.l $769A47E0,$83F8236A,$04C16947,$563B52AD,$9D0BFA54,$F8760A04,$BBCCFCDE,$2332730E,$5C1C70BD,$CA4DD3B0
  Data.l $A9CEF88D,$E3398BA7,$BCB04194,$15986FE0,$8407454E,$7DA1462F,$5EAD3F31,$3E0B34F8,$5A8F14A0,$8DDC62FC
  Data.l $DA0F8229,$125F8DD7,$D1EA0C3D,$A6762C92,$80B878EA,$F0115121,$0EE8D0E2,$D80D145F,$AB3E6DA3,$41FB5324
  Data.l $2085B8BD,$41E01E57,$863C1DCB,$E4885E8D,$0EC25173,$35B38148,$4DBB8C2B,$0E0878E5,$C61B1307,$ABDDCA70
  Data.l $CEA55292,$209D2E2D,$A2F0A14A,$78A34141,$6902D785,$E8286EA7,$17FA989B,$0AB65E22,$A3376DF2,$1B416177
  Data.l $6C50E85B,$A365FF9C,$1346E4ED,$37292503,$4DDA9120,$6D0779D3,$284A706A,$89A02CE4,$A21848CE,$70901E5F
  Data.l $4FA0BE43,$14013E7C,$ACF8569D,$61CD4A04,$1BE7A0E2,$43F6F441,$C1F4ABA9,$1205C3DF,$6DB2167F,$C0FB99CC
  Data.l $DD414990,$D76F2986,$4D570EC5,$59F48D5C,$30765A4A,$0945BEDE,$00185282,$D2C9B628,$8881B31C,$8846148A
  Data.l $6F640597,$10C2D1ED,$9C5592F6,$060BF6DB,$38BAE066,$DF4CE110,$40A3584C,$9155C1C6,$C2248B65,$E4079D0F
  Data.l $A27614C7,$E6065A98,$32A217CD,$C5418079,$F10029D6,$2D52E790,$50D0BBC1,$5A3FEF59,$1947E022,$CC17415F
  Data.l $595AB0A3,$D70B347A,$46C22DE3,$665D0EDB,$BE0D24BE,$432E6040,$2685EC40,$EE5C5856,$B8858AD1,$0F29004E
  Data.l $0DADB499,$DE8E3D59,$AAAE8A00,$D262F429,$07132DC1,$8C77A8AB,$EF093EDB,$8170B4DA,$4608914A,$4F5B05B4
  Data.l $9DFEC25C,$1B4617F8,$FE44EEB1,$A8B80A0C,$0EF95404,$EC543FEC,$3C35D151,$9A4979AB,$110F3305,$4D93CD22
  Data.l $BC8ACAF0,$0BE93D83,$228765D2,$AB38D92F,$0F346AD6,$A343AE7A,$F1A2158D,$CD0B1A40,$8D2D7DFA,$374B392A
  Data.l $F78C6A20,$C52E02C4,$930B14A0,$25BA0B0B,$432D4790,$3EE14C23,$2D1E1E50,$A274A744,$E744644D,$422D52D1
  Data.l $32C9D2A7,$3D210711,$7AE70A8E,$9788889A,$1CBCFA85,$AA94983E,$12E934B8,$ECD06441,$BAC5D64B,$654A8D04
  Data.l $3D5CF173,$1E91A8CC,$83F1DE2D,$A60106AA,$68B5210D,$773233D6,$2455E8BF,$153BEF32,$69F17C71,$9292E7B2
  Data.l $298A17A2,$0CBA220B,$6F06B5A5,$49EE4567,$6ABAA3C4,$08750A90,$7EBFC95A,$3D688548,$AAA08F6A,$151175E0
  Data.l $55AEBEC3,$C82CEAA4,$B7FBA84B,$9014362A,$2D1F5555,$7F3782FA,$E2FCB5D9,$BAC9F58B,$A817D556,$88D55B14
  Data.l $2520E6BC,$CDA857CC,$0281E631,$49B9CBE9,$0F034931,$0852948A,$10C3146D,$E0951F35,$A0C033D8,$EE82115A
  Data.l $770F2600,$FFFAD503,$184914AA,$456FE371,$759BE4C0,$0C63C029,$E93132D1,$025967C3,$CC568629,$B50590F5
  Data.l $942108AA,$2FDAD08F,$F97FA3A9,$C48B5016,$FA4B28D0,$32E602CA,$01B40E57,$66BBDA2B,$9505E542,$1A87289B
  Data.l $1AF413A8,$73FD805E,$44284F97,$6566B39D,$548AEA3F,$7D03E5DB,$8A8A40ED,$AD5D02DE,$D16DB750,$61DE0083
  Data.l $67B28126,$2B17FBE7,$00661FB6,$D154AB54,$244D2C02,$891148A2,$21B71224,$44584488,$5B0C2D0E,$36852D15
  Data.l $4B80FE29,$88765CA9,$7C00F8B0,$51BCD1E2,$822A4045,$7F3F9E1E,$33E0B6A2,$9AE8A97A,$9984A38B,$89F51760
  Data.l $20928632,$BC3A95EC,$340FD3E7,$B1C7BABD,$74631C82,$822659D9,$0C8F254F,$73E28D1A,$46834D53,$34DC8971
  Data.l $4FD1A3D0,$F747F922,$95E0A108,$A243A68F,$74DFCDF9,$A4191131,$DB71E283,$9EEC5D98,$11AEC17D,$7B5AF421
  Data.l $4C7D51F6,$7E1151FF,$C20E8DE5,$1477454F,$9F484E91,$EF7614C9,$E5AAB707,$6293AA00,$27460351,$681817D8
  Data.l $1AFAA82B,$D58E58E0,$EF013A1E,$A4FE1A22,$7606B663,$39097624,$CB17E275,$140FCBB4,$C58B5588,$0EEEC589
  Data.l $74F8CF84,$974F8765,$8CD30B7E,$6C68A396,$12D8E430,$8350181E,$B97494EE,$D440599C,$0E004AF3,$3F883EE8
  Data.l $E18B12C6,$7E7E2A79,$014EF541,$0E2C302A,$3FD49C97,$55043034,$147F3F09,$A3405B30,$46C690A5,$4BF5DF4D
  Data.l $02D7D0E0,$BB4BBD37,$49B46B00,$4043D8B5,$EFE8A02C,$7AD6CFA5,$0297A06F,$B9FA69E5,$0A7ED084,$5B31B4A0
  Data.l $FDBEBFFD,$25513A00,$DFA444E3,$66BD2410,$387069F2,$AD1B2257,$CF820642,$0895F09E,$898F1C59,$211AA380
  Data.l $512F468F,$A122B470,$101DE934,$88B91F8E,$74B85C4F,$1C2944B1,$E24D714A,$9C69726A,$50182A38,$BA4180DD
  Data.l $6FA7E728,$D6291120,$84838CBA,$9765026F,$ECB02926,$C43D114D,$45271D57,$43A89F10,$B14859A2,$5AB97DA8
  Data.l $FAC50DD2,$EE186508,$98648437,$FC502C1F,$3E11F23D,$43B27945,$24C27526,$E0780031,$329A400D,$04BA6A50
  Data.l $C128043F,$9A4DD270,$86ABB84B,$A62928D4,$6421C024,$DDF65E01,$B1C02F45,$08AB64B6,$DA105A53,$0DAC7E80
  Data.l $D25D8C04,$629FD2DF,$C32A85CA,$D49F83E3,$4118F535,$47496AF7,$7588F9AA,$5DD61273,$5E8D0C47,$27A76B43
  Data.l $B83EEAD8,$ACBA9206,$2EE83432,$030F99F9,$55CB2746,$1705D2AA,$8021A2D9,$022CDB47,$06ECA1A9,$A03F198A
  Data.l $260EE691,$4631670E,$29074BDA,$2312EF92,$5F1B5FC5,$830FA0B0,$AA87204A,$18A9D7D3,$7096D46F,$52B2B8F8
  Data.l $1948808B,$50D7BCE0,$A3C29CA8,$DE7B385D,$1F120B59,$A6D88DF4,$430F228B,$9EA73C86,$0C2BD05F,$DC095360
  Data.l $A31C6AE5,$194B5AB8,$7A447F06,$93B626D7,$04ABF555,$2BC46F22,$066391CA,$D484C8E8,$21751D06,$E8B82AF7
  Data.l $1031C671,$2D5183CA,$75FF8C5F,$759114F4,$0D7C0ABC,$26C88C1F,$18FF1214,$E1C5473D,$5AA2A76E,$6DF77382
  Data.l $C3FCF59C,$79CA40D3,$444F147B,$88E61559,$34161814,$21749003,$07B68D78,$C646D1B5,$D8A2006D,$B607D61E
  Data.l $9AC46E51,$ED9AB648,$1B786DA1,$8B46267D,$B1E9019B,$0010D010,$67020F25,$04EB0A80,$F310D1B5,$36C8E047
  Data.l $43EAE45A,$B46D96C0,$891B21D0,$5548D12B,$0BA9DC01,$1C753DE3,$E51AE576,$38BB4E4F,$BFA3740C,$C853EFB1
  Data.l $18F7968D,$4DD24A41,$51FEC1BB,$606D246C,$FC1E87B7,$40520E46,$FD73DE22,$E6605832,$1815447F,$2D1A5FA6
  Data.l $BAC2024A,$49509320,$AA974093,$4EEAA0D4,$9A974532,$0C802753,$38D5DA8B,$3ECEDD24,$9CE21905,$752F5FA3
  Data.l $79D4A0C1,$1AE0E88B,$D0777148,$154A58BA,$6BE3D005,$4B14A38C,$6C8281FF,$B4776B95,$D75EED07,$F42984F7
  Data.l $8297583C,$721F4498,$4840DC63,$BEE02696,$414C7CCF,$83CE558C,$D23819AE,$55D37435,$D5B8A5E2,$CF4B299C
  Data.l $9BF0B26D,$7AB181EB,$0D577CD0,$B375EDBC,$5C92AE1A,$EE307744,$D517F341,$A854AB96,$45A84156,$7867FD11
  Data.l $DC750322,$B6910C15,$A1096034,$93195943,$A7B49105,$0377DCCD,$567EEF35,$F15A752D,$7CBBE6BF,$8720C3B3
  Data.l $12359522,$0A821855,$1955F002,$30A47531,$037A1120,$091824DB,$995D8068,$782899A8,$F2A9615C,$E1A01109
  Data.l $D3A6964E,$18DDAE4C,$B0A8A43A,$7D926492,$B3C67260,$385D881A,$A25A55F1,$499823A3,$AF72A26B,$01474F9E
  Data.l $76EAB2AA,$43237105,$990001A5,$FE3D1811,$09825203,$00E71701,$E43011E0,$C4A26202,$1A000D19,$C0B4D8F3
  Data.l $C7628606,$AB28E800,$43E9D41A,$06A7115B,$1F81D69D,$0E2BAC89,$3C35415F,$531A02AE,$8ACA71AE,$7F033D5E
  Data.l $018B9035,$A942C5D4,$E6715816,$0736CF63,$F456E82C,$6B576C0C,$86784ED3,$1DC05946,$E23104B8,$C3F61F3F
  Data.l $C027758B,$6BD9F888,$08607E5F,$B0766210,$9D444941,$E3085F22,$EBB2A8BE,$4E710E30,$2DF5A9F4,$32E81F80
  Data.l $44F4C441,$4E628DDE,$45C624F9,$EECE69BE,$10F45AD4,$7E016751,$5B1136D1,$A096C3C8,$900D0153,$C0472CF5
  Data.l $EC08712F,$401B300E,$DC00DA1E,$071E11D1,$F660E7D1,$890C9C1C,$A941FA81,$E20AB470,$B6D3E315,$A03217A3
  Data.l $00AF9280,$07BA9686,$8351A38C,$D00C1AE0,$9AD67B98,$FEC15018,$580400D5,$0C5B9F6F,$F3993A8A,$06D1C481
  Data.l $82586884,$1ECD144C,$0B82B090,$5D87C037,$454CFA4C,$E98B2C0F,$3DC8D387,$F20F53E4,$AC20337D,$8063A41E
  Data.l $AE5A1B44,$C5596097,$B7381B1E,$51F44084,$76B2A419,$594D50C4,$7418FD4A,$08DAACB0,$0267BDB5,$D84E4495
  Data.l $86E4BC4B,$4DB5F0F9,$5934B840,$733B18A8,$CC4C2FFD,$8BDBD9F1,$1A02940C,$98A900B3,$40343500,$7C0BABC4
  Data.l $8E6AC421,$1F7EEC52,$D2B9A80A,$4144C13E,$838C2262,$9836A81E,$C8C26128,$5CBAC511,$E0A05140,$2B94C6D5
  Data.l $00CAC87F,$53EF70C3,$5D4DB942,$076A34EF,$CDD17B6C,$EC93A200,$EC42F593,$5FA0F513,$0AD9FB77,$22024AF2
  Data.l $1F460453,$9D84B148,$1004E50E,$7633ADDE,$88A4214B,$23002B01,$28806C12,$C780427D,$6F929C41,$54C47C15
  Data.l $CA24BF5B,$84B91B60,$C6100319,$80728485,$18BE342D,$81040066,$42762D00,$0D05FBF8,$CBB0A603,$33D303C8
  Data.l $588D51E1,$F37C6423,$0155C049,$456C8191,$CD330CCF,$15C58A8B,$A52DE014,$9C882F48,$1548050E,$C0FE2867
  Data.l $5FC6ACAF,$401868D4,$1DEF2548,$E9E00C7F,$330BF3FE,$2FB89F87,$C2B4268C,$C6096ACE,$8D47063B,$FB8951E1
  Data.l $2B7A6070,$375C3AF2,$9FBF60DE,$0BF1BFE3,$C5D413AE,$980FCF81,$6E3D53E3,$1B9A880A,$55AD8D09,$0A627F98
  Data.l $72AC6891,$0B3151F4,$17AE92BB,$7280CA58,$444FB5AC,$881A15D4,$6366A7F5,$15C157F1,$8CB89004,$B87813A8
  Data.l $28897D1C,$98DB8157,$A5BFBF4B,$4AC04920,$A6C0A082,$4A828409,$0B934302,$9FB79482,$26018CBE,$AACC3189
  Data.l $B422503C,$8B964903,$AECC98C4,$58D2B63C,$2C47C160,$768581A5,$1256ECB2,$DB348B28,$C45E047E,$60BC23D8
  Data.l $D288234D,$614EF353,$41042184,$08F6AD54,$8441146E,$055FD12B,$1A2D5540,$743D4D89,$D8ECE2D3,$435172B7
  Data.l $983DB732,$64BA01A3,$522C4D3B,$0031DB0C,$911036E3,$25505719,$042DB481,$CDCEADB4,$D019F53B,$02A6E860
  Data.l $86D936F5,$1D0306A5,$481D46B9,$3C1D4F68,$5ECE336D,$D12A822A,$995B1B55,$5AC00E6A,$610FD040,$C86AEA99
  Data.l $F4464A2D,$817809B6,$82D2861B,$543B5021,$17B7760F,$5A40A836,$5C2418A2,$236D62C6,$96672F22,$1B060DB1
  Data.l $DA6B2260,$E075CFDC,$2A1688C4,$C05C3662,$B02AF2C1,$59015675,$337090AA,$C8D3380C,$AC1D3ABD,$C1DB308D
  Data.l $7614AB0A,$B5DAAB56,$E5268D10,$261CD2DD,$5B16DF43,$A0260D1E,$08DE4B04,$2824095C,$C62258A1,$89E1C682
  Data.l $D400302A,$DBC960BC,$00C842CC,$7F5D6E0D,$A822BA8D,$470AA692,$613D96B0,$20D08A03,$982C54B4,$E518C524
  Data.l $78404F51,$4B94B817,$2FA8B4A2,$0330134A,$5B3446AB,$52452E06,$C6445066,$02074233,$6850F14D,$297A553D
  Data.l $C2E9158A,$90450245,$6A0A696C,$C3EE5404,$2D4A82C8,$9933D4BA,$81D09C52,$140E994B,$B92892CD,$88CCEF70
  Data.l $982D7959,$81624DDD,$51D008CC,$6C05C773,$CA136D6A,$7C0B770B,$E25B8815,$2AA46DCD,$A1DE5426,$98584E92
  Data.l $17C20928,$0AA04F29,$1A21C139,$A828243C,$660B5670,$B85347E0,$67E4890D,$0ACD2264,$5000A674,$A09006B1
  Data.l $0CC9C315,$A4828902,$3414203D,$4CBC141C,$0C0B0E2E,$06A04D04,$2AD3C8F3,$E916C93B,$E856E11F,$32D90829
  Data.l $08101A44,$9C81DDCF,$AB695F23,$684A3041,$ADD8CAEE,$489601E0,$C52E0E35,$2B917503,$AA14C515,$0F41A513
  Data.l $23A006BE,$983AEB6D,$81AB079B,$80185D4A,$DE827716,$65A850FA,$862C8297,$2213132E,$E001C62D,$7DB5854A
  Data.l $0010963B,$966657EB,$CC843149,$C0140E33,$4A820665,$AA110BDE,$30A44FD1,$A66B4734,$3BB50E5C,$61476317
  Data.l $91138D65,$5ACC2CEE,$01A6159D,$CA98DC09,$A1671A1B,$ED401E34,$6B9AAB91,$B7E1AEF7,$715490B8,$0B4B1744
  Data.l $55C12D67,$9BB9A896,$05C670A9,$1EBC1F34,$56A62CA1,$A66204A5,$AA9EA678,$A3428C02,$CEDAEA32,$2901E300
  Data.l $3EFA7308,$306522C0,$13009022,$64157586,$4601B85F,$EDD4D4EA,$A018E863,$70000026,$97616109,$5F048612
  Data.l $2F952852,$6091A169,$35294198,$E4AA010C,$D2B4C250,$00B00943,$52CC1966,$4B6010C4,$34802512,$DC86659C
  Data.l $5410ACE0,$168D18F9,$83E008F8,$BE705461,$F4418FCA,$08FDCC31,$EA021FA4,$11FA3047,$D7043F54,$23F6C08F
  Data.l $B4097EC0,$C862411F,$D66A4630,$86F28EB0,$19780F00,$9A8306C2,$8CC2C821,$30ECA391,$0A931646,$63400671
  Data.l $903B0877,$421D8719,$361A41A4,$D0640547,$B0439437,$472272E1,$3ED03502,$11B51B34,$C41D1472,$210A42B0
  Data.l $D86068C7,$3387610E,$D12A90B2,$9BEA0184,$3145B11A,$00A22080,$40535E52,$C80C92AC,$BA348104,$09EFD188
  Data.l $5D2BB6F6,$550EFF3D,$CC10E97C,$D257F3A1,$26F693F1,$1204D02E,$355F62A7,$A3011955,$8505BF96,$6CC40ABA
  Data.l $5454240E,$98116DE4,$8CE4C090,$40329A00,$C23108E8,$A1840094,$BD056061,$ABCB8DB5,$55D47528,$ADD94746
  Data.l $E2E43E9D,$30115D4C,$8C801037,$4900B30C,$9D0A2EEE,$288CD2BA,$59F10025,$EA40444C,$690B288A,$C57541E5
  Data.l $40061626,$3C323D15,$92B99E29,$22646755,$B88C04CB,$6664D48C,$A0C0C804,$009366ED,$6FD35131,$F0F12AFA
  Data.l $A071E230,$705B162B,$EB98ABAC,$59E11B59,$10DED9DA,$B0006970,$14C01BD3,$875B7220,$505E39B3,$81227820
  Data.l $20095B29,$A941D017,$5C0DA96B,$2926C772,$8D973411,$B2B4042C,$05D8303B,$81528301,$38D8066C,$62A8AFB6
  Data.l $7281094F,$6C87AB60,$464A8A1F,$A8985AD4,$A1069541,$E6B95A2E,$B8A5A6E7,$26EEA4AA,$954FD901,$D0510C20
  Data.l $E4A917B6,$5CD45DC5,$6899A821,$B066606B,$4B65D014,$3D286C71,$2558452D,$4B5F8E7F,$2491646E,$5AA82E00
  Data.l $DE095FE0,$EB60D0CC,$C1366C59,$136D0484,$0A570AFF,$56604723,$3F177979,$7D012F45,$DC1014F8,$DA328264
  Data.l $96B0044C,$CD345940,$025D12EA,$92F893D6,$420159A6,$A329A225,$C2C01022,$668AA100,$93018565,$071A8AC2
  Data.l $D05D2953,$F8A60AA2,$7053849A,$088882B0,$44F895F6,$A34D000C,$C50DC34A,$E4E3298C,$C78B50B0,$D90DD552
  Data.l $112E61A3,$650D55B3,$6A599A4D,$08D3860B,$C67B2AC7,$634D5E02,$8D4A7A36,$C5583D76,$0B45B510,$84F50716
  Data.l $DF0C1F0D,$B6612ABE,$2A724D82,$CD07CDC0,$4589DA60,$83AD825D,$C2EB5FE0,$A4F5AF99,$F1ACB9C0,$A57357F8
  Data.l $ABF91A02,$80D8B90C,$55700140,$A514250B,$0C0515D9,$ABFC0434,$7C32BB66,$DE015D2A,$4867C749,$27AE27D4
  Data.l $B14F3DA7,$AFA14189,$22955B15,$647C7A54,$3D492C26,$53196012,$8263CBBD,$408338D1,$19225810,$11E5D552
  Data.l $51828207,$3495E153,$4E904988,$1ABE5454,$400A3954,$9E664207,$4386DE62,$1E545A95,$11BBA407,$14E2B99A
  Data.l $A2EB552B,$00395D50,$2EAC091F,$80DC7ACA,$DCEB798A,$752BA8AC,$2B57AA4E,$06D9252F,$9A58331B,$D608315E
  Data.l $DB5E41BB,$9BB96E30,$B9B51ABD,$37988CA8,$3144D365,$D31571CD,$E6567D59,$36F2151E,$FD1420C6,$30CC706C
  Data.l $CE5322E0,$8D85527A,$303A21D9,$CE51D538,$963C2652,$5C3AD9B8,$EADBE6DC,$35E3C75D,$8A0D4ECD,$CA4E6D6B
  Data.l $FCCE78C6,$B9A9B6D6,$179449AA,$C67286D7,$0F9563C7,$3E332DD7,$2B3CC5D7,$9C36D178,$80331788,$A27A377D
  Data.l $2010C6F0,$C0E32A11,$D7D27B2D,$EAA33762,$1829CF59,$EEA5E2CC,$5B6104A9,$196D0315,$8A34C722,$D8DBE992
  Data.l $EA25D596,$AF399175,$B41CA540,$64E8B31B,$5D77FA47,$B204D8BA,$E27073A3,$0325D42A,$E1350B4A,$81CE3025
  Data.l $49781738,$77AA4130,$C4458189,$0866B391,$49AA5204,$6463C0AF,$101B9E65,$A3F4CDCC,$20C05DD1,$618BE37E
  Data.l $4D9E52F4,$62A7A148,$987E5CE7,$115D9DBE,$B85AAE1A,$55B69E74,$4E6703EF,$4B4B14E6,$6173221D,$94CA3D6F
  Data.l $0E77BA32,$F21058EA,$2125ABB1,$47CB4EAA,$128CE5C0,$D152AAA6,$46B302E4,$C55101D2,$1418170D,$B1227A9B
  Data.l $7961F0FA,$472D8A56,$8CAA7333,$31C3B66C,$E2863747,$1A3B8CBC,$8B1FCA17,$50A992CA,$86656DE6,$CBCFC7E6
  Data.l $DF33825E,$2D46CA9C,$956D06A9,$B4BEA332,$F56D64C6,$09C56A61,$E0112451,$64632292,$6C0567D6,$B0D922B7
  Data.l $BA791B68,$0B01D77C,$4F04AA89,$88495577,$666DA72B,$0F954761,$F122AD2E,$7A3D08BB,$94248B31,$2B1B58B4
  Data.l $FD89DD34,$5271D588,$F2A95D9C,$4045B332,$E19AF88E,$3338D849,$B950B736,$F8A780B5,$7C6C731C,$E6ACE247
  Data.l $A904877A,$97B8D0F8,$AB22D6E5,$2BB6768B,$83C52150,$0950ADD8,$4D557063,$146541A8,$726B5D14,$0456CE86
  Data.l $E71B6B33,$30E84568,$594AE97F,$14B3AF56,$5973B0B3,$435CF65D,$CCC68AB7,$C8B88745,$C75C3AA9,$434CE841
  Data.l $71895071,$D9482000,$2D80DF62,$C2CEE939,$636DC75E,$8B56D6C8,$893B99DC,$99412155,$BB01CD93,$260505D4
  Data.l $3819B541,$9A018E65,$99605CDA,$9EEE4724,$11522716,$5498972A,$76749956,$66727F66,$38E57923,$33D92AD4
  Data.l $0DAEF786,$773AF059,$D04A022E,$9D2A4768,$E56234D2,$62851232,$40A9CC0C,$59428936,$53CB5480,$6E7BECEE
  Data.l $D6109761,$099E11BD,$58516EC5,$27D7EE5C,$CDC76367,$992E94B3,$391F25C7,$E45A85D0,$325B3916,$3598491E
  Data.l $81710990,$8BA8BB1B,$B73DDA29,$96D8ACB1,$6629BC5E,$0CA9BAA2,$DCCB018D,$8C68329E,$61B8B307,$1A205323
  Data.l $023258E3,$F4ACD92E,$6D719859,$305A94B8,$6DF9A91C,$8DA9B54A,$308173E9,$49B334B7,$2B04F6A9,$CA1C0096
  Data.l $B3352AF3,$B6C0ED95,$566A6542,$A899AE49,$169AE2A0,$A2873A99,$412CA934,$B64AD8AB,$A0A5ACAC,$1D38B7E3
  Data.l $A94C53AF,$C9CACA0A,$A934D45C,$498BB93A,$DA8F7AB9,$90A5DFCB,$10790A39,$2A22570C,$B3A34F3A,$F2A3B387
  Data.l $E6D3E7CA,$F3411B63,$0D7254D4,$3946AFBB,$D275731B,$64ED3E5C,$731918BC,$F35719F3,$467C40C6,$F86C8615
  Data.l $9BC97474,$F363559B,$A6F8CD24,$1710EFEA,$8BCCEED7,$50EC9A80,$D7D67CF9,$809594E2,$31906AF8,$C16D2B33
  Data.l $651A4378,$A85D4747,$2A275154,$6A293094,$CEDB6A4F,$E6A83998,$A9CC58A6,$331FC7C3,$DCA7CB4B,$DBB66E2C
  Data.l $884D9A93,$146242DA,$ED00D0B3,$1AF3DC63,$47551AB0,$4A251C0E,$E1939811,$8A305C2A,$D3E28CB5,$F6327E36
  Data.l $73B4ED4D,$DE8BA442,$979EC7F2,$AF6279BB,$6D632DE9,$94933ABC,$B0F900DB,$DA6E95CB,$E31F3D15,$2A83E556
  Data.l $931C2E61,$8C7D0E2F,$8E8BC8CA,$3B22A4E2,$A79B713F,$6E78C9CB,$9A4A3C73,$D6CAA533,$657B8F48,$2297A31F
  Data.l $5CCA7E37,$13B0D3EC,$F2A59396,$ED6C9231,$8AB37232,$3ABDF2D0,$D15BBD21,$1767ECA2,$8CBBD42F,$60C03288
  Data.l $29AC3D76,$3223F728,$8DECCBCE,$9A6D964C,$2FE6C89A,$0D3CC0DD,$A57A563B,$D0A1C88A,$BE338D1D,$9C1E0375
  Data.l $E398276A,$0573CC05,$D48A0F2A,$CAC4969C,$75983ADE,$56B4D42C,$D291049D,$DE6453D9,$57E21C80,$82DBA53D
  Data.l $61464C5C,$30DA4DD2,$BDC93C7F,$AA2E1A2A,$60D68C78,$B96D347D,$A0328BB3,$F4BADF2B,$A32160B8,$12AA2875
  Data.l $054C2386,$C84F772C,$2DAAA0B8,$B4BD8F55,$8DE3EBF1,$663BA4CC,$C81B213E,$B930CF98,$21768C84,$E4BE8CFA
  Data.l $2D443888,$CD5AD51A,$B93AFDA8,$39B3CCE9,$70AE8CBD,$29E9CF0B,$02999D0A,$18EFB8B3,$1C6FEE71,$48047B0D
  Data.l $E600BF8C,$E35D1A4A,$57A3B187,$308C38B3,$ACBD1E69,$1E4CED0C,$A30394EC,$F90464E8,$1A33E5D3,$A306E7A3
  Data.l $4E84F044,$E53BA28B,$94525F62,$6D8D9FAD,$27BB83D1,$FC4EEF45,$C7C6895E,$9B6F55EE,$5E044254,$6767A7E5
  Data.l $7B52E56D,$52C3F202,$8523D551,$7A4752A1,$85A235FE,$9E77F919,$1850BD82,$AFAB710B,$85CABA60,$7AD798A3
  Data.l $9189B1FC,$38DC15DA,$A512A372,$DD8E9D2B,$3F863D6C,$8C7DA052,$3E581388,$37597BC9,$BF6C796D,$342B1309
  Data.l $28D864E3,$11B504C6,$4030AED2,$08085668,$046AD46C,$416C3614,$A7D2D564,$C0632E63,$9974FC76,$2AE41DA0
  Data.l $E84590E3,$5832063B,$DE0E9C8A,$2B9AADED,$AE3DA396,$4C37CDC2,$1DC228BF,$3A2A22C2,$1957BA44,$ED7DB493
  Data.l $9A6B4904,$D6300794,$5CD2CD59,$BDD666B6,$857A6A0D,$7ED1626E,$7E696146,$4B7CD4FC,$BB116C51,$85F4570F
  Data.l $3AEA991B,$B9AC10DC,$4EB66562,$EE42CE13,$997C25D2,$233C38D1,$36CE9BB7,$EE734FE6,$F3CA362C,$A5A672F5
  Data.l $4F978713,$998BCE0E,$F3BDD70A,$35C05D33,$3AEDB801,$05762274,$612F9516,$DD86869B,$74E01428,$C319A3E5
  Data.l $50E143EB,$8F1758BC,$5379D7EF,$AF7461EE,$A3E8508A,$0AE768A2,$8C9B2D1D,$868EA62F,$7B49622F,$1B1106C5
  Data.l $52ED455F,$885745E5,$2B5637E6,$546E17BC,$440986AC,$89D98AB0,$E7CE166A,$DDCE2AA3,$A176E613,$59BF1728
  Data.l $2AA75528,$FCA232A6,$6981272C,$CE0EA3A3,$A86DCFB3,$389529FD,$1579E545,$E3105A8B,$DFC6E986,$96B04472
  Data.l $6C4DC54C,$766CDD9F,$119D9C34,$DD9A8547,$109B6B84,$771853C7,$E71B9006,$E824696A,$32DC90EA,$AA4E8E31
  Data.l $32B8958A,$2CA368A3,$889BBF62,$A1F253B9,$A6D8B3F9,$AFB58D9A,$8692A4E7,$BAEE220C,$8C1BF061,$2A386122
  Data.l $64A3A345,$A9519DAD,$BA29D2AC,$28053422,$50CBCCBE,$03D6E2E9,$BA19CD5F,$533A60CC,$A0A42CE2,$54A92572
  Data.l $32D6E477,$584A95BB,$90F12B5F,$92D1D789,$292BD20A,$33BC0CFE,$94CC3E37,$6C7D28CF,$55AEAA75,$778A4826
  Data.l $A479BEE9,$3ECD31F4,$1BED6866,$2BED0BF6,$E273E19C,$0CBF518E,$6DF63BD7,$E82ECDCC,$3C95E6C7,$0CAFAE12
  Data.l $D30FEEAC,$4E3A07F1,$5670BECF,$6C6C0671,$2CEF78FB,$5E4AFE75,$D2CB084E,$EE2BE959,$4F92A8B0,$13F86056
  Data.l $2A8D4A30,$582DD38A,$D44B5C37,$4E6624CE,$37737C3A,$5CB9A354,$AFE0EF88,$AA9208DA,$596C7279,$6BB418AA
  Data.l $AA8A1B10,$1B377646,$0CBB88BF,$0449A2C6,$4A8B5470,$C265ABCE,$36289B4A,$2FCC32AA,$B95CEA30,$6B3C69A3
  Data.l $3BC4FCEA,$1A68C69A,$2CEB0AF3,$0684EB64,$C99E636B,$B3B872ED,$042BACCC,$B4C320CC,$6E5BA3F2,$65621F5B
  Data.l $652B230C,$69DBFA52,$C649065A,$5327A032,$C8A89EAA,$8D9D9B85,$63E2D9DE,$FA43CA5F,$999845DE,$150E62C1
  Data.l $895FB442,$2D173130,$487542A5,$5528D2C9,$B5AC3216,$12A59A15,$C04A579C,$2B487638,$80C7CD69,$00421261
  Data.l $C7C611F6,$1E68ADD0,$78AB2710,$0B521859,$CA68D688,$B2EB6EC7,$86BE3755,$882DD489,$04D4CC09,$49342BED
  Data.l $C9DCAD8D,$2CC3473F,$B136FE0E,$0F2D0A4A,$3C1BB503,$5D496C8C,$F1CDE046,$314A6E51,$7987F559,$60A7D60A
  Data.l $65C59CAE,$5FC16B34,$58338685,$825F252B,$B1239A48,$D54AC384,$14B3F6BE,$64A556A9,$46A90569,$41573730
  Data.l $4857FA46,$00C91D95,$7B7A4D47,$DCE1F16A,$9DA73AF9,$F613160E,$ACE198EA,$BD9C8064,$CB0DC755,$14D6A56D
  Data.l $4744DA71,$9C602DD7,$48DAB807,$880B19B1,$EAE44011,$662626D5,$43667762,$71580525,$0FD1E430,$03102206
  Data.l $20E833C5,$1B004A02,$0513B60E,$880671B5,$2F5661F3,$8C152304,$462BE073,$15AA3640,$32624F85,$8B37F252
  Data.l $13856103,$4CC9055A,$3133AAD4,$9B018C49,$1025B717,$DC2CB136,$4930C046,$C9964C85,$8413613A,$B48208D9
  Data.l $4CF1280D,$980C145C,$B3068185,$409A3123,$B018B6A4,$CAD4C113,$0E4CC464,$C1002256,$A1C53011,$61339AD0
  Data.l $1182031C,$1C40B203,$0117B80A,$6B303BB1,$0A1C7C64,$130911C3,$9C5E2029,$84621717,$5E74F87E,$7AA94687
  Data.l $A750F209,$44442401,$83A46073,$493EDAF1,$8EE21388,$CADEAA96,$0AEFB4C3,$22004B30,$00008811
  Data.b $00,$00
  secinspect_End: ; endlabel
EndDataSection
EDIT: Improved a litte bit

Re: Save and Restore Data media Sectors in windows

Posted: Thu Dec 29, 2011 11:05 pm
by netmaestro
Good work, it's interesting stuff indeed even if it's kind of scary. According to this: http://www.microsoft.com/download/en/de ... x?id=19470 Win7 doesn't seem to be a supported platform?

[edit] I downloaded it, it did install correctly on my Win7 system, so maybe that page was written before 7 was released.

Re: Save and Restore Data media Sectors in windows

Posted: Thu Dec 29, 2011 11:20 pm
by Psychophanta
netmaestro wrote:Good work, it's interesting stuff indeed even if it's kind of scary. According to this: http://www.microsoft.com/download/en/de ... x?id=19470 Win7 doesn't seem to be a supported platform?

[edit] I downloaded it, it did install correctly on my Win7 system, so maybe that page was written before 7 was released.
Yes! i forgot to say that this kind of tools must be taken very carefully with restoring sectors, it replaces data in your media devices, and if you restore sector 0, then your partitions , etc. will be invisible.
Use it only if you know what are you doing.

Well. after this, i must say you scary me netmaestro, because you seem to be everywhere, like god :p, just joking!

Well, i have no tested it in win 7 , but it is possible it works. I have not a win 7 to test , so if you have a USB memory or so to make tests, you can test it. Notice that if you backup sectors to a file first (to another media), then you can write it back, and it is safe.

Re: Save and Restore Data media Sectors in windows

Posted: Sun Jan 01, 2012 1:24 pm
by Psychophanta
Right,
not even that API does work in win7 :?