Function at 0x4dc405
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.004e17c9
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add esp, 0xc
test eax, eax
jne 0x4dc433
xor eax, eax
jmp 0x4dc677
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.004f043c
push dword [ebp - 4]
mov dword [eax + 0x260], edi
call fcn.004da789
push edi
push eax
call fcn.004f2fa0
add esp, 0x14
test eax, eax
je 0x4dc477
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.004e1890
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 4]
call fcn.004da7c4
mov esi, dword [ebp + 8]
add esp, 0x20
cmp esi, edi
je 0x4dc4cf
push 0
call fcn.004d9a7d
pop ecx
mov cl, byte [edi + esi]
cmp cl, byte [eax + edi]
je 0x4dc4bd
mov eax, dword [ebp - 4]
or dword [eax + 0x70], 0x20000
push 0
call fcn.004d9a7d
mov al, byte [eax + edi]
inc edi
pop ecx
test al, al
jne 0x4dc4a3
jmp 0x4dc4d9
mov eax, dword [ebp - 4]
or dword [eax + 0x70], 0x20000
mov eax, dword [ebp - 4]
test dword [eax + 0x70], 0x20000
je 0x4dc54f
xor edi, edi
cmp esi, edi
je 0x4dc542
push edi
call fcn.004d9a7d
pop ecx
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x4dc517
cmp cl, 0x31
jne 0x4dc50c
push edi
call fcn.004d9a7d
pop ecx
mov cl, byte [esi + 2]
cmp cl, byte [eax + 2]
jne 0x4dc517
cmp byte [esi], 0x30
jne 0x4dc54a
cmp byte [esi + 2], 0x39
jge 0x4dc54a
cmp esi, edi
je 0x4dc542
push edi
call fcn.004d9a7d
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.004ec8be
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 4]
call fcn.004da7e2
add esp, 0x20
xor esi, esi
inc esi
mov dword [ebp - 8], esi
jmp 0x4dc554
xor esi, esi
inc esi
jmp 0x4dc554
xor esi, esi
inc esi
xor edi, edi
mov eax, dword [ebp - 8]
test eax, eax
jne 0x4dc592
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.004e1945
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 0x4dc592
mov dword [ebp - 8], esi
mov eax, dword [ebp - 4]
mov dword [eax + 0x98], 0x4d9593
mov eax, dword [ebp - 4]
mov dword [eax + 0x9c], fcn.004d95da
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xa0], eax
mov eax, dword [ebp - 8]
test eax, eax
jne 0x4dc60f
mov eax, dword [ebp - 4]
push 0x38
add eax, 0x78
push str.1.2.3
push eax
call fcn.0046e470
add esp, 0xc
cmp eax, 0xfffffffa
je 0x4dc5fd
cmp eax, 0xfffffffc
je 0x4dc5f6
cmp eax, 0xfffffffe
je 0x4dc5ef
cmp eax, edi
je 0x4dc60f
push str.Unknown_zlib_error
jmp 0x4dc602
push str.zlib_stream_error
jmp 0x4dc602
push str.zlib_memory_error
jmp 0x4dc602
push str.zlib_version_error
push dword [ebp - 4]
call fcn.004da7e2
pop ecx
mov dword [ebp - 8], esi
pop ecx
mov eax, dword [ebp - 8]
test eax, eax
mov eax, dword [ebp - 4]
je 0x4dc646
push dword [eax + 0xb0]
push dword [ebp - 4]
call fcn.004e191b
push dword [ebp + 0x18]
mov eax, dword [ebp - 4]
push dword [ebp + 0x20]
mov dword [eax + 0xb0], edi
push dword [ebp - 4]
call fcn.004e1828
add esp, 0x14
jmp 0x4dc42c
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.004dda8c
mov eax, dword [ebp - 4]
add esp, 0xc
pop edi
pop esi
leave
ret