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

Disassembly:
sub esp, 0x1c
mov eax, dword [0x7d9a88]
xor eax, esp
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x30]
push ebx
push esi
mov esi, dword [esp + 0x28]
mov byte [esp + 8], 0x49
mov byte [esp + 9], 0x48
mov byte [esp + 0xa], 0x44
mov byte [esp + 0xb], 0x52
mov byte [esp + 0xc], 0
cmp ecx, 6
ja case.0x62776a.1
jmp dword [ecx*4 + 0x627b18]
mov ebx, dword [esp + 0x34]
lea eax, [ebx - 1]
cmp eax, 0xf
ja case.0x627784.3
movzx eax, byte [eax + 0x627b3c]
jmp dword [eax*4 + 0x627b34]
mov byte [esi + 0x12a], 1
jmp 0x62782b
push str.Invalid_bit_depth_for_grayscale_image
push esi
call fcn.00622000
mov ebx, dword [esp + 0x34]
cmp ebx, 8
je 0x6277bb
cmp ebx, 0x10
je 0x6277bb
push str.Invalid_bit_depth_for_RGB_image
push esi
call fcn.00622000
mov byte [esi + 0x12a], 3
jmp 0x62782b
mov ebx, dword [esp + 0x34]
lea eax, [ebx - 1]
cmp eax, 7
ja case.0x6277d7.3
movzx edx, byte [eax + 0x627b54]
jmp dword [edx*4 + 0x627b4c]
push str.Invalid_bit_depth_for_paletted_image
push esi
call fcn.00622000
mov ebx, dword [esp + 0x34]
cmp ebx, 8
je 0x627802
cmp ebx, 0x10
je 0x627802
push str.Invalid_bit_depth_for_grayscalealpha_image
push esi
call fcn.00622000
mov byte [esi + 0x12a], 2
jmp 0x62782b
mov ebx, dword [esp + 0x34]
cmp ebx, 8
je 0x627824
cmp ebx, 0x10
je 0x627824
push str.Invalid_bit_depth_for_RGBA_image
push esi
call fcn.00622000
mov byte [esi + 0x12a], 4
cmp dword [esp + 0x3c], 0
je 0x62784c
push str.Invalid_compression_type_specified
push esi
call fcn.00621ef0
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [esp + 0x3c], 0
test byte [esi + 0x230], 4
je 0x62786f
test dword [esi + 0x6c], 0x1000
jne 0x62786f
cmp ecx, 2
je 0x627868
cmp ecx, 6
jne 0x62786f
cmp dword [esp + 0x40], 0x40
je 0x627890
cmp dword [esp + 0x40], 0
je 0x627890
push str.Invalid_filter_type_specified
push esi
call fcn.00621ef0
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6278b8
cmp eax, 1
je 0x6278b8
push str.Invalid_interlace_type_specified
push esi
call fcn.00621ef0
mov ecx, dword [esp + 0x40]
mov eax, 1
add esp, 8
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x30]
mov byte [esi + 0x123], al
mov al, byte [esp + 0x40]
mov byte [esi + 0x234], al
mov al, byte [esi + 0x12a]
imul bl
mov byte [esi + 0x126], cl
mov cl, byte [esp + 0x3c]
mov byte [esi + 0x254], cl
mov ecx, dword [esp + 0x2c]
mov byte [esi + 0x129], al
cmp al, 8
mov byte [esi + 0x127], bl
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xd0], edx
movzx eax, al
jb 0x62790f
shr eax, 3
imul eax, ecx
jmp 0x627918
imul eax, ecx
add eax, 7
shr eax, 3
mov dword [esi + 0xdc], eax
mov al, byte [esi + 0x12a]
mov byte [esi + 0x12b], al
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x10], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x11], al
mov eax, ecx
shr eax, 8
mov dword [esi + 0xd8], ecx
mov byte [esp + 0x12], al
mov byte [esp + 0x13], cl
mov eax, edx
mov ecx, edx
shr ecx, 0x18
shr eax, 0x10
mov byte [esp + 0x14], cl
mov byte [esp + 0x15], al
mov al, byte [esp + 0x3c]
mov ecx, edx
mov byte [esp + 0x17], dl
mov dl, byte [esp + 0x38]
shr ecx, 8
mov byte [esp + 0x1a], al
push 0xd
lea eax, [esp + 0xc]
mov byte [esp + 0x1a], cl
mov cl, byte [esp + 0x44]
mov byte [esp + 0x1d], dl
mov dl, byte [esp + 0x48]
push eax
push esi
mov byte [esi + 0x128], bl
mov byte [esp + 0x24], bl
mov byte [esp + 0x27], cl
mov byte [esp + 0x28], dl
call fcn.00626320
push 0xd
lea ecx, [esp + 0x20]
push ecx
push esi
call fcn.00621cf0
push 0xd
lea edx, [esp + 0x2c]
push edx
push esi
call fcn.00619180
push esi
call fcn.00626400
add esp, 0x28
cmp byte [esi + 0x125], 0
mov dword [esi + 0x98], 0x619100
mov dword [esi + 0x9c], fcn.00619150
mov dword [esi + 0xa0], esi
jne 0x627a0d
cmp byte [esi + 0x126], 3
je 0x627a06
cmp byte [esi + 0x127], 8
jb 0x627a06
mov byte [esi + 0x125], 0xf8
jmp 0x627a0d
mov byte [esi + 0x125], 8
mov eax, dword [esi + 0x70]
test al, 1
jne 0x627a26
xor ecx, ecx
cmp byte [esi + 0x125], 8
setne cl
mov dword [esi + 0xc8], ecx
test al, 2
jne 0x627a34
mov dword [esi + 0xb8], 0xffffffff
test al, 4
jne 0x627a42
mov dword [esi + 0xc4], 8
test al, 8
jne 0x627a50
mov dword [esi + 0xc0], 0xf
test al, 0x10
jne 0x627a5e
mov dword [esi + 0xbc], 8
mov edx, dword [esi + 0xc8]
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xc0]
push 0x38
push 0x6be84c
push edx
mov edx, dword [esi + 0xbc]
push eax
mov eax, dword [esi + 0xb8]
push ecx
push edx
push eax
lea ecx, [esi + 0x78]
push ecx
call fcn.0064ee40
add esp, 0x20
test eax, eax
je 0x627ad3
cmp eax, 0xfffffffa
jne 0x627aa8
push str.zlib_failed_to_initialize_compressor____version_error
push esi
call fcn.00622000
cmp eax, 0xfffffffe
jne 0x627ab8
push str.zlib_failed_to_initialize_compressor____stream_error
push esi
call fcn.00622000
cmp eax, 0xfffffffc
jne 0x627ac8
push str.zlib_failed_to_initialize_compressor____mem_error
push esi
call fcn.00622000
push str.zlib_failed_to_initialize_compressor
push esi
call fcn.00622000
mov edx, dword [esi + 0xb0]
mov eax, dword [esi + 0xb4]
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x84], edx
mov dword [esi + 0x88], eax
mov dword [esi + 0xa4], 0
mov dword [esi + 0x6c], 1
pop esi
pop ebx
xor ecx, esp
call fcn.005ae766
add esp, 0x1c
ret
push str.Invalid_image_color_type_specified
push esi
call fcn.00622000
jno 0x627b91
bound eax, qword [eax]
or eax, 0xa200627b
ja 6454149
add ah, al
ja 0x627b89
add cl, ch
ja 0x627b8d
add byte [0xb00627b], cl
js 0x627b95
add byte [ebx - 0x68ff9d89], cl
ja 0x627b9d
add byte [eax], al
add byte [ecx], al
add byte [ecx], al
add dword [ecx], eax
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add byte [ebx - 570400137], cl
ja 6454197
add byte [eax], al
add byte [ecx], al
add byte [ecx], al
add dword [ecx], eax
add ah, cl
int3
and al, 0x11
inc esp
mov byte [esp + 0x12], 0x41
inc esp
and al, 0x12
inc ecx
mov byte [esp + 0x13], 0x54
push esp
mov byte [esp + 0x14], 0
adc al, 0
jne 0x627c64
cmp byte [edi + 0x254], 0
jne 0x627c64
movzx ebp, byte [ebx]
mov eax, ebp
and al, 0xf
cmp al, 8
jne 0x627cb2
stc
add byte [eax], al
add byte [ebx - 0xf1e7e33], cl
add byte [eax], al
add byte [ebx - 0x78f08f07], al
call 0x8b627bcb
je 0x627bf1
mov ecx, ebp
and ecx, 0xf0
cmp ecx, 0x70
ja 0x627cb2
mov esi, dword [esp + 0x28]
cmp esi, 2
jb 0x627c68
sub byte [ebx - 0x7df0fd02], al
xchg ecx, eax
add byte [eax], al
add byte [ebx + 0xd097], cl
add byte [ecx + 0x4000fa], al
add byte [edi], cl
cmp dword [edi], 0
add byte [ebx + 0xcc8f], cl
add byte [ecx + 0x4000f9], al
mov edx, dword [edi + 0xd0]
cmp edx, 0x4000
jae 0x627c68
mov ecx, dword [edi + 0xcc]
cmp ecx, 0x4000
jae 0x627c68
add byte [eax], al
add byte [ebx + 0x71], dh
movzx esi, byte [edi + 0x127]
movzx eax, byte [edi + 0x12a]
imul eax, esi
imul eax, ecx
add eax, 0xf
shr eax, 3
imul eax, edx
mov edx, ebp
shr edx, 4
lea ecx, [edx + 7]
mov esi, 1
shl esi, cl
cmp eax, esi
ja 0x627c36
cmp esi, 0x100
jb 0x627c36
shr esi, 1
dec edx
cmp eax, esi
jbe 0x627c27
shl edx, 4
or edx, 8
mov eax, edx
cmp ebp, eax
je 0x627c64
movzx ecx, byte [ebx + 1]
mov byte [ebx], al
and ecx, 0xe0
shl eax, 8
add eax, ecx
xor edx, edx
mov esi, 0x1f
div esi
sub cl, dl
add cl, 0x1f
mov byte [ebx + 1], cl
mov esi, dword [esp + 0x28]
push esi
lea edx, [esp + 0x14]
push edx
push edi
call fcn.00626320
add esp, 0xc
test ebx, ebx
je 0x627c92
test esi, esi
jbe 0x627c92
push esi
push ebx
push edi
call fcn.00621cf0
push esi
push ebx
push edi
call fcn.00619180
add esp, 0x18
push edi
call fcn.00626400
or dword [edi + 0x6c], 4
mov ecx, dword [esp + 0x1c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005ae766
add esp, 0xc
ret
push str.Invalid_zlib_compression_method_or_flags_in_IDAT
push edi
call fcn.00622000
int3