Function at 0x1800288a0
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x10110
call fcn.180043900
sub rsp, rax
mov rax, qword [0x1800d4ad8]
xor rax, rsp
mov qword [rsp + 0x10100], rax
mov qword [rsp + 0x78], rsp
mov dword [rsp + 0x48], r9d
mov qword [rsp + 0x80], r8
mov r14, rdx
mov r15, rcx
mov rcx, qword [rsp + 0x10170]
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x10178]
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x10188]
mov rax, qword [rsp + 0x10190]
mov qword [rsp + 0x58], rax
mov r12, qword [rsp + 0x101a0]
mov qword [rsp + 0x88], r12
or r13, 0xffffffffffffffff
mov qword [rsp + 0x68], r13
xor edi, edi
xor esi, esi
and qword [rsp + 0x50], rsi
call fcn.18002532c
mov qword [rsp + 0x50], rax
call fcn.180028edc
lea rcx, [0x1800dbe68]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [0x1800dbe50], 1
lea rcx, [0x1800dbe68]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r12, r12
je 0x18002897c
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x180028d9f
cmp byte [0x1800dbe51], 0
jne 0x180028d9f
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
jbe 0x1800289d2
test rbx, rbx
jne 0x1800289d2
lea rdx, [0x1800289ac]
mov rcx, qword [rsp + 0x78]
call fcn.18004672c
nop
nop
or eax, 0xffffffff
mov rcx, qword [rsp + 0x10100]
xor rcx, rsp
call fcn.180043830
add rsp, 0x10110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rsp + 0x40]
call fcn.180026710
mov qword [rsp + 0x60], rax
xor edi, edi
mov dword [rsp + 0x34], edi
xor edx, edx
mov rcx, qword [rsp + 0x40]
call fcn.1800279a0
mov r13, rax
mov qword [rsp + 0x68], rax
cmp rax, 0xffffffffffffffff
jne 0x180028a28
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [rsp + 0x34], eax
cmp esi, 0xa
jb 0x180028a1a
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x3e8
jae 0x180028a28
inc esi
mov dword [rsp + 0x70], esi
test r12, r12
je 0x180028a3c
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x180028a54
cmp byte [0x1800dbe51], 0
jne 0x180028a54
cmp edi, 0x20
jne 0x180028a54
cmp byte [rsp + 0x10180], 0
jne 0x1800289e1
cmp r13, 0xffffffffffffffff
jne 0x180028a72
mov r8, qword [rsp + 0x40]
lea rdx, str.Unable_to_open_file_for_reading._File_name:__s.
mov ecx, edi
call fcn.180022938
jmp 0x180028d9f
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax]
cmp rdx, qword [rsp + 0x60]
jb 0x180028b2a
test rbx, rbx
je 0x180028b2a
test r14, r14
jne 0x180028a9c
test r15, r15
je 0x180028b2a
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rsp + 0xc0], xmm1
movups xmm0, xmmword [rbx + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm1, xmmword [rbx + 0x50]
movaps xmmword [rsp + 0xe0], xmm1
movsd xmm0, qword [rbx + 0x60]
movsd qword [rsp + 0xf0], xmm0
test r14, r14
je 0x180028afb
mov rdx, r14
jmp 0x180028b03
test r15, r15
je 0x180028b10
mov rdx, r15
lea rcx, [rsp + 0x90]
call fcn.180037cd0
lea rdx, [0x180028b23]
mov rcx, qword [rsp + 0x78]
call fcn.18004672c
nop
nop
xor eax, eax
jmp 0x1800289af
test rdx, rdx
jne 0x180028b3e
lea rcx, [rsp + 0x90]
call fcn.18003a460
jmp 0x180028ba2
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0xa0], xmm1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rsp + 0xc0], xmm1
movups xmm0, xmmword [rbx + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
movups xmm1, xmmword [rbx + 0x50]
movaps xmmword [rsp + 0xe0], xmm1
movsd xmm0, qword [rbx + 0x60]
movsd qword [rsp + 0xf0], xmm0
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
cmp qword [0x1800dbe60], 0
jne 0x180028bb9
lea rcx, [0x1800dbe60]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
mov r8d, 0x10000
lea rdx, [rsp + 0x100]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, eax
test al, al
je 0x180028c59
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x180028c59
cmp qword [rsp + 0x58], 0
je 0x180028c27
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
jne 0x180028c27
cmp ecx, 2
jbe 0x180028c27
mov r8d, 2
lea rdx, [0x1800af2d0]
lea rcx, [rsp + 0x100]
call fcn.180046770
test eax, eax
sete al
mov rcx, qword [rsp + 0x58]
mov byte [rcx], al
mov r8d, dword [rsp + 0x30]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x90]
call fcn.18003a4a0
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
add qword [rcx], rax
test r14, r14
jne 0x180028c7d
test r15, r15
je 0x180028cb9
jmp 0x180028c7d
test sil, sil
jne 0x180028c7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [rsp + 0x34], eax
mov r8, qword [rsp + 0x40]
lea rdx, str.Error_during_reading._File_name:__s.
mov ecx, eax
call fcn.180022938
test r12, r12
je 0x180028c91
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x180028cb9
cmp byte [0x1800dbe51], 0
jne 0x180028cb9
test sil, sil
je 0x180028cb9
cmp dword [rsp + 0x30], 0
je 0x180028cb9
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
cmp qword [rax], rcx
jb 0x180028bb9
test rbx, rbx
je 0x180028d13
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [rsp + 0xa0]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rbx + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rbx + 0x50], xmm1
movsd xmm0, qword [rsp + 0xf0]
movsd qword [rbx + 0x60], xmm0
test r14, r14
je 0x180028d89
mov rdx, r14
lea rcx, [rsp + 0x90]
call fcn.180037cd0
mov r8d, 0x20
mov rdx, r14
mov rcx, r15
call fcn.180045f30
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x180028d9f
mov ebx, dword [rsp + 0x48]
test ebx, ebx
je 0x180028d9f
lea rcx, [rsp + 0x90]
call fcn.18003a460
mov r8d, ebx
mov rdx, rsi
lea rcx, [rsp + 0x90]
call fcn.18003a4a0
mov r8d, 0x20
mov rdx, r14
lea rcx, [rsp + 0x90]
call fcn.18003a4a0
mov rdx, r14
jmp 0x180028d91
test r15, r15
je 0x180028d9f
mov rdx, r15
lea rcx, [rsp + 0x90]
call fcn.180037cd0
nop
cmp r13, 0xffffffffffffffff
je 0x180028dae
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x1800dbe68]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x1800dbe51], 0
jne 0x180028dd8
test r12, r12
je 0x180028e00
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x180028e00
mov rcx, qword [0x1800dbe58]
test rcx, rcx
je 0x180028dea
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov edi, 0x3eb
mov rdx, qword [rsp + 0x50]
lea rcx, str.Set_file_trust_level_is_canceled._r_nFile_name:__s
call fcn.180022b24
mov byte [0x1800dbe50], 0
lea rcx, [0x1800dbe68]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
jmp 0x1800289af