Function at 0x557270
Capabilities:
Terminate process

Disassembly:
sub esp, 0x40
mov eax, dword [0x6687b8]
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 0x5572a0
mov edi, str.Missing_IHDR_before_cHRM
mov eax, ebp
jmp fcn.0054c480
test al, 4
push esi
je 0x5572ac
mov ecx, str.Invalid_cHRM_after_IDAT
jmp 0x5572d3
test al, 2
je 0x5572bc
mov ecx, str.Missing_PLTE_before_cHRM
mov esi, ebp
call fcn.0054c4a0
test edi, edi
je 0x5572f6
mov eax, dword [edi + 8]
test al, 4
je 0x5572f6
test eax, 0x800
jne 0x5572f6
mov ecx, str.Duplicate_cHRM_chunk
mov esi, ebp
call fcn.0054c4a0
mov eax, ebx
mov ecx, ebp
call fcn.00556840
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.005d28b3
add esp, 0x40
ret
cmp ebx, 0x20
mov esi, ebp
je 0x557323
mov ecx, str.Incorrect_cHRM_chunk_length
call fcn.0054c4a0
mov eax, ebx
mov ecx, ebp
call fcn.00556840
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.005d28b3
add esp, 0x40
ret
mov ebx, 0x20
lea eax, [esp + 0x2c]
call fcn.005567d0
xor eax, eax
mov ecx, ebp
call fcn.00556840
test eax, eax
jne 0x55753f
lea ecx, [esp + 0x2c]
call fcn.00556610
lea ecx, [esp + 0x30]
mov ebx, eax
call fcn.00556610
lea ecx, [esp + 0x34]
mov edi, eax
call fcn.00556610
mov esi, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], esi
call fcn.00556610
lea ecx, [esp + 0x3c]
mov dword [esp + 0x1c], eax
call fcn.00556610
lea ecx, [esp + 0x40]
mov dword [esp + 0x18], eax
call fcn.00556610
lea ecx, [esp + 0x44]
mov dword [esp + 0x10], eax
call fcn.00556610
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], eax
call fcn.00556610
cmp ebx, 0xffffffff
mov dword [esp + 0x28], eax
je 0x557533
cmp edi, 0xffffffff
je 0x557533
cmp esi, 0xffffffff
je 0x557533
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xffffffff
je 0x557533
cmp dword [esp + 0x18], 0xffffffff
je 0x557533
cmp dword [esp + 0x10], 0xffffffff
je 0x557533
cmp dword [esp + 0x14], 0xffffffff
je 0x557533
cmp eax, 0xffffffff
je 0x557533
mov edx, dword [esp + 0x20]
test edx, edx
je 0x5574fe
test dword [edx + 8], 0x800
je 0x5574fe
lea edx, [ebx - 0x763e]
cmp edx, 0x7d0
ja 0x557493
lea edx, [edi - 0x7c9c]
cmp edx, 0x7d0
ja 0x557493
add esi, 0xffff09e8
cmp esi, 0x7d0
ja 0x557493
add ecx, 0xffff8300
cmp ecx, 0x7d0
ja 0x557493
mov ecx, dword [esp + 0x18]
add ecx, 0xffff8eb8
cmp ecx, 0x7d0
ja 0x557493
mov edx, dword [esp + 0x10]
add edx, 0xffff1988
cmp edx, 0x7d0
ja 0x557493
mov ecx, dword [esp + 0x14]
add ecx, 0xffffc950
cmp ecx, 0x7d0
ja 0x557493
cmp eax, 0x1388
jl 0x557493
cmp eax, 0x1b58
jle 0x55753f
mov ecx, str.Ignoring_incorrect_cHRM_value_when_sRGB_is_also_present
mov esi, ebp
call fcn.0054c4a0
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.005d813d
add eax, 0x40
push eax
call fcn.005d93d2
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.005d813d
add eax, 0x40
push eax
call fcn.005d93d2
add esp, 0x18
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.005d28b3
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.0054cc00
add esp, 0x18
pop esi
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.005d28b3
add esp, 0x40
ret
mov ecx, str.Ignoring_cHRM_chunk_with_negative_chromaticities
mov esi, ebp
call fcn.0054c4a0
mov ecx, dword [esp + 0x4c]
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.005d28b3
add esp, 0x40
ret