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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x68]
test al, 1
push esi
push edi
jne 0x4bf1c3
push str.Missing_IHDR_before_cHRM
push ebx
call fcn.004bd3b0
jmp 0x4bf1f5
test al, 4
je 0x4bf1e6
push str.Invalid_cHRM_after_IDAT
push ebx
call fcn.004bd460
mov eax, dword [ebp + 0x10]
push eax
push ebx
call fcn.004bea10
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 2
je 0x4bf1f8
push str.Missing_PLTE_before_cHRM
push ebx
call fcn.004bd460
add esp, 8
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4bf22a
mov eax, dword [eax + 8]
test al, 4
je 0x4bf22a
test ah, 8
jne 0x4bf22a
push str.Duplicate_cHRM_chunk
push ebx
call fcn.004bd460
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
call fcn.004bea10
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
cmp esi, 0x20
je 0x4bf24e
push str.Incorrect_cHRM_chunk_length
push ebx
call fcn.004bd460
push esi
push ebx
call fcn.004bea10
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x20
lea edx, [esp + 0x4c]
push edx
push ebx
call fcn.004bd000
push 0x20
lea eax, [esp + 0x58]
push eax
push ebx
call fcn.004bb1f0
push 0
push ebx
call fcn.004bea10
add esp, 0x20
test eax, eax
jne 0x4bf5d9
movzx eax, byte [esp + 0x48]
movzx ecx, byte [esp + 0x49]
movzx edx, byte [esp + 0x4a]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x4b]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x4d]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x4c]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x4e]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x4f]
shl ecx, 8
add ecx, edx
cmp eax, 0x13880
ja 0x4bf5cb
cmp ecx, 0x13880
ja 0x4bf5cb
lea edx, [ecx + eax]
cmp edx, 0x186a0
ja 0x4bf5cb
mov dword [esp + 0x24], eax
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x24], ecx
call fcn.004bd790
lea ecx, [esp + 0x58]
push ecx
mov esi, eax
call fcn.004bd790
lea edx, [eax + esi]
add esp, 8
cmp edx, 0x186a0
jbe 0x4bf328
push str.Invalid_cHRM_red_point
push ebx
call fcn.004bd460
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x18], eax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0x20], esi
call fcn.004bd790
lea ecx, [esp + 0x60]
push ecx
mov esi, eax
call fcn.004bd790
lea edx, [eax + esi]
add esp, 8
cmp edx, 0x186a0
jbe 0x4bf369
push str.Invalid_cHRM_green_point
push ebx
call fcn.004bd460
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x10], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x18], esi
call fcn.004bd790
lea ecx, [esp + 0x68]
mov edi, eax
push ecx
mov dword [esp + 0x34], edi
call fcn.004bd790
mov esi, eax
lea edx, [esi + edi]
add esp, 8
cmp edx, 0x186a0
mov dword [esp + 0x28], esi
jbe 0x4bf3b4
push str.Invalid_cHRM_blue_point
push ebx
call fcn.004bd460
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fild dword [esp + 0x24]
mov eax, dword [ebp + 0xc]
test eax, eax
fmul dword [0x5434e8]
fstp dword [esp + 0x44]
fild dword [esp + 0x20]
fmul dword [0x5434e8]
fstp dword [esp + 0x40]
fild dword [esp + 0x1c]
fmul dword [0x5434e8]
fstp dword [esp + 0x3c]
fild dword [esp + 0x18]
fmul dword [0x5434e8]
fstp dword [esp + 0x38]
fild dword [esp + 0x14]
fmul dword [0x5434e8]
fstp dword [esp + 0x34]
fild dword [esp + 0x10]
fmul dword [0x5434e8]
fstp dword [esp + 0x30]
fild dword [esp + 0x2c]
fmul dword [0x5434e8]
fstp dword [esp + 0x2c]
fild dword [esp + 0x28]
fmul dword [0x5434e8]
fstp dword [esp + 0x28]
je 0x4bf545
mov ecx, dword [eax + 8]
test ch, 8
je 0x4bf545
mov eax, dword [esp + 0x24]
cmp eax, 0x763e
jl 0x4bf4cf
cmp eax, 0x7e0e
jg 0x4bf4cf
mov eax, dword [esp + 0x20]
cmp eax, 0x7c9c
jl 0x4bf4cf
cmp eax, 0x846c
jg 0x4bf4cf
mov eax, dword [esp + 0x1c]
cmp eax, 0xf618
jl 0x4bf4cf
cmp eax, 0xfde8
jg 0x4bf4cf
mov eax, dword [esp + 0x18]
cmp eax, 0x7d00
jl 0x4bf4cf
cmp eax, 0x84d0
jg 0x4bf4cf
mov eax, dword [esp + 0x14]
cmp eax, 0x7148
jl 0x4bf4cf
cmp eax, 0x7918
jg 0x4bf4cf
mov eax, dword [esp + 0x10]
cmp eax, 0xe678
jl 0x4bf4cf
cmp eax, 0xee48
jg 0x4bf4cf
cmp edi, 0x36b0
jl 0x4bf4cf
cmp edi, 0x3e80
jg 0x4bf4cf
cmp esi, 0x1388
jl 0x4bf4cf
cmp esi, 0x1b58
jle 0x4bf5d9
push str.Ignoring_incorrect_cHRM_value_when_sRGB_is_also_present
push ebx
call fcn.004bd460
fld dword [esp + 0x40]
fstp qword [esp]
sub esp, 0x18
fld dword [esp + 0x5c]
fstp qword [esp + 0x10]
fld dword [esp + 0x60]
fstp qword [esp + 8]
fld dword [esp + 0x64]
fstp qword [esp]
push str.wx_f__wy_f__rx_f__ry_f_n
push 0x561cc0
call fcn.004a5439
fld dword [esp + 0x50]
fstp qword [esp + 0x20]
add esp, 8
fld dword [esp + 0x4c]
fstp qword [esp + 0x10]
fld dword [esp + 0x50]
fstp qword [esp + 8]
fld dword [esp + 0x54]
fstp qword [esp]
push str.gx_f__gy_f__bx_f__by_f_n
push 0x561cc0
call fcn.004a5439
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x28]
sub esp, 0x40
fstp qword [esp + 0x38]
fld dword [esp + 0x6c]
fstp qword [esp + 0x30]
fld dword [esp + 0x70]
fstp qword [esp + 0x28]
fld dword [esp + 0x74]
fstp qword [esp + 0x20]
fld dword [esp + 0x78]
fstp qword [esp + 0x18]
fld dword [esp + 0x7c]
fstp qword [esp + 0x10]
fld dword [esp + 0x80]
fstp qword [esp + 8]
fld dword [esp + 0x84]
fstp qword [esp]
push eax
push ebx
call fcn.004c5e10
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
push esi
push edi
push eax
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x78]
push edx
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
push ebx
call fcn.004c6180
add esp, 0x70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Invalid_cHRM_white_point
push ebx
call fcn.004bd460
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret