Function at 0x427750
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 0x4277d8
lea rcx, [rbp + 0x70]
mov edx, dword [rbp + 0xc8]
call qword [0x00ae32d0]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x70]
call fcn.004121e0
jmp 0x427a38
mov eax, dword [rbp + 0xc8]
test eax, 0xc0000000
je 0x427851
lea rcx, [rbp + 0x68]
mov rdx, qword [0x00ae33b0]
call fcn.00427b40
mov rcx, qword [rbp + 0x68]
call fcn.004115a0
mov rcx, rax
call sub.kernel32.dll_GetModuleHandleA
mov rbx, rax
lea rcx, [rbp + 0x60]
mov rdx, qword [0x00ae3b10]
call fcn.00427b40
mov rcx, qword [rbp + 0x60]
call fcn.004115a0
mov rcx, rbx
mov rdx, rax
call sub.kernel32.dll_GetProcAddress
mov qword [rbp + 0x80], rax
cmp qword [rbp + 0x80], 0
je 0x427851
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 0x4278bb
cmp dword [rbp + 0xc8], 0xbb7
ja 0x4278bb
lea rcx, [rbp + 0x58]
mov rdx, qword [0x00ae3b08]
call fcn.00427b40
mov rcx, qword [rbp + 0x58]
call fcn.004115a0
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 0x4278c6
or dword [rbp + 0x88], 0x800
jmp 0x4278c6
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 0x4279c2
nop
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x98]
call fcn.00412130
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rax]
call fcn.00410b80
mov dword [rbp + 0x8c], eax
cmp dword [rbp + 0x8c], 0
jbe 0x4279b2
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x8c]
cmp word [rax + rcx*2 - 2], 0xd
jne 0x427971
mov rcx, qword [rbp + 0xc0]
call fcn.00410ca0
mov ecx, dword [rbp + 0x8c]
mov word [rax + rcx*2 - 2], 0x20
jmp 0x4279a2
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov ecx, dword [rbp + 0x8c]
cmp word [rax + rcx*2 - 2], 0xa
jne 0x4279a2
mov rcx, qword [rbp + 0xc0]
mov edx, dword [rbp + 0x8c]
mov r8d, 1
call fcn.00412760
sub dword [rbp + 0x8c], 1
cmp dword [rbp + 0x8c], 0
ja 0x42793e
nop
nop
mov rcx, qword [rbp + 0x98]
call sub.kernel32.dll_LocalFree
jmp 0x427a20
lea rcx, [rbp + 0x50]
mov rdx, qword [0x00ae3b18]
call fcn.00427b40
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
call fcn.004121e0
lea rcx, [rbp + 0x40]
mov edx, dword [rbp + 0xc8]
mov r8d, 1
mov r9w, 0x30
call fcn.00425e40
mov rcx, qword [rbp + 0xc0]
mov edx, 3
mov r8, qword [rbp + 0x48]
lea r9, [0x00427b34]
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.00412610
nop
cmp qword [rbp + 0x90], 0
je 0x427a37
mov rcx, qword [rbp + 0x90]
call sub.kernel32.dll_FreeLibrary
nop
lea rcx, [rbp + 0x40]
mov edx, 2
call fcn.00410440
lea rcx, [rbp + 0x50]
mov edx, 5
call fcn.00410470
mov rax, qword [rbp + 0xc0]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret