Function at 0x1400adc50
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0x88
mov rax, qword [0x1401b5030]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rcx
lea r8, [rbp - 0x11]
mov rcx, qword [0x14030beb8]
lea rdx, [rbp - 0x19]
xor r14d, r14d
xor r9d, r9d
mov dword [rbp - 0x19], r14d
call fcn.1400ad070
lea rax, [0x1402bf9c0]
mov edi, r14d
mov qword [rbp - 0x11], rax
nop
mov rcx, rbx
call fcn.140136c7c
cmp eax, 0xffffffff
je 0x1400adcc4
nop dword [rax]
cmp eax, 0x50
je 0x1400adcc4
mov rcx, rbx
inc edi
call fcn.140136c7c
cmp eax, 0xffffffff
jne 0x1400adcb0
mov edx, 3
mov byte [rbp - 9], al
mov r9, rbx
lea rcx, [rbp - 8]
lea r8d, [rdx - 2]
call fcn.140137328
cmp rax, 1
jne 0x1400add53
movzx eax, byte [rbp - 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 7]
or edx, eax
movzx eax, byte [rbp - 8]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp - 9]
or edx, ecx
or edx, eax
cmp edx, 0x4034b50
je 0x1400add53
cmp edx, 0x6054b50
je 0x1400add53
mov edx, 0xfffffffd
mov rcx, rbx
lea r8d, [rdx + 4]
call fcn.140136964
test eax, eax
jne 0x1400add35
inc edi
jmp 0x1400adca0
mov rcx, rbx
call fcn.140136668
test eax, eax
mov ebx, 2
mov ecx, reloc.WS2_32.dll_inet_addr
cmovne ebx, ecx
mov eax, ebx
jmp 0x1400ae525
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0x80], r15
mov dword [0x14030bee8], edi
movzx eax, byte [rbp - 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 7]
or edx, eax
movzx eax, byte [rbp - 8]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp - 9]
or edx, ecx
or edx, eax
cmp edx, 0x4034b50
jne 0x1400ae2c1
mov r14d, dword [rbp - 0x19]
mov r15d, shutdown
lea ecx, [r15 + 0x7c]
call fcn.14012d1e8
mov rsi, rax
test rax, rax
je 0x1400ae4c7
mov rcx, qword [0x14030bed0]
lea rax, [rcx + 1]
cmp rax, rcx
jb 0x1400ae4c7
mov r9, rbx
lea edx, [r15 + 6]
lea r8d, [r15 - 0x13]
lea rcx, [rbp - 9]
call fcn.140137328
cmp rax, 1
jne 0x1400ae4ba
movzx eax, byte [rbp - 9]
movzx ecx, byte [rbp - 8]
mov r8d, dword [0x1402bf9f0]
mov dword [rsi + 0x80], r8d
shl cx, 8
or cx, ax
mov eax, 0xb17
mov word [rsi + 2], cx
test r8d, r8d
cmovne ax, r15w
mov word [rsi], ax
movzx eax, byte [rbp - 7]
movzx r13d, byte [rbp - 6]
shl r13w, 8
or r13w, ax
mov word [rsi + 0x3c], r13w
mov word [rsi + 4], r13w
movzx eax, byte [rbp - 5]
movzx ecx, byte [rbp - 4]
shl cx, 8
or cx, ax
mov word [rsi + 6], cx
movzx eax, byte [rbp]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 1]
or edx, eax
movzx eax, byte [rbp - 2]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp - 3]
shl edx, 0x10
or edx, ecx
or edx, eax
mov dword [rsi + 8], edx
movzx eax, byte [rbp + 4]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp + 3]
or edx, eax
movzx eax, byte [rbp + 2]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp + 1]
shl edx, 0x10
or edx, ecx
or edx, eax
mov dword [rsi + 0xc], edx
movzx eax, byte [rbp + 8]
shl ax, 8
movzx r15d, ax
movzx eax, byte [rbp + 7]
or r15d, eax
movzx eax, byte [rbp + 6]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp + 5]
shl r15d, 0x10
or r15d, ecx
or r15d, eax
mov dword [rsi + 0x10], r15d
movzx eax, byte [rbp + 0xc]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp + 0xb]
or edx, eax
movzx eax, byte [rbp + 0xa]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp + 9]
shl edx, 0x10
or edx, ecx
or edx, eax
mov dword [rsi + 0x14], edx
movzx eax, byte [rbp + 0xe]
shl ax, 8
movzx r12d, ax
movzx eax, byte [rbp + 0xd]
or r12, rax
mov qword [rsi + 0x18], r12
movzx eax, byte [rbp + 0x10]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp + 0xf]
or rcx, rax
movzx eax, r14b
mov qword [rsi + 0x20], rcx
mov qword [rsi + 0x28], rcx
xor ecx, ecx
mov qword [rsi + 0x30], rcx
mov dword [rsi + 0x38], ecx
test r8d, r8d
jne 0x1400adf51
mov eax, r14d
cmp dword [0x1402bfa04], 1
mov dword [rsi + 0x40], eax
mov rax, qword [rbp - 0x11]
cmovg r15d, ecx
mov qword [rsi + 0x78], rcx
mov qword [rsi + 0x60], rcx
mov qword [rsi + 0x58], rcx
mov qword [rsi + 0x50], rcx
mov qword [rsi + 0x68], rcx
mov qword [rsi + 0x48], rcx
mov qword [rsi + 0x70], rcx
mov qword [rax], rsi
lea rax, [rsi + 0x88]
mov qword [rbp - 0x11], rax
mov qword [rax], rcx
test r12, r12
je 0x1400ae455
lea rcx, [r12 + 1]
call fcn.14012d1e8
mov qword [rsi + 0x68], rax
test rax, rax
je 0x1400ae4c7
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1400adfcb
call fcn.14012d1e8
mov qword [rsi + 0x50], rax
test rax, rax
je 0x1400ae4c7
mov rcx, qword [rsi + 0x68]
mov r9, rbx
mov r8d, 1
mov rdx, r12
call fcn.140137328
cmp rax, 1
jne 0x1400ae154
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x1400ae00c
mov rcx, qword [rsi + 0x50]
mov r9, rbx
mov r8, rax
call fcn.140137328
cmp rax, 1
jne 0x1400ae154
test r15d, r15d
je 0x1400ae02a
mov r8d, 1
mov edx, r15d
mov rcx, rbx
call fcn.140136964
test eax, eax
jne 0x1400ae154
mov rax, qword [rsi + 0x68]
mov rcx, 0xffffffffffffffff
mov byte [r12 + rax], 0
mov r14, qword [rsi + 0x68]
nop
inc rcx
cmp byte [r14 + rcx], 0
jne 0x1400ae040
inc rcx
call fcn.14012d1e8
mov r8, rax
test rax, rax
jne 0x1400ae062
xor r14d, r14d
mov r8d, r14d
jmp 0x1400ae080
mov rcx, rax
sub rcx, r14
nop dword [rax + rax]
movzx eax, byte [r14]
mov byte [r14 + rcx], al
lea r14, [r14 + 1]
test al, al
jne 0x1400ae070
mov qword [rsi + 0x70], r8
test r8, r8
je 0x1400ae4c7
cmp dword [reloc.WS2_32.dll_accept], 0
mov rax, qword [rsi + 0x50]
mov qword [rsi + 0x58], rax
mov qword [rsi + 0x48], r8
je 0x1400ae0b5
mov rcx, qword [0x14030bec8]
lea rdx, str.zip:_reading__s_n
call fcn.1400698b0
inc qword [0x14030bed0]
lea eax, [r12 + 0x1e]
add eax, r15d
mov dword [rsi + 0x44], edi
add eax, dword [rsi + 0x20]
add edi, eax
test r13b, 8
je 0x1400ae346
test r15d, r15d
jne 0x1400ae1e2
nop
mov rcx, rbx
call fcn.140136c7c
cmp eax, 0xffffffff
je 0x1400ae0f2
cmp eax, 0x50
jne 0x1400ae0e0
mov edx, InitCommonControls
mov byte [rbp - 9], al
mov r9, rbx
lea rcx, [rbp - 8]
lea r8d, [rdx - 0xe]
call fcn.140137328
cmp rax, 1
jne 0x1400ae172
movzx eax, byte [rbp - 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 7]
or edx, eax
movzx eax, byte [rbp - 8]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp - 9]
or edx, ecx
or edx, eax
cmp edx, 0x8074b50
je 0x1400ae172
mov edx, 0xfffffff1
mov rcx, rbx
lea r8d, [rdx + 0x10]
call fcn.140136964
test eax, eax
je 0x1400ae0e0
mov rcx, rbx
call fcn.140136668
test eax, eax
mov ebx, 2
mov ecx, reloc.WS2_32.dll_inet_addr
cmovne ebx, ecx
mov eax, ebx
jmp 0x1400ae505
movzx eax, byte [rbp + 2]
shl ax, 8
movzx r15d, ax
movzx eax, byte [rbp + 1]
or r15d, eax
movzx eax, byte [rbp]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp - 1]
shl r15d, 0x10
or r15d, ecx
mov rcx, rbx
or r15d, eax
add edi, r15d
call fcn.140137940
mov ecx, eax
lea eax, [rdi + 0x10]
cmp ecx, eax
je 0x1400ae247
cmp dword [reloc.WS2_32.dll_accept], 0
mov rdi, qword [rsi + 0x70]
je 0x1400ae4b3
mov ebx, 2
mov ecx, ebx
call fcn.14012d310
mov r9, rdi
lea r8, str.bad_extended_local_header_for
jmp 0x1400ae495
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140136964
test eax, eax
jne 0x1400ae154
mov r9, rbx
lea edx, [rax + 0x10]
lea r8d, [rax + 1]
lea rcx, [rbp - 9]
call fcn.140137328
cmp rax, 1
jne 0x1400ae154
movzx eax, byte [rbp - 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 7]
or edx, eax
movzx eax, byte [rbp - 8]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp - 9]
or edx, ecx
or edx, eax
cmp edx, 0x8074b50
jne 0x1400ae430
movzx eax, byte [rbp - 2]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 3]
or edx, eax
movzx eax, byte [rbp - 4]
shl ax, 8
movzx ecx, ax
movzx eax, byte [rbp - 5]
shl edx, 0x10
or edx, ecx
mov dword [rsi + 0x10], r15d
or edx, eax
mov dword [rsi + 0xc], edx
movzx eax, byte [rbp + 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp + 5]
or edx, eax
movzx eax, byte [rbp + 4]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp + 3]
or edx, ecx
or edx, eax
mov dword [rsi + 0x14], edx
add edi, 0x10
mov edx, 4
lea rcx, [rbp - 9]
mov r9, rbx
lea r8d, [rdx - 3]
call fcn.140137328
cmp rax, 1
je 0x1400add79
movzx eax, byte [rbp - 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 7]
or edx, eax
movzx eax, byte [rbp - 8]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp - 9]
or edx, ecx
or edx, eax
cmp edx, 0x2014b50
je 0x1400ae4ce
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400ae4ce
cmp dword [0x1402bfa04], 1
lea rax, str.has_been
mov r8, qword [0x14030beb8]
lea r9, str.would_be
mov rcx, qword [0x14030bec8]
lea rdx, str.zip_warning:__s__s_truncated._n
cmovg r9, rax
call fcn.1400698b0
cmp dword [0x1402bfa04], 1
je 0x1400ae53e
jmp 0x1400ae4ce
cmp dword [0x1402bfa04], 1
jle 0x1400ae2a2
mov rcx, rbx
call fcn.140136c7c
cmp eax, 0xffffffff
je 0x1400ae374
cmp eax, 0x50
je 0x1400ae374
mov rcx, rbx
inc edi
call fcn.140136c7c
cmp eax, 0xffffffff
jne 0x1400ae360
mov edx, 3
mov byte [rbp - 9], al
mov r9, rbx
lea rcx, [rbp - 8]
lea r8d, [rdx - 2]
call fcn.140137328
cmp rax, 1
jne 0x1400ae3e9
movzx eax, byte [rbp - 6]
shl ax, 8
movzx edx, ax
movzx eax, byte [rbp - 7]
or edx, eax
movzx eax, byte [rbp - 8]
shl ax, 8
shl edx, 0x10
movzx ecx, ax
movzx eax, byte [rbp - 9]
or edx, ecx
or edx, eax
cmp edx, 0x4034b50
je 0x1400ae3e9
cmp edx, 0x2014b50
je 0x1400ae3e9
mov edx, 0xfffffffd
mov rcx, rbx
lea r8d, [rdx + 4]
call fcn.140136964
test eax, eax
jne 0x1400ae154
inc edi
jmp 0x1400ae353
mov r8d, dword [rsi + 0x10]
mov r14d, edi
sub r14d, dword [rsi + 0x44]
sub r14d, r12d
sub r14d, dword [rsi + 0x20]
add r14d, 0xffffffe2
cmp r14d, r8d
je 0x1400add79
mov rax, qword [rsi + 0x70]
lea rdx, str._compressed_size__ld__actual_size__ld_for__s_n
mov rcx, qword [0x14030bec8]
mov r9d, r14d
mov qword [rsp + 0x20], rax
call fcn.1400698b0
mov dword [rsi + 0x10], r14d
jmp 0x1400add79
cmp dword [reloc.WS2_32.dll_accept], 0
mov rdi, qword [rsi + 0x70]
je 0x1400ae4b3
mov ebx, 2
mov ecx, ebx
call fcn.14012d310
mov r9, rdi
lea r8, str.extended_local_header_not_found_for
jmp 0x1400ae495
mov r8d, dword [0x14030bed0]
lea rdx, [0x14019e028]
inc r8d
lea rcx, [0x14030ba60]
call fcn.140092700
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400ae4b3
mov ebx, 2
mov ecx, ebx
call fcn.14012d310
lea r9, [0x14030ba60]
lea r8, str.zero_length_name_for_entry_
lea rdx, str._tzip_warning:__s_s_n
mov rcx, rax
call fcn.1400698b0
mov ecx, ebx
call fcn.14012d310
mov rcx, rax
call fcn.14012d6cc
mov eax, 3
jmp 0x1400ae505
mov rcx, rsi
call fcn.140122088
jmp 0x1400ae2c1
mov eax, 4
jmp 0x1400ae505
mov r9d, dword [0x14030bee8]
mov dword [0x14030bed8], edi
test r9d, r9d
je 0x1400ae503
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1400ae503
mov r8, qword [0x14030beb8]
lea rdx, str._s:_adjusting_offsets_for_a_preamble_of__lu_bytes_n
mov rcx, qword [0x14030bec8]
call fcn.1400698b0
xor eax, eax
mov r13, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xb8]
mov r15, qword [rsp + 0x80]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14011b0c0
add rsp, 0x88
pop r14
pop rdi
pop rbx
pop rbp
ret
mov rcx, qword [0x14030bec8]
lea rdx, str.Retry_with_option__qF_to_truncate__with__FF_to_attempt_full_recovery_n
call fcn.1400698b0
xor edx, edx
lea ecx, [rdx + 3]
call fcn.1400a68e0
int3