Function at 0x427650
Capabilities:
Check os version

Disassembly:
push rbp
push rbx
sub rsp, 0xa8
mov rbp, rsp
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], rbp
mov qword [rbp + 0xc0], rcx
mov dword [rbp + 0xc8], edx
nop
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
je 0x4276d8
lea rcx, [rbp + 0x70]
mov edx, dword [rbp + 0xc8]
call qword [0x00b20230]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x70]
call fcn.00411f60
jmp 0x427938
mov eax, dword [rbp + 0xc8]
test eax, 0xc0000000
je 0x427751
lea rcx, [rbp + 0x68]
mov rdx, qword [0x00b20310]
call fcn.00427a40
mov rcx, qword [rbp + 0x68]
call fcn.00411320
mov rcx, rax
call sub.kernel32.dll_GetModuleHandleA
mov rbx, rax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x00b20a70]
call fcn.00427a40
mov rcx, qword [rbp + 0x60]
call fcn.00411320
mov rcx, rbx
mov rdx, rax
call sub.kernel32.dll_GetProcAddress
mov qword [rbp + 0x80], rax
cmp qword [rbp + 0x80], 0
je 0x427751
mov ecx, dword [rbp + 0xc8]
call qword [rbp + 0x80]
mov dword [rbp + 0xc8], eax
mov dword [rbp + 0x88], 0x1300
cmp dword [rbp + 0xc8], 0x834
jb 0x4277bb
cmp dword [rbp + 0xc8], 0xbb7
ja 0x4277bb
lea rcx, [rbp + 0x58]
mov rdx, qword [0x00b20a68]
call fcn.00427a40
mov rcx, qword [rbp + 0x58]
call fcn.00411320
mov rcx, rax
xor rdx, rdx
mov r8d, 2
call sub.kernel32.dll_LoadLibraryExA
mov qword [rbp + 0x90], rax
cmp qword [rbp + 0x90], 0
je 0x4277c6
or dword [rbp + 0x88], 0x800
jmp 0x4277c6
mov qword [rbp + 0x90], 0
nop
mov ecx, dword [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
mov r8d, dword [rbp + 0xc8]
mov r9d, 0x400
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call sub.kernel32.dll_FormatMessageW
test eax, eax
je 0x4278c2
nop
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x98]
call fcn.00411eb0
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rax]
call fcn.004108a0
mov dword [rbp + 0x8c], eax
cmp dword [rbp + 0x8c], 0
jbe 0x4278b2
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x8c]
cmp word [rax + rcx*2 - 2], 0xd
jne 0x427871
mov rcx, qword [rbp + 0xc0]
call fcn.004109c0
mov ecx, dword [rbp + 0x8c]
mov word [rax + rcx*2 - 2], 0x20
jmp 0x4278a2
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x8c]
cmp word [rax + rcx*2 - 2], 0xa
jne 0x4278a2
mov rcx, qword [rbp + 0xc0]
mov edx, dword [rbp + 0x8c]
mov r8d, 1
call fcn.004124e0
sub dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 0
ja 0x42783e
nop
nop
mov rcx, qword [rbp + 0x98]
call sub.kernel32.dll_LocalFree
jmp 0x427920
lea rcx, [rbp + 0x50]
mov rdx, qword [0x00b20a78]
call fcn.00427a40
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
call fcn.00411f60
lea rcx, [rbp + 0x40]
mov edx, dword [rbp + 0xc8]
mov r8d, 1
mov r9w, 0x30
call fcn.00425d40
mov rcx, qword [rbp + 0xc0]
mov edx, 3
mov r8, qword [rbp + 0x48]
lea r9, [0x00427a34]
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.00412390
nop
cmp qword [rbp + 0x90], 0
je 0x427937
mov rcx, qword [rbp + 0x90]
call sub.kernel32.dll_FreeLibrary
nop
lea rcx, [rbp + 0x40]
mov edx, 2
call fcn.00410160
lea rcx, [rbp + 0x50]
mov edx, 5
call fcn.00410190
mov rax, qword [rbp + 0xc0]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret