Use of longest string in binary @ "mov eax, offset asc_70EC8" cseg01:000140DE loc_140DE: ; CODE XREF: D_DoomMain+657j cseg01:000140DE add edx, 8 ; a2 cseg01:000140E1 cmp edx, ecx cseg01:000140E3 jnz short loc_140C6 cseg01:000140E5 cseg01:000140E5 loc_140E5: ; CODE XREF: D_DoomMain+642j cseg01:000140E5 cmp devparm, 0 cseg01:000140EC jz short loc_140F8 cseg01:000140EE mov eax, offset asc_70EC8 ; "\n======================================"... cseg01:000140F3 call debugmessage cseg01:000140F8 cseg01:000140F8 loc_140F8: ; CODE XREF: D_DoomMain+60Cj cseg01:000140F8 ; D_DoomMain+674j cseg01:000140F8 cmp isregistered, 0 Call to M_ScreenShot from G_Ticker: cseg01:000161BB loc_161BB: ; CODE XREF: G_Ticker+58j cseg01:000161BB ; DATA XREF: cseg01:00016094o cseg01:000161BB call G_DoWorldDone cseg01:000161C0 jmp loc_160EF cseg01:000161C5 ; --------------------------------------------------------------------------- cseg01:000161C5 cseg01:000161C5 loc_161C5: ; CODE XREF: G_Ticker+58j cseg01:000161C5 ; DATA XREF: cseg01:00016098o cseg01:000161C5 call M_ScreenShot cseg01:000161CA mov gameaction, ebx cseg01:000161D0 jmp loc_160EF cseg01:000161D5 ; --------------------------------------------------------------------------- cseg01:000161D5 cseg01:000161D5 loc_161D5: ; CODE XREF: G_Ticker+4Bj cseg01:000161D5 mov edx, gametic cseg01:000161DB mov ebp, ticdup cseg01:000161E1 mov eax, edx P_Random: cseg01:0001A9E8 ; int __cdecl P_Random() cseg01:0001A9E8 P_Random proc near ; CODE XREF: G_DeathMatchSpawnPlayer:loc_16733p cseg01:0001A9E8 ; P_CheckMissileRange:loc_1EB1Fp ... cseg01:0001A9E8 mov eax, prndindex cseg01:0001A9ED inc eax cseg01:0001A9EE and eax, 0FFh cseg01:0001A9F3 mov prndindex, eax cseg01:0001A9F8 mov al, rndtable[eax] cseg01:0001A9FE cseg01:0001A9FE loc_1A9FE: cseg01:0001A9FE and eax, 0FFh cseg01:0001AA03 retn cseg01:0001AA03 P_Random endp M_ScreenShot routine: cseg01:0001AFBC ; =============== S U B R O U T I N E ======================================= cseg01:0001AFBC cseg01:0001AFBC cseg01:0001AFBC ; void __fastcall M_ScreenShot() cseg01:0001AFBC M_ScreenShot proc near ; CODE XREF: G_Ticker:loc_161C5p cseg01:0001AFBC cseg01:0001AFBC var_20 = byte ptr -20h cseg01:0001AFBC var_1A = byte ptr -1Ah cseg01:0001AFBC var_19 = byte ptr -19h cseg01:0001AFBC cseg01:0001AFBC push ebx cseg01:0001AFBD push ecx cseg01:0001AFBE push edx cseg01:0001AFBF push esi cseg01:0001AFC0 push edi cseg01:0001AFC1 sub esp, 0Ch cseg01:0001AFC4 mov ecx, screens+8 cseg01:0001AFCA mov edi, esp cseg01:0001AFCC mov eax, ecx ; a1 cseg01:0001AFCE mov esi, offset aStrife00_pcx ; "STRIFE00.pcx" cseg01:0001AFD3 call I_ReadScreen cseg01:0001AFD8 movsd cseg01:0001AFD9 movsd cseg01:0001AFDA movsd cseg01:0001AFDB movsb cseg01:0001AFDC xor ebx, ebx cseg01:0001AFDE mov esi, 0Ah cseg01:0001AFE3 cseg01:0001AFE3 loc_1AFE3: ; CODE XREF: M_ScreenShot+59j cseg01:0001AFE3 mov edx, ebx cseg01:0001AFE5 mov eax, ebx cseg01:0001AFE7 sar edx, 1Fh cseg01:0001AFEA idiv esi cseg01:0001AFEC add eax, 30h ; '0' cseg01:0001AFEF mov edx, ebx cseg01:0001AFF1 mov [esp+20h+var_1A], al cseg01:0001AFF5 sar edx, 1Fh cseg01:0001AFF8 mov eax, ebx cseg01:0001AFFA idiv esi cseg01:0001AFFC add edx, 30h ; '0' cseg01:0001AFFF mov eax, esp cseg01:0001B001 mov [esp+20h+var_19], dl cseg01:0001B005 xor edx, edx cseg01:0001B007 call access_ cseg01:0001B00C cmp eax, 0FFFFFFFFh cseg01:0001B00F jz short loc_1B017 cseg01:0001B011 inc ebx cseg01:0001B012 cmp ebx, 63h ; 'c' cseg01:0001B015 jle short loc_1AFE3 cseg01:0001B017 cseg01:0001B017 loc_1B017: ; CODE XREF: M_ScreenShot+53j cseg01:0001B017 cmp ebx, 64h ; 'd' cseg01:0001B01A jnz short loc_1B034 cseg01:0001B01C mov edx, consoleplayer cseg01:0001B022 mov eax, edx cseg01:0001B024 shl eax, 0Ah cseg01:0001B027 mov players.message[edx+eax], offset aAlreadyHave100 ; "Already have 100 shots..." cseg01:0001B032 jmp short loc_1B06F cseg01:0001B034 ; --------------------------------------------------------------------------- cseg01:0001B034 cseg01:0001B034 loc_1B034: ; CODE XREF: M_ScreenShot+5Ej cseg01:0001B034 mov eax, offset aPlaypal_2 ; "PLAYPAL" cseg01:0001B039 mov edx, 65h ; 'e' cseg01:0001B03E mov ebx, 140h cseg01:0001B043 call W_CacheLumpName cseg01:0001B048 push eax cseg01:0001B049 mov edx, ecx cseg01:0001B04B lea eax, [esp+24h+var_20] cseg01:0001B04F mov ecx, 0C8h ; '+' cseg01:0001B054 call WritePCXFile cseg01:0001B059 mov edx, consoleplayer cseg01:0001B05F mov eax, edx cseg01:0001B061 shl eax, 0Ah cseg01:0001B064 mov players.message[edx+eax], offset aStrifeByRogueE ; "STRIFE by Rogue entertainment" cseg01:0001B06F cseg01:0001B06F loc_1B06F: ; CODE XREF: M_ScreenShot+76j cseg01:0001B06F add esp, 0Ch cseg01:0001B072 pop edi cseg01:0001B073 pop esi cseg01:0001B074 pop edx cseg01:0001B075 pop ecx cseg01:0001B076 pop ebx cseg01:0001B077 retn cseg01:0001B077 M_ScreenShot endp cseg01:0001B077 Call to P_Random in P_SpawnMobj: cseg01:0002CC19 mov eax, [ebx+mobjinfo_t.reactiontime] cseg01:0002CC1C mov [ecx+mobj_t.reactiontime], eax cseg01:0002CC1F call P_Random cseg01:0002CC24 mov edx, eax cseg01:0002CC26 mov ebp, 8 cseg01:0002CC2B sar edx, 1Fh cseg01:0002CC2E idiv ebp This is the longest string I can find in the binary: dseg03:00070EC8 ; char asc_70EC8[] dseg03:00070EC8 asc_70EC8 db 0Ah ; DATA XREF: D_DoomMain+676o dseg03:00070EC8 db '=================================================================' dseg03:00070EC8 db '==========',0Ah dseg03:00070EC8 db 'ATTENTION: This version of STRIFE has extra files added to it.',0Ah dseg03:00070EC8 db ' You will not receive technical support for modified games' dseg03:00070EC8 db '.',0Ah dseg03:00070EC8 db '=================================================================' dseg03:00070EC8 db '==========',0Ah,0 dseg03:00070FE5 align 4