Function at 0x557a10
Capabilities:
Terminate process

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, eax
mov eax, dword [esi + 0x260]
test eax, eax
push edi
je 0x557a60
cmp eax, 1
jne 0x557a38
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
jmp fcn.00556840
add eax, 0xffffffff
cmp eax, 1
mov dword [esi + 0x260], eax
jne 0x557a60
mov ecx, str.No_space_in_chunk_cache_for_sPLT
call fcn.0054c4a0
mov eax, ebx
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
jmp fcn.00556840
mov eax, dword [esi + 0x6c]
test al, 1
jne 0x557a73
mov edi, str.Missing_IHDR_before_sPLT
mov eax, esi
jmp fcn.0054c480
test al, 4
je 0x557a7e
mov ecx, str.Invalid_sPLT_after_IDAT
jmp 0x557a4b
mov ecx, dword [esi + 0x2a8]
test ecx, ecx
je 0x557aa3
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x557a9b
push esi
call eax
add esp, 8
jmp 0x557aa3
call fcn.005d27e0
add esp, 4
lea ecx, [ebx + 1]
call fcn.00560060
mov dword [esi + 0x2a8], eax
call fcn.005567d0
xor eax, eax
mov ecx, esi
call fcn.00556840
test eax, eax
je 0x557ae2
mov edx, dword [esi + 0x2a8]
mov ecx, esi
call fcn.005600a0
mov dword [esi + 0x2a8], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esi + 0x2a8]
mov byte [ebx + eax], 0
mov ecx, dword [esi + 0x2a8]
mov edi, ecx
cmp byte [edi], 0
je 0x557b08
lea esp, [esp]
add edi, 1
cmp byte [edi], 0
jne 0x557b00
add edi, 1
lea edx, [ecx + ebx - 2]
cmp edi, edx
jbe 0x557b4e
test ecx, ecx
je 0x557b32
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x557b2a
push esi
call eax
add esp, 8
jmp 0x557b32
call fcn.005d27e0
add esp, 4
mov ecx, str.malformed_sPLT_chunk
mov dword [esi + 0x2a8], 0
call fcn.0054c4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov al, byte [edi]
xor edx, edx
add edi, 1
cmp al, 8
setne dl
mov byte [esp + 0x14], al
mov eax, ecx
sub eax, edi
add eax, ebx
xor ebx, ebx
lea edx, [edx*4 + 6]
mov ebp, edx
xor edx, edx
div ebp
cmp edx, ebx
je 0x557bc4
cmp ecx, ebx
je 0x557bac
mov eax, dword [esi + 0x240]
cmp eax, ebx
push ecx
je 0x557ba4
push esi
call eax
add esp, 8
mov ecx, str.sPLT_chunk_has_bad_length
mov dword [esi + 0x2a8], ebx
call fcn.0054c4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
call fcn.005d27e0
add esp, 4
mov ecx, str.sPLT_chunk_has_bad_length
mov dword [esi + 0x2a8], ebx
call fcn.0054c4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp eax, 0x19999999
jbe 0x557bdd
mov ecx, str.sPLT_chunk_too_long
call fcn.0054c4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov ebp, eax
lea ecx, [ebp + ebp*4]
add ecx, ecx
mov dword [esp + 0x1c], ebp
call fcn.005600d0
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x557c08
mov ecx, str.sPLT_chunk_requires_too_much_memory
call fcn.0054c4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp ebp, ebx
jle 0x557cb9
add eax, 4
cmp byte [esp + 0x14], 8
movzx ecx, byte [edi]
jne 0x557c43
add edi, 1
mov word [eax - 4], cx
movzx edx, byte [edi]
add edi, 1
mov word [eax - 2], dx
movzx ecx, byte [edi]
add edi, 1
mov word [eax], cx
movzx edx, byte [edi]
mov word [eax + 2], dx
add edi, 1
jmp 0x557c96
movzx edx, byte [edi + 1]
shl cx, 8
add cx, dx
mov word [eax - 4], cx
movzx ecx, byte [edi + 2]
movzx edx, byte [edi + 3]
add edi, 2
shl cx, 8
add cx, dx
mov word [eax - 2], cx
movzx ecx, byte [edi + 2]
movzx edx, byte [edi + 3]
add edi, 2
shl cx, 8
add cx, dx
mov word [eax], cx
movzx ecx, byte [edi + 2]
movzx edx, byte [edi + 3]
add edi, 2
shl cx, 8
add cx, dx
mov word [eax + 2], cx
add edi, 2
movzx cx, byte [edi]
movzx dx, byte [edi + 1]
shl cx, 8
add cx, dx
mov word [eax + 4], cx
add edi, 2
add eax, 0xa
sub ebp, 1
jne 0x557c13
mov eax, dword [esi + 0x2a8]
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x14], eax
push edx
mov eax, esi
call fcn.0054d6f0
mov eax, dword [esi + 0x2a8]
add esp, 8
cmp eax, ebx
je 0x557cfc
mov ecx, dword [esi + 0x240]
cmp ecx, ebx
push eax
je 0x557cf4
push esi
call ecx
add esp, 8
jmp 0x557cfc
call fcn.005d27e0
add esp, 4
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
mov dword [esi + 0x2a8], ebx
je 0x557b46
mov eax, dword [esi + 0x240]
cmp eax, ebx
je 0x557d27
push ecx
push esi
call eax
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
mov dword [esp + 4], ecx
jmp fcn.005d27e0