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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x4a9150]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x6c]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x54], edi
test al, 1
jne 0x47bce9
push str.Missing_IHDR_before_cHRM
push esi
call fcn.004775c0
jmp 0x47bd26
test al, 4
je 0x47bd17
push str.Invalid_cHRM_after_IDAT
push esi
call fcn.004775f0
mov eax, dword [ebp + 0x10]
push eax
push esi
call fcn.0047b5b0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0043f097
mov esp, ebp
pop ebp
ret
test al, 2
je 0x47bd29
push str.Missing_PLTE_before_cHRM
push esi
call fcn.004775f0
add esp, 8
test edi, edi
je 0x47bd65
mov eax, dword [edi + 8]
test al, 4
je 0x47bd65
test eax, 0x800
jne 0x47bd65
push str.Duplicate_cHRM_chunk
push esi
call fcn.004775f0
mov ecx, dword [ebp + 0x10]
push ecx
push esi
call fcn.0047b5b0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0043f097
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
cmp edi, 0x20
je 0x47bd94
push str.Incorrect_cHRM_chunk_length
push esi
call fcn.004775f0
push edi
push esi
call fcn.0047b5b0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0043f097
mov esp, ebp
pop ebp
ret
push 0x20
lea edx, [esp + 0x60]
push edx
push esi
call fcn.0047a3d0
push 0
push esi
call fcn.0047b5b0
add esp, 0x14
test eax, eax
jne 0x47c0f7
movzx esi, byte [esp + 0x5c]
movzx eax, byte [esp + 0x5d]
movzx ecx, byte [esp + 0x5e]
movzx edi, byte [esp + 0x60]
movzx edx, byte [esp + 0x5f]
movzx ebx, byte [esp + 0x64]
shl esi, 8
add esi, eax
movzx eax, byte [esp + 0x61]
shl edi, 8
add edi, eax
movzx eax, byte [esp + 0x65]
shl esi, 8
add esi, ecx
movzx ecx, byte [esp + 0x62]
shl ebx, 8
add ebx, eax
movzx eax, byte [esp + 0x68]
shl edi, 8
add edi, ecx
movzx ecx, byte [esp + 0x66]
shl esi, 8
add esi, edx
movzx edx, byte [esp + 0x63]
shl ebx, 8
add ebx, ecx
movzx ecx, byte [esp + 0x69]
shl edi, 8
add edi, edx
movzx edx, byte [esp + 0x67]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x6b]
shl ebx, 8
add ebx, edx
movzx edx, byte [esp + 0x6a]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x6d]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x6c]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x6e]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x6f]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x71]
mov dword [esp + 0x30], ecx
movzx ecx, byte [esp + 0x70]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x72]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x73]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x75]
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x74]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x76]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x77]
shl ecx, 8
add ecx, edx
movzx edx, byte [esp + 0x79]
mov dword [esp + 0x34], ecx
movzx ecx, byte [esp + 0x78]
shl ecx, 8
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], eax
add ecx, edx
fild dword [esp + 0x20]
movzx edx, byte [esp + 0x7a]
fld qword [0x495d98]
shl ecx, 8
add ecx, edx
fdiv st(1), st(0)
movzx edx, byte [esp + 0x7b]
shl ecx, 8
add ecx, edx
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x54]
fxch st(1)
fstp dword [esp + 0x20]
fild dword [esp + 0x24]
fdiv st(1)
fstp dword [esp + 0x24]
fild dword [esp + 0x28]
fdiv st(1)
fstp dword [esp + 0x28]
fild dword [esp + 0x4c]
fdiv st(1)
fstp dword [esp + 0x50]
fild dword [esp + 0x30]
fdiv st(1)
fstp dword [esp + 0x3c]
fild dword [esp + 0x38]
fdiv st(1)
fstp dword [esp + 0x58]
fild dword [esp + 0x34]
fdiv st(1)
fstp dword [esp + 0x48]
fidivr dword [esp + 0x44]
fstp dword [esp + 0x40]
test edx, edx
je 0x47c064
test dword [edx + 8], 0x800
je 0x47c064
add esi, 0xffff89c2
cmp esi, 0x7d0
ja 0x47bfd7
add edi, 0xffff8364
cmp edi, 0x7d0
ja 0x47bfd7
add ebx, 0xffff09e8
cmp ebx, 0x7d0
ja 0x47bfd7
add eax, 0xffff8300
cmp eax, 0x7d0
ja 0x47bfd7
mov eax, dword [esp + 0x30]
add eax, 0xffff8eb8
cmp eax, 0x7d0
ja 0x47bfd7
mov edx, dword [esp + 0x38]
add edx, 0xffff1988
cmp edx, 0x7d0
ja 0x47bfd7
mov eax, dword [esp + 0x34]
add eax, 0xffffc950
cmp eax, 0x7d0
ja 0x47bfd7
cmp ecx, 0x1388
jl 0x47bfd7
cmp ecx, 0x1b58
jle 0x47c0f7
mov ecx, dword [esp + 0x2c]
push str.Ignoring_incorrect_cHRM_value_when_sRGB_is_also_present
push ecx
call fcn.004775f0
fld dword [esp + 0x58]
fstp qword [esp]
sub esp, 0x18
fld dword [esp + 0x48]
fstp qword [esp + 0x10]
fld dword [esp + 0x44]
fstp qword [esp + 8]
fld dword [esp + 0x40]
fstp qword [esp]
push str.wx_f__wy_f__rx_f__ry_f_n
call fcn.0045468e
add eax, 0x40
push eax
call fcn.00442c07
fld dword [esp + 0x68]
fstp qword [esp + 0x20]
add esp, 8
fld dword [esp + 0x68]
fstp qword [esp + 0x10]
fld dword [esp + 0x78]
fstp qword [esp + 8]
fld dword [esp + 0x5c]
fstp qword [esp]
push str.gx_f__gy_f__bx_f__by_f_n
call fcn.0045468e
add eax, 0x40
push eax
call fcn.00442c07
add esp, 0x28
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0043f097
mov esp, ebp
pop ebp
ret
fld dword [esp + 0x40]
sub esp, 0x40
fstp qword [esp + 0x38]
fld dword [esp + 0x88]
fstp qword [esp + 0x30]
fld dword [esp + 0x98]
fstp qword [esp + 0x28]
fld dword [esp + 0x7c]
fstp qword [esp + 0x20]
fld dword [esp + 0x90]
fstp qword [esp + 0x18]
fld dword [esp + 0x68]
fstp qword [esp + 0x10]
fld dword [esp + 0x64]
fstp qword [esp + 8]
fld dword [esp + 0x60]
fstp qword [esp]
push edx
mov edx, dword [esp + 0x70]
push edx
call fcn.0047f7b0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x84]
push ecx
push ebx
push edi
push esi
push edx
push eax
call fcn.0047f8c0
add esp, 0x70
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0043f097
mov esp, ebp
pop ebp
ret