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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x88]
mov eax, dword [0x4b850c]
mov dword [esp + 0x5c], eax
xor eax, eax
mov esi, dword [esp + 0x84]
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0043d9e0
mov eax, dword [ebx + 0x74]
test al, 1
je 0x43f98a
test al, 4
jne 0x43f890
test eax, 0x20000
jne 0x43f940
cmp edi, 0x1a
jne 0x43f850
lea edi, [esp + 0x46]
mov dword [esp + 8], 0x16
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00432ff0
mov dword [esp + 8], 0x16
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00427190
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043a1a0
mov ecx, dword [esp + 0x46]
bswap ecx
test ecx, ecx
js 0x43f97a
mov edi, dword [esp + 0x4a]
bswap edi
test edi, edi
js 0x43f97a
mov eax, dword [esp + 0x4e]
bswap eax
test eax, eax
js 0x43f97a
mov edx, dword [esp + 0x52]
bswap edx
mov dword [esp + 0x34], edx
test edx, edx
js 0x43f97a
movzx edx, word [esp + 0x56]
movzx ebp, byte [esp + 0x5b]
mov word [esp + 0x3a], dx
movzx edx, word [esp + 0x58]
mov word [esp + 0x3c], dx
movzx edx, byte [esp + 0x5a]
mov byte [esp + 0x3f], dl
mov edx, dword [ebx + 0x26c]
test edx, edx
jne 0x43f8b8
mov edx, dword [esp + 0x34]
or edx, eax
jne 0x43f968
test esi, esi
je 0x43f921
cmp dword [esi], ecx
jne 0x43f833
cmp dword [esi + 4], edi
je 0x43f8bc
mov dword [esp + 4], str.size_in_first_frames_fcTL_must_match_the_size_in_IHDR
mov dword [esp], ebx
call fcn.0042b170
jmp 0x43f921
mov dword [esp + 4], str.fcTL_with_invalid_length_skipped
mov dword [esp], ebx
call fcn.0042b170
mov eax, dword [esp + 0x5c]
sub eax, dword [0x4b850c]
jne 0x43f8ac
sub edi, 4
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edi
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0043a1a0
mov dword [esp + 4], str.Invalid_fcTL_after_IDAT_skipped
mov dword [esp], ebx
call fcn.0042b170
mov eax, dword [esp + 0x5c]
sub eax, dword [0x4b850c]
je 0x43f86c
call fcn.00464ba0
lea esi, [esi]
test esi, esi
je 0x43f921
mov edx, ebp
mov dword [esp + 8], ecx
movzx ebp, dl
mov edx, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ebp
movzx ebp, byte [esp + 0x3f]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebp
movzx ebp, word [esp + 0x3c]
mov dword [esp + 0xc], edi
rol bp, 8
mov dword [esp + 4], esi
movzx ebp, bp
mov dword [esp], ebx
mov dword [esp + 0x1c], ebp
movzx ebp, word [esp + 0x3a]
rol bp, 8
movzx ebp, bp
mov dword [esp + 0x18], ebp
call fcn.00441a80
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0043f670
or dword [ebx + 0x74], 0x20000
mov eax, dword [esp + 0x5c]
sub eax, dword [0x4b850c]
jne 0x43f8ac
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], str.Duplicate_fcTL_within_one_frame_skipped
mov dword [esp], ebx
call fcn.0042b170
mov eax, dword [esp + 0x5c]
sub eax, dword [0x4b850c]
je 0x43f86c
jmp 0x43f8ac
mov dword [esp + 4], str.fcTL_for_the_first_frame_must_have_zero_offset
mov dword [esp], ebx
call fcn.0042b170
jmp 0x43f921
mov dword [esp + 4], str.PNG_unsigned_integer_out_of_range
mov dword [esp], ebx
call fcn.0042b7c0
mov dword [esp + 4], str.Missing_IHDR_before_fcTL
mov dword [esp], ebx
call fcn.0042b7c0
lea esi, [esi]
push ebx
sub esp, 0x18
mov ebx, dword [esp + 0x20]
cmp byte [ebx + 0x14c], 0
mov edx, dword [ebx + 0x104]
mov eax, dword [ebx + 0x100]
je 0x43fa60
lea ecx, [edx + 7]
shr ecx, 3
test byte [ebx + 0x7c], 2
cmove edx, ecx
mov dword [ebx + 0x108], edx
movzx edx, byte [ebx + 0x14d]
movzx ecx, byte [edx + 0x48dbe4]
movzx edx, byte [edx + 0x48dbdc]
lea eax, [ecx + eax - 1]
sub eax, edx
xor edx, edx
div ecx
mov dword [ebx + 0x114], eax
and dword [ebx + 0x78], 0xfffffff7
lea eax, [ebx + 0x84]
mov dword [esp], eax
call fcn.004500a0
test eax, eax
jne 0x43fa87
mov eax, dword [ebx + 0x124]
mov edx, dword [ebx + 0x114]
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x84], 0
mov dword [ebx + 0x90], eax
movzx eax, byte [ebx + 0x152]
cmp al, 7
ja 0x43fa70
imul eax, edx
add eax, 7
shr eax, 3
add eax, 1
mov dword [ebx + 0x94], eax
add esp, 0x18
pop ebx
ret
mov dword [ebx + 0x108], edx
jmp 0x43f9f3
shr al, 3
movzx eax, al
imul eax, edx
add eax, 1
mov dword [ebx + 0x94], eax
add esp, 0x18
pop ebx
ret
mov dword [esp + 4], str.inflateReset_failed
mov dword [esp], ebx
call fcn.0042b7c0
nop
nop
nop
nop
nop
nop
nop
nop
nop