Function at 0x14019b0d0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov ebp, dword [rsp + 0xb0]
xor r12d, r12d
mov r15, r9
mov r13, r8
mov r14, rdx
test ecx, ecx
je 0x14019ba84
inc dword [r14]
lea rdx, [0x1403dbe30]
mov rsi, qword [0x1404cbe98]
mov eax, r12d
imul rcx, rax, 0x38
add rcx, rdx
mov qword [0x1404bbe30], rcx
mov rcx, qword [rcx]
add rsi, rcx
mov rax, rsi
mov rbx, rsi
cqo
and edx, 0x1fff
add rax, rdx
and eax, 0x1fff
sub rax, rdx
sub rbx, rax
mov rdi, rax
test rsi, rsi
jns 0x14019b26d
mov r8, qword [0x1404cbe78]
lea r9, str.___please_check_that_you_have_transferred_or_created_the_zipfile_in_the_n__appropriate_BINARY_mode_and_that_you_have_compiled_UnZip_properly__n
lea rdx, str.error___s_:__attempt_to_seek_before_beginning_of_zipfile_n_s
lea rcx, [0x1404bbe38]
call fcn.1401066c0
lea rsi, [0x1403dbd40]
mov r8d, eax
mov rcx, rsi
lea rdx, [0x1404bbe38]
mov r9d, 0x401
call qword [0x1404cc1f8]
cmp dword [r14], 1
mov ebp, 2
jne 0x14019b263
cmp qword [0x1404cbe98], 0
je 0x14019b263
lea rdx, str.___attempting_to_re_compensate__n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov rcx, rsi
call qword [0x1404cc1f8]
mov rax, qword [0x1404cbe98]
mov qword [r15], rax
mov rax, qword [0x1404bbe30]
mov qword [0x1404cbe98], 0
mov rsi, qword [rax]
mov rax, rsi
mov rbx, rsi
cqo
and edx, 0x1fff
add rax, rdx
and eax, 0x1fff
sub rax, rdx
sub rbx, rax
mov rdi, rax
test rsi, rsi
jns 0x14019b26d
mov r8, qword [0x1404cbe78]
lea r9, str.___please_check_that_you_have_transferred_or_created_the_zipfile_in_the_n__appropriate_BINARY_mode_and_that_you_have_compiled_UnZip_properly__n
lea rdx, str.error___s_:__attempt_to_seek_before_beginning_of_zipfile_n_s
lea rcx, [0x1404bbe38]
call fcn.1401066c0
lea rcx, [0x1403dbd40]
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov r8d, eax
call qword [0x1404cc1f8]
mov ebp, 3
jmp case.0x14019bb9d.110
cmp rbx, qword [0x1404cbe90]
je 0x14019b2ee
mov ecx, dword [0x1404cbe80]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__lseeki64]
mov rdx, qword [0x1404cbe48]
mov r8d, 0x2000
mov ecx, dword [0x1404cbe80]
mov qword [0x1404cbe90], rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
mov dword [0x1404cbe58], eax
mov ecx, eax
test eax, eax
jg 0x14019b2da
mov dword [rsp + 0x20], ebx
lea r9, str.lseek
mov r8d, dword [r14]
lea rdx, str.file__lu:__bad_zipfile_offset___s_:___ld_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
jmp 0x14019b246
movsxd rax, edi
add rax, qword [0x1404cbe48]
sub ecx, edi
mov dword [0x1404cbe58], ecx
jmp 0x14019b30c
mov eax, dword [0x1404cbe50]
sub eax, dword [0x1404cbe48]
sub eax, edi
add dword [0x1404cbe58], eax
movsxd rax, edi
add rax, qword [0x1404cbe48]
mov edx, 4
mov qword [0x1404cbe50], rax
lea rcx, [0x1403dbe20]
call fcn.1401539d0
test eax, eax
jne 0x14019b335
mov dword [rsp + 0x20], esi
lea r9, [0x14028d0a0]
jmp 0x14019b2bf
mov eax, dword [0x1403dbe20]
cmp eax, dword [0x1403808b8]
je 0x14019b478
mov r8d, dword [r14]
lea r9, str.local_header_sig
lea rdx, str.file__lu:__bad_zipfile_offset___s_:___ld_n
mov dword [rsp + 0x20], esi
lea rcx, [0x1404bbe38]
call fcn.1401066c0
lea rdi, [0x1403dbd40]
mov r8d, eax
mov rcx, rdi
lea rdx, [0x1404bbe38]
mov r9d, 0x401
call qword [0x1404cc1f8]
cmp dword [r14], 1
mov ebp, 2
jne 0x14019b39f
cmp qword [0x1404cbe98], 0
jne 0x14019b3b7
jmp 0x14019b3ad
cmp qword [0x1404cbe98], 0
jne case.0x14019bb9d.110
cmp qword [r15], 0
je case.0x14019bb9d.110
lea rdx, str.___attempting_to_re_compensate__n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov rcx, rdi
call qword [0x1404cc1f8]
mov rax, qword [0x1404cbe98]
test rax, rax
je 0x14019b3ff
mov qword [r15], rax
mov qword [0x1404cbe98], 0
jmp 0x14019b409
mov rax, qword [r15]
mov qword [0x1404cbe98], rax
mov rcx, qword [0x1404bbe30]
mov rcx, qword [rcx]
call fcn.140153c00
test eax, eax
jne 0x14019b446
lea edx, [rax + 4]
lea rcx, [0x1403dbe20]
call fcn.1401539d0
test eax, eax
je 0x14019b44f
mov eax, dword [0x1403dbe20]
cmp eax, dword [0x1403808b8]
je 0x14019b47f
lea r9, str.local_header_sig
jmp 0x14019b456
cmp eax, 3
je 0x14019b263
lea r9, [0x14028d0a0]
mov r8d, dword [r14]
lea rdx, str.file__lu:__bad_zipfile_offset___s_:___ld_n
lea rcx, [0x1404bbe38]
mov dword [rsp + 0x20], esi
call fcn.1401066c0
mov rcx, rdi
jmp 0x14019b24d
lea rdi, [0x1403dbd40]
call fcn.14014d210
mov ebx, eax
test eax, eax
je 0x14019b4c0
mov r8d, dword [r14]
lea rdx, str.file__lu:__bad_local_header_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x421
mov rcx, rdi
call qword [0x1404cc1f8]
mov ebp, ebx
jmp case.0x14019bb9d.110
mov rcx, qword [0x1404bbe30]
movzx eax, word [0x1404cbeca]
shr eax, 0xb
and eax, 1
mov ebx, dword [rcx + 0x28]
shr ebx, 7
and ebx, 1
cmp eax, ebx
je 0x14019b541
cmp dword [0x1403dbd84], 0
jne 0x14019b536
mov rcx, qword [rcx + 0x30]
lea rdx, [0x1404c3e38]
mov r8d, 0x4000
call fcn.14019d4e0
mov r8d, dword [r14]
lea rdx, str.file__lu___s_:_n_________mismatch_between_local_and_central_GPF_bit_11___UTF_8____n_________continuing_with_central_flag__IsUTF8___d__n
mov r9, rax
mov dword [rsp + 0x20], ebx
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x421
mov rcx, rdi
call qword [0x1404cc1f8]
cmp ebp, 1
mov eax, 1
cmovl ebp, eax
movzx ecx, word [0x1404cbece]
mov edx, 6
call fcn.1401524d0
test eax, eax
je 0x14019b5b4
cmp eax, ebp
cmovg ebp, eax
cmp eax, 1
jle 0x14019b5b4
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
lea rcx, [0x1404cbfdc]
call fcn.14019d4e0
lea rdx, str._s:__bad_filename_length___s__n
lea r9, str.local
mov r8, rax
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov rcx, rdi
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov r8d, eax
call qword [0x1404cc1f8]
jmp case.0x14019bb9d.110
mov rcx, qword [0x1404cbea0]
test rcx, rcx
je 0x14019b5d1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x1404cbea0], 0
movzx ecx, word [0x1404cbed0]
mov edx, 3
call fcn.1401524d0
test eax, eax
je 0x14019b615
cmp eax, ebp
cmovg ebp, eax
cmp eax, 1
jle 0x14019b615
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
lea rcx, [0x1404cbfdc]
call fcn.14019d4e0
lea rdx, str._s:__bad_extra_field_length___s__n
jmp 0x14019b580
mov rax, qword [0x1404bbe30]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x14019b70c
lea rsi, [0x1404cbfdc]
mov r8, rsi
sub r8, rcx
nop word [rax + rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x14019b653
inc rcx
test eax, eax
jne 0x14019b640
test edx, edx
je 0x14019b6ec
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
mov rcx, rsi
call fcn.14019d4e0
mov rcx, qword [0x1404bbe30]
lea rdx, [0x1404c7e38]
mov r8d, 0x4000
mov rbx, rax
mov rcx, qword [rcx + 0x30]
call fcn.14019d4e0
mov r8, rax
lea rdx, str._s:__mismatching__local__filename___s___n_________continuing_with__central__filename_version_n
mov r9, rbx
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov rcx, rdi
call qword [0x1404cc1f8]
mov rax, qword [0x1404bbe30]
mov rdx, rsi
mov rcx, qword [rax + 0x30]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14019b6d0
cmp ebp, 1
mov eax, 1
cmovl ebp, eax
mov rcx, qword [0x1404bbe30]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x1404bbe30]
mov qword [rax + 0x30], 0
cmp word [0x1404cbecc], 0
jne 0x14019b7d4
mov rax, qword [0x1404bbe30]
mov rsi, qword [0x1404cbeb0]
test byte [rax + 0x28], 1
je 0x14019b732
sub rsi, 0xc
cmp qword [0x1404cbeb8], rsi
je 0x14019b7d4
lea r8, [0x140258f88]
xor edx, edx
mov rcx, rsi
call fcn.140153100
mov rcx, qword [0x1404cbeb8]
lea r8, [0x140258f88]
xor edx, edx
mov rdi, rax
call fcn.140153100
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
lea rcx, [0x1404cbfdc]
mov rbx, rax
call fcn.14019d4e0
mov r8, rax
mov qword [rsp + 0x20], rdi
mov r9, rbx
lea rdx, str._s:__ucsize__s____csize__s_for_STORED_entry_n_________continuing_with__compressed__size_value_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
lea rdi, [0x1403dbd40]
mov r8d, eax
mov rcx, rdi
lea rdx, [0x1404bbe38]
mov r9d, 0x401
call qword [0x1404cc1f8]
cmp ebp, 1
mov qword [0x1404cbeb8], rsi
mov eax, 1
cmovl ebp, eax
mov rax, qword [0x1404bbe30]
test byte [rax + 0x28], 1
je 0x14019b891
mov rcx, qword [0x1403dbd48]
call fcn.14019feb0
test eax, eax
je 0x14019b891
cmp eax, 1
jne 0x14019b858
cmp dword [0x1403dbd84], 0
jne 0x14019b84f
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
lea rcx, [0x1404cbfdc]
call fcn.14019d4e0
mov r8, rax
lea rdx, str.___skipping:___22s__incorrect_password_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov rcx, rdi
call qword [0x1404cc1f8]
inc dword [r13]
jmp case.0x14019bb9d.110
cmp eax, ebp
lea rdx, [0x1404c3e38]
mov r8d, 0x4000
lea rcx, [0x1404cbfdc]
cmovg ebp, eax
call fcn.14019d4e0
mov r8, rax
lea rdx, str.___skipping:___22s__unable_to_get_password_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
jmp 0x14019b596
cmp dword [0x1403dbd90], 0
jne case.0x14019bb9d.89
cmp dword [0x1403dbd5c], 0
jne case.0x14019bb9d.89
xor edi, edi
lea rsi, [0x1403dbd40]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1404bbe30]
lea rbx, [0x1404cbfdc]
cmp byte [rax + 0x21], 0
jne 0x14019b968
mov edx, 0x2f
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
test rax, rax
jne 0x14019b968
cmp byte [0x1404cbfdc], al
je 0x14019b961
lea r15d, [rax + 1]
cmp byte [rbx], 0x5c
jne 0x14019b948
cmp dword [0x1404cbf94], 0
jne 0x14019b945
mov r8, qword [0x1404cbe78]
lea rdx, str.warning:___s_appears_to_use_backslashes_as_path_separators_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x21
mov rcx, rsi
call qword [0x1404cc1f8]
test ebp, ebp
mov dword [0x1404cbf94], r15d
cmove ebp, r15d
mov byte [rbx], 0x2f
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsinc]
mov rbx, rax
cmp byte [rax], 0
jne 0x14019b8f7
mov r15, qword [rsp + 0x98]
lea rbx, [0x1404cbfdc]
test edi, edi
jne 0x14019b9e7
cmp byte [0x1404cbfdc], 0x2f
jne 0x14019b9e7
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
mov rcx, rbx
call fcn.14019d4e0
mov r8, rax
lea rdx, str.warning:__stripped_absolute_path_spec_from__s_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov rcx, rsi
call qword [0x1404cc1f8]
test ebp, ebp
mov eax, 1
cmove ebp, eax
lea rcx, [0x1404cbfdd]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rcx - 1], al
lea rcx, [rcx + 1]
test al, al
jne 0x14019b9d0
cmp byte [0x1404cbfdc], 0x2f
je 0x14019b9c3
mov ecx, edi
call fcn.140155c80
mov ecx, eax
and ecx, 0xffff80ff
je 0x14019b9fd
cmp ebp, ecx
cmovl ebp, ecx
and eax, 0x7f00
cmp eax, 0x100
jg 0x14019bcf3
mov rcx, rbx
call fcn.140152300
cmp eax, 0xffffffff
je 0x14019bcd9
test eax, eax
je 0x14019ba9e
cmp eax, 1
jne case.0x14019bb9d.89
mov ecx, dword [0x1403dbd58]
mov eax, dword [0x1403dbddc]
test ecx, ecx
jne 0x14019ba3c
cmp eax, 2
je case.0x14019bb9d.110
cmp dword [0x1403dbd98], 0
je 0x14019ba49
test edi, edi
je case.0x14019bb9d.110
cmp eax, 1
je case.0x14019bb9d.89
test ecx, ecx
je 0x14019bab7
mov dword [0x1404cbf98], 0
call fcn.14019c960
test eax, eax
je case.0x14019bb9d.110
cmp eax, ebp
cmovg ebp, eax
cmp dword [0x1404cbf98], 1
jg 0x14019ba84
inc r12d
cmp r12d, dword [rsp + 0x80]
jb 0x14019b108
mov eax, ebp
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [0x1403dbd58], 0
jne case.0x14019bb9d.89
mov eax, dword [0x1403dbddc]
cmp eax, 2
je case.0x14019bb9d.110
cmp eax, 1
je case.0x14019bb9d.89
lea rdi, [0x1404cbfdc]
mov ebx, 1
nop dword [rax]
nop word [rax + rax]
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
mov rcx, rdi
call fcn.14019d4e0
mov r8, rax
lea rdx, str.replace__s___y_es___n_o___A_ll___N_one___r_ename:
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x81
mov rcx, rsi
call qword [0x1404cc1f8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, 0xa
lea rcx, [0x1403dbe24]
mov r8, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
jne 0x14019bb6e
lea rdx, str._NULL_n_EOF_or_read_error__treating_as___N_one__...__n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, ebx
mov rcx, rsi
call qword [0x1404cc1f8]
test ebp, ebp
mov al, 0x4e
mov byte [0x1403dbe24], al
cmove ebp, ebx
jmp 0x14019bb75
movzx eax, byte [0x1403dbe24]
movsx eax, al
add eax, 0xfffffff6
cmp eax, 0x6f
ja case.0x14019bb9d.11
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x19be10]
mov ecx, dword [r8 + rax*4 + 0x19bdf4]
add rcx, r8
jmp rcx
xor ecx, ecx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8 + 0x2efb98]
mov byte [rcx + rsi + 0xe4], al
lea rcx, [rcx + 1]
test al, al
jne 0x14019bbb0
or rbx, 0xffffffffffffffff
lea rax, [0x1403dbe24]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14019bbd3
mov rdx, rbx
mov rcx, rax
call fcn.140153970
cmp byte [rax], 0xa
jne 0x14019bbf4
mov byte [rsi + rbx + 0xe3], 0
lea r8, [0x1403dbe24]
lea rdx, str.error:__invalid_response___s__n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov ebx, 1
lea rdx, [0x1404bbe38]
mov r9d, ebx
mov r8d, eax
mov rcx, rsi
call qword [0x1404cc1f8]
jmp 0x14019bad0
lea rdx, str.new_name:
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x81
mov rcx, rsi
call qword [0x1404cc1f8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, 0x104
mov rcx, rdi
mov r8, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
or rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14019bc80
mov rdx, rbx
mov rcx, rdi
call fcn.140153970
cmp byte [rax], 0xa
jne 0x14019bca4
dec rbx
mov byte [rbx + rsi + 0xf029c], 0
test rbx, rbx
je case.0x14019bb9d.82
mov rdx, rdi
mov rcx, rdi
call qword [sym.imp.USER32.dll_OemToCharA]
mov edi, 1
jmp 0x14019b8c0
mov dword [0x1403dbddc], ebx
jmp case.0x14019bb9d.89
mov dword [0x1403dbddc], 2
jmp case.0x14019bb9d.110
cmp dword [0x1403dbd68], 0
je case.0x14019bb9d.89
test edi, edi
jne case.0x14019bb9d.89
jmp case.0x14019bb9d.110
cmp eax, 0x1000
jne 0x14019bd79
lea rcx, [rsp + 0x30]
call fcn.1401553b0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
jne 0x14019bd54
test eax, eax
je case.0x14019bb9d.110
lea rdx, str.warning:__cannot_alloc_memory_for_dir_times_permissions_UID_GID_n
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov r8d, eax
lea rdx, [0x1404bbe38]
mov r9d, 0x401
mov rcx, rsi
call qword [0x1404cc1f8]
test ebp, ebp
jne case.0x14019bb9d.110
mov ebp, 1
jmp case.0x14019bb9d.110
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rsp + 0x30]
mov qword [rdx], rax
mov rax, qword [rsp + 0xa0]
inc dword [rax]
jmp case.0x14019bb9d.110
cmp eax, 0x1100
jne 0x14019bdd3
cmp dword [0x1403dbd8c], 0
lea rax, str.hard_disk
lea rbx, [0x140329b42]
mov r8d, 0x4000
lea rdx, [0x1404c3e38]
cmovne rbx, rax
lea rcx, [0x1404cbfdc]
call fcn.14019d4e0
mov r8, rax
lea rdx, str.___skipping:___22s___svolume_label_n
mov r9, rbx
lea rcx, [0x1404bbe38]
call fcn.1401066c0
mov rcx, rsi
jmp 0x14019b599
cmp eax, 0x200
jle case.0x14019bb9d.110
cmp ebp, 2
jge case.0x14019bb9d.110
mov ebp, 2
jmp case.0x14019bb9d.110