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