Function at 0x4910d5
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
mov esi, ecx
push edi
mov edi, edx
test esi, esi
je 0x491509
test edi, edi
je 0x491509
mov al, byte [esi + 0x12c]
cmp al, 8
jae 0x491187
mov ecx, dword [esi + 0x50]
movzx ebx, al
push 8
pop eax
sub eax, ebx
mov dword [esp + 0x10], eax
test ecx, ecx
je 0x491128
push eax
lea eax, [edi + 0x20]
add eax, ebx
push eax
push esi
call ecx
add esp, 0xc
jmp 0x491134
mov edx, str.Call_to_NULL_read_function
mov ecx, esi
call fcn.004923d0
push dword [esp + 0x10]
lea ecx, [edi + 0x20]
mov byte [esi + 0x12c], 8
mov edx, ebx
call fcn.004907b4
pop ecx
test eax, eax
je 0x49117b
cmp ebx, 4
jae 0x49116f
mov eax, dword [esp + 0x10]
lea ecx, [edi + 0x20]
add eax, 0xfffffffc
mov edx, ebx
push eax
call fcn.004907b4
mov edx, str.Not_a_PNG_file
pop ecx
test eax, eax
jne 0x491174
mov edx, str.PNG_file_corrupted_by_ASCII_conversion
mov ecx, esi
call fcn.004923d0
cmp ebx, 3
jae 0x491187
or dword [esi + 0x68], 0x1000
xor eax, eax
mov dword [esp + 0x20], 0x52444849
mov byte [esp + 0x24], al
mov dword [esp + 0x10], 0x54414449
mov byte [esp + 0x14], al
mov dword [esp + 0x28], 0x444e4549
mov byte [esp + 0x2c], al
mov dword [esp + 0x18], 0x45544c50
mov byte [esp + 0x1c], al
mov dword [esp + 0x30], 0x44474b62
mov byte [esp + 0x34], al
mov dword [esp + 0x38], 0x4d524863
mov byte [esp + 0x3c], al
mov dword [esp + 0x40], 0x414d4167
mov byte [esp + 0x44], al
mov dword [esp + 0x48], 0x54534968
mov byte [esp + 0x4c], al
mov dword [esp + 0x80], 0x50434369
mov byte [esp + 0x84], al
mov dword [esp + 0x50], 0x7346466f
mov byte [esp + 0x54], al
mov dword [esp + 0x58], 0x4c414370
mov byte [esp + 0x5c], al
mov dword [esp + 0x68], 0x73594870
mov byte [esp + 0x6c], al
mov dword [esp + 0x70], 0x54494273
mov byte [esp + 0x74], al
mov dword [esp + 0x60], 0x4c414373
mov byte [esp + 0x64], al
mov dword [esp + 0x88], 0x544c5073
mov byte [esp + 0x8c], al
mov dword [esp + 0x78], 0x42475273
mov byte [esp + 0x7c], al
mov dword [esp + 0x90], 0x74584574
mov byte [esp + 0x94], al
mov dword [esp + 0x98], 0x454d4974
mov byte [esp + 0x9c], al
mov dword [esp + 0xa0], 0x534e5274
mov byte [esp + 0xa4], al
mov dword [esp + 0xa8], 0x7458547a
mov byte [esp + 0xac], al
mov ecx, esi
call fcn.004927ad
mov ebx, eax
lea edx, [esi + 0x11c]
mov ecx, dword [edx]
lea eax, [esp + 0x10]
cmp ecx, dword [eax]
jne 0x4912c5
mov eax, dword [esi + 0x68]
test al, 8
je 0x4912c5
or eax, 0x2000
mov dword [esi + 0x68], eax
mov eax, dword [edx]
lea ecx, [esp + 0x20]
cmp eax, dword [ecx]
jne 0x4912de
push ebx
mov edx, edi
mov ecx, esi
call fcn.00492ce9
jmp 0x4914b4
lea ecx, [esp + 0x28]
cmp eax, dword [ecx]
mov ecx, esi
jne 0x4912f3
push ebx
call fcn.00492f8a
jmp 0x4914b4
call fcn.00490cc7
test eax, eax
mov eax, dword [edx]
je 0x49134c
lea ecx, [esp + 0x10]
cmp eax, dword [ecx]
jne 0x49130a
or dword [esi + 0x68], 4
push ebx
mov edx, edi
mov ecx, esi
call fcn.0049477f
mov eax, dword [esi + 0x11c]
lea edx, [esp + 0x1c]
pop ecx
cmp eax, dword [edx]
jne 0x49132c
or dword [esi + 0x68], 2
jmp 0x49129d
lea edx, [esp + 0x10]
cmp eax, dword [edx]
jne 0x49129d
test byte [esi + 0x68], 1
jne 0x4914ba
mov edx, str.Missing_IHDR_before_IDAT
jmp 0x4914ce
lea ecx, [esp + 0x18]
cmp eax, dword [ecx]
jne 0x491363
push ebx
mov edx, edi
mov ecx, esi
call fcn.00492e36
jmp 0x4914b4
lea ecx, [esp + 0x10]
cmp eax, dword [ecx]
je 0x4914d7
lea ecx, [esp + 0x30]
mov edx, edi
push ebx
cmp eax, dword [ecx]
jne 0x491386
mov ecx, esi
call fcn.00493c70
jmp 0x4914b4
lea ecx, [esp + 0x3c]
cmp eax, dword [ecx]
jne 0x49139a
mov ecx, esi
call fcn.004931f5
jmp 0x4914b4
lea ecx, [esp + 0x44]
cmp eax, dword [ecx]
jne 0x4913ae
mov ecx, esi
call fcn.00492fc6
jmp 0x4914b4
lea ecx, [esp + 0x4c]
cmp eax, dword [ecx]
jne 0x4913c2
mov ecx, esi
call fcn.00493e13
jmp 0x4914b4
lea ecx, [esp + 0x54]
cmp eax, dword [ecx]
jne 0x4913d6
mov ecx, esi
call fcn.00493faf
jmp 0x4914b4
lea ecx, [esp + 0x5c]
cmp eax, dword [ecx]
jne 0x4913ea
mov ecx, esi
call fcn.0049404e
jmp 0x4914b4
lea ecx, [esp + 0x64]
cmp eax, dword [ecx]
jne 0x4913fe
mov ecx, esi
call fcn.0049427b
jmp 0x4914b4
lea ecx, [esp + 0x6c]
cmp eax, dword [ecx]
jne 0x491412
mov ecx, esi
call fcn.00493f12
jmp 0x4914b4
lea ecx, [esp + 0x74]
cmp eax, dword [ecx]
jne 0x491426
mov ecx, esi
call fcn.004930eb
jmp 0x4914b4
lea ecx, [esp + 0x7c]
cmp eax, dword [ecx]
jne 0x491437
mov ecx, esi
call fcn.00493510
jmp 0x4914b4
lea ecx, [esp + 0x84]
cmp eax, dword [ecx]
jne 0x49144b
mov ecx, esi
call fcn.004936d2
jmp 0x4914b4
lea ecx, [esp + 0x8c]
cmp eax, dword [ecx]
jne 0x49145f
mov ecx, esi
call fcn.0049387e
jmp 0x4914b4
lea ecx, [esp + 0x94]
cmp eax, dword [ecx]
jne 0x491473
mov ecx, esi
call fcn.004944bd
jmp 0x4914b4
lea ecx, [esp + 0x9c]
cmp eax, dword [ecx]
jne 0x491487
mov ecx, esi
call fcn.004943f4
jmp 0x4914b4
lea ecx, [esp + 0xa4]
cmp eax, dword [ecx]
jne 0x49149b
mov ecx, esi
call fcn.00493aa5
jmp 0x4914b4
lea ecx, [esp + 0xac]
cmp eax, dword [ecx]
mov ecx, esi
jne 0x4914af
call fcn.004945fd
jmp 0x4914b4
call fcn.0049477f
pop ecx
jmp 0x49129d
cmp byte [esi + 0x126], 3
jne 0x491509
test byte [esi + 0x68], 2
jne 0x491509
mov edx, str.Missing_PLTE_before_IDAT
mov ecx, esi
call fcn.004923d0
jmp 0x491509
test byte [esi + 0x68], 1
jne 0x4914e4
mov edx, str.Missing_IHDR_before_IDAT
jmp 0x4914f8
cmp byte [esi + 0x126], 3
jne 0x4914ff
test byte [esi + 0x68], 2
jne 0x4914ff
mov edx, str.Missing_PLTE_before_IDAT
mov ecx, esi
call fcn.004923d0
or dword [esi + 0x68], 4
mov dword [esi + 0x10c], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp