1#************************************************************************* 2# 3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4# 5# Copyright 2000, 2010 Oracle and/or its affiliates. 6# 7# OpenOffice.org - a multi-platform office productivity suite 8# 9# This file is part of OpenOffice.org. 10# 11# OpenOffice.org is free software: you can redistribute it and/or modify 12# it under the terms of the GNU Lesser General Public License version 3 13# only, as published by the Free Software Foundation. 14# 15# OpenOffice.org is distributed in the hope that it will be useful, 16# but WITHOUT ANY WARRANTY; without even the implied warranty of 17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18# GNU Lesser General Public License version 3 for more details 19# (a copy is included in the LICENSE file that accompanied this code). 20# 21# You should have received a copy of the GNU Lesser General Public License 22# version 3 along with OpenOffice.org. If not, see 23# <http://www.openoffice.org/license.html> 24# for a copy of the LGPLv3 License. 25# 26#***********************************************************************/ 27 28.intel_syntax 29 30.globl _DllMgr_call32 31.globl _DllMgr_callFp 32 33_DllMgr_call32: 34_DllMgr_callFp: 35 push ebp 36 mov ebp, esp 37 push esi 38 push edi 39 mov ecx, [ebp+16] 40 jecxz $1 41 sub esp, ecx 42 mov edi, esp 43 mov esi, [ebp+12] 44 shr ecx, 2 45 rep movsd 46$1: call DWORD PTR [ebp+8] 47 # for extra safety, do not trust esp after call (in case the Basic Declare 48 # signature is wrong): 49 mov edi, [ebp-8] 50 mov esi, [ebp-4] 51 mov esp, ebp 52 pop ebp 53 ret 12 54