Function at 0x4456fa
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push esi
push edi
push dword [ebp + 0x18]
xor edi, edi
push dword [ebp + 0x1c]
mov dword [ebp - 8], edi
push 1
call fcn.0044aabe
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add esp, 0xc
test eax, eax
jne 0x445728
xor eax, eax
jmp 0x44596c
mov ecx, dword [ebp - 4]
mov eax, 0xf4240
mov dword [ecx + 0x258], eax
mov ecx, dword [ebp - 4]
push 0x40
mov dword [ecx + 0x25c], eax
mov eax, dword [ebp - 4]
push fcn.004569f8
push dword [ebp - 4]
mov dword [eax + 0x260], edi
call fcn.00443a7e
push edi
push eax
call fcn.00459018
add esp, 0x14
test eax, eax
je 0x44576c
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp - 4]
call fcn.0044ab85
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 4]
call fcn.00443ab9
mov esi, dword [ebp + 8]
add esp, 0x20
cmp esi, edi
je 0x4457c4
push 0
call fcn.00442d72
pop ecx
mov cl, byte [edi + esi]
cmp cl, byte [eax + edi]
je 0x4457b2
mov eax, dword [ebp - 4]
or dword [eax + 0x70], 0x20000
push 0
call fcn.00442d72
mov al, byte [eax + edi]
inc edi
pop ecx
test al, al
jne 0x445798
jmp 0x4457ce
mov eax, dword [ebp - 4]
or dword [eax + 0x70], 0x20000
mov eax, dword [ebp - 4]
test dword [eax + 0x70], 0x20000
je 0x445844
xor edi, edi
cmp esi, edi
je 0x445837
push edi
call fcn.00442d72
pop ecx
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x44580c
cmp cl, 0x31
jne 0x445801
push edi
call fcn.00442d72
pop ecx
mov cl, byte [esi + 2]
cmp cl, byte [eax + 2]
jne 0x44580c
cmp byte [esi], 0x30
jne 0x44583f
cmp byte [esi + 2], 0x39
jge 0x44583f
cmp esi, edi
je 0x445837
push edi
call fcn.00442d72
push eax
push esi
push str.Application_built_with_libpng__.20s_but_running_with__.20s
lea eax, [ebp - 0x58]
push 0x50
push eax
call fcn.004582ea
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 4]
call fcn.00443ad7
add esp, 0x20
xor esi, esi
inc esi
mov dword [ebp - 8], esi
jmp 0x445849
xor esi, esi
inc esi
jmp 0x445849
xor esi, esi
inc esi
xor edi, edi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x445887
mov eax, dword [ebp - 4]
mov dword [eax + 0xb4], 0x2000
mov eax, dword [ebp - 4]
push dword [eax + 0xb4]
push dword [ebp - 4]
call fcn.0044ac3a
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xb0], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb0], edi
jne 0x445887
mov dword [ebp - 8], esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x98], 0x442888
mov eax, dword [ebp - 4]
mov dword [eax + 0x9c], fcn.004428cf
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xa0], eax
mov eax, dword [ebp - 8]
test eax, eax
jne 0x445904
mov eax, dword [ebp - 4]
push 0x38
add eax, 0x78
push str.1.2.3
push eax
call fcn.00426af5
add esp, 0xc
cmp eax, 0xfffffffa
je 0x4458f2
cmp eax, 0xfffffffc
je 0x4458eb
cmp eax, 0xfffffffe
je 0x4458e4
cmp eax, edi
je 0x445904
push str.Unknown_zlib_error
jmp 0x4458f7
push str.zlib_stream_error
jmp 0x4458f7
push str.zlib_memory_error
jmp 0x4458f7
push str.zlib_version_error
push dword [ebp - 4]
call fcn.00443ad7
pop ecx
mov dword [ebp - 8], esi
pop ecx
mov eax, dword [ebp - 8]
test eax, eax
mov eax, dword [ebp - 4]
je 0x44593b
push dword [eax + 0xb0]
push dword [ebp - 4]
call fcn.0044ac10
push dword [ebp + 0x18]
mov eax, dword [ebp - 4]
push dword [ebp + 0x20]
mov dword [eax + 0xb0], edi
push dword [ebp - 4]
call fcn.0044ab1d
add esp, 0x14
jmp 0x445721
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov dword [ecx + 0x84], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push edi
push edi
push dword [ebp - 4]
mov dword [ecx + 0x88], eax
call fcn.00446d81
mov eax, dword [ebp - 4]
add esp, 0xc
pop edi
pop esi
leave
ret