Function at 0x44ea50
Capabilities:
Extract resource via kernel32 functions
Get file size
Read file on windows

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.004ed150
test eax, eax
je 0x44eac7
lea ecx, [esi + 8]
push 1
push ecx
mov ecx, eax
call fcn.004eea60
test eax, eax
je 0x44eac7
mov ecx, dword [eax + 4]
push 0x10
mov dword [esi + 0x230], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x234], edx
call sub.gdiplus.dll_GdipAlloc
mov edi, eax
test edi, edi
je 0x44eaba
lea eax, [edi + 4]
mov dword [edi], 0x5147c4
push eax
mov dword [eax], 0
lea eax, [esi + 0x224]
push eax
call sub.gdiplus.dll_GdipLoadImageFromStream
mov dword [edi + 8], eax
mov dword [esi + 0x21c], edi
jmp 0x44ec3c
xor edi, edi
mov dword [esi + 0x21c], edi
jmp 0x44ec3c
mov eax, dword [esi + 4]
test eax, eax
je 0x44eb73
lea ecx, [esi + 8]
push 0x83e
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
je 0x44ec3c
mov ecx, dword [esi + 4]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
test edi, edi
je 0x44eb67
mov edx, dword [esi + 4]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push edi
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x44eb67
mov dword [esi + 0x234], eax
push 0x10
mov dword [esi + 0x230], ebp
call sub.gdiplus.dll_GdipAlloc
mov edi, eax
test edi, edi
je 0x44eb5f
lea eax, [edi + 4]
mov dword [edi], 0x5147c4
push eax
mov dword [eax], 0
lea eax, [esi + 0x224]
push eax
call sub.gdiplus.dll_GdipLoadImageFromStream
mov dword [edi + 8], eax
push ebx
mov dword [esi + 0x21c], edi
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x44ec3c
xor edi, edi
mov dword [esi + 0x21c], edi
push ebx
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x44ec3c
push 0
push 0x20
push 3
push 0
lea eax, [esi + 8]
push 1
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, eax
cmp ebp, 0xffffffff
je 0x44ec3c
push 0
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test edi, edi
jbe 0x44ec35
push edi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x44ec35
lea ecx, [esp + 0x10]
push 0
push ecx
push edi
push ebx
push ebp
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x44ec2c
cmp edi, dword [esp + 0x10]
jne 0x44ec2c
mov dword [esi + 0x234], ebx
mov dword [esi + 0x230], edi
push 0x10
mov byte [esi + 0x228], 1
call sub.gdiplus.dll_GdipAlloc
mov edi, eax
test edi, edi
je 0x44ec22
lea eax, [edi + 4]
lea edx, [esi + 0x224]
push eax
push edx
mov dword [edi], 0x5147c4
mov dword [eax], 0
call sub.gdiplus.dll_GdipLoadImageFromStream
mov dword [edi + 8], eax
mov dword [esi + 0x21c], edi
jmp 0x44ec35
xor edi, edi
mov dword [esi + 0x21c], edi
jmp 0x44ec35
push ebx
call fcn.0050c98e
add esp, 4
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x21c]
xor ebx, ebx
push eax
mov ecx, esi
mov dword [esi + 4], ebx
mov word [esi + 8], bx
call fcn.0044f5e0
mov edi, dword [esi + 0x21c]
cmp edi, ebx
je 0x44ecbc
mov edx, dword [edi + 4]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], ebx
call sub.gdiplus.dll_GdipGetImageWidth
cmp eax, ebx
je 0x44ec76
mov dword [edi + 8], eax
mov eax, dword [esp + 0x10]
mov edi, dword [esi + 0x21c]
mov dword [esi + 0x210], eax
lea ecx, [esp + 0x10]
mov edx, dword [edi + 4]
push ecx
push edx
mov dword [esp + 0x18], ebx
call sub.gdiplus.dll_GdipGetImageHeight
cmp eax, ebx
je 0x44ec9f
mov dword [edi + 8], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x210]
mov dword [esi + 0x214], eax
xor eax, eax
pop edi
cmp ecx, ebx
pop esi
pop ebp
setg al
pop ebx
pop ecx
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret