.386p
locals
public MB_FREE
_TEXT segment byte public use32 'CODE'
assume cs:_TEXT
MB_FREE:
push esi edi
mov eax,[esp+4+8]
mov di,[eax+8]
mov si,[eax+10]
mov ax,502h
int 31h
jc short @@00
mov ecx,[esp+4+8]
xor eax,eax
mov [ecx+4],eax
jmp short @@01
@@00:
movsx eax,ax
cmp ah,80h
je short @@01
mov eax,-32768
@@01:
pop edi esi
ret 4
_TEXT ends
end