Function at 0x5adb10
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 ebx, dword [eax]
call fcn.005afe00
xor edi, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], edi
add esp, 8
mov edi, dword [esp + 0x3c]
mov ebp, eax
mov dword [esp + 0x2c], ebp
mov cl, byte [edi + 0x68]
test cl, cl
je 0x5adb75
cmp cl, 8
je 0x5adb8d
movzx eax, cl
push eax
call fcn.005aa340
push eax
push str.Unsupported_ZIP_compression_method___s_
push 0x2a
push esi
call fcn.005b3f50
add esp, 0x14
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [edi + 0x20]
cmp eax, dword [edi + 0x18]
jne 0x5ade71
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x1c]
jne 0x5ade71
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
test ecx, ecx
jl 0x5adba9
jg 0x5adba0
cmp eax, 0x400000
jbe 0x5adba9
push ecx
push eax
push str.Mac_metadata_is_too_large:__jd___4M_bytes
jmp 0x5adb5d
mov edx, dword [edi + 0x1c]
mov ecx, dword [edi + 0x18]
test edx, edx
jl 0x5adbc6
jg 0x5adbbd
cmp ecx, 0x400000
jbe 0x5adbc6
push edx
push ecx
push str.Mac_metadata_is_too_large:__jd___4M_bytes
jmp 0x5adb5d
push eax
call fcn.0063c694
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x5adbe3
push str.Cant_allocate_memory_for_Mac_metadata
push 0xc
jmp 0x5ade78
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [edi + 0x10]
cmp edx, ecx
jg 0x5adc08
jl 0x5adbf7
cmp ebp, eax
jae 0x5adc0a
sub eax, ebp
sbb ecx, edx
push ecx
push eax
push esi
call fcn.005b1680
add esp, 0xc
jmp 0x5adc1d
cmp ebp, eax
jne 0x5adc10
cmp edx, ecx
je 0x5adc1d
push 0
push ecx
push eax
push esi
call fcn.005b1f60
add esp, 0x10
push 0
push 0x1e
push esi
call fcn.005b1660
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x5adc45
push str.Truncated_ZIP_file_header
push 0x2a
push esi
call fcn.005b3f50
add esp, 0xc
lea eax, [ebp - 0x14]
jmp 0x5adc84
cmp dword [ebp], 0x4034b50
je 0x5adc65
push str.Damaged_Zip_archive
push 0xffffffffffffffff
push esi
call fcn.005b3f50
add esp, 0xc
mov eax, 0xffffffec
jmp 0x5adc84
movzx edx, byte [ebp + 0x1b]
movzx eax, byte [ebp + 0x1a]
movzx ecx, byte [ebp + 0x1d]
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [ebp + 0x1c]
add edx, 0x1e
or eax, ecx
add eax, edx
cdq
push edx
push eax
push esi
call fcn.005b1680
mov ebp, dword [edi + 0x18]
add esp, 0xc
mov edi, dword [edi + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0
nop word [eax + eax]
test ebp, ebp
je 0x5addca
lea eax, [esp + 0x14]
push eax
push 1
push esi
call fcn.005b1660
mov edx, eax
add esp, 0xc
mov dword [esp + 0x28], edx
test edx, edx
je 0x5ade57
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
mov eax, dword [esp + 0x3c]
cmova ecx, ebp
mov dword [esp + 0x14], ecx
mov al, byte [eax + 0x68]
test al, al
je 0x5add7c
cmp al, 8
je 0x5adcfd
xor edi, edi
jmp 0x5addad
push ebx
push esi
call fcn.005ac250
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x5adde4
mov eax, dword [esp + 0x28]
lea edx, [ebx + 0x74]
mov ecx, dword [esp + 0x14]
mov dword [edx], eax
mov eax, dword [esp + 0x10]
push 0
push edx
mov dword [ebx + 0x78], ecx
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edi
mov dword [ebx + 0x88], 0
call fcn.0059eae0
add esp, 8
cmp eax, 0xfffffffc
je 0x5ade2b
test eax, eax
je 0x5add69
cmp eax, 1
jne 0x5ade13
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x88]
sub dword [esp + 0x34], eax
mov edi, dword [ebx + 0x7c]
add dword [esp + 0x10], eax
jmp 0x5addad
mov eax, dword [esp + 0x10]
cmp ecx, edi
cmova ecx, edi
push ecx
push edx
push eax
mov dword [esp + 0x20], ecx
call fcn.00541970
mov edi, dword [esp + 0x20]
add esp, 0xc
sub dword [esp + 0x34], edi
mov eax, dword [esp + 0x10]
lea eax, [edi + eax]
mov dword [esp + 0x10], eax
je 0x5ade42
push 0
push edi
push esi
call fcn.005b1680
sub ebp, edi
add esp, 0xc
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x34]
je 0x5adcb0
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x20]
sub eax, edi
push eax
push dword [esp + 0x20]
push dword [esp + 0x40]
call fcn.005aeef0
add esp, 0xc
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
push 0
push edx
push dword [esp + 0x34]
push esi
call fcn.005b1f60
push dword [esp + 0x2c]
mov byte [ebx + 0x69], 0
call fcn.0063c69f
add esp, 0x14
mov eax, edi
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.005b3f50
add esp, 0x10
mov edi, 0xffffffe2
jmp 0x5adde8
push str.Out_of_memory_for_ZIP_decompression
push 0xc
push esi
call fcn.005b3f50
add esp, 0xc
mov edi, 0xffffffe2
jmp 0x5adde8
push 0
push edi
push esi
call fcn.005b1680
mov edi, dword [esp + 0x40]
add esp, 0xc
jmp 0x5addca
push str.Truncated_ZIP_file_header
push 0x2a
push esi
call fcn.005b3f50
add esp, 0xc
mov edi, 0xffffffec
jmp 0x5adde8
push str.Malformed_OS_X_metadata_entry:_inconsistent_size
push 0x2a
push esi
call fcn.005b3f50
add esp, 0xc
mov eax, 0xffffffe2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret