Function at 0x413b90
Capabilities:
Check if file exists
Get common file path
Get program files directory

Disassembly:
sub esp, 0xa2c
mov eax, dword [0x70635c]
xor eax, esp
mov dword [esp + 0xa28], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x103
lea eax, [esp + 0x935]
push ebx
push eax
mov byte [esp + 0x93c], bl
call sub.MSVCR90.dll_memset
push 0x103
lea ecx, [esp + 0x1d]
push ebx
push ecx
mov byte [esp + 0x24], bl
call sub.MSVCR90.dll_memset
push 0x103
lea edx, [esp + 0x849]
push ebx
push edx
mov byte [esp + 0x850], bl
call sub.MSVCR90.dll_memset
push 0x103
lea eax, [esp + 0x64d]
push ebx
push eax
mov byte [esp + 0x654], bl
call sub.MSVCR90.dll_memset
push 0x103
lea ecx, [esp + 0x451]
push ebx
push ecx
mov byte [esp + 0x458], bl
call sub.MSVCR90.dll_memset
push 0x103
lea edx, [esp + 0x151]
push ebx
push edx
mov byte [esp + 0x158], bl
call sub.MSVCR90.dll_memset
add esp, 0x48
push 0x103
lea eax, [esp + 0x219]
push ebx
push eax
mov byte [esp + 0x220], bl
call sub.MSVCR90.dll_memset
push 0x103
lea ecx, [esp + 0x329]
push ebx
push ecx
mov byte [esp + 0x330], bl
call sub.MSVCR90.dll_memset
push 0x103
lea edx, [esp + 0x53d]
push ebx
push edx
mov byte [esp + 0x544], bl
call sub.MSVCR90.dll_memset
push 0x103
lea eax, [esp + 0x751]
push ebx
push eax
mov byte [esp + 0x758], bl
call sub.MSVCR90.dll_memset
add esp, 0x30
push 0x104
lea ecx, [esp + 0x934]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendA]
push str.IMGSFMgr.dll
lea edx, [esp + 0x934]
push edx
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
lea eax, [esp + 0x930]
push eax
call edi
test eax, eax
jne 0x413cfd
push str.IMGSFMgr.dll
push str.__S__is_not_exist__
push 0x24a
jmp 0x413f87
lea ecx, [esp + 0xc]
push ecx
push ebx
push ebx
push 0x26
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x413f76
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x830]
push 0x104
push eax
call sub.MSVCR90.dll_strcpy_s
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x634]
push 0x104
push edx
call sub.MSVCR90.dll_strcpy_s
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x438]
push 0x104
push ecx
call sub.MSVCR90.dll_strcpy_s
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x138]
push 0x104
push eax
call sub.MSVCR90.dll_strcpy_s
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x248]
push 0x104
push edx
call sub.MSVCR90.dll_strcpy_s
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x358]
push 0x104
push ecx
call sub.MSVCR90.dll_strcpy_s
add esp, 0x48
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x524]
push 0x104
push eax
call sub.MSVCR90.dll_strcpy_s
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x738]
push 0x104
push edx
call sub.MSVCR90.dll_strcpy_s
add esp, 0x18
push str.MarkanyWebDRMNoAX_bin
lea eax, [esp + 0x830]
push eax
call esi
push str.MarkanyWebDRMNoAX_bin
lea ecx, [esp + 0x628]
push ecx
call esi
push str.MarkanyWebDRMNoAX_bin
lea edx, [esp + 0x420]
push edx
call esi
push str.MarkanyWebDRMNoAX_bin
lea eax, [esp + 0x114]
push eax
call esi
push str.MarkanyWebDRMNoAX_bin
lea ecx, [esp + 0x218]
push ecx
call esi
push str.MarkanyWebDRMNoAXcert
lea edx, [esp + 0x31c]
push edx
call esi
push str.MarkanyWebDRMNoAXcert
lea eax, [esp + 0x524]
push eax
call esi
push str.MarkanyWebDRMNoAXcert
lea ecx, [esp + 0x72c]
push ecx
call esi
push str.MaWebDRMForChrome.dll
lea edx, [esp + 0x830]
push edx
call esi
push str.MaWebDRMForFirefox.dll
lea eax, [esp + 0x628]
push eax
call esi
push str.MaWebDRMForIE.dll
lea ecx, [esp + 0x420]
push ecx
call esi
push str.MaWebDRMForOpera.dll
lea edx, [esp + 0x114]
push edx
call esi
push 0x6d6b64
lea eax, [esp + 0x218]
push eax
call esi
push str.mac.pem
lea ecx, [esp + 0x31c]
push ecx
call esi
push str.mak.pem
lea edx, [esp + 0x524]
push edx
call esi
push str.mar.pem
lea eax, [esp + 0x72c]
push eax
call esi
lea ecx, [esp + 0x82c]
push ecx
call edi
test eax, eax
je 0x413f50
lea edx, [esp + 0x624]
push edx
call edi
test eax, eax
je 0x413f50
lea eax, [esp + 0x41c]
push eax
call edi
test eax, eax
je 0x413f50
lea ecx, [esp + 0x110]
push ecx
call edi
test eax, eax
je 0x413f50
lea edx, [esp + 0x214]
push edx
call edi
test eax, eax
je 0x413f50
lea eax, [esp + 0x318]
push eax
call edi
test eax, eax
je 0x413f50
lea ecx, [esp + 0x520]
push ecx
call edi
test eax, eax
je 0x413f50
lea edx, [esp + 0x728]
push edx
call edi
test eax, eax
je 0x413f50
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xa28]
xor ecx, esp
call fcn.00606c9e
add esp, 0xa2c
ret
push str.Core_Module_is_not_exist__
push 0x274
push str..MaWebDRMAgent.cpp
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov ecx, eax
mov esi, str.MaFileCheck
call fcn.00401070
add esp, 8
jmp 0x413fa1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SHGetFolderPath_Failed_err____d_
push 0x27b
push str..MaWebDRMAgent.cpp
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov ecx, eax
mov esi, str.MaFileCheck
call fcn.00401070
add esp, 0xc
mov ecx, dword [esp + 0xa34]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00606c9e
add esp, 0xa2c
ret