Function at 0x4f920b
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x438
xor eax, eax
mov dword [esp + 4], 1
push ebx
push ebp
mov ebp, ecx
mov byte [esp + 0xb], al
push esi
push edi
mov bl, al
mov dword [esp + 0x3c], ebp
mov edi, dword [ebp]
mov ecx, edi
mov byte [esp + 0x12], bl
mov word [esp + 0x20], ax
mov byte [esp + 0x22], al
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [ebp + 8], eax
mov dword [ebp + 4], eax
mov dword [ebp + 0xc], eax
call fcn.004f8075
test eax, eax
je 0x4f9aad
mov ecx, edi
call fcn.004f2b17
mov ecx, edi
mov esi, eax
call fcn.004f2b17
mov ecx, eax
cmp ecx, 0x43674249
je 0x4f9764
cmp ecx, 0x49444154
je 0x4f96cd
cmp ecx, 0x49454e44
je 0x4f98d7
cmp ecx, 0x49484452
je 0x4f94e2
cmp ecx, 0x504c5445
je 0x4f93c7
cmp ecx, 0x74524e53
je 0x4f92e3
cmp dword [esp + 0x14], 0
jne 0x4f9a9b
test ecx, 0x20000000
je 0x4f9771
mov edx, esi
mov ecx, edi
call fcn.004f29b7
jmp 0x4f9358
cmp dword [esp + 0x14], 0
jne 0x4f9a9b
cmp dword [ebp + 4], 0
jne 0x4f97f1
test bl, bl
je 0x4f9364
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4f97c3
cmp esi, eax
ja 0x4f97ac
xor ebx, ebx
mov byte [esp + 0x12], 4
test esi, esi
je 0x4f9354
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x4f9334
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f934b
cmp dword [edi + 0x20], 0
je 0x4f9349
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
jmp 0x4f9329
xor cl, cl
mov byte [esp + ebx*4 + 0x4b], cl
inc ebx
cmp ebx, esi
jb 0x4f931b
mov bl, byte [esp + 0x12]
mov ecx, edi
call fcn.004f2b17
jmp 0x4f926b
mov ecx, dword [edi + 8]
test cl, 1
je 0x4f97da
lea eax, [ecx + ecx]
cmp esi, eax
jne 0x4f97ac
xor esi, esi
mov byte [esp + 0x13], 1
cmp dword [ebp + 0x10], 0x10
jne 0x4f93a0
test ecx, ecx
jle 0x4f9358
mov ecx, edi
call fcn.004f2a9f
mov word [esp + esi*2 + 0x40], ax
inc esi
cmp esi, dword [edi + 8]
jl 0x4f938c
jmp 0x4f9358
test ecx, ecx
jle 0x4f9358
mov ecx, edi
call fcn.004f2a9f
mov ecx, dword [ebp + 0x10]
movzx eax, al
movzx ecx, byte [ecx + 0x50aae4]
imul eax, ecx
mov byte [esp + esi + 0x20], al
inc esi
cmp esi, dword [edi + 8]
jl 0x4f93a4
jmp 0x4f9358
cmp dword [esp + 0x14], 0
jne 0x4f9a9b
cmp esi, 0x300
ja 0x4f9808
push 3
xor edx, edx
mov eax, esi
pop ecx
div ecx
imul ecx, eax, 3
mov dword [esp + 0x24], eax
cmp ecx, esi
jne 0x4f9808
xor edx, edx
mov dword [esp + 0x30], edx
test eax, eax
je 0x4f9358
lea esi, [edi + 0x20]
mov ebp, eax
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x4f9422
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f9448
lea esi, [edi + 0x20]
cmp dword [esi], 0
je 0x4f9446
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f9448
xor cl, cl
mov ebx, esi
mov byte [esp + edx*4 + 0x48], cl
cmp eax, dword [edi + 0xb0]
jae 0x4f9464
mov cl, byte [eax]
lea esi, [edi + 0x20]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f9489
cmp dword [ebx], 0
mov esi, ebx
je 0x4f9487
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f9489
xor cl, cl
mov byte [esp + edx*4 + 0x49], cl
cmp eax, dword [edi + 0xb0]
jae 0x4f94a0
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f94c3
cmp dword [ebx], 0
je 0x4f94c1
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f94c3
xor cl, cl
mov byte [esp + edx*4 + 0x4a], cl
mov byte [esp + edx*4 + 0x4b], 0xff
inc edx
mov dword [esp + 0x30], edx
cmp edx, ebp
jb 0x4f9409
mov ebp, dword [esp + 0x3c]
jmp 0x4f9354
cmp dword [esp + 0x14], 0
je 0x4f98c0
and dword [esp + 0x14], 0
cmp esi, 0xd
jne 0x4f98a9
mov ecx, edi
call fcn.004f2b17
mov ecx, edi
mov dword [edi], eax
call fcn.004f2b17
mov ecx, 0x1000000
mov dword [edi + 4], eax
cmp eax, ecx
ja 0x4f96b6
cmp dword [edi], ecx
ja 0x4f96b6
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x4f953c
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f9553
cmp dword [edi + 0x20], 0
je 0x4f9551
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
jmp 0x4f9531
xor cl, cl
movzx ecx, cl
mov esi, edi
mov dword [ebp + 0x10], ecx
push 0x20
pop ebx
cmp ecx, 1
je 0x4f957b
cmp ecx, 2
je 0x4f957b
cmp ecx, 4
je 0x4f957b
cmp ecx, 8
je 0x4f957b
cmp ecx, 0x10
jne 0x4f981f
cmp eax, dword [edi + 0xb0]
jae 0x4f958e
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f95a5
cmp dword [esi + ebx], 0
je 0x4f95a3
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
jmp 0x4f9583
xor cl, cl
movzx ecx, cl
mov dword [esp + 0x28], ecx
cmp ecx, 6
ja 0x4f9836
push 3
pop edx
cmp ecx, edx
jne 0x4f95cc
cmp dword [ebp + 0x10], 0x10
je 0x4f9836
mov byte [esp + 0x12], dl
jmp 0x4f95d5
test cl, 1
jne 0x4f9836
cmp eax, dword [edi + 0xb0]
jb 0x4f95f0
cmp dword [esi + ebx], 0
je 0x4f9601
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
test cl, cl
jne 0x4f984d
cmp eax, dword [edi + 0xb0]
jb 0x4f961c
cmp dword [esi + ebx], 0
je 0x4f962d
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
test cl, cl
jne 0x4f9864
cmp eax, dword [edi + 0xb0]
jae 0x4f9640
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4f9657
cmp dword [esi + ebx], 0
je 0x4f9655
mov ecx, edi
call fcn.004f295c
mov eax, dword [edi + 0xac]
jmp 0x4f9635
xor cl, cl
movzx ebx, cl
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], ebx
cmp ebx, ecx
ja 0x4f9892
cmp dword [edi], 0
je 0x4f987b
mov esi, dword [edi + 4]
test esi, esi
je 0x4f987b
mov bl, byte [esp + 0x12]
xor edx, edx
mov eax, 0x40000000
div dword [edi]
test bl, bl
jne 0x4f96a8
mov ecx, dword [esp + 0x28]
mov edx, ecx
shr edx, 2
and ecx, 2
and edx, 1
or ecx, 1
add ecx, edx
xor edx, edx
div ecx
jmp 0x4f96ab
shr eax, 2
mov dword [edi + 8], ecx
cmp eax, esi
jae 0x4f9358
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.too_large
jmp 0x4f9aad
cmp dword [esp + 0x14], 0
jne 0x4f9a9b
test bl, bl
je 0x4f96e7
cmp dword [esp + 0x24], 0
je 0x4f9a4b
cmp esi, 0x40000000
ja 0x4f9a87
mov ecx, dword [esp + 0x1c]
lea eax, [esi + ecx]
cmp eax, ecx
jl 0x4f9aad
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jbe 0x4f9743
test ecx, ecx
jne 0x4f971e
mov edx, 0x1000
cmp esi, edx
mov ecx, edx
cmova ecx, esi
mov dword [esp + 0x18], ecx
cmp eax, ecx
jbe 0x4f972c
add ecx, ecx
cmp eax, ecx
ja 0x4f9722
mov dword [esp + 0x18], ecx
push ecx
push dword [ebp + 4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
pop ecx
pop ecx
test eax, eax
je 0x4f9a5f
mov dword [ebp + 4], eax
mov edx, dword [ebp + 4]
mov ecx, edi
add edx, dword [esp + 0x1c]
push esi
call fcn.004f2a08
pop ecx
test eax, eax
je 0x4f9a73
add dword [esp + 0x1c], esi
jmp 0x4f9358
mov dword [esp + 0x2c], 1
jmp 0x4f92d8
mov eax, ecx
mov byte [0x6590df], cl
shr eax, 0x18
mov byte [str.XXXX_PNG_chunk_not_known], al
mov eax, ecx
shr eax, 0x10
mov byte [0x6590dd], al
mov eax, ecx
shr eax, 8
mov byte [0x6590de], al
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.XXXX_PNG_chunk_not_known
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_tRNS_len
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_before_PLTE
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_with_alpha
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_after_IDAT
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.invalid_PLTE
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.1_2_4_8_16_bit_only
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_ctype
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_comp_method
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_filter_method
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.0_pixel_image
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_interlace_method
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_IHDR_len
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.multiple_IHDR
jmp 0x4f9aad
cmp dword [esp + 0x14], 0
jne 0x4f9a9b
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x4f9900
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.no_IDAT
jmp 0x4f9aad
mov esi, dword [edi]
lea ebx, [ebp + 0x10]
imul esi, dword [ebx]
xor eax, eax
mov edx, dword [esp + 0x1c]
add esi, 7
shr esi, 3
imul esi, dword [edi + 8]
inc esi
imul esi, dword [edi + 4]
cmp dword [esp + 0x2c], eax
sete al
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
push eax
push esi
call fcn.004f8002
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
je 0x4f9aad
push dword [ebp + 4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [ebp + 4], 0
mov esi, ebx
pop ecx
mov ecx, dword [edi + 8]
lea eax, [ecx + 1]
cmp eax, 4
jne 0x4f9967
cmp byte [esp + 0x12], 0
je 0x4f9970
lea esi, [ebp + 0x10]
cmp byte [esp + 0x13], 0
jne 0x4f9970
mov eax, ecx
mov ecx, dword [esp + 0x38]
push ecx
push dword [esp + 0x2c]
mov dword [edi + 0xc], eax
mov ecx, ebp
push dword [ebx]
mov edx, dword [ebp + 8]
push eax
push dword [esp + 0x28]
call fcn.004f8ce7
add esp, 0x14
test eax, eax
je 0x4f9aad
mov bl, byte [esp + 0x13]
test bl, bl
je 0x4f99c7
cmp dword [esi], 0x10
mov ecx, ebp
push dword [edi + 0xc]
jne 0x4f99b5
lea edx, [esp + 0x44]
call fcn.004f8ff4
jmp 0x4f99be
lea edx, [esp + 0x24]
call fcn.004f8f9e
pop ecx
test eax, eax
je 0x4f9aad
cmp dword [esp + 0x2c], 0
je 0x4f99fd
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
je 0x4f99e7
mov eax, dword [eax + 0x1c]
jmp 0x4f99ec
mov eax, dword [0x65a620]
test eax, eax
je 0x4f99fd
cmp dword [edi + 0xc], 2
jle 0x4f99fd
mov ecx, ebp
call fcn.004f913b
mov al, byte [esp + 0x12]
test al, al
je 0x4f9a2a
movzx eax, al
lea edx, [esp + 0x48]
push 4
mov dword [edi + 8], eax
pop eax
push eax
push ecx
mov ecx, ebp
mov dword [edi + 0xc], eax
call fcn.004f905a
pop ecx
pop ecx
test eax, eax
je 0x4f9aad
jmp 0x4f9a31
test bl, bl
je 0x4f9a31
inc dword [edi + 8]
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [ebp + 8], 0
pop ecx
mov ecx, edi
call fcn.004f2b17
xor eax, eax
inc eax
jmp 0x4f9aaf
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.no_PLTE
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.outofmem
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.outofdata
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.IDAT_size_limit
jmp 0x4f9aad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.first_not_IHDR
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x438
ret