Function at 0x4a9c70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x60
mov eax, dword [0x506380]
xor eax, esp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
push ebx
push ebp
mov ebp, dword [esp + 0x74]
push esi
mov bl, 0x49
push edi
mov edi, dword [esp + 0x74]
test edi, edi
mov dword [esp + 0x14], eax
mov byte [esp + 0x54], bl
mov dl, 0x44
mov cl, 0x41
mov al, 0x54
mov byte [esp + 0x5c], bl
mov ebx, 0xff
mov esi, 0x55
mov dword [esp + 0x18], ebp
mov byte [esp + 0x55], dl
mov byte [esp + 0x56], cl
mov byte [esp + 0x57], al
mov byte [esp + 0x58], 0
mov byte [esp + 0x64], 0x66
mov byte [esp + 0x65], 0x64
mov byte [esp + 0x66], cl
mov byte [esp + 0x67], al
mov byte [esp + 0x68], 0
mov byte [esp + 0x5d], 0x45
mov byte [esp + 0x5e], 0x4e
mov byte [esp + 0x5f], dl
mov byte [esp + 0x60], 0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0x33
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x1c], 0x80
mov dword [esp + 0x20], 8
mov dword [esp + 0x24], 0x88
mov dword [esp + 0x28], 0x22
mov dword [esp + 0x2c], 0xaa
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
je 0x4aa303
test byte [edi + 0x6c], 0x40
jne 0x4a9d56
push edi
call fcn.004b26b0
add esp, 4
cmp byte [edi + 0x123], 0
je case.default.0x4a9d7d
test byte [edi + 0x70], 2
je case.default.0x4a9d7d
movzx eax, byte [edi + 0x124]
cmp eax, 6
ja case.default.0x4a9d7d
jmp dword [eax*4 + 0x4aa318]
test byte [edi + 0xe4], 7
je case.default.0x4a9d7d
test ebp, ebp
je 0x4a9da0
push ebx
push ebp
push edi
call fcn.004b1d40
add esp, 0xc
push edi
call fcn.004b5300
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.0041a0cf
add esp, 0x60
ret
test byte [edi + 0xe4], 7
jne 0x4a9dd2
cmp dword [edi + 0xc8], 5
jae case.default.0x4a9d7d
test ebp, ebp
je 0x4a9da0
push 0xf
jmp 0x4a9d96
mov eax, dword [edi + 0xe4]
mov ecx, eax
and cl, 7
cmp cl, 4
je case.default.0x4a9d7d
test ebp, ebp
je 0x4a9da0
test al, 4
jmp 0x4a9d93
mov eax, 3
test byte [edi + 0xe4], al
jne 0x4a9e07
cmp dword [edi + 0xc8], eax
jae case.default.0x4a9d7d
test ebp, ebp
je 0x4a9da0
push 0x33
jmp 0x4a9d96
mov eax, dword [edi + 0xe4]
mov edx, eax
and dl, 3
cmp dl, 2
je case.default.0x4a9d7d
test ebp, ebp
je 0x4a9da0
test al, 2
jmp 0x4a9d93
test byte [edi + 0xe4], 1
jne 0x4a9e40
cmp dword [edi + 0xc8], 2
jae case.default.0x4a9d7d
test ebp, ebp
je 0x4a9da0
push esi
jmp 0x4a9d96
test byte [edi + 0xe4], 1
je 0x4a9da0
test byte [edi + 0x68], 4
jne 0x4a9e6f
push str.Invalid_attempt_to_read_row_data
push edi
call fcn.004b12c0
add esp, 8
mov eax, dword [edi + 0xec]
mov ecx, dword [edi + 0xdc]
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], ecx
lea esi, [edi + 0x74]
lea ebx, [ebx]
cmp dword [edi + 0x78], 0
jne 0x4aa111
xor ebp, ebp
lea esp, [esp]
cmp dword [edi + 0x10c], 0
je 0x4a9eb1
test ebp, ebp
je 0x4aa0d0
push ebp
push edi
call fcn.004b2ad0
xor ebp, ebp
push edi
mov dword [esp + 0x1c], ebp
call fcn.004b2a60
add esp, 0xc
cmp dword [edi + 0x278], ebp
mov dword [edi + 0x10c], eax
lea eax, [ebp + 4]
jne 0x4a9f78
lea ecx, [esp + 0x54]
lea edx, [edi + 0x11c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4a9efe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4a9ee6
test eax, eax
je 0x4a9f5b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4a9f4d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4a9f5b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4a9f4d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4a9f5b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4a9f4d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4a9f5b
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x4a9f5b
test esi, esi
mov eax, 1
jg 0x4a9f5d
or eax, 0xffffffff
jmp 0x4a9f5d
xor eax, eax
test eax, eax
je 0x4a9ea0
push str.Not_enough_image_data
push edi
call fcn.004b12c0
add esp, 8
jmp 0x4a9ea0
lea ebx, [edi + 0x11c]
lea ecx, [esp + 0x5c]
mov edx, ebx
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4a9f9c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4a9f84
test eax, eax
je 0x4aa001
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4a9feb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4a9ffd
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4a9feb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4a9ffd
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x4a9feb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4a9ffd
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x4a9ffd
test esi, esi
mov ebp, dword [esp + 0x10]
mov eax, 1
jg 0x4aa003
or eax, 0xffffffff
jmp 0x4aa003
mov ebp, dword [esp + 0x10]
xor eax, eax
test eax, eax
jne 0x4aa015
push str.Not_enough_image_data
push edi
call fcn.004b12c0
add esp, 8
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, ebx
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4aa038
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4aa020
test eax, eax
je 0x4aa095
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4aa087
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4aa095
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4aa087
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4aa095
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4aa087
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4aa095
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x4aa095
test esi, esi
mov eax, 1
jg 0x4aa097
or eax, 0xffffffff
jmp 0x4aa097
xor eax, eax
test eax, eax
je 0x4aa0b4
push str.Skipped__ignored__a_chunk_between_APNG_chunks
push edi
call fcn.004b1380
mov ebp, dword [edi + 0x10c]
add esp, 8
jmp 0x4a9ea0
mov edx, dword [edi + 0x10c]
push edx
push edi
call fcn.004b1c80
add esp, 8
add dword [edi + 0x10c], 0xfffffffc
jmp 0x4a9ea0
mov eax, dword [edi + 0xb0]
mov ecx, dword [edi + 0x10c]
cmp eax, ecx
mov edx, dword [edi + 0xac]
lea esi, [edi + 0x74]
mov dword [edi + 0x78], eax
mov dword [esi], edx
jbe 0x4aa0f1
mov dword [edi + 0x78], ecx
mov eax, dword [edi + 0x78]
push eax
push edx
push edi
call fcn.004b17f0
mov ecx, dword [edi + 0x78]
mov ebp, dword [esp + 0x24]
add esp, 0xc
sub dword [edi + 0x10c], ecx
mov ebx, 0xff
push 1
push esi
call fcn.004155a0
add esp, 8
cmp eax, 1
je 0x4aa14d
test eax, eax
je 0x4aa13e
mov eax, dword [edi + 0x8c]
test eax, eax
jne 0x4aa134
mov eax, str.Decompression_error
push eax
push edi
call fcn.004b12c0
add esp, 8
cmp dword [edi + 0x84], 0
jne 0x4a9e90
jmp 0x4aa182
cmp dword [edi + 0x84], 0
jne 0x4aa165
cmp dword [edi + 0x78], 0
jne 0x4aa165
cmp dword [edi + 0x10c], 0
je 0x4aa173
push str.Extra_compressed_data
push edi
call fcn.004b12c0
add esp, 8
or dword [edi + 0x68], 8
or dword [edi + 0x6c], 0x20
add dword [edi + 0x278], 1
movzx edx, byte [edi + 0x126]
movzx eax, byte [edi + 0x12a]
mov ecx, dword [edi + 0xe0]
mov byte [edi + 0x108], dl
movzx edx, byte [edi + 0x127]
mov byte [edi + 0x10a], al
mov al, byte [edi + 0x129]
lea esi, [edi + 0x100]
mov byte [edi + 0x10b], al
cmp al, 8
mov dword [esi], ecx
mov byte [edi + 0x109], dl
movzx eax, al
jb 0x4aa1d2
shr eax, 3
imul eax, ecx
jmp 0x4aa1db
imul eax, ecx
add eax, 7
shr eax, 3
mov dword [edi + 0x104], eax
mov eax, dword [edi + 0xec]
mov cl, byte [eax]
test cl, cl
je 0x4aa209
mov edx, dword [edi + 0xe8]
movzx ecx, cl
push ecx
add edx, 1
push edx
add eax, 1
push eax
push esi
push edi
call fcn.004b24b0
add esp, 0x14
mov eax, dword [edi + 0xd8]
mov ecx, dword [edi + 0xec]
mov edx, dword [edi + 0xe8]
add eax, 1
push eax
push ecx
push edx
push edi
call fcn.004b15f0
add esp, 0x10
test byte [edi + 0x230], 4
je 0x4aa24f
cmp byte [edi + 0x238], 0x40
jne 0x4aa24f
mov eax, dword [edi + 0xec]
add eax, 1
push eax
push esi
call fcn.004af120
add esp, 8
cmp dword [edi + 0x70], 0
jne 0x4aa25e
test dword [edi + 0x6c], 0x400000
je 0x4aa267
push edi
call fcn.004aff60
add esp, 4
cmp byte [edi + 0x123], 0
je 0x4aa2b9
test byte [edi + 0x70], 2
je 0x4aa2b9
cmp byte [edi + 0x124], 6
jae 0x4aa288
push edi
call fcn.004b2040
add esp, 4
test ebp, ebp
je 0x4aa2a2
movzx ecx, byte [edi + 0x124]
mov edx, dword [esp + ecx*4 + 0x38]
push edx
push ebp
push edi
call fcn.004b1d40
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4aa2db
movzx ecx, byte [edi + 0x124]
mov edx, dword [esp + ecx*4 + 0x1c]
push edx
push eax
jmp 0x4aa2d2
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4aa2cc
push ebx
push eax
push edi
call fcn.004b1d40
add esp, 0xc
test ebp, ebp
je 0x4aa2db
push ebx
push ebp
push edi
call fcn.004b1d40
add esp, 0xc
push edi
call fcn.004b5300
mov eax, dword [edi + 0x198]
add esp, 4
test eax, eax
je 0x4aa303
movzx ecx, byte [edi + 0x124]
mov edx, dword [edi + 0xe4]
push ecx
push edx
push edi
call eax
add esp, 0xc
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041a0cf
add esp, 0x60
ret