# rFactor 2 (script 0.1.4) # RFCMP, MAS and other archives using the same format # script for QuickBMS http://quickbms.aluigi.org # original source code http://aluigi.org/papers/bms/rfactor2dec_dll.zip set MEMORY_FILE4 compressed "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" math RET = 0 math RFACTOR_RND_SEED = 0 #getdstring SIGN 16 # obfuscated "GMOTOR_MAS_2.90" idstring "\x66\x31\x05\x44\x20\x7D" goto 0x10 get KEY32 long get KEY64 long getdstring DATA1 32 getdstring DATA2 32 getdstring DATA3 32 getvarchr KEY32_SIGN DATA2 0 long getvarchr KEY64_SIGN DATA2 4 long callfunction GENERATE_KEY_DB 1 get SIZE long savepos BASE_OFF encryption calldll "MEMORY_FILE4 rfactor2_00475BD0_dll stdcall %RET% #INPUT# %SIZE% 0 %KEY32% %KEY64%" log MEMORY_FILE BASE_OFF SIZE math BASE_OFF += SIZE # no file encryption math FILE_ENCRYPT = 0 math FILE_KEY32 = 0 math FILE_KEY64 = 0 callfunction GET_KEY_DB 1 print "key %KEY32|x% %KEY64|x% | %FILE_KEY32|x% %FILE_KEY64|x%" if FILE_ENCRYPT == 0 encryption "" "" else # this log MEMORY_FILE3 0 0 putvarchr MEMORY_FILE3 0x80 0 math TMP = KEY32 math TMP &= 0xff if TMP < 0x40 math TMP += 0x40 endif putvarchr MEMORY_FILE3 0x34 TMP long putvarchr MEMORY_FILE3 0x38 KEY32 long putvarchr MEMORY_FILE3 0x3c KEY64 long putvarchr MEMORY_FILE3 0x40 FILE_KEY32 long putvarchr MEMORY_FILE3 0x44 FILE_KEY64 long encryption calldll "MEMORY_FILE4 rfactor2_00476460_dll stdcall %RET% %MEMORY_FILE3% #INPUT# %ZSIZE% 0 %FILE_KEY32% %FILE_KEY64%" endif get DUMMY long MEMORY_FILE get FILES longlong MEMORY_FILE for i = 0 < FILES get FLAGS long MEMORY_FILE getdstring NAME 228 MEMORY_FILE get OFFSET longlong MEMORY_FILE get SIZE longlong MEMORY_FILE get ZSIZE longlong MEMORY_FILE math OFFSET += BASE_OFF if FLAGS & 0x10 comtype zlib clog NAME OFFSET ZSIZE SIZE elif FLAGS & 0x10000 comtype yappy clog NAME OFFSET ZSIZE SIZE else log NAME OFFSET SIZE endif next i startfunction GENERATE_KEY_DB # file keys for rFactor2 # xor 0xD0C25BF9 # xor 0xABA62287 math i = 0 putarray 0 i 0 putarray 2 i 0xcfd9c9d0 putarray 1 i 0x3cdf9c62 math i += 1 putarray 0 i 0 putarray 2 i 0xb95e9560 putarray 1 i 0xfa9d3564 math i += 1 putarray 0 i 0 putarray 2 i 0x28ae57a9 putarray 1 i 0xf1bafd7c math i += 1 putarray 0 i 0 putarray 2 i 0x45c3652f putarray 1 i 0x9f3e61b3 math i += 1 putarray 0 i 0 putarray 2 i 0x45213be9 putarray 1 i 0x69c6ca9f math i += 1 putarray 0 i 0 putarray 2 i 0x13dbe30d putarray 1 i 0x80cfc16f math i += 1 putarray 0 i 0 putarray 2 i 0x4d310d89 putarray 1 i 0xaa400e4a math i += 1 putarray 0 i 0 putarray 2 i 0x47615f32 putarray 1 i 0xd8684b01 math i += 1 math KEY_DB_SIZE = i endfunction startfunction GET_KEY_DB math OK = 0 log MEMORY_FILE3 0 0 log MEMORY_FILE2 0 0 putvarchr MEMORY_FILE2 0x20 0 # if the decrypted KEY is the same of the one at offset 0x18, don't use file encryption putvarchr MEMORY_FILE3 0 KEY32 long putvarchr MEMORY_FILE3 4 KEY64 long calldll MEMORY_FILE4 "rfactor2_00476520_dll" stdcall "" MEMORY_FILE3 8 MEMORY_FILE2 0 getvarchr TMP32_SIGN MEMORY_FILE2 0 long getvarchr TMP64_SIGN MEMORY_FILE2 4 long if TMP32_SIGN == KEY32_SIGN if TMP64_SIGN == KEY64_SIGN math OK = 1 endif endif if OK == 0 math i = -1 do math TMP32 = KEY32 math TMP64 = KEY64 math i += 1 if i > 4000 # the limit is 1024 (plus the pre-built array) get NAME filename print "Error: file encryption key not found for %NAME%, contact me" cleanexit endif if i == KEY_DB_SIZE math RFACTOR_RND_SEED = 0x9F731BC7 endif if i >= KEY_DB_SIZE callfunction RFACTOR_RND 1 else getarray TMP_KEY32 2 i getarray TMP_KEY64 1 i endif math TMP32 ^= TMP_KEY32 putvarchr MEMORY_FILE3 0 TMP32 long math TMP64 ^= TMP_KEY64 putvarchr MEMORY_FILE3 4 TMP64 long calldll MEMORY_FILE4 "rfactor2_00476520_dll" stdcall "" MEMORY_FILE3 8 MEMORY_FILE2 0 getvarchr TMP32_SIGN MEMORY_FILE2 0 long getvarchr TMP64_SIGN MEMORY_FILE2 4 long if TMP32_SIGN == KEY32_SIGN if TMP64_SIGN == KEY64_SIGN math OK = 1 endif endif while OK == 0 math FILE_ENCRYPT = 1 math FILE_KEY32 = TMP_KEY32 math FILE_KEY64 = TMP_KEY64 endif endfunction startfunction DO_RANDOM math RND = RFACTOR_RND_SEED math RND *= 0x343fd math RND += 0x269ec3 math RFACTOR_RND_SEED = RND math RND u>> 0x10 math RND & 0x7fff endfunction startfunction RFACTOR_RND # 16ED918 (converted from long to byte) set MEMORY_FILE5 binary "\xb8\xa8\x8b\x07\x8a\x0e\xf2\x11\x68\xfb\xbc\xdb\x12\xd0\xb6\xb3\x9f\x69\x55\x5f\xc7\xca\x61\xad\x3c\x56\xc1\xdf\x46\x13\x28\x1c\x4b\x20\x3b\x75\xac\xe7\x3e\x9a\xb1\x8d\xe1\x6e\x6f\x14\xc0\x88\x97\x95\x6b\xb0\xd7\x64\x17\x30\xa4\xce\x66\x9e\x70\x03\x1e\xec\xe9\xde\x5a\xb2\x90\xa2\xba\x4a\x2a\xf8\x6d\xe6\x23\x59\x7a\xee\xf6\xda\x3a\x60\xb5\xfe\x06\x2b\xea\xd4\xe3\x72\x62\x27\xa1\x4c\x0b\x3d\x8f\x34\xeb\x15\x18\x39\xc5\x22\x58\x94\xf5\x42\xa3\xc2\x25\x87\x81\x48\x93\x02\xd6\xc9\x71\x7d\x35\xbd\xd3\x09\x9d\x7f\x53\xcd\xae\x21\x4e\x77\xe8\x43\xd1\xb9\xff\x33\xbb\xf7\x8c\xb4\xbf\xd9\xab\x4f\x4d\xe0\x6a\xd5\xf3\xd8\xc6\x08\x83\x1d\xfa\x05\x41\xcb\xd2\xf9\xc3\x84\x65\x40\x49\x54\xcc\xef\x0f\xa6\xa9\xaf\x5c\x91\x1a\x36\xbe\x01\x2f\x16\x1f\xa5\xfd\x45\x96\x52\x79\xe5\x10\x1b\x67\x63\x24\x32\x80\x9c\x2e\x47\x57\x2d\x8e\x7e\xe4\x78\xa0\x99\xdc\xb7\xfc\x76\xf4\x19\x3f\xaa\x5d\x04\x26\x7c\xf0\xf1\x37\xa7\xed\x86\xdd\x98\xc4\x82\x89\x31\x5b\x74\x0c\x92\x0d\x6c\x38\xcf\x51\x2c\x7b\x44\x50\x0a\x9b\x5e\x00\x73\x29\x85\xc8\xe2" set MEMORY_FILE6 binary "\x36\x2a\xc5\x70\x1a\x1b\xa8\xd0\x36\x33\xb8\xce\x36\xc5\x9f\xdc\x2a\x54\x6f\x8a\xd9\x18\xc2\x30\x41\xde\xbf\x3e\x9d\x6a\x9d\xfa\x31\x4f\x7c\xf6\x56\xd6\x82\x22\xdc\xfa\x3d\x8f\xf7\xba\xc6\x69\x13\x03\x67\x93\x01\x23\xe7\x42\xa0\xaf\x6a\xa5\xff\xd3\xf1\xb8\x7a\x6d\x34\xe7\xaf\x38\x9f\x7a\x6b\x14\x00\xc8\x31\xdd\xda\x97\x3b\x19\xf5\x0f\x81\xe2\x65\x85\xe0\xc2\x3b\x79\x51\x3f\xd2\xe2\x04\x7e\x4c\x99\x6d\x15\x65\x04\xa6\x00\x7a\x4d\xa0\x09\x9e\xb1\x4f\x3f\x27\xa7\x9c\x4a\x1b\xa4\xe0\x44\x34\xe8\x0e\x43\xfa\x97\x55\xc9\x53\x69\x3e\x9f\x3c\x66\x45\xd8\x62\x15\x70\x1b\xce\xd7\xa7\x25\xa0\xc6\x73\x4f\x2d\x74\x05\x63\x31\x49\x41\x31\xdb\x58\x40\xaa\xcf\x80\xbc\xae\x35\x99\x8f\x3e\x72\xfd\xdc\xf8\x80\x3e\xa5\x76\x97\xb8\x19\x5f\xfc\xf7\x4a\x9f\x0b\xb3\x1f\xdb\xb7\x28\xa9\x70\x11\xbd\xc2\x06\xd2\xd8\x2c\x9c\x31\xbd\x88\xa2\xba\xf1\xa2\x8a\x15\x14\x6f\xe5\x82\xed\xaa\x6f\xaf\xb6\x4e\xb6\xdf\x3c\x5d\x8d\x18\xa4\x0e\x83\xce\x47\x7b\xc2\xea\xd4\xbb\x5e\x11\x4e\xf7\x43\xf1\x4c\xbd\x8c\xd6\xa6\x13\xb4\x2f\x34\x60\xcf\x31\x4e\xb7\xbf\x2e\x8e\x8e\xbc\x61\xe5\x3e\x27\xf2\x6c\x88\xb4\xaf\x70\x96\xa1\xf7\xc3\x1b\x4d\x95\x65\x1b\xab\x7c\x07\xbb\x1e\x92\x77\x1e\xfb\xab\x84\xa6\x06\xfa\x97\xc0\xce\xe8\xbd\x29\x6e\x72\x14\x91\xc5\x9c\x00\x28\x61\x9a\xb5\x02\x8e\xb8\x2e\xc0\x60\xfd\x7d\x1d\x4b\xef\xa1\xd3\x0a\x45\xa1\xf3\xc5\x0f\x35\xe9\x0b\x13\xb2\x1f\xcb\xd4\x71\xa1\x44\x67\x21\xa5\x63\x04\x5a\x63\x66\xef\x32\x35\x6c\x17\x2d\x09\x50\x0d\x53\x76\x0d\xd3\xe8\x92\x82\x14\xec\x08\x2c\xde\xb1\xb4\x12\x77\x2f\xa9\x53\xad\x75\x41\xd2\x2e\x97\xac\xf0\xcd\xd6\xc4\xe5\x18\xa2\x8d\x13\xc2\xd0\x19\xad\x88\xb9\x22\xed\xff\x8c\xbd\x98\x02\xee\x72\xbd\x09\xa4\x22\xf8\x4a\x6b\x12\x0b\x0e\xbd\xc9\x50\x76\x3d\x44\xea\x5d\x59\x46\x39\x94\x83\x27\x37\x85\x32\x73\xb4\x5f\x29\xd6\x38\xdd\xa8\x99\x75\xd4\xd8\x90\x30\x19\x5f\xbb\x13\xf2\x71\xb5\x6f\xfd\x6c\x57\x59\x28\x07\xf9\x7c\x4f\x51\x77\x2f\x00\xc7\xd8\x31\xee\x29\x93\x7a\xba\xaa\x8e\xdb\xee\xa4\xdc\xfc\xb1\x48\x47\xc1\xc5\xa6\x67\x73\xd1\xd8\x11\xdb\xd5\x98\xa7\x45\x24\xb7\x14\x86\xf1\xb8\x4a\x6b\x68\xd8" set MEMORY_FILE7 binary "\xd0\xcf\xdf\x38\x80\xe2\x80\xc1\x2d\x73\xf4\x8c\x05\x61\xcc\xf5\xf3\x4a\x76\xab\x28\x37\x62\x8f\x53\x3f\x84\x2d\xf9\x39\x74\x1b\x26\x5b\xb3\x61\x82\x8c\x83\x02\x5e\xb8\x70\x7d\x4e\xb2\x01\x13\x82\x7f\xa1\x4b\xa0\x3f\x45\x62\x30\x4f\x3c\xf2\x0d\x73\x5e\xe9\xca\x79\xd5\xe1\xd3\x21\xf6\xab\x1a\x93\x96\xbc\x37\x29\x69\x31\xad\x6f\xd2\xa8\x0c\x53\xfd\x9c\xf0\x8a\x9e\xea\x9e\x21\xef\x92\xb3\x41\x50\xff\x1a\x6d\x50\x31\x63\x3a\x7c\xfd\xea\x3b\x51\xb9\x82\x42\xda\xf8\xfa\x95\xc3\x20\xd1\xde\x00\x5f\xb1\xc1\xcd\x10\x07\x27\x97\xea\x43\x09\x16\x32\x0f\x34\xb2\x48\xf8\xb5\x1b\x1e\x07\x93\xdb\xe8\xa4\xc9\x56\xd6\x45\x60\x00\xc4\xe1\x4a\x79\x59\xd1\x4f\x49\xc7\xcc\x6a\xed\x52\x5f\xa9\x06\xce\x00\xcb\xe4\x8e\x5c\xe6\x8f\xc3\x8c\x5d\x6e\x4b\xd8\x98\xa8\x96\x15\x65\x35\x6a\xd9\x5a\x2f\xc7\x9c\x05\xe6\xad\xf7\x2f\x38\xdb\x61\x44\xfa\x9f\xd8\xd4\x9a\xf0\x70\x1d\xd4\x10\xba\x65\xc9\x50\x50\x79\xc3\x0f\x0a\x25\x11\x2d\x66\xf3\xfd\xcc\x92\x87\x68\xaa\x9d\x4a\x57\x27\x93\xcc\x5c\x65\x27\x78\x2d\x7d\x46\x17\x6a\xa5\x94\xe3\xa6\x96\x00\xc4\xf3\x0c\xe3\x00\x0a\x9d\xcd\x39\x53\x90\xbc\xfc\xc8\x79\xba\x4e\x7a\xf5\xd0\x18\x2b\xe2\xde\x41\x01\x43\xd1\x87\x9f\xca\xe4\xe9\xa2\x87\x14\xab\x88\xfb\x29\xc1\x47\x58\xa9\xc6\x0b\x4a\xec\xe2\xff\xba\x84\x44\x52\x7f\xdf\x08\x1b\x15\x72\x5b\x82\x2d\x6b\x15\xa2\x76\xc1\x4f\x6e\x25\x3a\x9c\x49\x71\x53\x89\x35\x67\xd8\x44\x3b\xbf\x91\x2a\x55\x0a\xd2\x81\x22\x8c\x6a\x85\xaa\xff\xa6\x69\x05\x55\x86\xcd\x9c\x8a\xde\x44\x14\xeb\x30\x7f\x45\x5e\xd7\x08\xda\x93\xfe\x7c\x62\x9c\xb4\x75\xd3\x6a\xa5\xcf\x5b\xe0\x64\x35\xab\x70\x89\x02\x17\xd8\xc4\x0f\x15\x64\x0f\x3d\xa4\xe8\x3d\x2f\x01\x4b\xfa\xba\xb0\xa0\x5c\xc9\x64\xfa\xde\xd2\x6f\xc1\x85\x22\x91\x4a\xfa\x1c\x32\x82\xe8\xf4\x02\x14\x84\xe0\xfc\xd5\x62\x04\x2c\xff\xc7\xe0\x1e\x21\x18\x46\xc1\x49\xdd\x91\x88\x54\x1c\xcb\x79\x58\x9b\x5a\xd7\xe1\xd1\x21\x5a\x20\x17\x23\x8c\x92\x63\x0d\x8d\x74\xf9\x5b\x73\x07\x21\x71\xcb\x1c\x81\xe4\x04\x8d\x99\xcc\xd7\xb8\x92\xa3\x37\x56\x22\x8f\xe5\x03\x9b\x7a\xf7\x4f\xc7\xd0\xb6\xc1\x4a\x0e\x66\xa5\xad\x16\x08\xdf\x9e\xb5\x20\xc5" set MEMORY_FILE8 binary "\x5a\x69\xf2\x4c\xd3\x01\x55\xfa\xd2\x68\x63\x45\x61\x85\x19\x5b\x90\x8c\x98\xd0\x21\xf7\x2e\x4f\x80\xc8\xa2\xe8\x4d\x41\x9b\x7f\xd8\x98\x61\x47\x43\x94\x80\x5a\x02\x88\x0a\x9c\x97\xb8\x2d\x72\x71\xad\x9d\x19\x1f\x37\xd0\xe7\xcb\x76\xbe\xee\x35\xbf\x32\x9f\xb8\x91\x58\x46\xa3\x03\x2e\xbe\x5f\x36\x7f\xc2\x9f\x3a\xa6\xab\xb3\x99\x14\x92\x68\xbf\x2c\x27\xee\x32\x3f\x36\xf8\xbb\x06\xa5\xdf\x08\x7e\xa2\x6f\x30\x50\xc1\xac\xf8\xdc\x06\xb3\x4e\xa7\xd2\x6b\x25\xf5\x68\xb1\x11\x99\x39\xfa\xf5\x40\xa1\x43\x06\x9d\x5a\xdc\x18\xc2\x83\x6e\x2f\xf6\xab\xcf\xb9\xcf\x19\xd9\xcf\x6b\x45\x64\x55\x11\xd8\xa7\x46\xcb\x18\x7b\xbd\x58\x80\x26\xa0\xeb\x84\xe2\x78\xce\x70\x34\xeb\x24\xe3\x72\x0d\xca\x99\x93\xca\x01\x7c\x29\xc0\x3b\xff\x32\x59\x7e\xcb\xfc\xec\x0f\x57\xb4\xf8\x7c\x67\x33\x02\xfa\x61\x2a\x9c\x0c\xf0\x5e\xb9\xf3\x0d\xdf\x78\x64\x3a\x38\xd6\xdb\x13\x14\x9b\xae\x48\x88\x5d\xb1\x43\xb4\xf1\xd0\xa2\x95\x23\x82\x1a\x4b\x18\xa4\x8e\x4c\x6a\x32\x76\x82\x92\x15\xfe\xe2\x94\x0c\x9b\xfd\x13\xb1\x3e\x5e\xb3\x32\x79\xc2\xb0\xbf\x98\x6b\x14\x5f\xf9\x7c\xa4\x40\xb8\x5c\xd9\xe9\xc7\x80\x2b\x31\x4d\xf0\x4a\x2c\x90\xeb\xe0\xd6\x50\x3f\xe9\x75\x1b\xce\xff\xc1\xe6\x53\x36\x21\x45\x9c\xf9\xed\xe6\x33\x0a\x88\x92\xdb\x1b\x6a\x6a\xf0\x43\x2c\x00\x09\x57\xdc\xf0\xd2\x86\xd0\x36\xef\x35\xe3\xb4\xff\xac\x54\x5f\x0a\xe3\x67\xd5\x13\x07\x14\xe7\x77\xda\x89\x58\x46\x71\xcd\x7c\xc0\xc0\xda\x98\xc9\xbf\x25\x38\xd0\x38\xf7\x1c\x31\x48\x7b\xdd\x94\x8a\xae\x28\xd2\xa8\x8f\x92\xb4\xf7\x95\x68\xaf\xd9\x20\xc8\xf6\xae\x78\xd0\x33\x0f\xb3\x0d\x2d\x70\x18\xab\x87\xb3\x35\x6a\x10\x5b\x40\xa9\x2e\x2c\x5c\x80\x0f\x3b\xe4\x4d\x56\x99\x7f\xaf\x03\x5c\x9b\x78\xb1\xdb\x3f\x5f\x92\x16\x7f\xcd\x57\x4f\x47\x97\x7c\x07\x65\x1a\x91\xba\x1b\xe8\x31\xb8\xa6\xac\xd1\x4d\x10\x56\x35\x39\xec\x99\x81\xc4\x59\x3a\x9b\x7d\x2e\xd7\xce\xb0\x46\xa0\x0f\x93\x7a\x05\xda\x93\x70\xce\x7a\x99\x43\x00\x80\x59\xe6\xb4\x01\xac\x0f\xc1\x87\xb2\x65\xf3\xd4\x84\x59\xb9\x56\x9f\xed\x3b\x17\x28\x93\xca\x05\x96\x3b\x80\x31\x70\x5c\x29\xdd\xf8\x96\xba\xba\x9b\xd1\x4e\xcc\xb0\x0e\x73\x07\xb2\xc1\xe0" set MEMORY_FILE9 binary "\x71\x0d\xbc\x03\xd8\xd8\xef\x44\xe8\xd4\x50\x49\x5e\xb4\xa5\x89\xbd\x1b\xb2\x97\x51\x29\xc5\xf4\x62\x1b\x95\x0b\x64\x8d\x9b\x8b\xcf\xc2\x88\xdb\xda\xc8\x8f\x53\x74\xdb\x3b\x14\x7d\xcd\x86\x3c\x1e\xdc\xca\x96\x08\xaa\x51\xde\xff\xba\x83\x66\xb0\xa5\xde\x91\x7d\x22\x0b\x25\x03\xec\x48\xb8\xa7\xd5\x2e\xba\x68\x29\xa7\x40\xe5\xa2\xe9\xf4\xf0\x54\x47\x01\xdc\x18\x63\xfc\x97\xba\xcb\xd0\x62\xea\x51\x59\x65\x00\x14\x74\x4b\x87\x60\xf3\xeb\x24\xcc\x6b\x87\x62\xeb\x3b\x13\x7b\x92\x05\x4a\xe1\x1e\xc4\x95\xca\x50\xbf\x25\xf7\x17\x28\x39\x5e\x09\x5c\x3a\xcf\x54\x59\x48\xd5\x5b\xc5\xef\xa4\x11\x4b\xd0\xc9\x85\x6d\x16\xfb\x82\x42\x6f\x31\x8a\x62\xea\xff\x20\xbe\x43\x09\x9c\x61\xec\x52\x78\xb5\x72\x7b\xf0\xd5\x27\x18\x49\xa3\xf6\x1c\x42\x8f\x79\xc2\xe8\x24\x8a\x52\x9f\xea\xbd\xea\x22\x86\x47\x23\x1c\xfa\x4c\xf2\x99\xcb\xd6\xae\x7e\xbd\x4f\xc4\x60\x95\x06\xc8\x64\xec\x84\xe9\xfe\xf3\x17\xb4\x0f\x23\x19\xce\x0f\x23\x3d\x4f\x63\x04\x68\xda\xce\xb4\xb4\x77\xc8\x90\x2f\xc7\x20\xcf\xc5\x69\xab\x76\x48\x87\x3f\x89\xf7\xdf\x08\x4f\x71\x2d\xa8\xdb\xce\xb4\x87\x62\x1e\xbe\xa7\xb1\x82\x62\xd5\x88\xb8\xdc\x65\x95\xb2\xce\x0d\x7d\x4f\xb1\xbc\xbe\xb9\x9e\xbb\x01\xa5\x63\x6f\x2a\x19\x64\xa8\x79\x24\x18\xa9\x57\x53\x49\x6d\x45\x01\x83\x63\x3a\xb1\x4d\x1a\x24\x39\x59\x54\xb9\xee\x94\x8d\x7c\x20\x18\x62\xf3\x4f\xc1\xab\x1c\xc2\xaf\xb4\x5e\xa0\xc9\xaa\x06\x33\x0f\x3b\xea\xda\x96\x89\x62\x57\x26\x4c\x0e\x40\xc0\xd6\x78\x89\x0d\x51\x69\xeb\x11\x08\xdc\x2a\x0e\xf7\x2b\xfd\x1f\x42\xb1\xd4\xf7\x12\xdb\x3c\x89\x94\x8d\x80\x8d\xf3\xa3\x05\xbc\xd8\x48\xce\xb4\xc2\x00\xe2\x86\xbd\x7e\x2d\xb7\x16\xa4\x89\x3b\xf4\x1c\x0c\x45\x89\x54\x0d\xe3\xb9\x59\xef\xd2\x3e\xe9\xa3\x89\xb2\x17\xbf\x39\x5b\x1d\x03\x90\x0a\x23\x0d\xe5\x95\x6c\xed\xf2\x0a\x91\xae\x28\xa5\xf6\xeb\x3d\x87\x22\xce\x27\x49\x57\xc3\x10\xa9\x79\xb4\x08\x12\x12\x31\xf6\x33\x9a\x9f\x3d\x8b\x1a\xb2\xde\xdf\x3c\xdc\xf0\x69\x25\x64\x1b\xae\xa9\xcf\x30\xe2\x24\x25\x65\xd7\xdc\x20\x11\x79\x24\xb2\x86\xb8\x44\xbe\x98\xd3\x6f\x32\x5f\xab\x80\xed\xf4\x3a\x66\x4a\x6c\xe9\x3b\xe3\x04\x68\xd5\xc0\xc2\xe2\xb4" callfunction DO_RANDOM 1 math RND1 = RND math RND1 u>> 8 math RND1 & 0xff math RND2 = RND math RND2 & 0xff callfunction DO_RANDOM 1 math RND3 = RND math RND3 u>> 8 math RND3 & 0xff math RND4 = RND math RND4 & 0xff #print "RND %RND1|x% %RND2|x% %RND3|x% %RND4|x%" if RND4 & 1 getvarchr EAX MEMORY_FILE5 RND2 byte getvarchr ECX MEMORY_FILE5 RND3 byte math EAX *= 2 getvarchr ESI MEMORY_FILE6 EAX short getvarchr EAX MEMORY_FILE5 RND1 byte math EAX *= 2 getvarchr EAX MEMORY_FILE7 EAX short xmath ESI "(ESI << 0x10) | EAX" getvarchr EAX MEMORY_FILE5 RND4 byte else getvarchr EAX MEMORY_FILE5 RND4 byte math EAX *= 2 getvarchr ESI MEMORY_FILE6 EAX short getvarchr EAX MEMORY_FILE5 RND2 byte math EAX *= 2 getvarchr EAX MEMORY_FILE7 EAX short xmath ESI "(ESI << 0x10) | EAX" getvarchr EAX MEMORY_FILE5 RND3 byte getvarchr ECX MEMORY_FILE5 RND1 byte endif math EAX *= 2 getvarchr EAX MEMORY_FILE8 EAX short math ECX *= 2 getvarchr ECX MEMORY_FILE9 ECX short xmath EAX "(EAX << 0x10) | ECX" math TMP_KEY64 = ESI math TMP_KEY32 = EAX endfunction