Function at 0x42b420
Capabilities:
Check os version

Disassembly:
push rbp
push rbx
sub rsp, 0x228
mov rbp, rsp
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], 0
nop
cmp byte [0x00ae4081], 0
je 0x42b450
cmp qword [0x00b75e20], 0
jne 0x42b997
mov byte [0x00ae4081], 1
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x42b4c7
lea rcx, [rbp + 0x70]
mov edx, 0x11c
call fcn.00421c00
mov dword [rbp + 0x70], 0x11c
lea rcx, [0x0042b9f4]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0042ba08]
call fcn.0041fa40
test rax, rax
je 0x42b4a8
lea rcx, [rbp + 0x70]
call rax
test eax, eax
je 0x42b52c
lea rcx, [rbp + 0x70]
call sub.kernel32.dll_GetVersionExW
test eax, eax
jne 0x42b52c
mov dword [rbp + 0x70], 0x114
lea rcx, [rbp + 0x70]
call sub.kernel32.dll_GetVersionExW
jmp 0x42b52c
lea rcx, [rbp + 0x18c]
mov edx, 0x94
call fcn.00421c00
mov dword [rbp + 0x18c], 0x94
lea rcx, [rbp + 0x18c]
call sub.kernel32.dll_GetVersionExA
lea rcx, [rbp + 0x18c]
lea rdx, [rbp + 0x70]
mov r8d, 0x94
call fcn.00408e20
xor rax, rax
movsxd rcx, eax
movsxd rdx, eax
movzx dx, byte [rdx + rbp + 0x1a0]
mov word [rbp + rcx*2 + 0x84], dx
add eax, 1
cmp eax, 0x80
jne 0x42b509
nop
mov eax, dword [rbp + 0x74]
mov dword [0x00b75df8], eax
mov eax, dword [rbp + 0x78]
mov dword [0x00b75dfc], eax
lea rcx, [0x00b75e08]
lea rdx, [rbp + 0x84]
mov r8d, 0x80
call fcn.00412190
cmp dword [rbp + 0x80], 1
sete al
mov byte [0x00b75e10], al
cmp dword [rbp + 0x80], 2
sete al
mov byte [0x00b75e12], al
cmp byte [0x00b75e10], 0
je 0x42b58d
movzx eax, word [rbp + 0x7c]
mov dword [0x00b75e00], eax
jmp 0x42b596
mov eax, dword [rbp + 0x7c]
mov dword [0x00b75e00], eax
mov byte [0x00b75e14], 0
mov dword [0x00b75e18], 0
cmp byte [0x00b75e10], 0
je 0x42b66a
mov eax, dword [0x00b75df8]
cmp eax, 4
jb 0x42b650
sub eax, 4
test eax, eax
jne 0x42b649
mov eax, dword [0x00b75dfc]
cmp eax, 0xa
jb 0x42b5e6
sub eax, 0xa
test eax, eax
je 0x42b604
sub eax, 1
cmp eax, 0x50
jae 0x42b640
jmp 0x42b637
cmp dword [0x00b75e00], 0x3e8
jbe 0x42b5fb
mov byte [0x00b75e14], 2
jmp 0x42b650
mov byte [0x00b75e14], 1
jmp 0x42b650
cmp dword [0x00b75e00], 0xa8c
jbe 0x42b619
mov byte [0x00b75e14], 5
jmp 0x42b650
cmp dword [0x00b75e00], 0x7d0
jbe 0x42b62e
mov byte [0x00b75e14], 4
jmp 0x42b650
mov byte [0x00b75e14], 3
jmp 0x42b650
mov byte [0x00b75e14], 5
jmp 0x42b650
mov byte [0x00b75e14], 6
jmp 0x42b650
mov byte [0x00b75e14], 6
movzx rax, byte [0x00b75e14]
mov byte [0x00b75e11], al
mov byte [0x00b75e13], 0
jmp 0x42b878
cmp byte [0x00b75e12], 0
je 0x42b878
mov eax, dword [0x00b75df8]
cmp eax, 5
jg 0x42b699
cmp eax, 5
je 0x42b6c8
cmp eax, 4
jb 0x42b6b0
sub eax, 4
test eax, eax
jne 0x42b7b5
jmp 0x42b6bc
sub eax, 6
test eax, eax
je 0x42b715
sub eax, 4
test eax, eax
jne 0x42b7b5
jmp 0x42b7ac
mov byte [0x00b75e14], 7
jmp 0x42b7bc
mov byte [0x00b75e14], 8
jmp 0x42b7bc
mov eax, dword [0x00b75dfc]
sub eax, 1
cmp eax, 0xffffffff
je 0x42b6dc
test eax, eax
jne 0x42b6f4
jmp 0x42b6e8
mov byte [0x00b75e14], 9
jmp 0x42b7bc
mov byte [0x00b75e14], 0xa
jmp 0x42b7bc
cmp byte [rbp + 0x18a], 1
jne 0x42b709
mov byte [0x00b75e14], 0xa
jmp 0x42b7bc
mov byte [0x00b75e14], 0xb
jmp 0x42b7bc
mov eax, dword [0x00b75dfc]
sub eax, 1
cmp eax, 0xffffffff
je 0x42b737
test eax, eax
je 0x42b752
sub eax, 1
test eax, eax
je 0x42b76d
sub eax, 1
test eax, eax
jne 0x42b7a3
jmp 0x42b788
cmp byte [rbp + 0x18a], 1
jne 0x42b749
mov byte [0x00b75e14], 0xc
jmp 0x42b7bc
mov byte [0x00b75e14], 0xd
jmp 0x42b7bc
cmp byte [rbp + 0x18a], 1
jne 0x42b764
mov byte [0x00b75e14], 0xe
jmp 0x42b7bc
mov byte [0x00b75e14], 0xf
jmp 0x42b7bc
cmp byte [rbp + 0x18a], 1
jne 0x42b77f
mov byte [0x00b75e14], 0x10
jmp 0x42b7bc
mov byte [0x00b75e14], 0x11
jmp 0x42b7bc
cmp byte [rbp + 0x18a], 1
jne 0x42b79a
mov byte [0x00b75e14], 0x12
jmp 0x42b7bc
mov byte [0x00b75e14], 0x13
jmp 0x42b7bc
mov byte [0x00b75e14], 0x15
jmp 0x42b7bc
mov byte [0x00b75e14], 0x14
jmp 0x42b7bc
mov byte [0x00b75e14], 0x15
mov byte [0x00b75e11], 0
movzx rax, byte [0x00b75e14]
mov byte [0x00b75e13], al
cmp dword [rbp + 0x70], 0x11c
jb 0x42b7e9
movzx eax, word [rbp + 0x184]
mov dword [0x00b75e18], eax
jmp 0x42b832
mov rcx, qword [0x00b75e08]
call fcn.00410b80
cmp eax, 0xe
jl 0x42b832
lea rcx, [0x00b75e08]
call fcn.00410ca0
mov rbx, rax
mov rcx, qword [0x00b75e08]
call fcn.00410b80
xor rcx, rcx
lea rdx, [rbx + 0x1a]
mov r8d, eax
sub r8d, 0xd
mov rax, qword [0x00b6f910]
call qword [rax]
mov dword [0x00b75e18], eax
lea rcx, [0x0042ba24]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0042ba3e]
call fcn.0041fa40
mov rbx, rax
test rbx, rbx
je 0x42b878
lea rcx, [rbp + 0x40]
mov edx, 0x30
call fcn.00421c00
lea rcx, [rbp + 0x40]
call rbx
cmp word [rbp + 0x40], 9
sete al
mov byte [0x00b75e15], al
lea rcx, [rbp + 0x38]
lea rax, [0x00ae3f80]
movzx rdx, byte [0x00b75e14]
mov rdx, qword [rax + rdx*8]
xor r8, r8
call fcn.00410f70
lea rcx, [0x00b75e20]
mov rdx, qword [rbp + 0x38]
call fcn.004121e0
cmp byte [0x00b75e12], 0
je 0x42b997
mov ecx, 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x42b8d6
lea rcx, [0x00b75e20]
lea rdx, [0x0042ba74]
call fcn.00412400
mov ecx, 0x56
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x42b8f8
lea rcx, [0x00b75e20]
lea rdx, [0x0042ba88]
call fcn.00412400
mov ecx, 0x58
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x42b91a
lea rcx, [0x00b75e20]
lea rdx, [0x0042baac]
call fcn.00412400
cmp byte [0x00b75e14], 0xc
jae 0x42b945
mov ecx, 0x57
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x42b945
lea rcx, [0x00b75e20]
lea rdx, [0x0042bacc]
call fcn.00412400
cmp byte [0x00b75e15], 0
je 0x42b961
lea rcx, [0x00b75e20]
lea rdx, [0x0042baf4]
call fcn.00412400
cmp qword [0x00b75e08], 0
je 0x42b997
lea rcx, [0x00b75e20]
mov edx, 3
mov r8, qword [0x00b75e20]
lea r9, [0x0042bb0c]
mov rax, qword [0x00b75e08]
mov qword [rsp + 0x20], rax
call fcn.00412610
mov rcx, qword [rbp + 0x30]
lea rdx, [0x00b75df8]
mov r8, qword [0x0042b000]
call fcn.00413420
nop
lea rcx, [rbp + 0x38]
call fcn.004103b0
mov rax, qword [rbp + 0x30]
lea rsp, [rbp + 0x228]
pop rbx
pop rbp
ret