Function at 0x4b89b0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x5347d6
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
mov eax, dword [0x5c403c]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov eax, dword [edi]
push 4
lea ebx, [esi + 0xc]
push eax
mov ecx, ebx
call sub.libImage.module_public:_bool___thiscall_CxImage::Load_wchar_t_const___unsigned_long_int_
test al, al
je 0x4b8b3d
mov ecx, ebx
call sub.libImage.module_public:_long_int___thiscall_CxImage::GetWidth_void_const
mov ecx, ebx
mov dword [esi + 4], eax
call sub.libImage.module_public:_long_int___thiscall_CxImage::GetHeight_void_const
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
push eax
mov ecx, esi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push edi
lea ecx, [esi + 0x1d8]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
push 0x2e
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::ReverseFind]
mov ebp, eax
cmp ebp, 0xffffffff
jle 0x4b8b24
lea ecx, [esp + 0x20]
call dword [0x55a6c4]
xor ebx, ebx
mov dword [esp + 0x18], ebx
push ebp
push ebx
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid_1]
mov byte [esp + 0x18], 1
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_2]
mov byte [esp + 0x18], bl
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x581654
lea ecx, [esp + 0x24]
call dword [0x55a294]
push ebp
lea edx, [esp + 0x10]
push edx
mov ecx, edi
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Mid]
mov byte [esp + 0x18], 2
push eax
lea ecx, [esp + 0x24]
call dword [0x55a4e8]
mov byte [esp + 0x18], bl
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4b8b0c
push 0x1c8
call sub.mfc90u.dll_new
add esp, 4
mov dword [esp + 0xc], eax
mov byte [esp + 0x18], 3
cmp eax, ebx
je 0x4b8adf
mov ecx, dword [esp + 0x20]
push 4
push ecx
mov ecx, eax
call sub.libImage.module_public:_void___thiscall_CxImage::constructor_wchar_t_const___unsigned_long_int_
jmp 0x4b8ae1
xor eax, eax
mov byte [esp + 0x18], bl
mov dword [esi + 0x1d4], eax
cmp eax, ebx
je 0x4b8b12
mov ecx, eax
call sub.libImage.module_public:_bool___thiscall_CxImage::IsValid_void_const
test al, al
jne 0x4b8b12
mov ecx, dword [esi + 0x1d4]
cmp ecx, ebx
je 0x4b8b0c
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esi + 0x1d4], ebx
mov dword [esp + 0x18], 0xffffffff
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, 1
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop ebp
pop ebx
add esp, 0x10
ret 4
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop ebp
pop ebx
add esp, 0x10
ret 4