Function at 0x46e7e7
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4ba700]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x1090c]
push esi
push edi
xor edi, edi
cmp eax, 0x2000
mov dword [ebp - 0x24], edi
jg 0x46e8e0
push edi
lea esi, [ebx + 0x10908]
push edi
push dword [esi]
call fcn.00487192
push dword [ebx + 0x1090c]
push dword [ebx + 0x108e4]
push dword [esi]
call fcn.00487020
mov ecx, dword [ebx + 0x1090c]
add esp, 0x18
mov dword [ebx + 0x108ec], eax
cmp eax, ecx
jne 0x46eab7
mov eax, dword [ebx + 0x108e4]
lea ecx, [eax + ecx - 0x16]
mov dword [ebx + 0x108e8], ecx
cmp ecx, eax
jb 0x46eab7
mov eax, dword [ebx + 0x108e8]
cmp byte [eax], 0x50
jne 0x46e87f
push 4
push 0x4ba2a0
push eax
call fcn.0047e22e
add esp, 0xc
test eax, eax
je 0x46e898
dec dword [ebx + 0x108e8]
mov eax, dword [ebx + 0x108e8]
cmp eax, dword [ebx + 0x108e4]
jae 0x46e860
jmp 0x46eab7
mov eax, dword [ebx + 0x108e4]
sub eax, dword [ebx + 0x108e8]
add dword [ebx + 0x108ec], eax
mov eax, dword [ebx + 0x10910]
sub eax, dword [ebx + 0x108e4]
push 0x16
add eax, dword [ebx + 0x108e8]
mov dword [ebx + 0x88], eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call fcn.00470043
add esp, 0xc
test eax, eax
jne 0x46eb0f
push 0x33
jmp 0x46eb09
mov esi, eax
and esi, 0x80001fff
jns 0x46e8f2
dec esi
or esi, 0xffffe000
inc esi
sub eax, esi
cmp esi, 0x12
mov dword [ebp - 0x20], esi
jle 0x46e9ac
push edi
push eax
push dword [ebx + 0x10908]
call fcn.00487192
push esi
push dword [ebx + 0x108e4]
mov dword [ebx + 0x10910], eax
push dword [ebx + 0x10908]
call fcn.00487020
add esp, 0x18
mov dword [ebx + 0x108ec], eax
cmp eax, esi
jne 0x46eab7
mov eax, dword [ebx + 0x108e4]
lea ecx, [eax + esi - 0x16]
mov dword [ebx + 0x108e8], ecx
cmp ecx, eax
jb 0x46e998
mov eax, dword [ebx + 0x108e8]
cmp byte [eax], 0x50
jne 0x46e969
push 4
push 0x4ba2a0
push eax
call fcn.0047e22e
add esp, 0xc
test eax, eax
je 0x46e97f
dec dword [ebx + 0x108e8]
mov eax, dword [ebx + 0x108e8]
cmp eax, dword [ebx + 0x108e4]
jae 0x46e94a
jmp 0x46e998
mov eax, dword [ebx + 0x108e4]
sub eax, dword [ebx + 0x108e8]
mov dword [ebp - 0x24], 1
add dword [ebx + 0x108ec], eax
mov esi, dword [ebx + 0x108e4]
mov edi, dword [ebx + 0x1091c]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x20]
jmp 0x46e9b2
mov dword [ebx + 0x10910], eax
mov eax, dword [ebp + 8]
sub eax, esi
mov ecx, 0x1fff
add eax, ecx
cdq
and edx, ecx
add eax, edx
sar eax, 0xd
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], 1
jne 0x46e8aa
jmp 0x46e9df
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], eax
jg 0x46eaac
add dword [ebx + 0x10910], 0xffffe000
mov eax, dword [ebx + 0x10910]
push 0
push eax
lea esi, [ebx + 0x10908]
push dword [esi]
call fcn.00487192
mov edi, 0x2000
push edi
push dword [ebx + 0x108e4]
push dword [esi]
call fcn.00487020
add esp, 0x18
mov dword [ebx + 0x108ec], eax
cmp eax, edi
jne 0x46eaac
mov eax, dword [ebx + 0x108e4]
lea ecx, [eax + 0x1fff]
mov dword [ebx + 0x108e8], ecx
cmp ecx, eax
jb 0x46ea90
mov eax, dword [ebx + 0x108e8]
cmp byte [eax], 0x50
jne 0x46ea61
push 4
push 0x4ba2a0
push eax
call fcn.0047e22e
add esp, 0xc
test eax, eax
je 0x46ea77
dec dword [ebx + 0x108e8]
mov eax, dword [ebx + 0x108e8]
cmp eax, dword [ebx + 0x108e4]
jae 0x46ea42
jmp 0x46ea90
mov eax, dword [ebx + 0x108e4]
sub eax, dword [ebx + 0x108e8]
mov dword [ebp - 0x24], 1
add dword [ebx + 0x108ec], eax
mov esi, dword [ebx + 0x108e4]
mov edi, dword [ebx + 0x1091c]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x24], 0
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
je 0x46e9dc
xor edi, edi
cmp dword [ebp - 0x24], edi
jne 0x46e8aa
mov esi, 0x401
cmp dword [ebx + 0x38], edi
jne 0x46eac6
cmp dword [ebx + 0xc], edi
je 0x46eaea
push esi
push dword [ebx + 0x10904]
lea edi, [ebx + 0x8dc]
push str.__s__n
push edi
call fcn.0047c59e
add esp, 0xc
push eax
push edi
push ebx
call dword [ebx + 0x10b54]
push esi
lea edi, [ebx + 0x8dc]
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.0047c59e
pop ecx
pop ecx
push eax
push edi
push ebx
call dword [ebx + 0x10b54]
push 2
pop eax
jmp 0x46eb94
lea eax, [ebp - 0x18]
push eax
call fcn.00470971
mov word [ebx + 0x10968], ax
lea eax, [ebp - 0x16]
push eax
call fcn.00470971
mov word [ebx + 0x1096a], ax
lea eax, [ebp - 0x14]
push eax
call fcn.00470971
mov word [ebx + 0x1096c], ax
lea eax, [ebp - 0x12]
push eax
call fcn.00470971
mov word [ebx + 0x1096e], ax
lea eax, [ebp - 0x10]
push eax
call fcn.00470982
mov dword [ebx + 0x10970], eax
lea eax, [ebp - 0xc]
push eax
call fcn.00470982
mov dword [ebx + 0x10974], eax
lea eax, [ebp - 8]
push eax
call fcn.00470971
mov word [ebx + 0x10978], ax
mov eax, dword [ebx + 0x10970]
add eax, dword [ebx + 0x10974]
add esp, 0x1c
mov dword [ebx + 0x8c], eax
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0047c3ff
leave
ret