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

Disassembly:
push 0xffffffffffffffff
push 0x50d4a1
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5894dc]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0xb4], 0
jne 0x4baf72
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
push str.No_dest_output_for_compress_PWD.
call edx
xor al, al
jmp 0x4bb376
cmp byte [edi + 0x40], 0
mov esi, dword [esp + 0x114]
je 0x4baf8f
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
push 1
push str.CompressToDestPwd64
mov ecx, esi
call edx
push 0
lea ecx, [esp + 0x2c]
call fcn.004c4bd0
push edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x104], 0
call fcn.004b8470
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x4bafc3
push eax
lea ecx, [esp + 0x2c]
call fcn.004d2cb0
cmp byte [edi + 0x41], 0
je 0x4bb17a
cmp byte [edi + 0x40], 0
je 0x4bafed
mov ebx, dword [esi]
lea ecx, [edi + 0x80]
call fcn.004e81e0
push eax
mov eax, dword [ebx + 0x28]
push str.srcFilename
mov ecx, esi
call eax
lea ecx, [esp + 0x70]
call fcn.00402710
lea ecx, [edi + 0x80]
mov byte [esp + 0x100], 1
call fcn.004e81e0
push eax
lea ecx, [esp + 0x74]
call fcn.00402980
lea ecx, [esp + 0x14]
call fcn.00424880
push esi
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x110], 2
call fcn.00422760
add esp, 0x10
test al, al
jne 0x4bb09a
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push str.Failed_to_open_file_for_reading__7_
mov ecx, esi
call eax
cmp byte [edi + 0x40], 0
je 0x4bb05d
mov edx, dword [esi]
mov eax, dword [edx + 0x24]
mov ecx, esi
call eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x100], 1
call fcn.004248e0
lea ecx, [esp + 0x70]
mov byte [esp + 0x100], 0
call fcn.004027d0
lea ecx, [esp + 0x28]
mov dword [esp + 0x100], 0xffffffff
call fcn.004c4bf0
xor al, al
jmp 0x4bb376
cmp byte [edi + 0x40], 0
je 0x4bb0ba
mov ebx, dword [esi]
push esi
lea ecx, [esp + 0x18]
call fcn.00424ff0
push edx
mov edx, dword [ebx + 0x30]
push eax
push str.srcFileSize
mov ecx, esi
call edx
push esi
lea ebx, [edi + 0x3c]
push ebx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x34]
call fcn.004c5c10
test al, al
jne 0x4bb0e1
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push str.Failed_to_compute_CRC_for_password_protected_Zip__1_
mov ecx, esi
call eax
jmp 0x4bb0f8
cmp byte [edi + 0x40], 0
je 0x4bb0f8
mov eax, dword [ebx]
mov edx, dword [esi]
mov edx, dword [edx + 0x34]
push eax
push str.foundCrc
mov ecx, esi
call edx
push 0
push 0
push 0
lea ecx, [esp + 0x20]
call fcn.00424aa0
push edi
lea ecx, [esp + 0x2c]
call fcn.004b8470
mov eax, dword [edi + 0xf0]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
push esi
push eax
mov eax, dword [esp + 0x110]
push ecx
mov ecx, dword [edi + 0xb4]
push edx
push eax
push 1
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x48]
call fcn.004c4c00
lea ecx, [esp + 0x14]
mov bl, al
call fcn.004248a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x100], 1
call fcn.004248e0
lea ecx, [esp + 0x70]
mov byte [esp + 0x100], 0
call fcn.004027d0
jmp 0x4bb33f
cmp dword [edi + 0xbc], 0
jne 0x4bb190
cmp dword [edi + 0xb8], 0
je 0x4bb2bb
cmp byte [edi + 0x40], 0
je 0x4bb1a4
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Need_to_scan_from_a_data_source...
mov ecx, esi
call edx
mov ebp, dword [edi + 0xbc]
test ebp, ebp
jne 0x4bb1bc
mov ebp, dword [edi + 0xb8]
test ebp, ebp
je 0x4bb2a6
mov eax, dword [ebp]
mov edx, dword [eax + 0x18]
mov ecx, ebp
call edx
push esi
lea eax, [edi + 0x3c]
push eax
push ebp
lea ecx, [esp + 0x34]
call fcn.004c5a60
mov bl, al
test bl, bl
je 0x4bb33f
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Found_CRC_from_data_source.
mov ecx, esi
call edx
mov ecx, dword [edi + 0x3c]
mov eax, dword [esi]
mov edx, dword [eax + 0x34]
push ecx
push 0x552adc
mov ecx, esi
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x1c]
mov ecx, ebp
call edx
push edi
lea ecx, [esp + 0x2c]
call fcn.004b8470
mov eax, dword [edi + 0xf0]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
push esi
push eax
push ecx
mov ecx, dword [esp + 0x114]
push edx
mov edx, dword [edi + 0xb4]
lea eax, [esp + 0x30]
push eax
push 0
push ecx
push 1
push edx
push ebp
lea ecx, [esp + 0x50]
mov dword [esp + 0x48], 0
call fcn.004c5110
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
mov bl, al
mov eax, dword [esp + 0x110]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push eax
push str.outputByteCount
mov ecx, esi
call edx
mov eax, dword [esp + 0x10c]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov edx, dword [esi]
mov edx, dword [edx + 0x30]
push ecx
push eax
push str.inputByteCount
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
movzx ecx, bl
push ecx
push str.deflateSourceToOutput_64_success
mov ecx, esi
call edx
jmp 0x4bb33f
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
push str.No_data_source_for_scanning_to_find_CRC.
mov ecx, esi
call edx
xor bl, bl
jmp 0x4bb33f
push esi
lea eax, [edi + 0x3c]
lea ebx, [edi + 0xc0]
push eax
mov ecx, ebx
call fcn.0046fb70
push eax
mov ecx, ebx
call fcn.004e81e0
push eax
lea ecx, [esp + 0x38]
call fcn.004c5840
test al, al
jne 0x4bb2f1
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push str.Failed_to_compute_CRC_for_password_protected_Zip__2_
mov ecx, esi
call eax
push edi
lea ecx, [esp + 0x2c]
call fcn.004b8470
mov ecx, dword [edi + 0xf0]
mov edx, dword [esp + 0x10c]
mov eax, dword [esp + 0x110]
push esi
push ecx
mov ecx, dword [esp + 0x110]
push edx
mov edx, dword [edi + 0xb4]
push eax
push ecx
push 1
push edx
mov ecx, ebx
call fcn.0046fb70
push eax
mov ecx, ebx
call fcn.004e81e0
push eax
lea ecx, [esp + 0x4c]
call fcn.004c4e90
mov bl, al
cmp byte [edi + 0x40], 0
je 0x4bb360
mov eax, dword [esi]
mov edx, dword [eax + 0x2c]
movzx ecx, bl
push ecx
push str.compressToDestPwd64_success
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
mov ecx, esi
call edx
lea ecx, [esp + 0x28]
mov dword [esp + 0x100], 0xffffffff
call fcn.004c4bf0
mov al, bl
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret 0x10