Function at 0x438080
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4380a2
push str._NULL_Variant__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0x80070057
jmp 0x438547
mov eax, dword [ebp + 8]
test word [eax], 0x4000
jne 0x4380c1
push 0x5d40ac
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0x80070057
jmp 0x438547
mov eax, dword [ebp + 8]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
cmp eax, 0x4002
jl 0x4382e0
cmp eax, 0x4015
jg 0x4382e0
jmp dword [eax*4 + 0x5c387c]
mov eax, dword [ebp + 8]
movzx eax, word [eax]
and eax, 0x6000
cmp ax, 0x6000
jne 0x43851e
push 0x5d408a
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
movzx eax, word [eax + 0xc]
push eax
call fcn.00456bf0
add esp, 8
test eax, eax
je 0x43845d
mov eax, dword [0x6b0fc8]
mov eax, dword [eax + 8]
push eax
call fcn.0044f750
pop ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0044f090
pop ecx
push 0
call fcn.0044d020
pop ecx
push 0xffffffffffffffff
call fcn.00486bc0
pop ecx
mov word [ebp - 0x22], ax
call fcn.00451be0
call fcn.00488df0
push eax
call fcn.0048bf20
pop ecx
movzx eax, word [ebp - 0x22]
mov edx, dword [ebp + 8]
movzx edx, word [edx]
and edx, eax
cmp edx, eax
je 0x438392
push 0x2bb
push str.xHarbour.comxHarbour_OLEServer_sourceoleserver.c
mov eax, dword [ebp + 8]
movzx eax, word [eax]
push eax
movzx eax, word [ebp - 0x22]
push eax
push str.VT_ARRAY_vt_mismatch_type__p__p_in:__s__i___n
push 0
call fcn.00494e00
add esp, 0x18
mov eax, 0x80004005
jmp 0x438547
mov eax, dword [0x6b0fcc]
mov eax, dword [eax + 8]
push eax
call fcn.0044f750
pop ecx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0044f090
pop ecx
push 0
call fcn.0044d020
pop ecx
call fcn.00451be0
call fcn.00488df0
mov dword [ebp + 0xc], eax
movzx eax, word [ebp - 0x22]
cmp eax, 0x10
je 0x4383d2
cmp eax, 0x11
jne 0x43844b
mov eax, dword [ebp + 0xc]
test word [eax], 0x400
je 0x43844b
mov eax, dword [ebp + 0xc]
push eax
call fcn.004894a0
pop ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.004894c0
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x1c]
push eax
push 1
movzx eax, word [ebp - 0x22]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov dword [edx], eax
mov dword [ebp - 0x14], 0
jmp 0x43843e
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
add eax, edx
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jb 0x43841f
jmp 0x438545
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 8]
mov dword [ebp - 0x20], eax
jmp 0x438473
mov word [ebp - 0x22], 0xc
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
test word [eax], 0x8000
jne 0x43849c
push 0x2ee
push str.xHarbour.comxHarbour_OLEServer_sourceoleserver.c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
push eax
push str.Unexpected_type__wanted_HB_IT_ARRAY___p_in:__s__i___n
push 0
call fcn.00494e00
add esp, 0x14
mov eax, dword [ebp + 0xc]
push eax
call fcn.0048cd60
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x1c]
push eax
push 1
movzx eax, word [ebp - 0x22]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov dword [edx], eax
mov dword [ebp - 0x44], 0
jmp 0x438514
mov eax, dword [ebp - 0x44]
inc eax
push eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.0048d510
add esp, 8
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00439900
add esp, 8
mov eax, dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x44], eax
jb 0x4384d2
jmp 0x438545
push 0x304
push str.xHarbour.comxHarbour_OLEServer_sourceoleserver.c
mov eax, dword [ebp + 8]
movzx eax, word [eax]
push eax
push str.Unexpected_type__p_in:__s__i__n
push 0
call fcn.00494e00
add esp, 0x14
mov eax, 0x80004005
jmp 0x438547
xor eax, eax
mov esp, ebp
pop ebp
ret