Function at 0x44f293
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x438
mov eax, dword [0x4d10e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor edx, edx
xor ebx, ebx
push esi
push edi
mov edi, dword [ebp + 8]
inc ebx
mov dword [ebp - 0x414], edi
mov byte [ebp - 0x40d], dl
mov byte [ebp - 0x40e], dl
mov esi, dword [edi]
push esi
mov word [ebp - 0x428], dx
mov byte [ebp - 0x426], dl
mov dword [ebp - 0x42c], edx
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x41c], ebx
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x434], edx
mov dword [edi + 8], edx
mov dword [edi + 4], edx
mov dword [edi + 0xc], edx
call fcn.004493b6
pop ecx
test eax, eax
je 0x44fab5
cmp dword [ebp + 0xc], ebx
je 0x44fb12
push esi
call fcn.0044b314
mov ebx, eax
pop ecx
cmp edx, 0x43674249
je 0x44f8aa
cmp edx, 0x49444154
je 0x44f7ec
cmp edx, 0x49454e44
je 0x44f95e
cmp edx, 0x49484452
je 0x44f5dd
cmp edx, 0x504c5445
je 0x44f49e
cmp edx, 0x74524e53
je 0x44f391
cmp dword [ebp - 0x41c], 0
jne 0x44f916
test edx, 0x20000000
je 0x44f8b9
push ebx
push esi
call fcn.004522af
pop ecx
pop ecx
jmp 0x44f420
cmp dword [ebp - 0x41c], 0
jne 0x44f916
cmp dword [edi + 4], 0
jne 0x44f908
cmp byte [ebp - 0x40d], 0
je 0x44f42c
cmp dword [ebp + 0xc], 2
je 0x44f8f2
mov eax, dword [ebp - 0x424]
test eax, eax
je 0x44f8eb
cmp ebx, eax
ja 0x44f8e4
xor edi, edi
mov byte [ebp - 0x40d], 4
test ebx, ebx
je 0x44f41a
mov eax, dword [esi + 0xa8]
cmp eax, dword [esi + 0xac]
jae 0x44f3f7
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f40e
cmp dword [esi + 0x20], 0
je 0x44f40c
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
pop ecx
jmp 0x44f3ec
xor cl, cl
mov byte [ebp + edi*4 - 0x409], cl
inc edi
cmp edi, ebx
jb 0x44f3de
mov edi, dword [ebp - 0x414]
push esi
call fcn.0044b2d4
pop ecx
jmp 0x44f31d
mov ecx, dword [esi + 8]
test cl, 1
je 0x44f901
lea eax, [ecx + ecx]
cmp ebx, eax
jne 0x44f8e4
cmp dword [edi + 0x10], 0x10
mov byte [ebp - 0x40e], 1
jne 0x44f46a
xor edi, edi
test ecx, ecx
jle 0x44f41a
push esi
call fcn.0044b1e0
mov word [ebp + edi*2 - 0xc], ax
inc edi
pop ecx
cmp edi, dword [esi + 8]
jl 0x44f456
jmp 0x44f41a
xor edi, edi
test ecx, ecx
jle 0x44f41a
mov ebx, dword [ebp - 0x414]
push esi
call fcn.0044b1e0
pop ecx
mov ecx, dword [ebx + 0x10]
movzx eax, al
movzx ecx, byte [ecx + 0x4b06c4]
imul eax, ecx
mov byte [ebp + edi - 0x428], al
inc edi
cmp edi, dword [esi + 8]
jl 0x44f476
mov edi, ebx
jmp 0x44f420
cmp dword [ebp - 0x41c], 0
jne 0x44f916
cmp ebx, 0x300
ja 0x44f90f
push 3
xor edx, edx
mov eax, ebx
pop ecx
div ecx
imul ecx, eax, 3
mov dword [ebp - 0x424], eax
cmp ecx, ebx
jne 0x44f90f
xor edx, edx
mov dword [ebp - 0x418], edx
test eax, eax
je 0x44f420
lea edi, [esi + 0x20]
mov eax, dword [esi + 0xa8]
cmp eax, dword [esi + 0xac]
jae 0x44f4fd
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f525
lea edi, [esi + 0x20]
cmp dword [edi], 0
je 0x44f523
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
mov edx, dword [ebp - 0x418]
pop ecx
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f525
xor cl, cl
mov byte [ebp + edx*4 - 0x40c], cl
mov ebx, edi
mov eax, dword [esi + 0xa8]
cmp eax, dword [esi + 0xac]
jae 0x44f54a
mov cl, byte [eax]
lea edi, [esi + 0x20]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f571
cmp dword [ebx], 0
mov edi, ebx
je 0x44f56f
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
mov edx, dword [ebp - 0x418]
pop ecx
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f571
xor cl, cl
mov byte [ebp + edx*4 - 0x40b], cl
mov eax, dword [esi + 0xa8]
cmp eax, dword [esi + 0xac]
jae 0x44f591
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f5b6
cmp dword [ebx], 0
je 0x44f5b4
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
mov edx, dword [ebp - 0x418]
pop ecx
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f5b6
xor cl, cl
mov byte [ebp + edx*4 - 0x40a], cl
mov byte [ebp + edx*4 - 0x409], 0xff
inc edx
mov dword [ebp - 0x418], edx
cmp edx, dword [ebp - 0x424]
jb 0x44f4e4
jmp 0x44f41a
cmp dword [ebp - 0x41c], 0
je 0x44f94e
and dword [ebp - 0x41c], 0
cmp ebx, 0xd
jne 0x44f947
push esi
call fcn.0044b2d4
mov ebx, 0x1000000
mov dword [esi], eax
pop ecx
cmp eax, ebx
ja 0x44f7e2
push esi
call fcn.0044b2d4
mov dword [esi + 4], eax
pop ecx
cmp eax, ebx
ja 0x44f7e2
mov eax, dword [esi + 0xa8]
cmp eax, dword [esi + 0xac]
jae 0x44f63b
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f652
cmp dword [esi + 0x20], 0
je 0x44f650
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
pop ecx
jmp 0x44f630
xor cl, cl
push 0x20
movzx eax, cl
mov ebx, esi
mov dword [edi + 0x10], eax
pop edx
mov dword [ebp - 0x418], edx
cmp eax, 1
je 0x44f680
cmp eax, 2
je 0x44f680
cmp eax, 4
je 0x44f680
cmp eax, 8
je 0x44f680
cmp eax, 0x10
jne 0x44f91d
mov eax, dword [esi + 0xa8]
cmp eax, dword [esi + 0xac]
jae 0x44f699
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f6b0
cmp dword [edx + ebx], 0
je 0x44f6ae
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
pop ecx
jmp 0x44f68e
xor cl, cl
movzx ecx, cl
mov dword [ebp - 0x430], ecx
cmp ecx, 6
ja 0x44f940
push 3
pop edx
cmp ecx, edx
jne 0x44f6db
cmp dword [edi + 0x10], 0x10
je 0x44f940
mov byte [ebp - 0x40d], dl
jmp 0x44f6e4
test cl, 1
jne 0x44f940
mov edi, dword [ebp - 0x418]
cmp eax, dword [esi + 0xac]
jb 0x44f705
cmp dword [edi + ebx], 0
je 0x44f716
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
pop ecx
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
test cl, cl
jne 0x44f924
cmp eax, dword [esi + 0xac]
jb 0x44f731
cmp dword [edi + ebx], 0
je 0x44f742
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
pop ecx
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
test cl, cl
jne 0x44f92b
cmp eax, dword [esi + 0xac]
jae 0x44f755
mov cl, byte [eax]
inc eax
mov dword [esi + 0xa8], eax
jmp 0x44f76c
cmp dword [edi + ebx], 0
je 0x44f76a
push esi
call fcn.00451e80
mov eax, dword [esi + 0xa8]
pop ecx
jmp 0x44f74a
xor cl, cl
xor ebx, ebx
movzx eax, cl
inc ebx
mov dword [ebp - 0x438], eax
cmp eax, ebx
ja 0x44f939
cmp dword [esi], 0
je 0x44f932
mov edi, dword [esi + 4]
test edi, edi
je 0x44f932
xor edx, edx
mov eax, 0x40000000
div dword [esi]
cmp byte [ebp - 0x40d], 0
jne 0x44f7d4
mov ecx, dword [ebp - 0x430]
mov edx, ecx
shr edx, 2
and ecx, 2
and edx, ebx
or ecx, ebx
add ecx, edx
xor edx, edx
div ecx
mov dword [esi + 8], ecx
cmp eax, edi
jb 0x44f7e2
cmp dword [ebp + 0xc], 2
je 0x44fb12
jmp 0x44f41a
shr eax, 2
mov dword [esi + 8], ebx
cmp eax, edi
jae 0x44f41a
push str.too_large
jmp 0x44f953
cmp dword [ebp - 0x41c], 0
jne 0x44f916
mov al, byte [ebp - 0x40d]
test al, al
je 0x44f810
cmp dword [ebp - 0x424], 0
je 0x44fae6
cmp dword [ebp + 0xc], 2
je 0x44fb04
mov eax, dword [ebp - 0x42c]
lea edi, [ebx + eax]
cmp edi, eax
jl 0x44fab5
mov eax, dword [ebp - 0x420]
cmp edi, eax
jbe 0x44f87d
test eax, eax
jne 0x44f84b
mov ecx, 0x1000
cmp ebx, ecx
mov eax, ecx
cmova eax, ebx
mov dword [ebp - 0x420], eax
cmp edi, eax
jbe 0x44f85b
add eax, eax
cmp edi, eax
ja 0x44f84f
mov dword [ebp - 0x420], eax
push eax
mov eax, dword [ebp - 0x414]
push dword [eax + 4]
call fcn.0048b45b
pop ecx
pop ecx
test eax, eax
je 0x44faf0
mov ecx, dword [ebp - 0x414]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x414]
push ebx
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x42c]
push eax
push esi
call fcn.0044b3be
add esp, 0xc
test eax, eax
je 0x44fafa
mov dword [ebp - 0x42c], edi
jmp 0x44f41a
mov dword [ebp - 0x434], 1
jmp 0x44f383
mov eax, edx
mov byte [0x4d105b], dl
shr eax, 0x18
mov byte [str.XXXX_PNG_chunk_not_known], al
mov eax, edx
shr eax, 0x10
mov byte [0x4d1059], al
mov eax, edx
shr eax, 8
mov byte [0x4d105a], al
push str.XXXX_PNG_chunk_not_known
jmp 0x44f953
push str.bad_tRNS_len
jmp 0x44f953
push str.tRNS_before_PLTE
jmp 0x44f953
mov dword [esi + 8], 4
xor eax, eax
inc eax
jmp 0x44fab7
push str.tRNS_with_alpha
jmp 0x44f953
push str.tRNS_after_IDAT
jmp 0x44f953
push str.invalid_PLTE
jmp 0x44f953
push str.first_not_IHDR
jmp 0x44f953
push str.1_2_4_8_16_bit_only
jmp 0x44f953
push str.bad_comp_method
jmp 0x44f953
push str.bad_filter_method
jmp 0x44f953
push str.0_pixel_image
jmp 0x44f953
push str.bad_interlace_method
jmp 0x44f953
push str.bad_ctype
jmp 0x44f953
push str.bad_IHDR_len
jmp 0x44f953
push str.multiple_IHDR
call fcn.0044b069
pop ecx
jmp 0x44fab7
cmp dword [ebp - 0x41c], 0
jne 0x44f916
cmp dword [ebp + 0xc], 0
jne 0x44fb0f
cmp dword [edi + 4], 0
jne 0x44f97e
push str.no_IDAT
jmp 0x44f953
mov ecx, dword [esi]
xor eax, eax
imul ecx, dword [edi + 0x10]
add ecx, 7
shr ecx, 3
imul ecx, dword [esi + 8]
inc ecx
imul ecx, dword [esi + 4]
cmp dword [ebp - 0x434], eax
sete al
push eax
lea eax, [ebp - 0x420]
mov dword [ebp - 0x420], ecx
push eax
push ecx
push dword [ebp - 0x42c]
push dword [edi + 4]
call fcn.00453089
add esp, 0x14
mov dword [edi + 8], eax
test eax, eax
je 0x44fab5
push dword [edi + 4]
call fcn.004828b0
and dword [edi + 4], 0
mov edx, dword [ebp + 0x10]
mov bl, byte [ebp - 0x40d]
pop ecx
mov ecx, dword [esi + 8]
lea eax, [ecx + 1]
cmp edx, eax
jne 0x44f9f2
cmp edx, 3
je 0x44f9f2
test bl, bl
je 0x44fa45
mov bh, byte [ebp - 0x40e]
test bh, bh
jne 0x44f9fe
mov eax, ecx
mov ecx, dword [ebp - 0x438]
push ecx
push dword [ebp - 0x430]
mov dword [esi + 0xc], eax
push dword [edi + 0x10]
push eax
push dword [ebp - 0x420]
push dword [edi + 8]
push edi
call fcn.00449ecb
add esp, 0x1c
test eax, eax
je 0x44fab5
test bh, bh
je 0x44fa61
cmp dword [edi + 0x10], 0x10
push dword [esi + 0xc]
jne 0x44fa4d
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.004496dd
jmp 0x44fa5a
mov bh, byte [ebp - 0x40e]
jmp 0x44f9fe
lea eax, [ebp - 0x428]
push eax
push edi
call fcn.00449751
add esp, 0xc
test eax, eax
je 0x44fab5
cmp dword [ebp - 0x434], 0
je 0x44fa80
cmp dword [0x4d3a58], 0
je 0x44fa80
cmp dword [esi + 0xc], 2
jle 0x44fa80
push edi
call fcn.0044ac60
pop ecx
test bl, bl
je 0x44fac6
mov ecx, dword [ebp + 0x10]
movzx eax, bl
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
cmp ecx, 3
jl 0x44fa9a
mov dword [esi + 0xc], ecx
mov eax, ecx
push eax
push dword [ebp - 0x424]
lea eax, [ebp - 0x40c]
push eax
push edi
call fcn.0044b088
add esp, 0x10
test eax, eax
jne 0x44facd
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047c472
leave
ret
test bh, bh
je 0x44facd
inc dword [esi + 8]
push dword [edi + 8]
call fcn.004828b0
and dword [edi + 8], 0
push esi
call fcn.0044b2d4
pop ecx
pop ecx
jmp 0x44f8f9
push str.no_PLTE
jmp 0x44f953
push str.outofmem
jmp 0x44f953
push str.outofdata
jmp 0x44f953
movzx eax, al
mov dword [esi + 8], eax
jmp 0x44f8f9
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x44fab7