Function at 0x4b73e0
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edi, ecx
push 2
push 0
push dword [ecx]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
add esp, 0xc
push dword [edi]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ftell
add esp, 4
mov ebx, eax
push dword [edi]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_rewind
add esp, 4
cmp ebx, 0x16
jge 0x4b742e
push ebx
push str.Length_is__ld____too_small_n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
mov ebx, 0xffffffd8
jmp 0x4b748a
push 0x10015
call fcn.004228d0
add esp, 4
xor ecx, ecx
mov esi, ebx
sub esi, 0x10015
cmovb esi, ecx
mov dword [esp], eax
mov ebp, 0x10015
cmovb ebp, ebx
push 0
push esi
push dword [edi]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
add esp, 0xc
test eax, eax
je 0x4b7494
push esi
push str.Failure_seeking_to_end_of_zip_at__ld
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
mov ebx, 0x80000000
mov esi, dword [esp]
push esi
call fcn.004229b0
add esp, 4
mov eax, ebx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [edi]
push ebp
push 1
mov esi, dword [esp + 0xc]
push esi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
add esp, 0x10
cmp eax, ebp
jne 0x4b7520
mov eax, esi
add eax, ebp
add ebp, 0xfffffffd
mov esi, 0xfffffffc
jmp 0x4b74c8
add esi, 0xffffffff
add ebp, 0xffffffff
jle 0x4b753f
cmp byte [eax + esi], 0x50
jne 0x4b74c0
movzx ecx, byte [eax + esi + 1]
shl ecx, 8
movzx edx, byte [eax + esi + 2]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [eax + esi + 3]
shl ecx, 0x18
or ecx, edx
cmp ecx, 0x6054b00
jne 0x4b74c0
lea ecx, [edi + 4]
add eax, esi
neg esi
push esi
push eax
call fcn.004b77b0
test eax, eax
je 0x4b755d
mov ebx, eax
push esi
push str.Failure_reading__ld_bytes_of_EOCD_values
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
jmp 0x4b747e
push ebp
push str.short_file__wanted__ld_n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
mov ebx, 0x80000000
jmp 0x4b7481
push str.EOCD_not_found__not_Zip_n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0xc
mov ebx, 0xffffffd8
jmp 0x4b747e
movzx eax, word [edi + 8]
or ax, word [edi + 0xa]
jne 0x4b7591
movzx eax, word [edi + 0xc]
cmp ax, word [edi + 0xe]
jne 0x4b7591
push 0
push dword [edi + 0x14]
push dword [edi]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
add esp, 0xc
test eax, eax
mov esi, dword [esp]
je 0x4b7598
push dword [edi + 0x14]
push str.Failure_seeking_to_central_dir_offset__ld_n
jmp 0x4b7526
push str.Archive_spanning_not_supported_n
jmp 0x4b7544
cmp word [edi + 0xe], 0
je 0x4b763b
lea ebp, [edi + 0x24]
xor esi, esi
mov dword [esp + 4], 0
push 0x68
call fcn.004227e0
add esp, 4
mov word [eax], 0
mov dword [eax + 4], 0x55f740
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov word [eax + 0x10], 0
xorps xmm0, xmm0
movups xmmword [eax + 0x14], xmm0
mov dword [eax + 0x28], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x2c], 0x55f700
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x40], xmm0
mov word [eax + 0x50], 0
movups xmmword [eax + 0x54], xmm0
mov dword [eax + 0x64], 0
mov dword [esp + 4], eax
mov ecx, eax
push dword [edi]
call fcn.004fcd90
test eax, eax
jne 0x4b769c
mov ecx, ebp
lea eax, [esp + 4]
push eax
call fcn.0041fc10
add esi, 1
movzx eax, word [edi + 0xe]
cmp esi, eax
jb 0x4b75a8
mov dword [esp + 8], 0
lea eax, [esp + 8]
push dword [edi]
push 4
push 1
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
add esp, 0x10
cmp eax, 4
jne 0x4b767a
xor ebx, ebx
cmp dword [esp + 8], 0x6054b50
mov esi, dword [esp]
je 0x4b7481
mov ebx, 0x80000000
mov eax, str.EOCD_read_check_failed_n
jmp 0x4b7687
mov ebx, 0xffffffd8
mov eax, str.EOCD_check_read_failed_n
mov esi, dword [esp]
push eax
push 0x55f230
push 3
call fcn.00420f20
add esp, 0xc
jmp 0x4b7481
mov ebx, eax
push str.initFromCDE_failed_n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0xc
mov edi, dword [esp + 4]
test edi, edi
je 0x4b747e
mov ecx, edi
call fcn.004b8970
push edi
call fcn.00422980
add esp, 4
jmp 0x4b747e