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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [esp + 0x30]
push edi
push 0
push esi
mov eax, dword [esi + 0x440]
mov edi, dword [eax]
mov dword [esp + 0x1c], edi
call fcn.00469df0
mov ebp, dword [esp + 0x44]
xor ebx, ebx
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ebx
mov cl, byte [ebp + 0x68]
test cl, cl
je 0x495637
cmp cl, 8
je 0x49564f
movzx eax, cl
push eax
call fcn.00491f30
push eax
push str.Unsupported_ZIP_compression_method___s_
push 0x2a
push esi
call fcn.00469db0
add esp, 0x14
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0x18]
jne 0x495933
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x1c]
jne 0x495933
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
test ecx, ecx
jl 0x49566b
jg 0x495662
cmp eax, 0x400000
jbe 0x49566b
push ecx
push eax
push str.Mac_metadata_is_too_large:__jd___4M_bytes
jmp 0x49561f
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
test edx, edx
jl 0x495688
jg 0x49567f
cmp ecx, 0x400000
jbe 0x495688
push edx
push ecx
push str.Mac_metadata_is_too_large:__jd___4M_bytes
jmp 0x49561f
push eax
call fcn.006883b5
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4956a5
push str.Cant_allocate_memory_for_Mac_metadata
push 0xc
jmp 0x49593a
mov ecx, dword [ebp + 0x14]
mov ebx, dword [esp + 0x28]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
cmp ebx, ecx
jg 0x4956ce
jl 0x4956bd
cmp edx, eax
jae 0x4956d0
sub eax, edx
sbb ecx, ebx
push ecx
push eax
push esi
call fcn.00468670
add esp, 0xc
jmp 0x4956e3
cmp edx, eax
jne 0x4956d6
cmp ebx, ecx
je 0x4956e3
push 0
push ecx
push eax
push esi
call fcn.00469100
add esp, 0x10
push 0
push 0x1e
push esi
call fcn.00468650
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x49570b
push str.Truncated_ZIP_file_header
push 0x2a
push esi
call fcn.00469db0
add esp, 0xc
lea eax, [ebx - 0x14]
jmp 0x495749
cmp dword [ebx], 0x4034b50
je 0x49572a
push str.Damaged_Zip_archive
push 0xffffffffffffffff
push esi
call fcn.00469db0
add esp, 0xc
mov eax, 0xffffffec
jmp 0x495749
movzx edx, byte [ebx + 0x1d]
movzx eax, byte [ebx + 0x1c]
movzx ecx, byte [ebx + 0x1b]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [ebx + 0x1a]
add edx, 0x1e
or eax, ecx
add eax, edx
cdq
push edx
push eax
push esi
call fcn.00468670
mov eax, dword [esp + 0x48]
add esp, 0xc
mov ebp, dword [ebp + 0x18]
mov dword [esp + 0x24], 0
mov ebx, dword [eax + 0x20]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
nop
test ebp, ebp
je 0x49588c
lea eax, [esp + 0x10]
push eax
push 1
push esi
call fcn.00468650
mov edx, eax
add esp, 0xc
mov dword [esp + 0x2c], edx
test edx, edx
je 0x495919
mov ecx, dword [esp + 0x10]
cmp ecx, ebp
jbe 0x4957a4
mov ecx, ebp
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x3c]
mov al, byte [eax + 0x68]
test al, al
je 0x49583f
cmp al, 8
je 0x4957be
xor edi, edi
jmp 0x49586f
push edi
push esi
call fcn.00493a30
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4958a6
mov eax, dword [esp + 0x2c]
lea edx, [edi + 0x74]
mov ecx, dword [esp + 0x10]
mov dword [edx], eax
mov eax, dword [esp + 0x34]
push 0
push edx
mov dword [edi + 0x78], ecx
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], ebx
mov dword [edi + 0x88], 0
call fcn.00677550
add esp, 8
cmp eax, 0xfffffffc
je 0x4958ed
test eax, eax
je 0x49582a
cmp eax, 1
jne 0x4958d5
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov edi, dword [edi + 0x7c]
mov eax, dword [eax + 0x88]
sub ebx, eax
add dword [esp + 0x34], eax
jmp 0x49586f
cmp ecx, ebx
jbe 0x495849
mov ecx, ebx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
call fcn.0067d850
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x34]
lea eax, [eax + edi]
mov dword [esp + 0x34], eax
sub ebx, edi
je 0x495904
push 0
push edi
push esi
call fcn.00468670
sub ebp, edi
add esp, 0xc
cmp dword [esp + 0x24], 0
mov edi, dword [esp + 0x14]
je 0x495770
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x20]
sub eax, ebx
push eax
push dword [esp + 0x24]
push dword [esp + 0x40]
call fcn.0046a570
add esp, 0xc
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push 0
push edx
push dword [esp + 0x20]
push esi
call fcn.00469100
push dword [esp + 0x30]
mov byte [edi + 0x69], 0
call fcn.00687807
add esp, 0x14
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push eax
push str.ZIP_decompression_failed___d_
push 0xffffffffffffffff
push esi
call fcn.00469db0
add esp, 0x10
mov ebx, 0xffffffe2
jmp 0x4958aa
push str.Out_of_memory_for_ZIP_decompression
push 0xc
push esi
call fcn.00469db0
add esp, 0xc
mov ebx, 0xffffffe2
jmp 0x4958aa
push 0
push edi
push esi
call fcn.00468670
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp 0x49588c
push str.Truncated_ZIP_file_header
push 0x2a
push esi
call fcn.00469db0
add esp, 0xc
mov ebx, 0xffffffec
jmp 0x4958aa
push str.Malformed_OS_X_metadata_entry:_inconsistent_size
push 0x2a
push esi
call fcn.00469db0
add esp, 0xc
mov eax, 0xffffffe2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret