Function at 0x4f58a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x58d6bf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0
call sub.MFC42.DLL_CString::CString_3
mov ebx, 1
push str.Fish
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], ebx
call sub.MFC42.DLL_CString::operator_3
xor eax, eax
mov esi, dword [esp + 0x40]
mov ax, word [esi]
cmp eax, 0x48
ja case.0x4f58fc.38
xor ecx, ecx
mov cl, byte [eax + 0x4f5de0]
jmp dword [ecx*4 + 0x4f5d44]
push str.NULL
jmp 0x4f5b49
movsx edx, word [esi + 8]
push edx
lea eax, [esp + 0xc]
push 0x613d68
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp case.0x4f58fc.38
mov ecx, dword [esi + 8]
lea edx, [esp + 8]
push ecx
push 0x613d64
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp case.0x4f58fc.38
fld dword [esi + 8]
sub esp, 8
lea eax, [esp + 0x10]
fstp qword [esp]
push 0x613d60
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
jmp case.0x4f58fc.38
fld qword [esi + 8]
sub esp, 8
lea ecx, [esp + 0x10]
fstp qword [esp]
push 0x613d60
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
jmp case.0x4f58fc.38
push esi
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_COleCurrency::operator
push 0x400
lea edx, [esp + 0x44]
push 0
push edx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_COleCurrency::Format
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 2
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x40]
mov byte [esp + 0x34], bl
call sub.MFC42.DLL_CString::CString
jmp case.0x4f58fc.38
push esi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_COleDateTime::operator
lea eax, [esp + 0x10]
push str._Y_m_d__H:_M
push eax
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_COleDateTime::Format
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 3
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x10]
mov byte [esp + 0x34], bl
call sub.MFC42.DLL_CString::CString
jmp case.0x4f58fc.38
mov ecx, dword [esi + 8]
push ecx
jmp 0x4f5b49
push str.VT_DISPATCH
jmp 0x4f5b49
push str.VT_ERROR
jmp 0x4f5b49
cmp word [esi + 8], 0
mov eax, str.TRUE
jne 0x4f5a30
mov eax, str.FALSE
mov esi, dword [esp + 0x3c]
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::CString_2
mov dword [esp + 0xc], ebx
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call sub.MFC42.DLL_CString::CString
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret 8
push str.VT_VARIANT
jmp 0x4f5b49
push str.VT_UNKNOWN
jmp 0x4f5b49
push str.VT_I1
jmp 0x4f5b49
xor edx, edx
lea eax, [esp + 8]
mov dl, byte [esi + 8]
push edx
push str.0x_02hX
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
jmp case.0x4f58fc.38
push str.VT_UI2
jmp 0x4f5b49
push str.VT_UI4
jmp 0x4f5b49
push str.VT_I8
jmp 0x4f5b49
push str.VT_UI8
jmp 0x4f5b49
push str.VT_INT
jmp 0x4f5b49
push str.VT_UINT
jmp 0x4f5b49
push str.VT_VOID
jmp 0x4f5b49
push str.VT_HRESULT
jmp 0x4f5b49
push str.VT_PTR
jmp 0x4f5b49
push str.VT_SAFEARRAY
jmp 0x4f5b49
push str.VT_CARRAY
jmp 0x4f5b49
push str.VT_USERDEFINED
jmp 0x4f5b49
push str.VT_LPSTR
jmp 0x4f5b49
push str.VT_LPWSTR
jmp 0x4f5b49
push str.VT_FILETIME
jmp 0x4f5b49
push str.VT_BLOB
jmp 0x4f5b49
push str.VT_STREAM
jmp 0x4f5b49
push str.VT_STORAGE
jmp 0x4f5b49
push str.VT_STREAMED_OBJECT
jmp 0x4f5b49
push str.VT_STORED_OBJECT
jmp 0x4f5b49
push str.VT_BLOB_OBJECT
jmp 0x4f5b49
push str.VT_CF
jmp 0x4f5b49
push str.VT_CLSID
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::operator_3
push edi
mov di, word [esi]
test edi, 0x2000
je 0x4f5b72
push str.Array_of
lea ecx, [esp + 0x10]
and edi, 0xdfff
call sub.MFC42.DLL_CString::operator_3
test edi, 0x4000
je 0x4f5b8e
push str.Pointer_to
lea ecx, [esp + 0x10]
and edi, 0xbfff
call sub.MFC42.DLL_CString::operator_1
cmp di, word [esi]
je case.0x4f5bae.39
and edi, 0xffff
cmp edi, 0x48
ja case.0x4f5bae.39
xor ecx, ecx
mov cl, byte [edi + 0x4f5ecc]
jmp dword [ecx*4 + 0x4f5e2c]
push str.VT_EMPTY
jmp 0x4f5d00
push str.VT_NULL
jmp 0x4f5d00
push str.VT_I2
jmp 0x4f5d00
push str.VT_I4
jmp 0x4f5d00
push str.VT_R4
jmp 0x4f5d00
push str.VT_R8
jmp 0x4f5d00
push str.VT_CY
jmp 0x4f5d00
push str.VT_DATE
jmp 0x4f5d00
push str.VT_BSTR
jmp 0x4f5d00
push str.VT_DISPATCH
jmp 0x4f5d00
push str.VT_ERROR
jmp 0x4f5d00
push str.VT_BOOL
jmp 0x4f5d00
push str.VT_VARIANT
jmp 0x4f5d00
push str.VT_UNKNOWN
jmp 0x4f5d00
push str.VT_I1
jmp 0x4f5d00
push str.VT_UI1
jmp 0x4f5d00
push str.VT_UI2
jmp 0x4f5d00
push str.VT_UI4
jmp 0x4f5d00
push str.VT_I8
jmp 0x4f5d00
push str.VT_UI8
jmp 0x4f5d00
push str.VT_INT
jmp 0x4f5d00
push str.VT_UINT
jmp 0x4f5d00
push str.VT_VOID
jmp 0x4f5d00
push str.VT_HRESULT
jmp 0x4f5d00
push str.VT_PTR
jmp 0x4f5d00
push str.VT_SAFEARRAY
jmp 0x4f5d00
push str.VT_CARRAY
jmp 0x4f5d00
push str.VT_USERDEFINED
jmp 0x4f5d00
push str.VT_LPSTR
jmp 0x4f5d00
push str.VT_LPWSTR
jmp 0x4f5d00
push str.VT_FILETIME
jmp 0x4f5d00
push str.VT_BLOB
jmp 0x4f5d00
push str.VT_STREAM
jmp 0x4f5d00
push str.VT_STORAGE
jmp 0x4f5d00
push str.VT_STREAMED_OBJECT
jmp 0x4f5d00
push str.VT_STORED_OBJECT
jmp 0x4f5d00
push str.VT_BLOB_OBJECT
jmp 0x4f5d00
push str.VT_CF
jmp 0x4f5d00
push str.VT_CLSID
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::operator_1
mov esi, dword [esp + 0x40]
lea edx, [esp + 0xc]
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::CString_4
lea ecx, [esp + 0xc]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x38], 0
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x30]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 8