Function at 0x4714d0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x40
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0x3c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x4c]
mov eax, dword [ebp + 0x6c]
test al, 1
push edi
mov edi, edx
mov ebx, ecx
mov dword [esp + 0x1c], edi
jne 0x471500
mov edi, str.Missing_IHDR_before_cHRM
mov eax, ebp
jmp fcn.004665a0
test al, 4
push esi
je 0x47150c
mov ecx, str.Invalid_cHRM_after_IDAT
jmp 0x471533
test al, 2
je 0x47151c
mov ecx, str.Missing_PLTE_before_cHRM
mov esi, ebp
call fcn.004665c0
test edi, edi
je 0x471556
mov eax, dword [edi + 8]
test al, 4
je 0x471556
test eax, 0x800
jne 0x471556
mov ecx, str.Duplicate_cHRM_chunk
mov esi, ebp
call fcn.004665c0
mov eax, ebx
mov ecx, ebp
call fcn.00470aa0
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.0047f460
add esp, 0x40
ret
cmp ebx, 0x20
mov esi, ebp
je 0x471583
mov ecx, str.Incorrect_cHRM_chunk_length
call fcn.004665c0
mov eax, ebx
mov ecx, ebp
call fcn.00470aa0
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.0047f460
add esp, 0x40
ret
mov ebx, 0x20
lea eax, [esp + 0x2c]
call fcn.00470a30
xor eax, eax
mov ecx, ebp
call fcn.00470aa0
test eax, eax
jne 0x47179f
lea ecx, [esp + 0x2c]
call fcn.00470870
lea ecx, [esp + 0x30]
mov ebx, eax
call fcn.00470870
lea ecx, [esp + 0x34]
mov edi, eax
call fcn.00470870
mov esi, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], esi
call fcn.00470870
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], eax
call fcn.00470870
lea ecx, [esp + 0x40]
mov dword [esp + 0x18], eax
call fcn.00470870
lea ecx, [esp + 0x44]
mov dword [esp + 0x10], eax
call fcn.00470870
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], eax
call fcn.00470870
cmp ebx, 0xffffffff
mov dword [esp + 0x28], eax
je 0x471793
cmp edi, 0xffffffff
je 0x471793
cmp esi, 0xffffffff
je 0x471793
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xffffffff
je 0x471793
cmp dword [esp + 0x18], 0xffffffff
je 0x471793
cmp dword [esp + 0x10], 0xffffffff
je 0x471793
cmp dword [esp + 0x14], 0xffffffff
je 0x471793
cmp eax, 0xffffffff
je 0x471793
mov edx, dword [esp + 0x20]
test edx, edx
je 0x47175e
test dword [edx + 8], 0x800
je 0x47175e
lea edx, [ebx - 0x763e]
cmp edx, 0x7d0
ja 0x4716f3
lea edx, [edi - 0x7c9c]
cmp edx, 0x7d0
ja 0x4716f3
add esi, 0xffff09e8
cmp esi, 0x7d0
ja 0x4716f3
add ecx, 0xffff8300
cmp ecx, 0x7d0
ja 0x4716f3
mov ecx, dword [esp + 0x18]
add ecx, 0xffff8eb8
cmp ecx, 0x7d0
ja 0x4716f3
mov edx, dword [esp + 0x10]
add edx, 0xffff1988
cmp edx, 0x7d0
ja 0x4716f3
mov ecx, dword [esp + 0x14]
add ecx, 0xffffc950
cmp ecx, 0x7d0
ja 0x4716f3
cmp eax, 0x1388
jl 0x4716f3
cmp eax, 0x1b58
jle 0x47179f
mov ecx, str.Ignoring_incorrect_cHRM_value_when_sRGB_is_also_present
mov esi, ebp
call fcn.004665c0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push edx
push eax
push edi
push ebx
push str.wx_d__wy_d__rx_d__ry_d_n
call fcn.00483d22
add eax, 0x40
push eax
call fcn.0048451b
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
add esp, 0x18
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
push str.gx_d__gy_d__bx_d__by_d_n
call fcn.00483d22
add eax, 0x40
push eax
call fcn.0048451b
add esp, 0x18
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.0047f460
add esp, 0x40
ret
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x20]
push edx
push esi
mov esi, dword [esp + 0x30]
push edi
mov edi, eax
push ebx
mov eax, ebp
call fcn.00465630
add esp, 0x18
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.0047f460
add esp, 0x40
ret
mov ecx, str.Ignoring_cHRM_chunk_with_negative_chromaticities
mov esi, ebp
call fcn.004665c0
mov ecx, dword [esp + 0x4c]
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x40
ret