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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov eax, dword [0x4b850c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x74]
test al, 1
je 0x43ce5e
test al, 4
jne 0x43cce8
test ebp, ebp
je 0x43cbad
test byte [ebp + 9], 0x40
jne 0x43cd20
cmp esi, 3
jbe 0x43ccb0
lea edx, [esi + 1]
mov ecx, 2
mov eax, ebx
call fcn.004398e0
mov edi, eax
test eax, eax
je 0x43cd98
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], ebx
call fcn.00432ff0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00427190
mov byte [edi + esi], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.0043a1a0
test eax, eax
jne 0x43cc98
movzx eax, byte [edi]
sub eax, 1
cmp al, 1
ja 0x43cd58
lea ecx, [esp + 0x34]
lea eax, [esp + 0x38]
mov dword [esp + 4], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 0
call fcn.004289f0
lea ecx, [esp + 0x34]
test eax, eax
je 0x43cd80
mov eax, dword [esp + 0x34]
cmp eax, esi
jae 0x43cd80
lea edx, [eax + 1]
mov dword [esp + 0x34], edx
cmp byte [edi + eax], 0
jne 0x43cd80
mov eax, dword [esp + 0x38]
and eax, 0x188
cmp eax, 0x108
je 0x43cdcc
mov dword [esp + 4], str.non_positive_width
mov dword [esp], ebx
call fcn.0042b9c0
lea esi, [esi]
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x43ce6e
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0043a1a0
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x43ce6e
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], str.invalid
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042b9c0
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0043a1a0
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x43ce6e
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], str.out_of_place
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042b9c0
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0043a1a0
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x43ce6e
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], str.duplicate
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042b9c0
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x43ce6e
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], str.invalid_unit
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0042b9c0
mov dword [esp + 4], str.bad_width_format
mov dword [esp], ebx
call fcn.0042b9c0
jmp 0x43cc98
mov dword [esp + 4], str.out_of_memory
mov dword [esp], ebx
call fcn.0042b9c0
mov eax, dword [esp + 0x3c]
sub eax, dword [0x4b850c]
jne 0x43ce6e
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ebx
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0043a1a0
lea eax, [esp + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], 0
call fcn.004289f0
test eax, eax
je 0x43cdfe
cmp dword [esp + 0x34], esi
mov edx, dword [esp + 0x2c]
je 0x43ce13
mov dword [esp + 4], str.bad_height_format
mov dword [esp], ebx
call fcn.0042b9c0
jmp 0x43cc98
mov eax, dword [esp + 0x38]
and eax, 0x188
cmp eax, 0x108
je 0x43ce38
mov dword [esp + 4], str.non_positive_height
mov dword [esp], ebx
call fcn.0042b9c0
jmp 0x43cc98
lea eax, [edi + edx]
mov dword [esp + 0x10], eax
lea eax, [edi + 1]
mov dword [esp + 0xc], eax
movzx eax, byte [edi]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00440910
jmp 0x43cc98
mov dword [esp + 4], str.missing_IHDR
mov dword [esp], ebx
call fcn.0042b970
call fcn.00464ba0
lea esi, cs:[esi]
lea esi, cs:[esi]