Function at 0x4052d0
Capabilities:
Check mutex on windows
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x45857c]
push edi
test eax, eax
je 0x4052ea
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [ebp - 0x108]
push str.National_Instruments_LabWindows_CVI_CVI_Automation_Library__d
push eax
call sub.cvirte.dll_sprintf
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edi, eax
test edi, edi
jne 0x405326
mov eax, 0x8004020a
pop edi
mov esp, ebp
pop ebp
ret
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x45857c]
test eax, eax
je 0x40534d
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
push str.cviauto.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
mov dword [0x458200], eax
jne 0x405379
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x80040208
pop edi
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CA_VariantLong
push eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantInt
push edx
mov dword [0x45852c], eax
call esi
mov dword [0x45825c], eax
mov eax, dword [0x458200]
push str.CA_VariantLongLong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantShort
push ecx
mov dword [0x4584f8], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantBool
push edx
mov dword [0x458248], eax
call esi
mov dword [0x4583b4], eax
mov eax, dword [0x458200]
push str.CA_VariantFloat
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantDouble
push ecx
mov dword [0x458570], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantBSTR
push edx
mov dword [0x458204], eax
call esi
mov dword [0x458250], eax
mov eax, dword [0x458200]
push str.CA_VariantEmpty
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantNULL
push ecx
mov dword [0x4583f8], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantCurrency
push edx
mov dword [0x458398], eax
call esi
mov dword [0x458424], eax
mov eax, dword [0x458200]
push str.CA_VariantDate
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantDispatch
push ecx
mov dword [0x458508], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantIUnknown
push edx
mov dword [0x4581e4], eax
call esi
mov dword [0x4581a8], eax
mov eax, dword [0x458200]
push str.CA_VariantError
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantUChar
push ecx
mov dword [0x4583a4], eax
call esi
mov dword [0x458174], eax
mov edx, dword [0x458200]
push str.CA_VariantChar
push edx
call esi
mov dword [0x458224], eax
mov eax, dword [0x458200]
push str.CA_VariantUShort
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantULong
push ecx
mov dword [0x4583a0], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantUInt
push edx
mov dword [0x458468], eax
call esi
mov dword [0x4583e4], eax
mov eax, dword [0x458200]
push str.CA_VariantULongLong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_DefaultValueVariant
push ecx
mov dword [0x45832c], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasArray
push edx
mov dword [0x458290], eax
call esi
mov dword [0x4582ac], eax
mov eax, dword [0x458200]
push str.CA_VariantHasPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasLong
push ecx
mov dword [0x458534], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasInt
push edx
mov dword [0x458388], eax
call esi
mov dword [0x45819c], eax
mov eax, dword [0x458200]
push str.CA_VariantHasLongLong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasShort
push ecx
mov dword [0x4583b0], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasBool
push edx
mov dword [0x458384], eax
call esi
mov dword [0x4584f0], eax
mov eax, dword [0x458200]
push str.CA_VariantHasFloat
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasDouble
push ecx
mov dword [0x458444], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasCString
push edx
mov dword [0x4582bc], eax
call esi
mov dword [0x4581a0], eax
push str.CA_VariantHasBSTR
mov eax, dword [0x458200]
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasNull
push ecx
mov dword [0x458294], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasCurrency
push edx
mov dword [0x4583d0], eax
call esi
mov dword [0x45835c], eax
mov eax, dword [0x458200]
push str.CA_VariantHasDate
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasIUnknown
push ecx
mov dword [0x458418], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasDispatch
push edx
mov dword [0x458334], eax
call esi
mov dword [0x458370], eax
mov eax, dword [0x458200]
push str.CA_VariantHasObjHandle
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasUChar
push ecx
mov dword [0x4584b0], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasChar
push edx
mov dword [0x45830c], eax
call esi
mov dword [0x458458], eax
mov eax, dword [0x458200]
push str.CA_VariantHasUShort
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasULong
push ecx
mov dword [0x458264], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantHasUInt
push edx
mov dword [0x458524], eax
call esi
mov dword [0x4583cc], eax
mov eax, dword [0x458200]
push str.CA_VariantHasULongLong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantHasError
push ecx
mov dword [0x458528], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantIsEmpty
push edx
mov dword [0x458520], eax
call esi
mov dword [0x458258], eax
mov eax, dword [0x458200]
push str.CA_VariantSetLong
push eax
call esi
mov ecx, dword [0x458200]
mov dword [0x4581ac], eax
push str.CA_VariantSetInt
push ecx
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetLongLong
push edx
mov dword [0x4584dc], eax
call esi
mov dword [0x45837c], eax
mov eax, dword [0x458200]
push str.CA_VariantSetShort
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetBool
push ecx
mov dword [0x458434], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetFloat
push edx
mov dword [0x458164], eax
call esi
mov dword [0x4584b8], eax
mov eax, dword [0x458200]
push str.CA_VariantSetDouble
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetSafeArray
push ecx
mov dword [0x458354], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSet1DArray
push edx
mov dword [0x458378], eax
call esi
mov dword [0x458180], eax
mov eax, dword [0x458200]
push str.CA_VariantSet2DArray
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetBSTR
push ecx
mov dword [0x45853c], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetEmpty
push edx
mov dword [0x4582a8], eax
call esi
mov dword [0x458240], eax
mov eax, dword [0x458200]
push str.CA_VariantSetNULL
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetCurrency
push ecx
mov dword [0x45841c], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetDate
push edx
mov dword [0x45840c], eax
call esi
mov dword [0x458350], eax
mov eax, dword [0x458200]
push str.CA_VariantSetDispatch
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetIUnknown
push ecx
mov dword [0x4581d0], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetError
mov dword [0x458558], eax
push edx
call esi
mov dword [0x4584d4], eax
mov eax, dword [0x458200]
push str.CA_VariantSetUChar
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetChar
push ecx
mov dword [0x45826c], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetUShort
push edx
mov dword [0x458448], eax
call esi
mov dword [0x4584e8], eax
mov eax, dword [0x458200]
push str.CA_VariantSetULong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetUInt
push ecx
mov dword [0x4584a8], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetULongLong
push edx
mov dword [0x458208], eax
call esi
mov dword [0x45836c], eax
mov eax, dword [0x458200]
push str.CA_VariantSetObjHandle
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetCString
push ecx
mov dword [0x458318], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetLongPtr
push edx
mov dword [0x4584e4], eax
call esi
mov dword [0x458190], eax
mov eax, dword [0x458200]
push str.CA_VariantSetIntPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetLongLongPtr
push ecx
mov dword [0x458390], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetShortPtr
push edx
mov dword [0x458254], eax
call esi
mov dword [0x458500], eax
mov eax, dword [0x458200]
push str.CA_VariantSetBoolPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetFloatPtr
push ecx
mov dword [0x4581cc], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetDoublePtr
push edx
mov dword [0x45849c], eax
call esi
mov dword [0x4583a8], eax
mov eax, dword [0x458200]
push str.CA_VariantSetSafeArrayPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetBSTRPtr
push ecx
mov dword [0x4583f0], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetCurrencyPtr
push edx
mov dword [0x4583b8], eax
call esi
mov dword [0x4583e8], eax
mov eax, dword [0x458200]
push str.CA_VariantSetDatePtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetDispatchPtr
push ecx
mov dword [0x458454], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetIUnknownPtr
push edx
mov dword [0x458360], eax
call esi
mov dword [0x4584e0], eax
mov eax, dword [0x458200]
push str.CA_VariantSetErrorPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetUCharPtr
push ecx
mov dword [0x458408], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetCharPtr
push edx
mov dword [0x4584a4], eax
call esi
mov dword [0x458230], eax
mov eax, dword [0x458200]
push str.CA_VariantSetUShortPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetULongPtr
push ecx
mov dword [0x45850c], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantSetUIntPtr
push edx
mov dword [0x458410], eax
call esi
mov dword [0x458220], eax
mov eax, dword [0x458200]
push str.CA_VariantSetULongLongPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantSetVariantPtr
push ecx
mov dword [0x458194], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetType
push edx
mov dword [0x4581c8], eax
call esi
mov dword [0x458490], eax
mov eax, dword [0x458200]
push str.CA_VariantGetLong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetInt
push ecx
mov dword [0x458188], eax
call esi
mov dword [0x4584c8], eax
mov edx, dword [0x458200]
push str.CA_VariantGetLongLong
push edx
call esi
mov dword [0x458338], eax
mov eax, dword [0x458200]
push str.CA_VariantGetShort
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetBool
push ecx
mov dword [0x458470], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetFloat
push edx
mov dword [0x458314], eax
call esi
mov dword [0x4583d8], eax
mov eax, dword [0x458200]
push str.CA_VariantGetDouble
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetSafeArray
push ecx
mov dword [0x4582d4], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGet1DArray
push edx
mov dword [0x45842c], eax
call esi
mov dword [0x4582e0], eax
mov eax, dword [0x458200]
push str.CA_VariantGet2DArray
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGet1DArrayBuf
push ecx
mov dword [0x458304], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGet2DArrayBuf
push edx
mov dword [0x458530], eax
call esi
mov dword [0x458364], eax
mov eax, dword [0x458200]
push str.CA_VariantGetArrayNumDims
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGet1DArraySize
push ecx
mov dword [0x4583bc], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGet2DArraySize
push edx
mov dword [0x458298], eax
call esi
mov dword [0x458480], eax
mov eax, dword [0x458200]
push str.CA_VariantGetBSTR
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetCurrency
push ecx
mov dword [0x45833c], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetDate
push edx
mov dword [0x45844c], eax
call esi
mov dword [0x458488], eax
push str.CA_VariantGetDispatch
mov eax, dword [0x458200]
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetIUnknown
push ecx
mov dword [0x458420], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetError
push edx
mov dword [0x458550], eax
call esi
mov dword [0x4581ec], eax
mov eax, dword [0x458200]
push str.CA_VariantGetUChar
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetChar
push ecx
mov dword [0x458498], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetUShort
push edx
mov dword [0x458474], eax
call esi
mov dword [0x4584c0], eax
mov eax, dword [0x458200]
push str.CA_VariantGetULong
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetUInt
push ecx
mov dword [0x4582ec], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetULongLong
push edx
mov dword [0x4581bc], eax
call esi
mov dword [0x4584d0], eax
mov eax, dword [0x458200]
push str.CA_VariantGetObjHandle
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetCStringLen
push ecx
mov dword [0x458368], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetCStringBuf
push edx
mov dword [0x458340], eax
call esi
mov dword [0x45821c], eax
mov eax, dword [0x458200]
push str.CA_VariantGetCString
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetLongPtr
push ecx
mov dword [0x458478], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetIntPtr
push edx
mov dword [0x4583ac], eax
call esi
mov dword [0x458450], eax
mov eax, dword [0x458200]
push str.CA_VariantGetLongLongPtr
push eax
call esi
mov ecx, dword [0x458200]
mov dword [0x4583d4], eax
push str.CA_VariantGetShortPtr
push ecx
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetBoolPtr
push edx
mov dword [0x458218], eax
call esi
mov dword [0x458574], eax
mov eax, dword [0x458200]
push str.CA_VariantGetFloatPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetDoublePtr
push ecx
mov dword [0x4581dc], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetSafeArrayPtr
push edx
mov dword [0x4582a4], eax
call esi
mov dword [0x4581d8], eax
mov eax, dword [0x458200]
push str.CA_VariantGetBSTRPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetCurrencyPtr
push ecx
mov dword [0x4582e4], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetDatePtr
push edx
mov dword [0x4581d4], eax
call esi
mov dword [0x4584cc], eax
mov eax, dword [0x458200]
push str.CA_VariantGetDispatchPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetIUnknownPtr
push ecx
mov dword [0x4584ac], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetErrorPtr
push edx
mov dword [0x458280], eax
call esi
mov dword [0x4581e0], eax
mov eax, dword [0x458200]
push str.CA_VariantGetUCharPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetCharPtr
push ecx
mov dword [0x458348], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetUShortPtr
push edx
mov dword [0x4583c8], eax
call esi
mov dword [0x45843c], eax
mov eax, dword [0x458200]
push str.CA_VariantGetULongPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantGetUIntPtr
push ecx
mov dword [0x4582f8], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantGetULongLongPtr
mov dword [0x4582f4], eax
push edx
call esi
mov dword [0x458514], eax
mov eax, dword [0x458200]
push str.CA_VariantGetVariantPtr
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_VariantConvertToType
push ecx
mov dword [0x458234], eax
call esi
mov edx, dword [0x458200]
push str.CA_VariantCopy
push edx
mov dword [0x4582e8], eax
call esi
mov dword [0x4583ec], eax
mov eax, dword [0x458200]
push str.CA_VariantClear
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_CStringToBSTR
push ecx
mov dword [0x45831c], eax
call esi
mov edx, dword [0x458200]
push str.CA_BSTRGetCString
push edx
mov dword [0x4582c8], eax
call esi
mov dword [0x45838c], eax
mov eax, dword [0x458200]
push str.CA_BSTRGetCStringBuf
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_BSTRGetCStringLen
push ecx
mov dword [0x458320], eax
call esi
mov edx, dword [0x458200]
push str.CA_FreeMemory
push edx
mov dword [0x458238], eax
call esi
mov dword [0x45845c], eax
mov eax, dword [0x458200]
push str.CA_FreeBSTR
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_Array1DToSafeArray
push ecx
mov dword [0x458578], eax
call esi
mov edx, dword [0x458200]
push str.CA_Array2DToSafeArray
push edx
mov dword [0x4584b4], eax
call esi
mov dword [0x458358], eax
mov eax, dword [0x458200]
push str.CA_SafeArrayTo1DArray
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_SafeArrayTo2DArray
push ecx
mov dword [0x458324], eax
call esi
mov edx, dword [0x458200]
push str.CA_SafeArrayTo1DArrayBuf
push edx
mov dword [0x458184], eax
call esi
mov dword [0x458278], eax
mov eax, dword [0x458200]
push str.CA_SafeArrayTo2DArrayBuf
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_SafeArrayTo1DArrayEx
push ecx
mov dword [0x4583e0], eax
call esi
mov edx, dword [0x458200]
push str.CA_SafeArrayTo2DArrayEx
push edx
mov dword [0x458414], eax
call esi
mov dword [0x458484], eax
mov eax, dword [0x458200]
push str.CA_SafeArrayTo1DArrayBufEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_SafeArrayTo2DArrayBufEx
push ecx
mov dword [0x4581f0], eax
call esi
mov edx, dword [0x458200]
push str.CA_SafeArrayGetNumDims
push edx
mov dword [0x4584c4], eax
call esi
mov dword [0x45820c], eax
mov eax, dword [0x458200]
push str.CA_SafeArrayGet1DSize
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_SafeArrayGet2DSize
push ecx
mov dword [0x45855c], eax
call esi
mov edx, dword [0x458200]
push str.CA_SafeArrayDestroy
push edx
mov dword [0x458328], eax
call esi
mov dword [0x458344], eax
mov eax, dword [0x458200]
push str.CA_GetDispatchFromObjHandle
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_GetInterfaceFromObjHandle
push ecx
mov dword [0x458494], eax
call esi
mov edx, dword [0x458200]
push str.CA_DisplayErrorInfo
push edx
mov dword [0x45848c], eax
call esi
mov dword [0x458268], eax
mov eax, dword [0x458200]
push str.CA_GetAutomationErrorString
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_FillErrorInfo
push ecx
mov dword [0x458554], eax
call esi
mov edx, dword [0x458200]
push str.CA_FillErrorInfoEx
push edx
mov dword [0x458244], eax
call esi
mov dword [0x458284], eax
mov eax, dword [0x458200]
push str.CA_SetLocale
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_GetLocale
push ecx
mov dword [0x458374], eax
call esi
mov dword [0x458460], eax
mov edx, dword [0x458200]
push str.CA_GetSupportForMultithreading
push edx
call esi
mov dword [0x45828c], eax
mov eax, dword [0x458200]
push str.CA_SetSupportForMultithreading
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_SetIsContainerObject
push ecx
mov dword [0x458504], eax
call esi
mov edx, dword [0x458200]
push str.CA_GetIsContainerObject
push edx
mov dword [0x4582cc], eax
call esi
mov dword [0x45839c], eax
mov eax, dword [0x458200]
push str.CA_SetPanelAndCtrlIDs
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_GetPanelAndCtrlIDs
push ecx
mov dword [0x458310], eax
call esi
mov edx, dword [0x458200]
push str.CA_GetActiveObjectByClassId
push edx
mov dword [0x4582f0], eax
call esi
mov dword [0x458564], eax
mov eax, dword [0x458200]
push str.CA_GetActiveObjectByClassIdEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_GetActiveObjectByProgId
push ecx
mov dword [0x4581f8], eax
call esi
mov edx, dword [0x458200]
push str.CA_GetActiveObjectByProgIdEx
push edx
mov dword [0x4584fc], eax
call esi
mov dword [0x458440], eax
mov eax, dword [0x458200]
push str.CA_CreateObjectByClassId
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_CreateObjectByClassIdEx
push ecx
mov dword [0x458160], eax
call esi
mov edx, dword [0x458200]
push str.CA_CreateObjectByProgId
push edx
mov dword [0x458464], eax
call esi
mov dword [0x4582dc], eax
mov eax, dword [0x458200]
push str.CA_CreateObjectByProgIdEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_LoadObjectFromFile
push ecx
mov dword [0x458260], eax
call esi
mov edx, dword [0x458200]
push str.CA_LoadObjectFromFileEx
push edx
mov dword [0x45818c], eax
call esi
mov dword [0x458168], eax
push str.CA_LoadObjectFromFileByClassId
mov eax, dword [0x458200]
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_LoadObjectFromFileByClassIdEx
push ecx
mov dword [0x458430], eax
call esi
mov edx, dword [0x458200]
push str.CA_LoadObjectFromFileByProgId
push edx
mov dword [0x458270], eax
call esi
mov dword [0x4583dc], eax
mov eax, dword [0x458200]
push str.CA_LoadObjectFromFileByProgIdEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_CreateObjHandleFromIDispatch
push ecx
mov dword [0x4582c4], eax
call esi
mov edx, dword [0x458200]
push str.CA_CreateObjHandleFromInterface
push edx
mov dword [0x458404], eax
call esi
mov dword [0x45834c], eax
mov eax, dword [0x458200]
push str.CA_DuplicateObjHandle
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_DiscardObjHandle
push ecx
mov dword [0x4584ec], eax
call esi
mov edx, dword [0x458200]
push str.CA_MethodInvoke
push edx
mov dword [0x4584d8], eax
call esi
mov dword [0x4583f4], eax
mov eax, dword [0x458200]
push str.CA_MethodInvokeV
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_PropertyGet
push ecx
mov dword [0x458560], eax
call esi
mov edx, dword [0x458200]
push str.CA_PropertySet
push edx
mov dword [0x4582fc], eax
call esi
mov dword [0x458428], eax
mov eax, dword [0x458200]
push str.CA_PropertySetV
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_PropertySetByRef
push ecx
mov dword [0x4581c0], eax
call esi
mov edx, dword [0x458200]
push str.CA_PropertySetByRefV
push edx
mov dword [0x4582d8], eax
call esi
mov dword [0x4581c4], eax
mov eax, dword [0x458200]
push str.CA_InvokeHelperV
push eax
call esi
mov ecx, dword [0x458200]
mov dword [0x45822c], eax
push str.CA_InvokeHelper
push ecx
call esi
mov edx, dword [0x458200]
push str.CA_MethodInvokeEx
push edx
mov dword [0x45827c], eax
call esi
mov dword [0x4581a4], eax
mov eax, dword [0x458200]
push str.CA_MethodInvokeVEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_PropertyGetEx
push ecx
mov dword [0x458538], eax
call esi
mov edx, dword [0x458200]
push str.CA_PropertySetEx
push edx
mov dword [0x458300], eax
call esi
mov dword [0x4581f4], eax
mov eax, dword [0x458200]
push str.CA_PropertySetVEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_PropertySetByRefEx
push ecx
mov dword [0x458330], eax
call esi
mov edx, dword [0x458200]
push str.CA_PropertySetByRefVEx
push edx
mov dword [0x4584f4], eax
call esi
mov dword [0x4581e8], eax
mov eax, dword [0x458200]
push str.CA_InvokeHelperVEx
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_InvokeHelperEx
push ecx
mov dword [0x4582c0], eax
call esi
mov edx, dword [0x458200]
push str.CA_InitActiveXThreadStyleForCurrentThread
push edx
mov dword [0x458308], eax
call esi
mov dword [0x458178], eax
mov eax, dword [0x458200]
push str.CA_AllocMemory
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_FreeUnusedServers
push ecx
mov dword [0x458380], eax
call esi
mov edx, dword [0x458200]
push str.CA_DiscardAllObjectHandles
push edx
mov dword [0x458198], eax
call esi
mov dword [0x4581b8], eax
mov eax, dword [0x458200]
push str.CA_RegisterEventCallback
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_UnregisterEventCallback
push ecx
mov dword [0x458400], eax
call esi
mov edx, dword [0x458200]
push str.CA_UnregisterAllEventCallbacks
mov dword [0x458394], eax
push edx
call esi
mov dword [0x4582d0], eax
mov eax, dword [0x458200]
push str.CA_EnableEventsForServerObject
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_GetEventCallback
push ecx
mov dword [0x458210], eax
call esi
mov edx, dword [0x458200]
push str.CA_InitActiveXServer
push edx
mov dword [0x4581b0], eax
call esi
mov dword [0x45823c], eax
mov eax, dword [0x458200]
push str.CA_CloseActiveXServer
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerCreateObject
push ecx
mov dword [0x458510], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerAggregateObject
push edx
mov dword [0x4582a0], eax
call esi
mov dword [0x4584a0], eax
mov eax, dword [0x458200]
push str.CA_ServerSetGlobalData
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerGetGlobalData
push ecx
mov dword [0x4581b4], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerReleaseGlobalData
push edx
mov dword [0x458228], eax
call esi
mov dword [0x458568], eax
mov eax, dword [0x458200]
push str.CA_ServerSetObjData
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerGetObjData
push ecx
mov dword [0x4583c4], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerReleaseObjData
push edx
mov dword [0x45851c], eax
call esi
mov dword [0x4582b8], eax
mov eax, dword [0x458200]
push str.CA_ServerGetObjHandleFromIface
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerGetIfaceFromObjHandle
push ecx
mov dword [0x4583fc], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerLockActiveObject
push edx
mov dword [0x458438], eax
call esi
mov dword [0x458214], eax
mov eax, dword [0x458200]
push str.CA_ServerUnlockActiveObject
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerDestroyActiveObject
push ecx
mov dword [0x45816c], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerSetErrorInfo
push edx
mov dword [0x45817c], eax
call esi
mov dword [0x4581fc], eax
mov eax, dword [0x458200]
push str.CA_ServerGetEventObjHandles
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerReleaseEventObjHandles
push ecx
mov dword [0x458170], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerDllGetClassObject
push edx
mov dword [0x45856c], eax
call esi
mov dword [0x45847c], eax
mov eax, dword [0x458200]
push str.CA_ServerDllCanUnloadNow
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerDllRegisterServer
push ecx
mov dword [0x4582b0], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerDllUnregisterServer
push edx
mov dword [0x4583c0], eax
call esi
mov dword [0x4582b4], eax
mov eax, dword [0x458200]
push str.CA_ServerQueryInterface
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerAddRef
push ecx
mov dword [0x45846c], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerRelease
push edx
mov dword [0x45829c], eax
call esi
mov dword [0x4584bc], eax
mov eax, dword [0x458200]
push str.CA_ServerGetTypeInfoCount
push eax
call esi
mov ecx, dword [0x458200]
push str.CA_ServerGetTypeInfo
push ecx
mov dword [0x458288], eax
call esi
mov edx, dword [0x458200]
push str.CA_ServerGetIDsOfNames
push edx
mov dword [0x458274], eax
call esi
mov dword [0x458518], eax
mov eax, dword [0x458200]
push str.CA_ServerInvoke
push eax
call esi
push edi
mov dword [0x45824c], eax
mov dword [0x45857c], 1
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret