Function at 0x468a6b
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.004678d5
test eax, eax
je 0x46930d
mov ecx, edi
call fcn.00462377
mov ecx, edi
mov esi, eax
call fcn.00462377
mov ecx, eax
cmp ecx, 0x43674249
je 0x468fc4
cmp ecx, 0x49444154
je 0x468f2d
cmp ecx, 0x49454e44
je 0x469137
cmp ecx, 0x49484452
je 0x468d42
cmp ecx, 0x504c5445
je 0x468c27
cmp ecx, 0x74524e53
je 0x468b43
cmp dword [esp + 0x14], 0
jne 0x4692fb
test ecx, 0x20000000
je 0x468fd1
mov edx, esi
mov ecx, edi
call fcn.00462217
jmp 0x468bb8
cmp dword [esp + 0x14], 0
jne 0x4692fb
cmp dword [ebp + 4], 0
jne 0x469051
test bl, bl
je 0x468bc4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x469023
cmp esi, eax
ja 0x46900c
xor ebx, ebx
mov byte [esp + 0x12], 4
test esi, esi
je 0x468bb4
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x468b94
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468bab
cmp dword [edi + 0x20], 0
je 0x468ba9
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
jmp 0x468b89
xor cl, cl
mov byte [esp + ebx*4 + 0x4b], cl
inc ebx
cmp ebx, esi
jb 0x468b7b
mov bl, byte [esp + 0x12]
mov ecx, edi
call fcn.00462377
jmp 0x468acb
mov ecx, dword [edi + 8]
test cl, 1
je 0x46903a
lea eax, [ecx + ecx]
cmp esi, eax
jne 0x46900c
xor esi, esi
mov byte [esp + 0x13], 1
cmp dword [ebp + 0x10], 0x10
jne 0x468c00
test ecx, ecx
jle 0x468bb8
mov ecx, edi
call fcn.004622ff
mov word [esp + esi*2 + 0x40], ax
inc esi
cmp esi, dword [edi + 8]
jl 0x468bec
jmp 0x468bb8
test ecx, ecx
jle 0x468bb8
mov ecx, edi
call fcn.004622ff
mov ecx, dword [ebp + 0x10]
movzx eax, al
movzx ecx, byte [ecx + 0x4d7a54]
imul eax, ecx
mov byte [esp + esi + 0x20], al
inc esi
cmp esi, dword [edi + 8]
jl 0x468c04
jmp 0x468bb8
cmp dword [esp + 0x14], 0
jne 0x4692fb
cmp esi, 0x300
ja 0x469068
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 0x469068
xor edx, edx
mov dword [esp + 0x30], edx
test eax, eax
je 0x468bb8
lea esi, [edi + 0x20]
mov ebp, eax
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x468c82
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468ca8
lea esi, [edi + 0x20]
cmp dword [esi], 0
je 0x468ca6
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468ca8
xor cl, cl
mov ebx, esi
mov byte [esp + edx*4 + 0x48], cl
cmp eax, dword [edi + 0xb0]
jae 0x468cc4
mov cl, byte [eax]
lea esi, [edi + 0x20]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468ce9
cmp dword [ebx], 0
mov esi, ebx
je 0x468ce7
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468ce9
xor cl, cl
mov byte [esp + edx*4 + 0x49], cl
cmp eax, dword [edi + 0xb0]
jae 0x468d00
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468d23
cmp dword [ebx], 0
je 0x468d21
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468d23
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 0x468c69
mov ebp, dword [esp + 0x3c]
jmp 0x468bb4
cmp dword [esp + 0x14], 0
je 0x469120
and dword [esp + 0x14], 0
cmp esi, 0xd
jne 0x469109
mov ecx, edi
call fcn.00462377
mov ecx, edi
mov dword [edi], eax
call fcn.00462377
mov ecx, 0x1000000
mov dword [edi + 4], eax
cmp eax, ecx
ja 0x468f16
cmp dword [edi], ecx
ja 0x468f16
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x468d9c
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468db3
cmp dword [edi + 0x20], 0
je 0x468db1
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
jmp 0x468d91
xor cl, cl
movzx ecx, cl
mov esi, edi
mov dword [ebp + 0x10], ecx
push 0x20
pop ebx
cmp ecx, 1
je 0x468ddb
cmp ecx, 2
je 0x468ddb
cmp ecx, 4
je 0x468ddb
cmp ecx, 8
je 0x468ddb
cmp ecx, 0x10
jne 0x46907f
cmp eax, dword [edi + 0xb0]
jae 0x468dee
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468e05
cmp dword [esi + ebx], 0
je 0x468e03
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
jmp 0x468de3
xor cl, cl
movzx ecx, cl
mov dword [esp + 0x28], ecx
cmp ecx, 6
ja 0x469096
push 3
pop edx
cmp ecx, edx
jne 0x468e2c
cmp dword [ebp + 0x10], 0x10
je 0x469096
mov byte [esp + 0x12], dl
jmp 0x468e35
test cl, 1
jne 0x469096
cmp eax, dword [edi + 0xb0]
jb 0x468e50
cmp dword [esi + ebx], 0
je 0x468e61
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
test cl, cl
jne 0x4690ad
cmp eax, dword [edi + 0xb0]
jb 0x468e7c
cmp dword [esi + ebx], 0
je 0x468e8d
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
test cl, cl
jne 0x4690c4
cmp eax, dword [edi + 0xb0]
jae 0x468ea0
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x468eb7
cmp dword [esi + ebx], 0
je 0x468eb5
mov ecx, edi
call fcn.004621bc
mov eax, dword [edi + 0xac]
jmp 0x468e95
xor cl, cl
movzx ebx, cl
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], ebx
cmp ebx, ecx
ja 0x4690f2
cmp dword [edi], 0
je 0x4690db
mov esi, dword [edi + 4]
test esi, esi
je 0x4690db
mov bl, byte [esp + 0x12]
xor edx, edx
mov eax, 0x40000000
div dword [edi]
test bl, bl
jne 0x468f08
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 0x468f0b
shr eax, 2
mov dword [edi + 8], ecx
cmp eax, esi
jae 0x468bb8
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.too_large
jmp 0x46930d
cmp dword [esp + 0x14], 0
jne 0x4692fb
test bl, bl
je 0x468f47
cmp dword [esp + 0x24], 0
je 0x4692ab
cmp esi, 0x40000000
ja 0x4692e7
mov ecx, dword [esp + 0x1c]
lea eax, [esi + ecx]
cmp eax, ecx
jl 0x46930d
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jbe 0x468fa3
test ecx, ecx
jne 0x468f7e
mov edx, 0x1000
cmp esi, edx
mov ecx, edx
cmova ecx, esi
mov dword [esp + 0x18], ecx
cmp eax, ecx
jbe 0x468f8c
add ecx, ecx
cmp eax, ecx
ja 0x468f82
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 0x4692bf
mov dword [ebp + 4], eax
mov edx, dword [ebp + 4]
mov ecx, edi
add edx, dword [esp + 0x1c]
push esi
call fcn.00462268
pop ecx
test eax, eax
je 0x4692d3
add dword [esp + 0x1c], esi
jmp 0x468bb8
mov dword [esp + 0x2c], 1
jmp 0x468b38
mov eax, ecx
mov byte [0x5648e7], cl
shr eax, 0x18
mov byte [str.XXXX_PNG_chunk_not_known], al
mov eax, ecx
shr eax, 0x10
mov byte [0x5648e5], al
mov eax, ecx
shr eax, 8
mov byte [0x5648e6], al
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.XXXX_PNG_chunk_not_known
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_tRNS_len
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_before_PLTE
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_with_alpha
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_after_IDAT
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.invalid_PLTE
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.1_2_4_8_16_bit_only
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_ctype
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_comp_method
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_filter_method
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.0_pixel_image
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_interlace_method
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_IHDR_len
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.multiple_IHDR
jmp 0x46930d
cmp dword [esp + 0x14], 0
jne 0x4692fb
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x469160
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.no_IDAT
jmp 0x46930d
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.00467862
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
je 0x46930d
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 0x4691c7
cmp byte [esp + 0x12], 0
je 0x4691d0
lea esi, [ebp + 0x10]
cmp byte [esp + 0x13], 0
jne 0x4691d0
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.00468547
add esp, 0x14
test eax, eax
je 0x46930d
mov bl, byte [esp + 0x13]
test bl, bl
je 0x469227
cmp dword [esi], 0x10
mov ecx, ebp
push dword [edi + 0xc]
jne 0x469215
lea edx, [esp + 0x44]
call fcn.00468854
jmp 0x46921e
lea edx, [esp + 0x24]
call fcn.004687fe
pop ecx
test eax, eax
je 0x46930d
cmp dword [esp + 0x2c], 0
je 0x46925d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
je 0x469247
mov eax, dword [eax + 0x1c]
jmp 0x46924c
mov eax, dword [0x5657c8]
test eax, eax
je 0x46925d
cmp dword [edi + 0xc], 2
jle 0x46925d
mov ecx, ebp
call fcn.0046899b
mov al, byte [esp + 0x12]
test al, al
je 0x46928a
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.004688ba
pop ecx
pop ecx
test eax, eax
je 0x46930d
jmp 0x469291
test bl, bl
je 0x469291
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.00462377
xor eax, eax
inc eax
jmp 0x46930f
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.no_PLTE
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.outofmem
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.outofdata
jmp 0x46930d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.IDAT_size_limit
jmp 0x46930d
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