Function at 0x5f499e72
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f4a9575
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x384
push ebx
push esi
push edi
mov dword [ebp - 0x390], ecx
push 0x35
push str.docmapi.cpp
mov eax, dword [ebp - 0x390]
push eax
call sym.MFC42D.DLL_Ordinal_1042
cmp dword [0x5f4cd9b8], 0
jne 0x5f499ec6
push 0x36
push str.docmapi.cpp
call sym.MFC42D.DLL_Ordinal_1041
test eax, eax
je 0x5f499ec6
int3
xor ecx, ecx
test ecx, ecx
jne 0x5f499eac
lea ecx, [ebp - 0x10]
call sym.MFC42D.DLL_Ordinal_527
mov dword [ebp - 4], 0
mov ecx, 0x5f4cff60
call fcn.5f496be0
mov dword [ebp - 0x25c], eax
mov edx, dword [ebp - 0x25c]
cmp dword [edx + 4], 0
jne 0x5f499f0b
push str.MAPI32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [ebp - 0x25c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x25c]
cmp dword [edx + 4], 0
jne 0x5f499f39
push 0xffffffffffffffff
push 0
push 0xf190
call sym.MFC42D.DLL_Ordinal_1135
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call sym.MFC42D.DLL_Ordinal_705
jmp 0x5f49a369
mov eax, dword [ebp - 0x25c]
cmp dword [eax + 4], 0
jne 0x5f499f56
push 0x43
push str.docmapi.cpp
call sym.MFC42D.DLL_Ordinal_1041
test eax, eax
je 0x5f499f56
int3
xor ecx, ecx
test ecx, ecx
jne 0x5f499f39
push str.MAPISendMail
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
jne 0x5f499fa2
push 0xffffffffffffffff
push 0
push 0xf191
call sym.MFC42D.DLL_Ordinal_1135
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call sym.MFC42D.DLL_Ordinal_705
jmp 0x5f49a369
cmp dword [ebp - 0x37c], 0
jne 0x5f499fbc
push 0x4c
push str.docmapi.cpp
call sym.MFC42D.DLL_Ordinal_1041
test eax, eax
je 0x5f499fbc
int3
xor ecx, ecx
test ecx, ecx
jne 0x5f499fa2
mov dword [ebp - 0x220], 0
mov ecx, dword [ebp - 0x390]
add ecx, 0x24
call sym.MFC42D.DLL_Ordinal_3355
test eax, eax
jne 0x5f499ff7
mov edx, dword [ebp - 0x390]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x390]
call dword [eax + 0x60]
test eax, eax
je 0x5f49a0e7
lea ecx, [ebp - 0x21c]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x5f49a01e
push 0x54
push str.docmapi.cpp
call sym.MFC42D.DLL_Ordinal_1041
test eax, eax
je 0x5f49a01e
int3
xor edx, edx
test edx, edx
jne 0x5f499ff7
lea eax, [ebp - 0x360]
push eax
push 0
push 0x5f4b85b0
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
jne 0x5f49a054
push 0x55
push str.docmapi.cpp
call sym.MFC42D.DLL_Ordinal_1041
test eax, eax
je 0x5f49a054
int3
xor edx, edx
test edx, edx
jne 0x5f49a024
mov eax, dword [ebp - 0x390]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x390]
call dword [edx + 0x60]
mov dword [ebp - 0x380], eax
push 0
lea eax, [ebp - 0x360]
push eax
mov ecx, dword [ebp - 0x390]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x390]
call dword [edx + 0xa0]
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x380]
push eax
mov ecx, dword [ebp - 0x390]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x390]
call dword [edx + 0x64]
cmp dword [ebp - 0x384], 0
jne 0x5f49a0db
push 0x5f4b857c
push 0x5f4abab0
call sym.MFC42D.DLL_Ordinal_1179
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call sym.MFC42D.DLL_Ordinal_705
jmp 0x5f49a369
mov dword [ebp - 0x220], 1
jmp 0x5f49a108
push 0x104
mov ecx, dword [ebp - 0x390]
add ecx, 0x24
call sym.MFC42D.DLL_Ordinal_880
push eax
lea eax, [ebp - 0x360]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov ecx, dword [ebp - 0x390]
add ecx, 0x24
call sym.MFC42D.DLL_Ordinal_3355
test eax, eax
jne 0x5f49a13f
push 0x104
lea ecx, [ebp - 0x114]
push ecx
mov ecx, dword [ebp - 0x390]
add ecx, 0x24
call sym.MFC42D.DLL_Ordinal_880
push eax
call sym.MFC42D.DLL_Ordinal_1093
jmp 0x5f49a1e4
push 0x104
mov ecx, dword [ebp - 0x390]
add ecx, 0x20
call sym.MFC42D.DLL_Ordinal_880
push eax
lea edx, [ebp - 0x114]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 0x2e
mov ecx, dword [ebp - 0x390]
add ecx, 0x20
call sym.MFC42D.DLL_Ordinal_2127
cmp eax, 0xffffffff
jne 0x5f49a1e4
lea ecx, [ebp - 0x38c]
call sym.MFC42D.DLL_Ordinal_492
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x390]
call sym.MFC42D.DLL_Ordinal_2447
mov dword [ebp - 0x388], eax
cmp dword [ebp - 0x388], 0
je 0x5f49a1d5
push 4
lea eax, [ebp - 0x38c]
push eax
mov ecx, dword [ebp - 0x388]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x388]
call dword [edx + 0x6c]
test eax, eax
je 0x5f49a1d5
lea ecx, [ebp - 0x38c]
call sym.MFC42D.DLL_Ordinal_880
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38c]
call sym.MFC42D.DLL_Ordinal_684
push 0x18
push 0
lea ecx, [ebp - 0x378]
push ecx
call sub.MSVCRTD.dll_memset
add esp, 0xc
mov dword [ebp - 0x370], 0xffffffff
lea edx, [ebp - 0x360]
mov dword [ebp - 0x36c], edx
lea eax, [ebp - 0x114]
mov dword [ebp - 0x368], eax
push 0x30
push 0
lea ecx, [ebp - 0x258]
push ecx
call sub.MSVCRTD.dll_memset
add esp, 0xc
mov dword [ebp - 0x230], 1
lea edx, [ebp - 0x378]
mov dword [ebp - 0x22c], edx
push 0
call sym.MFC42D.DLL_Ordinal_1087
mov ecx, eax
call sym.MFC42D.DLL_Ordinal_2059
lea eax, [ebp - 0x224]
push eax
push 0
call sym.MFC42D.DLL_Ordinal_2996
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
call sym.MFC42D.DLL_Ordinal_4586
push 0
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x228]
mov edx, dword [ecx + 0x28]
or edx, 4
mov eax, dword [ebp - 0x228]
mov dword [eax + 0x28], edx
push 0
push 9
lea ecx, [ebp - 0x258]
push ecx
mov ecx, dword [ebp - 0x228]
call sym.MFC42D.DLL_Ordinal_2995
push eax
push 0
call dword [ebp - 0x37c]
mov dword [ebp - 0x118], eax
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov edx, dword [ebp - 0x228]
mov eax, dword [edx + 0x28]
and al, 0xfb
mov ecx, dword [ebp - 0x228]
mov dword [ecx + 0x28], eax
push 1
mov ecx, dword [ebp - 0x228]
call sym.MFC42D.DLL_Ordinal_2068
push 0
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov ecx, dword [ebp - 0x228]
call sym.MFC42D.DLL_Ordinal_4506
mov ecx, dword [ebp - 0x228]
call sym.MFC42D.DLL_Ordinal_4653
cmp dword [ebp - 0x224], 0
je 0x5f49a30e
push 1
mov edx, dword [ebp - 0x224]
push edx
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
call sym.MFC42D.DLL_Ordinal_1087
mov ecx, eax
call sym.MFC42D.DLL_Ordinal_2059
cmp dword [ebp - 0x118], 0
je 0x5f49a345
cmp dword [ebp - 0x118], 1
je 0x5f49a345
cmp dword [ebp - 0x118], 3
je 0x5f49a345
push 0xffffffffffffffff
push 0
push 0xf192
call sym.MFC42D.DLL_Ordinal_1135
cmp dword [ebp - 0x220], 0
je 0x5f49a35a
lea eax, [ebp - 0x360]
push eax
call sym.MFC42D.DLL_Ordinal_4311
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call sym.MFC42D.DLL_Ordinal_705
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret