Function at 0x4810bb
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.0047ff25
test eax, eax
je 0x48195d
mov ecx, edi
call fcn.0047a9c7
mov ecx, edi
mov esi, eax
call fcn.0047a9c7
mov ecx, eax
cmp ecx, 0x43674249
je 0x481614
cmp ecx, 0x49444154
je 0x48157d
cmp ecx, 0x49454e44
je 0x481787
cmp ecx, 0x49484452
je 0x481392
cmp ecx, 0x504c5445
je 0x481277
cmp ecx, 0x74524e53
je 0x481193
cmp dword [esp + 0x14], 0
jne 0x48194b
test ecx, 0x20000000
je 0x481621
mov edx, esi
mov ecx, edi
call fcn.0047a867
jmp 0x481208
cmp dword [esp + 0x14], 0
jne 0x48194b
cmp dword [ebp + 4], 0
jne 0x4816a1
test bl, bl
je 0x481214
mov eax, dword [esp + 0x24]
test eax, eax
je 0x481673
cmp esi, eax
ja 0x48165c
xor ebx, ebx
mov byte [esp + 0x12], 4
test esi, esi
je 0x481204
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x4811e4
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4811fb
cmp dword [edi + 0x20], 0
je 0x4811f9
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
jmp 0x4811d9
xor cl, cl
mov byte [esp + ebx*4 + 0x4b], cl
inc ebx
cmp ebx, esi
jb 0x4811cb
mov bl, byte [esp + 0x12]
mov ecx, edi
call fcn.0047a9c7
jmp 0x48111b
mov ecx, dword [edi + 8]
test cl, 1
je 0x48168a
lea eax, [ecx + ecx]
cmp esi, eax
jne 0x48165c
xor esi, esi
mov byte [esp + 0x13], 1
cmp dword [ebp + 0x10], 0x10
jne 0x481250
test ecx, ecx
jle 0x481208
mov ecx, edi
call fcn.0047a94f
mov word [esp + esi*2 + 0x40], ax
inc esi
cmp esi, dword [edi + 8]
jl 0x48123c
jmp 0x481208
test ecx, ecx
jle 0x481208
mov ecx, edi
call fcn.0047a94f
mov ecx, dword [ebp + 0x10]
movzx eax, al
movzx ecx, byte [ecx + 0x492d1c]
imul eax, ecx
mov byte [esp + esi + 0x20], al
inc esi
cmp esi, dword [edi + 8]
jl 0x481254
jmp 0x481208
cmp dword [esp + 0x14], 0
jne 0x48194b
cmp esi, 0x300
ja 0x4816b8
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 0x4816b8
xor edx, edx
mov dword [esp + 0x30], edx
test eax, eax
je 0x481208
lea esi, [edi + 0x20]
mov ebp, eax
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x4812d2
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4812f8
lea esi, [edi + 0x20]
cmp dword [esi], 0
je 0x4812f6
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x4812f8
xor cl, cl
mov ebx, esi
mov byte [esp + edx*4 + 0x48], cl
cmp eax, dword [edi + 0xb0]
jae 0x481314
mov cl, byte [eax]
lea esi, [edi + 0x20]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481339
cmp dword [ebx], 0
mov esi, ebx
je 0x481337
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481339
xor cl, cl
mov byte [esp + edx*4 + 0x49], cl
cmp eax, dword [edi + 0xb0]
jae 0x481350
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481373
cmp dword [ebx], 0
je 0x481371
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
mov edx, dword [esp + 0x30]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481373
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 0x4812b9
mov ebp, dword [esp + 0x3c]
jmp 0x481204
cmp dword [esp + 0x14], 0
je 0x481770
and dword [esp + 0x14], 0
cmp esi, 0xd
jne 0x481759
mov ecx, edi
call fcn.0047a9c7
mov ecx, edi
mov dword [edi], eax
call fcn.0047a9c7
mov ecx, 0x1000000
mov dword [edi + 4], eax
cmp eax, ecx
ja 0x481566
cmp dword [edi], ecx
ja 0x481566
mov eax, dword [edi + 0xac]
cmp eax, dword [edi + 0xb0]
jae 0x4813ec
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481403
cmp dword [edi + 0x20], 0
je 0x481401
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
jmp 0x4813e1
xor cl, cl
movzx ecx, cl
mov esi, edi
mov dword [ebp + 0x10], ecx
push 0x20
pop ebx
cmp ecx, 1
je 0x48142b
cmp ecx, 2
je 0x48142b
cmp ecx, 4
je 0x48142b
cmp ecx, 8
je 0x48142b
cmp ecx, 0x10
jne 0x4816cf
cmp eax, dword [edi + 0xb0]
jae 0x48143e
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481455
cmp dword [esi + ebx], 0
je 0x481453
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
jmp 0x481433
xor cl, cl
movzx ecx, cl
mov dword [esp + 0x28], ecx
cmp ecx, 6
ja 0x4816e6
push 3
pop edx
cmp ecx, edx
jne 0x48147c
cmp dword [ebp + 0x10], 0x10
je 0x4816e6
mov byte [esp + 0x12], dl
jmp 0x481485
test cl, 1
jne 0x4816e6
cmp eax, dword [edi + 0xb0]
jb 0x4814a0
cmp dword [esi + ebx], 0
je 0x4814b1
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
test cl, cl
jne 0x4816fd
cmp eax, dword [edi + 0xb0]
jb 0x4814cc
cmp dword [esi + ebx], 0
je 0x4814dd
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
test cl, cl
jne 0x481714
cmp eax, dword [edi + 0xb0]
jae 0x4814f0
mov cl, byte [eax]
inc eax
mov dword [edi + 0xac], eax
jmp 0x481507
cmp dword [esi + ebx], 0
je 0x481505
mov ecx, edi
call fcn.0047a80c
mov eax, dword [edi + 0xac]
jmp 0x4814e5
xor cl, cl
movzx ebx, cl
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], ebx
cmp ebx, ecx
ja 0x481742
cmp dword [edi], 0
je 0x48172b
mov esi, dword [edi + 4]
test esi, esi
je 0x48172b
mov bl, byte [esp + 0x12]
xor edx, edx
mov eax, 0x40000000
div dword [edi]
test bl, bl
jne 0x481558
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 0x48155b
shr eax, 2
mov dword [edi + 8], ecx
cmp eax, esi
jae 0x481208
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.too_large
jmp 0x48195d
cmp dword [esp + 0x14], 0
jne 0x48194b
test bl, bl
je 0x481597
cmp dword [esp + 0x24], 0
je 0x4818fb
cmp esi, 0x40000000
ja 0x481937
mov ecx, dword [esp + 0x1c]
lea eax, [esi + ecx]
cmp eax, ecx
jl 0x48195d
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jbe 0x4815f3
test ecx, ecx
jne 0x4815ce
mov edx, 0x1000
cmp esi, edx
mov ecx, edx
cmova ecx, esi
mov dword [esp + 0x18], ecx
cmp eax, ecx
jbe 0x4815dc
add ecx, ecx
cmp eax, ecx
ja 0x4815d2
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 0x48190f
mov dword [ebp + 4], eax
mov edx, dword [ebp + 4]
mov ecx, edi
add edx, dword [esp + 0x1c]
push esi
call fcn.0047a8b8
pop ecx
test eax, eax
je 0x481923
add dword [esp + 0x1c], esi
jmp 0x481208
mov dword [esp + 0x2c], 1
jmp 0x481188
mov eax, ecx
mov byte [0x5d3b83], cl
shr eax, 0x18
mov byte [str.XXXX_PNG_chunk_not_known], al
mov eax, ecx
shr eax, 0x10
mov byte [0x5d3b81], al
mov eax, ecx
shr eax, 8
mov byte [0x5d3b82], al
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.XXXX_PNG_chunk_not_known
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_tRNS_len
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_before_PLTE
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_with_alpha
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.tRNS_after_IDAT
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.invalid_PLTE
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.1_2_4_8_16_bit_only
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_ctype
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_comp_method
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_filter_method
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.0_pixel_image
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_interlace_method
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.bad_IHDR_len
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.multiple_IHDR
jmp 0x48195d
cmp dword [esp + 0x14], 0
jne 0x48194b
mov ecx, dword [ebp + 4]
test ecx, ecx
jne 0x4817b0
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.no_IDAT
jmp 0x48195d
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.0047feb2
add esp, 0xc
mov dword [ebp + 8], eax
test eax, eax
je 0x48195d
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 0x481817
cmp byte [esp + 0x12], 0
je 0x481820
lea esi, [ebp + 0x10]
cmp byte [esp + 0x13], 0
jne 0x481820
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.00480b97
add esp, 0x14
test eax, eax
je 0x48195d
mov bl, byte [esp + 0x13]
test bl, bl
je 0x481877
cmp dword [esi], 0x10
mov ecx, ebp
push dword [edi + 0xc]
jne 0x481865
lea edx, [esp + 0x44]
call fcn.00480ea4
jmp 0x48186e
lea edx, [esp + 0x24]
call fcn.00480e4e
pop ecx
test eax, eax
je 0x48195d
cmp dword [esp + 0x2c], 0
je 0x4818ad
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
je 0x481897
mov eax, dword [eax + 0x1c]
jmp 0x48189c
mov eax, dword [0x5d4b78]
test eax, eax
je 0x4818ad
cmp dword [edi + 0xc], 2
jle 0x4818ad
mov ecx, ebp
call fcn.00480feb
mov al, byte [esp + 0x12]
test al, al
je 0x4818da
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.00480f0a
pop ecx
pop ecx
test eax, eax
je 0x48195d
jmp 0x4818e1
test bl, bl
je 0x4818e1
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.0047a9c7
xor eax, eax
inc eax
jmp 0x48195f
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.no_PLTE
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.outofmem
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.outofdata
jmp 0x48195d
mov eax, dword fs:[0x2c]
mov eax, dword [eax]
mov dword [eax + 0xc], str.IDAT_size_limit
jmp 0x48195d
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