Function at 0x1400074dc
Capabilities:
Check os version
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x102c0]
mov eax, 0x103c0
call fcn.140030360
sub rsp, rax
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x103e0], rbx
mov rax, qword [0x140052a10]
xor rax, rsp
mov qword [rbp + 0x102b0], rax
mov rsi, r8
mov rbx, rdx
mov edi, VarUI4FromDisp
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0x190]
call fcn.1400221f0
mov dword [rbp + 0x190], edi
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
xor edx, edx
lea r8d, [rdi - 0x1c]
cmp dword [rbp + 0x194], 6
jb 0x1400076b8
lea rcx, [rbp - 0x70]
call fcn.1400221f0
lea rcx, [rbp - 0x70]
call fcn.14000a790
nop
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.14000ede8
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.14000aab8
cmp qword [rax + 0x18], 8
jb 0x14000758f
mov rax, qword [rax]
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
lea r8d, [rbx + 3]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0xc0120089
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp qword [rsp + 0x78], 8
jb 0x1400075cd
mov rcx, qword [rsp + 0x60]
call fcn.140021758
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rbx
mov word [rsp + 0x60], bx
cmp rdi, 0xffffffffffffffff
je 0x140007693
mov dword [rbp - 0x78], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x78]
mov r8d, 0x10000
lea rdx, [rbp + 0x2b0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000766c
cmp dword [rbp - 0x78], ebx
jbe 0x14000766c
mov r8d, dword [rbp - 0x78]
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x40], bl
lea rdx, [rbp + 0x2b0]
lea rcx, [rsp + 0x40]
call fcn.140009528
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140009374
cmp qword [rsp + 0x58], 0x10
jb 0x14000766c
mov rcx, qword [rsp + 0x40]
call fcn.140021758
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x28]
call fcn.14000a9e8
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
jmp 0x140007812
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rcx, [rbp + 0x28]
call fcn.14000a9e8
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
jmp 0x140007844
lea rcx, [rbp + 0x90]
call fcn.1400221f0
lea rcx, [rbp + 0x90]
call fcn.14000a790
nop
lea rdx, [0x1400462bc]
lea rcx, [rbp + 0xa0]
call fcn.14000eb10
mov rcx, rax
mov rdx, rbx
call fcn.14000ede8
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x90]
call fcn.14000aab8
cmp qword [rax + 0x18], 8
jb 0x14000770a
mov rax, qword [rax]
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
lea r8d, [rbx + 3]
mov dword [rsp + 0x20], r8d
xor r9d, r9d
mov edx, 0xc0120089
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp qword [rsp + 0x78], 8
jb 0x140007748
mov rcx, qword [rsp + 0x60]
call fcn.140021758
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rbx
mov word [rsp + 0x60], bx
cmp rdi, 0xffffffffffffffff
je 0x14000781b
mov dword [rbp - 0x78], ebx
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x78]
mov r8d, 0x10000
lea rdx, [rbp + 0x2b0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400077e7
cmp dword [rbp - 0x78], ebx
jbe 0x1400077e7
mov r8d, dword [rbp - 0x78]
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x40], bl
lea rdx, [rbp + 0x2b0]
lea rcx, [rsp + 0x40]
call fcn.140009528
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140009374
cmp qword [rsp + 0x58], 0x10
jb 0x1400077e7
mov rcx, qword [rsp + 0x40]
call fcn.140021758
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x128]
call fcn.14000a9e8
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0x128]
call fcn.140021380
xor eax, eax
jmp 0x14000784b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rcx, [rbp + 0x128]
call fcn.14000a9e8
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0x128]
call fcn.140021380
mov eax, ebx
mov rcx, qword [rbp + 0x102b0]
xor rcx, rsp
call fcn.140021770
mov rbx, qword [rsp + 0x103e0]
add rsp, 0x103c0
pop rdi
pop rsi
pop rbp
ret