Function at 0x49f6c0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x55800c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x20], edx
xor ebx, ebx
push edi
mov eax, dword [esi + 0x1090c]
cmp eax, 0x2000
jg 0x49f7cc
push ebx
push ebx
push dword [esi + 0x10908]
call fcn.004df34d
add esp, 0xc
push dword [esi + 0x1090c]
push dword [esi + 0x108e4]
push dword [esi + 0x10908]
call fcn.004de977
mov ecx, dword [esi + 0x1090c]
add esp, 0xc
mov dword [esi + 0x108ec], eax
cmp eax, ecx
jne 0x49f9a6
mov eax, dword [esi + 0x108e4]
add ecx, 0xffffffea
add ecx, eax
mov dword [esi + 0x108e8], ecx
cmp ecx, eax
jb 0x49f9a6
cmp byte [ecx], 0x50
jne 0x49f75b
push 4
push 0x558ac8
push ecx
call fcn.004d5610
add esp, 0xc
test eax, eax
je 0x49f775
mov ecx, dword [esi + 0x108e8]
dec ecx
mov dword [esi + 0x108e8], ecx
cmp ecx, dword [esi + 0x108e4]
jae 0x49f742
jmp 0x49f9a6
mov eax, dword [esi + 0x108e4]
sub eax, dword [esi + 0x108e8]
add dword [esi + 0x108ec], eax
mov eax, dword [esi + 0x10910]
lea edx, [ebp - 0x1c]
sub eax, dword [esi + 0x108e4]
mov ecx, esi
add eax, dword [esi + 0x108e8]
push 0x16
mov dword [esi + 0x88], eax
call fcn.004a3d50
add esp, 4
test eax, eax
jne 0x49fa1a
mov eax, 0x33
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cbf27
mov esp, ebp
pop ebp
ret
mov edi, eax
and edi, 0x80001fff
jns 0x49f7de
dec edi
or edi, 0xffffe000
inc edi
sub eax, edi
cmp edi, 0x12
jle 0x49f89a
push 0
push eax
push dword [esi + 0x10908]
call fcn.004df34d
add esp, 0xc
mov dword [esi + 0x10910], eax
push edi
push dword [esi + 0x108e4]
push dword [esi + 0x10908]
call fcn.004de977
add esp, 0xc
mov dword [esi + 0x108ec], eax
cmp eax, edi
jne 0x49f9a6
mov edx, dword [esi + 0x108e4]
lea eax, [edx - 0x16]
add eax, edi
mov dword [esi + 0x108e8], eax
cmp eax, edx
jb 0x49f883
cmp byte [eax], 0x50
jne 0x49f851
push 4
push 0x558ac8
push eax
call fcn.004d5610
add esp, 0xc
test eax, eax
je 0x49f86a
mov eax, dword [esi + 0x108e8]
dec eax
mov dword [esi + 0x108e8], eax
mov edx, dword [esi + 0x108e4]
cmp eax, edx
jae 0x49f838
jmp 0x49f883
mov edx, dword [esi + 0x108e4]
mov ebx, 1
mov eax, edx
sub eax, dword [esi + 0x108e8]
add dword [esi + 0x108ec], eax
mov ecx, dword [esi + 0x1091c]
mov ax, word [edx]
mov word [ecx], ax
mov al, byte [edx + 2]
mov edx, dword [ebp - 0x20]
mov byte [ecx + 2], al
jmp 0x49f8a0
mov dword [esi + 0x10910], eax
sub edx, edi
mov edi, 1
lea eax, [edx + 0x1fff]
cdq
and edx, 0x1fff
add eax, edx
sar eax, 0xd
mov dword [ebp - 0x20], eax
test ebx, ebx
jne 0x49f787
cmp edi, eax
jg 0x49f99e
add dword [esi + 0x10910], 0xffffe000
push 0
push dword [esi + 0x10910]
push dword [esi + 0x10908]
call fcn.004df34d
add esp, 0xc
push 0x2000
push dword [esi + 0x108e4]
push dword [esi + 0x10908]
call fcn.004de977
add esp, 0xc
mov dword [esi + 0x108ec], eax
cmp eax, 0x2000
jne 0x49f99e
mov edx, dword [esi + 0x108e4]
lea eax, [edx + 0x1fff]
mov dword [esi + 0x108e8], eax
cmp eax, edx
jb 0x49f97b
nop dword [eax]
cmp byte [eax], 0x50
jne 0x49f949
push 4
push 0x558ac8
push eax
call fcn.004d5610
add esp, 0xc
test eax, eax
je 0x49f962
mov eax, dword [esi + 0x108e8]
dec eax
mov dword [esi + 0x108e8], eax
mov edx, dword [esi + 0x108e4]
cmp eax, edx
jae 0x49f930
jmp 0x49f97b
mov edx, dword [esi + 0x108e4]
mov ebx, 1
mov eax, edx
sub eax, dword [esi + 0x108e8]
add dword [esi + 0x108ec], eax
mov ecx, dword [esi + 0x1091c]
inc edi
mov ax, word [edx]
mov word [ecx], ax
mov al, byte [edx + 2]
mov byte [ecx + 2], al
mov eax, dword [ebp - 0x20]
test ebx, ebx
je 0x49f8c4
jmp 0x49f787
test ebx, ebx
jne 0x49f787
cmp dword [esi + 0x38], 0
jne 0x49f9ba
cmp dword [esi + 0xc], 0
jne 0x49f9ba
lea edi, [esi + 0x8dc]
jmp 0x49f9e5
push 0x401
push ecx
push dword [esi + 0x10904]
lea edi, [esi + 0x8dc]
push str.__s__n
push edi
call fcn.0041e8c0
add esp, 0x10
push eax
mov eax, dword [esi + 0x10b54]
push edi
push esi
call eax
push 0x401
push ecx
push str.__End_of_central_directory_signature_not_found.__Either_this_file_is_not_n__a_zipfile__or_it_constitutes_one_disk_of_a_multi_part_archive.__In_the_n__latter_case_the_central_directory_and_zipfile_comment_will_be_found_on_n__the_last_disk_s__of_this_archive._n
push edi
call fcn.0041e8c0
add esp, 0xc
push eax
mov eax, dword [esi + 0x10b54]
push edi
push esi
call eax
mov eax, 2
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cbf27
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x17]
movzx eax, byte [ebp - 0x18]
mov ebx, dword [ebp - 0x15]
movzx ecx, dl
shl cx, 8
or cx, ax
movzx eax, dh
mov edx, dword [ebp - 0x13]
mov word [esi + 0x10968], cx
movzx ecx, bl
shl cx, 8
or cx, ax
movzx eax, bh
mov ebx, dword [ebp - 0x11]
mov word [esi + 0x1096a], cx
movzx ecx, dl
shl cx, 8
or cx, ax
movzx eax, dh
mov edx, dword [ebp - 0xd]
mov word [esi + 0x1096c], cx
movzx ecx, bl
shl cx, 8
or cx, ax
movzx edi, dl
movzx eax, byte [ebp - 0xe]
shl edi, 8
add edi, eax
mov word [esi + 0x1096e], cx
movzx eax, byte [ebp - 0xf]
shl edi, 8
add edi, eax
movzx edx, dh
shl edi, 8
movzx eax, bh
add edi, eax
mov eax, dword [ebp - 0xa]
movzx ecx, ah
shl ecx, 8
movzx eax, al
add ecx, eax
mov dword [esi + 0x10970], edi
movzx eax, byte [ebp - 0xb]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp - 8]
shl ecx, 8
add edx, ecx
movzx ecx, byte [ebp - 7]
shl cx, 8
or cx, ax
mov dword [esi + 0x10974], edx
mov word [esi + 0x10978], cx
mov ecx, dword [ebp - 4]
lea eax, [edx + edi]
pop edi
mov dword [esi + 0x8c], eax
xor ecx, ebp
pop esi
xor eax, eax
pop ebx
call fcn.004cbf27
mov esp, ebp
pop ebp
ret