Function at 0x210102600
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
sub rsp, 0x90
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov eax, dword [rax - 0x2cc8]
mov dword [rsp + 0x6c], eax
lea r15, [rsp + 0x6c]
mov r13, rcx
mov r12, rdx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 8]
mov rcx, r15
lea rdi, [rsp + 0x60]
lea rsi, [rsp + 0x80]
mov eax, dword [rax - 0x2cc4]
mov dword [rsp + 0x70], eax
call method.tmp_pathbuf.c_get__
mov qword [rsp + 0x38], rdi
xor r9d, r9d
xor r8d, r8d
mov r14, rax
lea rax, [rsp + 0x76]
mov qword [rsp + 0x20], rsi
xor edx, edx
mov qword [rsp + 0x40], 0
mov rcx, r12
mov dword [rsp + 0x30], 0xa
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x60], 0
call sym.NtReadFile
test eax, eax
js 0x210102840
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
cmp rax, 0xa
je 0x210102720
cmp rax, 8
ja 0x21010274a
mov edx, dword [r13 + 0x100c]
and edx, 0x10
xor eax, eax
test edx, edx
jne 0x210102970
mov ecx, dword [rsp + 0x6c]
mov rdx, qword gs:[0x30]
mov rdx, qword [rdx + 8]
mov dword [rdx - 0x2cc8], ecx
mov ecx, dword [rsp + 0x70]
mov rdx, qword gs:[0x30]
mov rdx, qword [rdx + 8]
mov dword [rdx - 0x2cc4], ecx
add rsp, 0x90
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs rax, 0x6e696c6d79733c21
cmp qword [rsp + 0x76], rax
je 0x210102898
movabs rax, 0x74656b636f733c21
cmp qword [rsp + 0x76], rax
je 0x2101028b8
movabs rax, 0x14b4e4c78746e49
cmp qword [rsp + 0x76], rax
jne 0x2101026c6
or dword [r13 + 0x100c], 0x10
mov ebp, 1
mov qword [rsp + 0x60], 8
mov qword [rsp + 0x38], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x40], 0
mov rcx, r12
mov dword [rsp + 0x30], 0x8000
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
call sym.NtReadFile
test eax, eax
js 0x2101028e0
cmp word [r14], 0xfeff
je 0x210102948
test bpl, bpl
je 0x210102920
mov rax, qword [rsp + 0x88]
xor edx, edx
and rax, 0xfffffffffffffffe
mov word [r14 + rax], dx
mov rcx, r15
call method.tmp_pathbuf.c_get__
mov dword [rsp + 0x20], 1
mov r8, r14
mov r9, 0xffffffffffffffff
mov edx, 0x8000
mov rcx, rax
mov r12, rax
call sym._sys_wcstombs_char__unsigned_long__wchar_t_const__unsigned_long__bool_
cmp rax, 0xfff
jbe 0x210102960
test byte [0x210273880], 1
je 0x210102838
lea r9, str.symlink_string_too_long
lea r8, str.int_symlink_info::check_sysfile_HANDLE_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
nop dword [rax + rax]
xor eax, eax
jmp 0x2101026da
test byte [0x210273880], 1
jne 0x210102868
cmp eax, 0xc0000011
je 0x210102838
mov dword [r13 + 0x1024], 5
xor eax, eax
jmp 0x2101026da
mov dword [rsp + 0x20], eax
lea r9, str.ReadFile1_failed__y
lea r8, str.int_symlink_info::check_sysfile_HANDLE_
mov edx, 0x40
lea rcx, [0x210273880]
mov dword [rsp + 0x5c], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov eax, dword [rsp + 0x5c]
jmp 0x210102849
cmp word [rsp + 0x7e], 0x3e6b
jne 0x210102735
or dword [r13 + 0x100c], 0x10
xor ebp, ebp
jmp 0x210102775
cmp word [rsp + 0x7e], 0x3e20
jne 0x21010274a
mov edx, dword [r13 + 0x100c]
mov eax, edx
and edx, 0x10
or eax, 0x20
mov dword [r13 + 0x100c], eax
jmp 0x2101026d0
test byte [0x210273880], 1
je 0x210102849
lea r9, str.ReadFile2_failed
mov edx, 0x40
mov dword [rsp + 0x5c], eax
lea r8, str.int_symlink_info::check_sysfile_HANDLE_
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
mov eax, dword [rsp + 0x5c]
jmp 0x210102849
cmp qword [rsp + 0x88], 0x1000
ja 0x21010280b
mov rdx, r14
mov rcx, r13
call method.symlink_info.posixify_char_
jmp 0x2101026da
test bpl, bpl
jne 0x2101027c2
add r14, 2
jmp 0x2101027d5
mov rdx, r12
mov rcx, r13
call method.symlink_info.posixify_char_
jmp 0x2101026da
xor ebp, ebp
jmp 0x210102775