Function at 0x471c70
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 0x471cc0
cmp eax, 1
jne 0x471c98
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
jmp fcn.00470aa0
add eax, 0xffffffff
cmp eax, 1
mov dword [esi + 0x260], eax
jne 0x471cc0
mov ecx, str.No_space_in_chunk_cache_for_sPLT
call fcn.004665c0
mov eax, ebx
mov ecx, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
jmp fcn.00470aa0
mov eax, dword [esi + 0x6c]
test al, 1
jne 0x471cd3
mov edi, str.Missing_IHDR_before_sPLT
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x471cde
mov ecx, str.Invalid_sPLT_after_IDAT
jmp 0x471cab
mov ecx, dword [esi + 0x2a8]
test ecx, ecx
je 0x471d03
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x471cfb
push esi
call eax
add esp, 8
jmp 0x471d03
call fcn.0047fdbd
add esp, 4
lea ecx, [ebx + 1]
call fcn.0046f9e0
mov dword [esi + 0x2a8], eax
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
je 0x471d42
mov edx, dword [esi + 0x2a8]
mov ecx, esi
call fcn.0046fa20
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 0x471d68
lea esp, [esp]
add edi, 1
cmp byte [edi], 0
jne 0x471d60
add edi, 1
lea edx, [ecx + ebx - 2]
cmp edi, edx
jbe 0x471dae
test ecx, ecx
je 0x471d92
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x471d8a
push esi
call eax
add esp, 8
jmp 0x471d92
call fcn.0047fdbd
add esp, 4
mov ecx, str.malformed_sPLT_chunk
mov dword [esi + 0x2a8], 0
call fcn.004665c0
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 0x471e24
cmp ecx, ebx
je 0x471e0c
mov eax, dword [esi + 0x240]
cmp eax, ebx
push ecx
je 0x471e04
push esi
call eax
add esp, 8
mov ecx, str.sPLT_chunk_has_bad_length
mov dword [esi + 0x2a8], ebx
call fcn.004665c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
call fcn.0047fdbd
add esp, 4
mov ecx, str.sPLT_chunk_has_bad_length
mov dword [esi + 0x2a8], ebx
call fcn.004665c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp eax, 0x19999999
jbe 0x471e3d
mov ecx, str.sPLT_chunk_too_long
call fcn.004665c0
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.0046fa50
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x471e68
mov ecx, str.sPLT_chunk_requires_too_much_memory
call fcn.004665c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
cmp ebp, ebx
jle 0x471f19
add eax, 4
cmp byte [esp + 0x14], 8
movzx ecx, byte [edi]
jne 0x471ea3
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 0x471ef6
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 0x471e73
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.00466120
mov eax, dword [esi + 0x2a8]
add esp, 8
cmp eax, ebx
je 0x471f5c
mov ecx, dword [esi + 0x240]
cmp ecx, ebx
push eax
je 0x471f54
push esi
call ecx
add esp, 8
jmp 0x471f5c
call fcn.0047fdbd
add esp, 4
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
mov dword [esi + 0x2a8], ebx
je 0x471da6
mov eax, dword [esi + 0x240]
cmp eax, ebx
je 0x471f87
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.0047fdbd