Function at 0x14011f690
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov rax, qword [rcx]
mov ecx, eax
and ecx, 3
lea r8, [0x1402bf334]
movsxd rcx, dword [r8 + rcx*4]
add rcx, r8
jmp rcx
mov r9, qword [rax]
mov r8, qword [rax + 8]
mov rcx, rdx
mov rdx, r9
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop rbp
jmp sym.core::fmt::Formatter::pad::h0f9a2bcd78285307
shr rax, 0x20
mov dword [rbp + 0x14], eax
lea rsi, [rbp - 8]
mov rcx, rsi
mov rdi, rdx
mov edx, eax
call sym.std::sys::pal::windows::os::error_string::h96535feef76717c0
mov qword [rbp - 0x28], rsi
lea rax, [sym._ZN60__LT_alloc..string..String_u20_as_u20_core..fmt..Display_GT_3fmt17hc4f37428fa496577E.4872]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x14]
mov qword [rbp - 0x18], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_i32_::fmt::hb69fe34a3b2ad377]
mov qword [rbp - 0x10], rax
lea rax, [0x14030ab88]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 3
mov qword [rbp - 0x38], 0
lea rax, [rbp - 0x28]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 2
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
lea r8, [rbp - 0x58]
call sym.core::fmt::write::h6ef556d9692d3805
cmp qword [rbp - 8], 0
je 0x14011ebf2
mov r8, qword [rbp]
mov rcx, qword [0x1403460d0]
xor edx, edx
mov ebx, eax
call fcn.14013f0f4
mov eax, ebx
jmp 0x14011ebf2
sar rax, 0x20
lea rcx, [0x14030c790]
mov rcx, qword [rcx + rax*8]
lea r8, str.entity_not_foundpermission_deniedconnection_refusedconnection_resethost_unreachablenetwork_unreachableconnection_abortednot_connectedaddress_in_useaddress_not_availablenetwork_downbroken_pipeentity_already_existsoperation_would_blocknot_a_directoryis_a_directorydirectory_not_emptyread_only_filesystem_or_storage_mediumfilesystem_loop_or_indirection_limit__e.g._symlink_loop_stale_network_file_handleinvalid_input_parameterinvalid_datatimed_outwrite_zerono_storage_spaceseek_on_unseekable_filefilesystem_quota_exceededfile_too_largeresource_busyexecutable_file_busydeadlockcross_device_link_or_renametoo_many_linksinvalid_filenameargument_list_too_longoperation_interruptedunsupportedunexpected_end_of_fileout_of_memoryother_erroruncategorized_errorOscodekindmessageKindCustomerror__os_error
mov rax, qword [r8 + rax*8]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rcx
lea rax, [rbp - 0x28]
mov qword [rbp - 8], rax
lea rax, [sym.__T_as_core::fmt::Display_::fmt::h43689040fe985e6a]
mov qword [rbp], rax
lea rax, [0x140310748]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 1
mov qword [rbp - 0x38], 0
lea rax, [rbp - 8]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 1
mov rcx, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
lea r8, [rbp - 0x58]
call sym.core::fmt::write::h6ef556d9692d3805
nop
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rax - 1]
mov rax, qword [rax + 7]
mov rax, qword [rax + 0x20]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop rbp
jmp rax
mov byte [rbp - 0x24], 0x81
mov r14b, 0x81
lea r8, [0x1402bf344]
jmp 0x14011eeff
xor r15d, r15d
mov r15d, r15d
shl r15, 0x10
mov r12b, 2
xor ebx, ebx
cmp r14b, 0x81
je 0x14011ef1d
movzx eax, r14b
cmp eax, 0x80
je 0x14011f0fd
cmp bl, r12b
jb 0x14011f126
test rdi, rdi
je 0x14011f15a
cmp rdi, rsi
je 0x14011f15a
movzx r15d, byte [rdi]
test r15b, r15b
js 0x14011ef60
inc rdi
cmp r15d, 0x27
ja case.default.0x14011ef52
invalid
add byte [rcx - 0x4a], al
pop rsp
mov r14b, 0x5c
mov eax, r15d
movsxd rax, dword [r8 + rax*4]
add rax, r8
jmp rax
mov eax, r15d
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp r15b, 0xdf
jbe 0x14011efba
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r15b, 0xf0
jb 0x14011f034
movzx r15d, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r15d, 0x3f
or r15d, ecx
or r15d, eax
cmp r15d, 0x110000
je 0x14011f15a
add rdi, 4
cmp r15d, 0x27
jbe 0x14011ef45
jmp case.default.0x14011ef52
add rdi, 2
shl eax, 6
or eax, edx
mov r15d, eax
cmp r15d, 0x27
jbe 0x14011ef45
cmp r15d, 0x5c
jne 0x14011efe4
mov r13b, 0x5c
xor r15d, r15d
mov r14b, 0x5c
jmp 0x14011eef3
cmp r15d, 0x2ff
jbe 0x14011eff9
mov ecx, r15d
call sym.core::unicode::unicode_data::grapheme_extend::lookup_slow::hf2c0b98f30474094
test al, al
jne 0x14011f04c
mov ecx, r15d
call sym.core::unicode::printable::is_printable::he655f59dc91466aa
mov r14b, pe_nt_image_headers64
test al, al
je 0x14011f04c
lea r8, [0x1402bf344]
jmp 0x14011eef3
add ebx, dword [rdx]
add cl, ch
invalid
mov r13b, 0x27
jmp 0x14011eef0
mov r13b, 0x72
jmp 0x14011eef0
add rdi, 3
shl eax, 0xc
or ecx, eax
mov r15d, ecx
cmp r15d, 0x27
jbe 0x14011ef45
jmp case.default.0x14011ef52
mov eax, r15d
or eax, 1
bsr eax, eax
xor eax, 0x1c
shr eax, 2
lea rbx, [rax - 2]
mov byte [rbp], 0
mov word [rbp - 2], 0
mov ecx, r15d
shr ecx, 0x14
lea rdx, [0x140309f48]
movzx ecx, byte [rcx + rdx]
mov byte [rbp + 1], cl
mov ecx, r15d
shr ecx, 0x10
and ecx, 0xf
movzx ecx, byte [rcx + rdx]
mov byte [rbp + 2], cl
mov ecx, r15d
shr ecx, 0xc
and ecx, 0xf
movzx ecx, byte [rcx + rdx]
mov byte [rbp + 3], cl
mov ecx, r15d
shr ecx, 8
and ecx, 0xf
movzx ecx, byte [rcx + rdx]
mov byte [rbp + 4], cl
mov ecx, r15d
shr ecx, 4
and ecx, 0xf
movzx ecx, byte [rcx + rdx]
mov byte [rbp + 5], cl
and r15d, 0xf
movzx ecx, byte [r15 + rdx]
mov byte [rbp + 6], cl
mov byte [rbp + 7], 0x7d
mov word [rbp + rax - 4], 0x755c
mov byte [rbp + rax - 2], 0x7b
movzx r14d, byte [rbp - 2]
movzx r13d, byte [rbp - 1]
mov r15, qword [rbp]
mov r12b, 0xa
cmp r14b, 0x81
lea r8, [0x1402bf344]
jne 0x14011eeff
jmp 0x14011f15a
shr r15, 0x10
mov edx, r15d
lea rax, [rbp - 0x30]
mov dword [rax + 8], 0
mov qword [rax], 0
xor r15d, r15d
xor r13d, r13d
xor r12d, r12d
xor ebx, ebx
xor r14d, r14d
jmp 0x14011f13c
mov byte [rbp - 0x30], r14b
mov byte [rbp - 0x2f], r13b
mov qword [rbp - 0x2e], r15
movzx eax, bl
inc bl
movzx edx, byte [rbp + rax - 0x30]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x18]
call qword [rax + 0x20]
test al, al
lea r8, [0x1402bf344]
je 0x14011eeff
mov al, 1
jmp 0x14011f15c
xor eax, eax
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
add rdx, 3
mov rcx, qword [rsi + 8]
and r12d, 0x3f
shl r12d, 0x18
shl r15d, 0xa
and r15d, 0x3f0000
or r15d, r12d
shr r14d, 4
and r14d, 0x3f00
or r14d, r15d
lea r8d, [r14 + r13]
add r8d, 0x808080f0
mov dword [rcx + rbx], r8d
add rbx, 4
mov qword [rsi + 0x10], rbx
jmp 0x14011f343
sub rax, rbx
cmp rax, rdi
jb 0x14011f36e
add rcx, rbx
mov r8, rdi
call sym.memcpy
add rbx, rdi
mov qword [rsi + 0x10], rbx
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rsi
mov r14, rdx
mov rdx, rbx
mov r8, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hcbc1b3806aac83cc
mov rdx, r14
mov edx, esi
mov edx, esi
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
jmp 0x14011f34b
mov qword [rbp], rdx
mov rdx, rbx
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hcbc1b3806aac83cc
sbb al, 0x55
invalid
dec dword [rax - 0x75]
push rbp
add byte [rax - 0x75], cl
invalid
mov rbx, qword [rsi + 0x10]
jmp 0x14011f265
sbb al, 0x55
invalid
add byte [rax], al
cmp ecx, dword [rax - 0x7d]
cli
and dword [rbx + 0x56], esi
or byte [rax + 1], r9b
stc
fisttp word [rax - 0x77]
jle 0x14011f4c6
pop rsi
mov edi, dword [rsi + 0x10]
and byte [rax], al
add byte [rax], al
dec esp
nop
in al, dx
xor byte [rax - 0x73], cl
insb byte [rdi], dx
and al, 0x30
mov esi, edx
or byte [rax - 0x75], cl
jp 0x14011f517
clc
jnp 0x14011f514
add byte [rax], al
add byte [rax - 0x77], cl
ror dword [rax - 0x77], 0xd0
mov eax, edx
invalid
push rbp
clc
leave
rol dword [rbx - 0x72b7fc1f], 0x15
sar dh, 0x19
invalid
sbb dword [rax], eax
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
invalid
invalid
invalid
adc byte [rax - 0x75], cl
sbb byte [rax + 0x39], r9b
clc
jle case.0x14011f53b.3
ror dword [rax - 0x3f], 0xe9
and byte [rbx - 0x78f0d707], al
sub byte [rdi], cl
invalid
mov byte [rax], al
add byte [rax], al
sub byte [rdi], cl
xchg dword [rax + 0x48000000], ecx
lea rdx, [0x1402bf404]
loope 0x14011f5c3
leave
mov dh, 0x48
jo 0x14b870197
cmp cl, 0xb
jne case.0x14011f466.22
invalid
jns 0x14011f590
jmp 0x14011f5a3
invalid
push qword [rcx - 0xc516ed]
sbb eax, 0xffff25e9
push qword [rcx - 0xe116da]
mov cl, 0x26
invalid
invalid
invalid
invalid
add byte [rbp + 0x56], dl
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov rsi, rcx
invalid
movups xmm0, xmmword [0x14030bb18]
insd dword [rdi], dx
invalid
invalid
invalid
invalid
insd dword [rdi], dx
invalid
movaps xmmword [rbp], xmm0
mov eax, 0xffffffff
cmp r8, rax
dec dword [rcx + 0x39]
ror byte [rcx + 0xf], 0x42
cmovb rax, r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
adc dword [rsp + 0x38], eax
cmovb rax, r8
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
adc dword [rsp + 0x38], eax
adc dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdx
mov rax, rbp
sub byte [rax - 0x77], cl
call 0x16456801b
invalid
invalid
invalid
invalid
mov qword [rsp + 0x20], rax
xor edx, edx
xor r8d, r8d
xor eax, eax
and byte [rcx], dh
rol byte [rbp + 0x31], cl
xor eax, eax
xor r9d, r9d
xor eax, eax
xor r9d, r9d
leave
call sub.ntdll.dll_NtReadFile
add dword [rax], eax
cmp eax, 0x103
jne 0x14011f6f8
invalid
add dword [rax], eax
add byte [rbp + 0x10], dh
invalid
adc byte [rax - 0x77], cl
int1
mov rcx, rsi
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
add dword [rax], eax
invalid
add dword [rax], eax
mov eax, dword [rbp]
add byte [0x10011f70e], bh
cmp eax, 0xc0000011
jne 0x14011f705
xor edx, edx
xor eax, eax
jmp case.0x14011f53b.48
cmp eax, 0x103
je 0x14011f738
test eax, eax
js case.0x14011ef52.103
mov rdx, qword [rbp + 8]
mov ecx, eax
call sub.ntdll.dll_RtlNtStatusToDosError
add dword [rax], eax
or edx, 2
add byte [rsi + 0x5d], bl
mov dword [rbp + 0x18], 0
add byte [rax - 0x73], cl
add eax, 0x1ec436
invalid
add byte [rax - 0x77], cl
enter 0xffffffffffffc748, 0x45
invalid
rol byte [r9], 1
rol byte [r9], 1
adc dword [rbp - 0x20], eax
std
invalid
push rsi
insb byte [rdi], dx
and al, 0x30
push rbp
add byte [rax - 0x7b], cl
test eax, eax
je case.0x14011f7c9.39
mov rcx, rdx
mov eax, edx
invalid
and eax, 3
invalid
add ch, bl
movabs al, byte [0x98eb03b09ceb0fb0]
mov al, 0xf
jmp case.0x140120229.76
mov al, 3
jmp case.0x140120229.76