Function at 0x1000283c8
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0x90], rax
movdqu xmm0, xmmword [0x100001fe0]
and qword [rsp + 0x48], 0
and dword [rsp + 0x40], 0
mov r13, rcx
add rcx, 0x18
mov r14, r8
movdqu xmmword [r11 - 0x58], xmm0
mov rbx, rdx
mov qword [rsp + 0x60], rdx
call fcn.10001c8e8
movdqu xmm0, xmmword [0x100001fe0]
xor bpl, bpl
xor r12b, r12b
xor r15b, r15b
movdqu xmmword [rbx], xmm0
and dword [r14], 0
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x1000284a4
test byte [rcx + 0x1c], 1
je 0x100028477
cmp byte [rcx + 0x19], 4
jb 0x100028477
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x107
call fcn.10001c7b8
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x1000284a4
test byte [rcx + 0x1c], 1
je 0x1000284a4
cmp byte [rcx + 0x19], 4
jb 0x1000284a4
mov r9, qword [r13 + 0x158]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x108
call fcn.10001da24
mov rdx, r14
mov rcx, r13
call fcn.100024458
mov ebx, eax
test eax, eax
js 0x100028b41
mov rcx, qword [r13 + 0x248]
lea r8, [rsp + 0x48]
lea rdx, [0x100004ad0]
call fcn.10009b5b0
mov rdi, qword [rsp + 0x48]
mov ebx, eax
test eax, eax
js 0x100028b1f
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
xor r9d, r9d
lea r8d, [r9 + 1]
mov edx, 0x80000000
mov rcx, rdi
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
jne 0x100028607
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x1000285cf
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x10002855a
test byte [rcx + 0x1c], 1
je 0x10002855a
cmp byte [rcx + 0x19], 2
jb 0x10002855a
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x109
mov r9, rdi
mov dword [rsp + 0x20], eax
call fcn.10001daa4
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.10009df8c
mov ebx, eax
test eax, eax
jns 0x1000285b2
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028b0b
test byte [rcx + 0x1c], 1
je 0x100028b0b
cmp byte [rcx + 0x19], 2
jb 0x100028b0b
mov edx, 0x10a
mov dword [rsp + 0x20], eax
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov r9, rdi
call fcn.10001daa4
jmp 0x100028b04
bt dword [rsp + 0x40], 0xe
mov rcx, qword [0x1001653b8]
jae 0x100028b0b
mov ebx, 0x80780067
jmp 0x100028b0b
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x1000285fc
test byte [rcx + 0x1c], 1
je 0x1000285fc
cmp byte [rcx + 0x19], 4
jb 0x1000285fc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x10b
call fcn.10001c7b8
mov bpl, 1
mov r12b, bpl
jmp 0x100028883
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.10009df8c
mov ebx, eax
test eax, eax
jns 0x100028648
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028b0b
test byte [rcx + 0x1c], 1
je 0x100028b0b
cmp byte [rcx + 0x19], 2
jb 0x100028b0b
mov edx, 0x10c
jmp 0x100028596
bt dword [rsp + 0x40], 0xe
jae 0x10002865a
mov ebx, 0x80780067
jmp 0x100028b04
mov rbx, qword [rsp + 0x48]
xor eax, eax
lea rdx, [rsp + 0x58]
mov rcx, rbx
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x1000286ca
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0x80780121
movzx r8d, ax
or r8d, 0x80070000
test eax, eax
cmovle r8d, eax
mov dword [r14], r8d
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028b0b
test byte [rcx + 0x1c], 1
je 0x100028b0b
cmp byte [rcx + 0x19], 2
jb 0x100028b0b
mov edx, 0x10d
mov dword [rsp + 0x20], r8d
jmp 0x10002859a
mov rax, qword [rsp + 0x58]
cmp rax, 0x10
je 0x10002871b
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028836
test byte [rcx + 0x1c], 1
je 0x100028836
cmp byte [rcx + 0x19], 2
jb 0x100028836
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x10e
mov r9, rdi
mov qword [rsp + 0x20], rax
call fcn.100059300
jmp 0x10002882f
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov r8d, 0x10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10002878e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0x80780121
movzx r8d, ax
or r8d, 0x80070000
test eax, eax
cmovle r8d, eax
mov dword [r14], r8d
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028b0b
test byte [rcx + 0x1c], 1
je 0x100028b0b
cmp byte [rcx + 0x19], 2
jb 0x100028b0b
mov edx, 0x10f
jmp 0x1000286c0
lea rax, [rsp + 0x80]
lea rcx, [0x100001fe0]
mov rdx, qword [rax]
cmp rdx, qword [rcx]
jne 0x1000287b3
mov rdx, qword [rax + 8]
cmp rdx, qword [rcx + 8]
jne 0x1000287b3
xor eax, eax
jmp 0x1000287b8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000287ee
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028836
test byte [rcx + 0x1c], 1
je 0x100028836
cmp byte [rcx + 0x19], 2
jb 0x100028836
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x110
mov r9, rdi
call fcn.10001da24
jmp 0x10002882f
mov r9d, dword [rsp + 0x50]
cmp r9d, 0x10
je 0x100028883
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028836
test byte [rcx + 0x1c], 1
je 0x100028836
cmp byte [rcx + 0x19], 2
jb 0x100028836
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x111
mov qword [rsp + 0x20], rdi
call fcn.10001d8f8
mov rcx, qword [0x1001653b8]
mov r12b, 1
cmp rcx, rsi
je 0x10002885f
test byte [rcx + 0x1c], r12b
je 0x10002885f
cmp byte [rcx + 0x19], 4
jb 0x10002885f
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x112
call fcn.10001c7b8
mov ecx, dword [r13 + 0x14c]
call fcn.1000a31e8
mov rcx, rbx
mov ebp, eax
shr ebp, 9
and bpl, 1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rsp + 0x48], 0xffffffffffffffff
mov sil, 1
test r12b, r12b
je 0x100028918
lea r8, [rsp + 0x80]
mov dl, bpl
mov rcx, r13
call fcn.100026ff0
test eax, eax
js 0x100028a6b
movaps xmm0, xmmword [rsp + 0x80]
lea rdx, [rsp + 0x70]
mov r8, rdi
mov rcx, r13
movdqa xmmword [rsp + 0x70], xmm0
call fcn.10002737c
test eax, eax
jns 0x100028918
mov dword [r14], eax
mov rcx, qword [0x1001653b8]
lea rdx, [0x1001653b8]
cmp rcx, rdx
je 0x100028911
test byte [rcx + 0x1c], 1
je 0x100028911
cmp byte [rcx + 0x19], 3
jb 0x100028911
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x114
mov r9, rdi
mov dword [rsp + 0x20], eax
call fcn.10001daa4
mov rcx, qword [0x1001653b8]
mov ebx, 0x80780122
jmp 0x100028967
mov rdx, r14
mov rcx, r13
call fcn.100027f88
mov ebx, eax
test eax, eax
jns 0x100028960
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x10002896e
test byte [rcx + 0x1c], 1
je 0x10002896e
cmp byte [rcx + 0x19], 3
jb 0x10002896e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x115
mov r9d, ebx
call fcn.10001c7dc
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
test r15b, r15b
jne 0x100028a0f
mov edx, 0x80070070
cmp ebx, edx
je 0x100028989
cmp dword [r14], edx
jne 0x100028a0f
cmp rcx, rax
je 0x1000289b5
test byte [rcx + 0x1c], 1
je 0x1000289b5
cmp byte [rcx + 0x19], 4
jb 0x1000289b5
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x116
mov r9d, 0x1400000
call fcn.10001d680
mov edx, 0x1400000
mov rcx, r13
call fcn.100028bd4
test eax, eax
js 0x100028ab3
xor ebx, ebx
and dword [r14], ebx
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x100028a0a
test byte [rcx + 0x1c], 1
je 0x100028a0a
cmp byte [rcx + 0x19], 4
jb 0x100028a0a
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x118
call fcn.10001c7b8
mov rcx, qword [0x1001653b8]
mov r15b, 1
jmp 0x100028a12
xor sil, sil
test sil, sil
jne 0x100028886
test ebx, ebx
jns 0x100028aec
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x100028b0b
test byte [rcx + 0x1c], 1
je 0x100028b0b
cmp byte [rcx + 0x19], 2
jb 0x100028b0b
mov eax, dword [r14]
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x119
mov r9d, ebx
mov dword [rsp + 0x20], eax
call fcn.10001e8b4
jmp 0x100028b04
mov dword [r14], eax
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x100028aac
test byte [rcx + 0x1c], 1
je 0x100028aac
cmp byte [rcx + 0x19], 2
jb 0x100028aac
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x113
mov r9d, eax
call fcn.10001c7dc
mov rcx, qword [0x1001653b8]
mov ebx, 0x80780122
jmp 0x100028b0b
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x100028b0b
test byte [rcx + 0x1c], 1
je 0x100028b0b
cmp byte [rcx + 0x19], 2
jb 0x100028b0b
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x117
mov r9d, eax
call fcn.10001c7dc
jmp 0x100028b04
mov rax, qword [rsp + 0x60]
movaps xmm0, xmmword [rsp + 0x80]
lea rsi, [0x1001653b8]
movdqu xmmword [rax], xmm0
mov rcx, qword [0x1001653b8]
mov rax, qword [rsp + 0x48]
cmp rax, 0xffffffffffffffff
je 0x100028b26
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1001653b8]
test rdi, rdi
je 0x100028b3b
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x1001653b8]
test ebx, ebx
jns 0x100028b78
jmp 0x100028b48
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028b9e
test byte [rcx + 0x1c], 1
je 0x100028b78
cmp byte [rcx + 0x19], 2
jb 0x100028b78
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x11a
mov r9d, ebx
call fcn.10001c7dc
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x100028b9e
test byte [rcx + 0x1c], 1
je 0x100028b9e
cmp byte [rcx + 0x19], 4
jb 0x100028b9e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100003d08]
mov edx, 0x11b
call fcn.10001c7b8
mov eax, ebx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.10014e480
mov rbx, qword [rsp + 0xf8]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret