Function at 0x140008100
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r12, rcx
mov qword [rsp + 0x40], rdx
add rcx, 0x30
mov r13, rdx
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14000814c
mov qword [rdx], r13
add qword [rcx + 8], 8
jmp 0x140008156
lea r8, [rsp + 0x40]
call fcn.140003260
xor esi, esi
mov r14d, esi
cmp qword [r12 + 0x60], rsi
jbe 0x1400081bf
cmp qword [r12 + 0x68], 0xf
lea r8, [r12 + 0x50]
jbe 0x140008172
mov r8, qword [r8]
lea r9, [r13 + 0x20]
lea rdx, str._s_s
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
lea rcx, [rbp - 0x80]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
test rax, rax
jne 0x14000820d
cmp qword [r12 + 0x60], rsi
jne 0x14000820d
lea r8, [r13 + 0x20]
lea rdx, [0x1400316d4]
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
lea rcx, [rbp - 0x80]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
test rax, rax
je 0x1400084cb
xor edx, edx
mov qword [rsp + 0x1a0], r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r15d, eax
cmp eax, 0xffffffff
jne 0x140008238
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x1400084c3
and eax, 0x1f
mov qword [rsp + 0x1f0], rbx
mov ecx, 0x20
mov qword [rsp + 0x1a8], rdi
sub ecx, eax
test eax, eax
cmove ecx, esi
add ecx, r15d
mov ebx, ecx
call fcn.14002ea50
mov r8d, ebx
xor edx, edx
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rsi
mov r8d, r15d
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rbx, qword [rsp + 0x1f0]
test eax, eax
jne 0x1400082ae
mov rcx, rdi
call fcn.14002ea1c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x1400084bb
mov r8d, dword [rsp + 0x48]
lea rcx, [rsp + 0x50]
xorps xmm0, xmm0
mov rdx, rdi
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
call fcn.1400283c0
test eax, eax
jne 0x1400082e7
mov rcx, rdi
call fcn.14002ea1c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400084b9
cmp byte [rdi], 0x52
je 0x140008315
cmp byte [rdi + 1], 0x49
je 0x140008315
cmp byte [rdi + 2], 0x46
je 0x140008315
cmp byte [rdi + 3], 0x46
je 0x140008315
mov rdx, qword [rsp + 0x40]
mov rax, rsi
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x40]
jmp 0x1400083f3
cmp byte [rdi + 8], 0x57
lea rax, [rdi + 8]
je 0x140008348
cmp byte [rax + 1], 0x41
je 0x140008348
cmp byte [rax + 2], 0x56
je 0x140008348
cmp byte [rax + 3], 0x45
je 0x140008348
mov rdx, qword [rsp + 0x40]
mov rax, rsi
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x40]
jmp 0x1400083f3
mov r10d, dword [rsp + 0x48]
add rax, 4
dec r10d
mov rdx, rsi
movdqu xmmword [rsp + 0x58], xmm0
mov r9, qword [rsp + 0x60]
add r10, rdi
mov r8, qword [rsp + 0x58]
cmp rax, r10
jge 0x1400083d3
nop
movzx ecx, byte [rax]
cmp cl, 0x66
jne 0x14000838f
cmp byte [rax + 1], 0x6d
jne 0x1400083c4
cmp byte [rax + 2], 0x74
jne 0x1400083c4
cmp byte [rax + 3], 0x20
jne 0x1400083c4
mov r8, rax
jmp 0x1400083c4
cmp cl, 0x64
jne 0x1400083ab
cmp byte [rax + 1], 0x61
jne 0x1400083c4
cmp byte [rax + 2], 0x74
jne 0x1400083c4
cmp byte [rax + 3], 0x61
jne 0x1400083c4
mov r9, rax
jmp 0x1400083c4
cmp cl, 0x73
jne 0x1400083c4
cmp byte [rax + 1], 0x6d
jne 0x1400083c4
cmp byte [rax + 2], 0x70
jne 0x1400083c4
cmp byte [rax + 3], 0x6c
cmove rdx, rax
mov ecx, dword [rax + 4]
add rax, 8
add rax, rcx
cmp rax, r10
jl 0x140008370
cmp word [r8 + 8], 1
je 0x1400083ef
mov rdx, qword [rsp + 0x40]
mov rax, rsi
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x40]
jmp 0x1400083f3
lea rax, [r9 + 8]
movzx r10d, word [r8 + 0x16]
mov ecx, 1
mov qword [rsp + 0x58], rax
mov eax, dword [r13 + 0x1c]
mov dword [rsp + 0x60], eax
mov eax, dword [r8 + 0xc]
mov dword [rsp + 0x6c], eax
movzx eax, word [r8 + 0xa]
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x70], r10d
cmp r10d, 0x10
jne 0x14000843f
cmp eax, 1
mov ecx, 2
mov r8d, 4
cmovne ecx, r8d
jmp 0x14000844f
cmp r10d, 8
jne 0x14000844f
cmp eax, 1
mov ecx, esi
setne cl
inc ecx
test rdx, rdx
je 0x140008465
cmp dword [rdx + 0x24], esi
jbe 0x140008465
mov eax, dword [rdx + 0x34]
mov dword [rsp + 0x68], eax
mov eax, dword [rdx + 0x38]
jmp 0x140008471
mov eax, dword [r9 + 4]
xor edx, edx
div ecx
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x64], eax
lea rcx, [r12 + 0x16c0]
mov eax, dword [r13 + 8]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], eax
call fcn.140008920
movups xmm0, xmmword [rsp + 0x50]
mov rcx, r14
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rax], xmm0
movsd xmm0, qword [rsp + 0x70]
movups xmmword [rax + 0x10], xmm1
movsd qword [rax + 0x20], xmm0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 1
mov eax, esi
mov rdi, qword [rsp + 0x1a8]
mov r15, qword [rsp + 0x1a0]
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.14002e9c0
add rsp, 0x1b0
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret