Reverse Engineering for Beginners

(avery) #1

CHAPTER 53. WINDOWS 16-BIT CHAPTER 53. WINDOWS 16-BIT


loc_22: ; CODE XREF: string_compare+16j
mov ax, 1
jmp short loc_2B


loc_27: ; CODE XREF: string_compare+18j
inc bx
inc si
jmp short loc_12


loc_2B: ; CODE XREF: string_compare+12j
; string_compare+1Dj
pop si
pop bp
retn 4
string_compare endp


string_compare_far proc near ; CODE XREF: WinMain+18p


arg_0 = word ptr 4
arg_2 = word ptr 6
arg_4 = word ptr 8
arg_6 = word ptr 0Ah


push bp
mov bp, sp
push si
mov si, [bp+arg_0]
mov bx, [bp+arg_4]

loc_3A: ; CODE XREF: string_compare_far+35j
mov es, [bp+arg_6]
mov al, es:[bx]
mov es, [bp+arg_2]
cmp al, es:[si]
jz short loc_4C
xor ax, ax
jmp short loc_67


loc_4C: ; CODE XREF: string_compare_far+16j
mov es, [bp+arg_6]
cmp byte ptr es:[bx], 0
jz short loc_5E
mov es, [bp+arg_2]
cmp byte ptr es:[si], 0
jnz short loc_63


loc_5E: ; CODE XREF: string_compare_far+23j
mov ax, 1
jmp short loc_67


loc_63: ; CODE XREF: string_compare_far+2Cj
inc bx
inc si
jmp short loc_3A


loc_67: ; CODE XREF: string_compare_far+1Aj
; string_compare_far+31j
pop si
pop bp
retn 8
string_compare_far endp


remove_digits proc near ; CODE XREF: WinMain+1Fp


arg_0 = word ptr 4

Free download pdf