Function at 0x4508f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
mov eax, dword [0x4792c4]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x68]
test al, 1
push edi
jne 0x45091c
push str.Missing_IHDR_before_cHRM
push esi
call fcn.0044ed10
jmp 0x450957
test al, 4
je 0x450948
push str.Invalid_cHRM_after_IDAT
push esi
call fcn.0044edd0
mov eax, dword [ebp + 0x10]
push eax
push esi
call fcn.00450150
add esp, 0x10
mov ecx, dword [esp + 0x64]
call fcn.0044370d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 2
je 0x45095a
push str.Missing_PLTE_before_cHRM
push esi
call fcn.0044edd0
add esp, 8
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x450995
mov eax, dword [eax + 8]
test al, 4
je 0x450995
test ah, 8
jne 0x450995
push str.Duplicate_cHRM_chunk
push esi
call fcn.0044edd0
mov ecx, dword [ebp + 0x10]
push ecx
push esi
call fcn.00450150
add esp, 0x10
mov ecx, dword [esp + 0x64]
call fcn.0044370d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
cmp edi, 0x20
je 0x4509c2
push str.Incorrect_cHRM_chunk_length
push esi
call fcn.0044edd0
push edi
push esi
call fcn.00450150
add esp, 0x10
mov ecx, dword [esp + 0x64]
call fcn.0044370d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x20
lea edx, [esp + 0x48]
push edx
push esi
call fcn.0044bf00
push 0x20
lea eax, [esp + 0x54]
push eax
push esi
call fcn.0044b780
push 0
push esi
call fcn.00450150
add esp, 0x20
test eax, eax
jne 0x450d42
movzx esi, byte [esp + 0x44]
movzx ecx, byte [esp + 0x45]
movzx edx, byte [esp + 0x46]
movzx edi, byte [esp + 0x48]
movzx eax, byte [esp + 0x47]
movzx ebx, byte [esp + 0x4c]
shl esi, 8
add esi, ecx
movzx ecx, byte [esp + 0x49]
shl edi, 8
add edi, ecx
movzx ecx, byte [esp + 0x4d]
shl esi, 8
add esi, edx
movzx edx, byte [esp + 0x4a]
shl ebx, 8
add ebx, ecx
movzx ecx, byte [esp + 0x51]
shl edi, 8
add edi, edx
movzx edx, byte [esp + 0x4e]
shl esi, 8
add esi, eax
movzx eax, byte [esp + 0x4b]
shl ebx, 8
add ebx, edx
movzx edx, byte [esp + 0x52]
shl edi, 8
add edi, eax
movzx eax, byte [esp + 0x4f]
shl ebx, 8
add ebx, eax
movzx eax, byte [esp + 0x50]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x53]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x55]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x54]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x56]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x57]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x59]
mov dword [esp + 0x1c], ecx
movzx ecx, byte [esp + 0x58]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x5a]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x5b]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x5d]
mov dword [esp + 0x20], ecx
movzx ecx, byte [esp + 0x5c]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x5e]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x5f]
shl ecx, 8
add ecx, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x24], ecx
movzx ecx, dl
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], eax
shl ecx, 8
movzx edx, dh
fild dword [esp + 0x10]
add ecx, edx
movzx edx, byte [esp + 0x62]
shl ecx, 8
fmul dword [0x46a5bc]
add ecx, edx
movzx edx, byte [esp + 0x63]
fstp dword [esp + 0x10]
fild dword [esp + 0x14]
shl ecx, 8
add ecx, edx
mov edx, dword [ebp + 0xc]
test edx, edx
fmul dword [0x46a5bc]
mov dword [esp + 0x34], ecx
fstp dword [esp + 0x14]
fild dword [esp + 0x18]
fmul dword [0x46a5bc]
fstp dword [esp + 0x18]
fild dword [esp + 0x3c]
fmul dword [0x46a5bc]
fstp dword [esp + 0x30]
fild dword [esp + 0x1c]
fmul dword [0x46a5bc]
fstp dword [esp + 0x28]
fild dword [esp + 0x20]
fmul dword [0x46a5bc]
fstp dword [esp + 0x38]
fild dword [esp + 0x24]
fmul dword [0x46a5bc]
fstp dword [esp + 0x40]
fild dword [esp + 0x34]
fmul dword [0x46a5bc]
fstp dword [esp + 0x2c]
je 0x450cc4
test byte [edx + 9], 8
je 0x450cc4
cmp esi, 0x763e
jl 0x450c38
cmp esi, 0x7e0e
jg 0x450c38
cmp edi, 0x7c9c
jl 0x450c38
cmp edi, 0x846c
jg 0x450c38
cmp ebx, 0xf618
jl 0x450c38
cmp ebx, 0xfde8
jg 0x450c38
cmp eax, 0x7d00
jl 0x450c38
cmp eax, 0x84d0
jg 0x450c38
mov eax, dword [esp + 0x1c]
cmp eax, 0x7148
jl 0x450c38
cmp eax, 0x7918
jg 0x450c38
mov eax, dword [esp + 0x20]
cmp eax, 0xe678
jl 0x450c38
cmp eax, 0xee48
jg 0x450c38
mov eax, dword [esp + 0x24]
cmp eax, 0x36b0
jl 0x450c38
cmp eax, 0x3e80
jg 0x450c38
cmp ecx, 0x1388
jl 0x450c38
cmp ecx, 0x1b58
jle 0x450d42
mov eax, dword [ebp + 8]
push str.Ignoring_incorrect_cHRM_value_when_sRGB_is_also_present
push eax
call fcn.0044edd0
fld dword [esp + 0x38]
mov ecx, dword [sym.imp.MSVCR71.dll__iob]
fstp qword [esp]
fld dword [esp + 0x20]
mov esi, dword [sym.imp.MSVCR71.dll_fprintf]
sub esp, 0x18
fstp qword [esp + 0x10]
add ecx, 0x40
fld dword [esp + 0x34]
fstp qword [esp + 8]
fld dword [esp + 0x30]
fstp qword [esp]
push str.wx_f__wy_f__rx_f__ry_f_n
push ecx
call esi
fld dword [esp + 0x54]
mov edx, dword [sym.imp.MSVCR71.dll__iob]
fstp qword [esp + 0x20]
fld dword [esp + 0x68]
add esp, 8
fstp qword [esp + 0x10]
add edx, 0x40
fld dword [esp + 0x58]
fstp qword [esp + 8]
fld dword [esp + 0x48]
fstp qword [esp]
push str.gx_f__gy_f__bx_f__by_f_n
push edx
call esi
add esp, 0x28
mov ecx, dword [esp + 0x64]
call fcn.0044370d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x2c]
sub esp, 0x40
fstp qword [esp + 0x38]
mov eax, dword [ebp + 8]
fld dword [esp + 0x80]
fstp qword [esp + 0x30]
fld dword [esp + 0x78]
fstp qword [esp + 0x28]
fld dword [esp + 0x68]
fstp qword [esp + 0x20]
fld dword [esp + 0x70]
fstp qword [esp + 0x18]
fld dword [esp + 0x58]
fstp qword [esp + 0x10]
fld dword [esp + 0x54]
fstp qword [esp + 8]
fld dword [esp + 0x50]
fstp qword [esp]
push edx
push eax
call fcn.00455780
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
push edx
push ebx
push edi
push esi
push eax
push ecx
call fcn.004558d0
add esp, 0x70
mov ecx, dword [esp + 0x64]
call fcn.0044370d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret