Function at 0x45a7a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x679cc0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov dword [ebp - 0xa8], ecx
test esi, esi
je 0x45ac2f
test ecx, ecx
je 0x45ac2f
mov al, byte [esi + 0x12c]
cmp al, 8
jae 0x45a860
movzx ebx, al
lea eax, [ecx + ebx + 0x20]
mov edi, 8
sub edi, ebx
push eax
mov edx, edi
mov eax, esi
call fcn.0045b750
mov eax, dword [ebp - 0xa8]
add esp, 4
add eax, 0x20
push edi
push eax
mov edx, ebx
mov byte [esi + 0x12c], 8
mov dword [ebp - 0xac], eax
call fcn.00459a80
add esp, 8
test eax, eax
je 0x45a849
cmp ebx, 4
jae 0x45a83d
mov ecx, dword [ebp - 0xac]
add edi, 0xfffffffc
push edi
push ecx
mov edx, ebx
call fcn.00459a80
add esp, 8
mov edi, str.Not_a_PNG_file
test eax, eax
jne 0x45a842
mov edi, str.PNG_file_corrupted_by_ASCII_conversion
mov eax, esi
call fcn.00460ee0
cmp ebx, 3
jae 0x45a860
or dword [esi + 0x68], 0x1000
jmp 0x45a860
mov ecx, esi
mov dword [ebp - 0x6c], 0x52444849
mov dword [ebp - 0x2c], 0x54414449
mov dword [ebp - 0x3c], 0x444e4549
mov dword [ebp - 0xc], 0x45544c50
mov dword [ebp - 0x94], 0x44474b62
mov dword [ebp - 0x4c], 0x4d524863
mov dword [ebp - 0x84], 0x414d4167
mov dword [ebp - 0x5c], 0x54534968
mov dword [ebp - 0x64], 0x50434369
mov dword [ebp - 0x14], 0x7346466f
mov dword [ebp - 0x1c], 0x4c414370
mov dword [ebp - 0x34], 0x73594870
mov dword [ebp - 0x44], 0x54494273
mov dword [ebp - 0x24], 0x4c414373
mov dword [ebp - 0x7c], 0x544c5073
mov dword [ebp - 0x54], 0x42475273
mov dword [ebp - 0x8c], 0x74584574
mov dword [ebp - 0x9c], 0x454d4974
mov dword [ebp - 0xa4], 0x534e5274
mov dword [ebp - 0x74], 0x7458547a
call fcn.004611a0
mov edi, dword [ebp - 0x2c]
lea edx, [esi + 0x11c]
mov ebx, eax
cmp dword [edx], edi
jne 0x45a920
mov eax, dword [esi + 0x68]
test al, 8
je 0x45a920
or eax, 0x2000
mov dword [esi + 0x68], eax
mov eax, dword [edx]
mov dword [ebp - 0xac], eax
cmp eax, dword [ebp - 0x6c]
jne 0x45a944
mov edx, dword [ebp - 0xa8]
push ebx
push edx
mov ecx, esi
call fcn.004615f0
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x3c]
jne 0x45a959
push ebx
mov eax, esi
call fcn.00461920
add esp, 4
jmp 0x45a860
mov ecx, esi
call fcn.0045a170
test eax, eax
je 0x45a9c6
cmp dword [ebp - 0xac], edi
jne 0x45a970
or dword [esi + 0x68], 4
mov eax, dword [ebp - 0xa8]
push eax
mov edx, ebx
mov ecx, esi
call fcn.004635c0
mov eax, dword [esi + 0x11c]
add esp, 4
cmp eax, dword [ebp - 0xc]
jne 0x45a997
or dword [esi + 0x68], 2
jmp 0x45a860
cmp eax, edi
jne 0x45a860
mov eax, dword [esi + 0x68]
test al, 1
jne 0x45abd5
mov edi, str.Missing_IHDR_before_IDAT
mov eax, esi
call fcn.00460ee0
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00490a89
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xc]
jne 0x45a9e8
mov ecx, dword [ebp - 0xa8]
push ebx
push ecx
mov ecx, esi
call fcn.00461750
add esp, 8
jmp 0x45a860
cmp eax, edi
je 0x45abfe
cmp eax, dword [ebp - 0x94]
jne 0x45aa0f
mov edx, dword [ebp - 0xa8]
push ebx
push edx
mov ecx, esi
call fcn.004627a0
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x4c]
jne 0x45aa2b
mov eax, dword [ebp - 0xa8]
push ebx
push eax
mov ecx, esi
call fcn.00461c30
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x84]
jne 0x45aa4a
mov ecx, dword [ebp - 0xa8]
push ebx
push ecx
mov eax, esi
call fcn.00461970
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x5c]
jne 0x45aa65
mov ecx, dword [ebp - 0xa8]
push ebx
mov edx, esi
call fcn.004629c0
add esp, 4
jmp 0x45a860
cmp eax, dword [ebp - 0x14]
jne 0x45aa81
mov edx, dword [ebp - 0xa8]
push ebx
push edx
mov ecx, esi
call fcn.00462bf0
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x1c]
jne 0x45aa9d
mov eax, dword [ebp - 0xa8]
push ebx
push eax
mov eax, esi
call fcn.00462d00
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x24]
jne 0x45aab9
mov ecx, dword [ebp - 0xa8]
push ebx
push ecx
mov eax, esi
call fcn.00462f70
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x34]
jne 0x45aad5
mov edx, dword [ebp - 0xa8]
push ebx
push edx
mov ecx, esi
call fcn.00462ae0
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x44]
jne 0x45aaf1
mov eax, dword [ebp - 0xa8]
push ebx
push eax
mov eax, esi
call fcn.00461ae0
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x54]
jne 0x45ab0d
mov ecx, dword [ebp - 0xa8]
push ebx
push ecx
mov eax, esi
call fcn.00461f70
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x64]
jne 0x45ab29
mov edx, dword [ebp - 0xa8]
push ebx
push edx
mov eax, esi
call fcn.00462170
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x7c]
jne 0x45ab45
mov eax, dword [ebp - 0xa8]
push ebx
push eax
mov eax, esi
call fcn.00462350
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x8c]
jne 0x45ab64
mov ecx, dword [ebp - 0xa8]
push ebx
push ecx
mov eax, esi
call fcn.00463270
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0x9c]
jne 0x45ab83
mov edx, dword [ebp - 0xa8]
push ebx
push edx
mov ecx, esi
call fcn.00463160
add esp, 8
jmp 0x45a860
cmp eax, dword [ebp - 0xa4]
jne 0x45aba1
mov ecx, dword [ebp - 0xa8]
push ebx
mov edx, esi
call fcn.004625c0
add esp, 4
jmp 0x45a860
cmp eax, dword [ebp - 0x74]
jne 0x45abbd
mov eax, dword [ebp - 0xa8]
push ebx
push eax
mov eax, esi
call fcn.004633e0
add esp, 8
jmp 0x45a860
mov ecx, dword [ebp - 0xa8]
push ecx
mov edx, ebx
mov ecx, esi
call fcn.004635c0
add esp, 4
jmp 0x45a860
cmp byte [esi + 0x126], 3
jne 0x45ac2f
test al, 2
jne 0x45ac2f
mov edi, str.Missing_PLTE_before_IDAT
mov eax, esi
call fcn.00460ee0
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00490a89
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x68]
test al, 1
jne 0x45ac0c
mov edi, str.Missing_IHDR_before_IDAT
jmp 0x45ac1e
cmp byte [esi + 0x126], 3
jne 0x45ac25
test al, 2
jne 0x45ac25
mov edi, str.Missing_PLTE_before_IDAT
mov eax, esi
call fcn.00460ee0
or dword [esi + 0x68], 4
mov dword [esi + 0x10c], ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00490a89
mov esp, ebp
pop ebp
ret