My high-end Sigi evaluator (Announce)
; SSHSIGI - dumbs (quoted), checks and reports "addon-EXE" Sigi, EOL's
; In : ESI - points to the Sigi (4 Byte's must be present)
; Out : BL - 0:invalid 1:PE 2:PX 3:LE 4:LX 5:NE (sucks) 6:COFF'ee
; Trashes : all except ESI
sshsigi:
push esi
call ssquot
mov ch, 4 ; 4 chars Sigi
call ssprintstringfix ; Trashes EAX and CH, preserves ESI and CL
call ssquot
lodsd ; Peek file Sigi
xchg edx, eax ; Drop file Sigi into EDX
call @f
db "PEPXLELXNE",$4C,1
@@: pope ecx
movntq eax, 0 ; High bits must be ZERO all the time
movntq ebx, 0 ; Pre'ASS'ume PE (will get INC'ed to 1)
sigi_desperate_search:
mov al, [ecx]
mov ah, [ecx+1]
cmp eax, edx
je short found_sigi
inc ebx ; INCNTQ BL
cmp bl, 6 ; 6 is now invalid, later COFF'ee
je short not_found_sigi
cmp bl, 4 ; 4 is now NE later LX
jne short @f
and edx, $0000'FFFF ; NE and COFF'ee are only 2 Byte's
@@: inc ecx
inc ecx
jmp short sigi_desperate_search
;---------------------------------
not_found_sigi:
call sshinvalid
mov bl, $FF ; Will get INC'ed to ZERO
jmp short hey_done_sigi
;-------------------------
found_sigi:
push eax ; Sigi in both EAX and EDX
call @f
db " recognized as ", 0
@@: pope edx
call ssprintedxa ; Trashing EAX and EDX
pope eax
cmp bl, 5 ; COFF'ee ???
je short got_the_coffee ; YES
call ssonecharal ; @
mov al, ah ; @ Display Sigi except for COFF'ee
call ssonecharal ; @
got_the_coffee:
mov ah, bl ; Can be 0 (PE) to 5 (COFF'ee), no "???" possible
call sshmultisigi ; Reduces jump distance
hey_done_sigi:
call sseol
pope esi
inc ebx ; !!!
ret
;----
sshmultisigi:
call @f
db 0, " AKA PE", 0, " Linear (WATT'com or OS'ama/2)", 0, 2
db " (sucks)", 0, "COFF'ee/DGJPP", 0
@@: pope esi
call ssmmultitext ; Updates ESI, trashes EAX
jmp ssprintesia ; Comment (not PE) or main name (COFF'ee only)
;-----------------
Preventig stupid questions about "where to download"
---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***
Complete thread:
- new PE v1.16 - Japheth, 11.07.2009, 17:42 (Announce)
- | new PE v1.16 | new BUG | - DOS386, 30.11.2009, 08:09
- | new PE v1.16 | new BUG | - Rugxulo, 02.12.2009, 00:19
- | new PE v1.16 | new BUG | - Japheth, 02.12.2009, 09:59
- | new PE v1.16 | new BUG | new competitor - DOS386, 23.12.2009, 09:17
- | new PE v1.16 | new BUG | new competitor - Japheth, 23.12.2009, 21:41
- | new PE v1.16 | new BUG | new competitor - DOS386, 24.12.2009, 09:26
- | new PE v1.16 | new BUG | new competitor - Japheth, 23.12.2009, 21:41
- | new PE v1.17 | BUG fixed | - Japheth, 13.01.2010, 22:02
- JPE and UPET improvements - DOS386, 27.01.2010, 13:08
- JPE and UPET improvements - Japheth, 27.01.2010, 17:25
- Fixed it !!! But next time, don't let morons write specific - DOS386, 15.02.2010, 09:03
- Fixed it !!! But next time, don't let morons write specific - Japheth, 17.02.2010, 08:24
- hex numbers / ordinals / hijack's - DOS386, 18.02.2010, 09:10
- Fixed it !!! But next time, don't let morons write specific - Japheth, 17.02.2010, 08:24
- UPET improvements about Exports - DOS386, 15.02.2010, 09:16
- Fixed it !!! But next time, don't let morons write specific - DOS386, 15.02.2010, 09:03
- JPE and UPET improvements - Japheth, 27.01.2010, 17:25
- My high-end Sigi evaluator - DOS386, 27.01.2010, 13:17
- JPE and UPET improvements - DOS386, 27.01.2010, 13:08
- | new PE v1.16 | new BUG | - Rugxulo, 02.12.2009, 00:19
- new PE v1.23 | 2013-Jun-20 - DOS386, 24.06.2013, 16:43
- new PE v1.23 | 2013-Jun-20 - Rugxulo, 24.06.2013, 19:12
- new PE v1.16 - Rugxulo, 24.06.2013, 20:56
- new PE v1.23 + OBJCONV 2.18 - DOS386, 25.06.2013, 09:39
- new PE v1.23 + OBJCONV 2.18 - Rugxulo, 11.08.2013, 04:21
- new PE v1.24 + OBJCONV 2.31 - Rugxulo, 14.11.2013, 00:00
- old PE v1.24 + new OBJCONV 2.32 - DOS386, 04.12.2013, 12:05
- new PE v1.24 + OBJCONV 2.31 - Rugxulo, 14.11.2013, 00:00
- new PE v1.23 + OBJCONV 2.18 - Rugxulo, 11.08.2013, 04:21
- new PE v1.23 + OBJCONV 2.18 - DOS386, 25.06.2013, 09:39
- | new PE v1.16 | new BUG | - DOS386, 30.11.2009, 08:09