Function at 0x1001aed0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10159c0b
mov eax, dword fs:[0]
push eax
sub esp, 0x488
mov eax, dword [0x101b0cd0]
xor eax, esp
mov dword [esp + 0x480], eax
push ebx
push esi
push edi
mov eax, dword [0x101b0cd0]
xor eax, esp
push eax
lea eax, [esp + 0x498]
mov dword fs:[0], eax
cmp dword [0x101be778], 0
je 0x1001b51c
push 0x98
lea eax, [esp + 0x3f4]
push 0
push eax
call fcn.10057070
add esp, 0xc
mov ebx, 1
push ebx
push 8
push 0
mov esi, 0x9c
push 0
mov dword [esp + 0x3fc], esi
mov dword [esp + 0x40c], 2
call dword [0x101be77c]
push edx
push eax
push 8
lea ecx, [esp + 0x3f8]
push ecx
call dword [0x101be778]
cmp eax, ebx
sete al
test al, al
je 0x1001b521
cmp dword [0x101be778], 0
je 0x1001b1f9
push 0x98
lea edx, [esp + 0x354]
push 0
push edx
call fcn.10057070
add esp, 0xc
push ebx
push 2
push 0
mov edi, 5
push 0
mov dword [esp + 0x35c], esi
mov dword [esp + 0x360], edi
call dword [0x101be77c]
push ebx
push ebx
push edx
push eax
mov dword [esp + 0x364], 0
call dword [0x101be77c]
push edx
push eax
push 3
lea eax, [esp + 0x358]
push eax
call dword [0x101be778]
cmp eax, ebx
sete al
cmp al, bl
jne 0x1001affa
mov eax, 0x7d4
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b1f9
push 0x98
lea ecx, [esp + 0x214]
push 0
push ecx
call fcn.10057070
add esp, 0xc
push ebx
push 2
push 0
push 0
mov dword [esp + 0x21c], esi
mov dword [esp + 0x220], edi
call dword [0x101be77c]
push ebx
push ebx
push edx
push eax
mov dword [esp + 0x224], ebx
call dword [0x101be77c]
push ebx
push 8
push edx
push eax
mov dword [esp + 0x22c], 2
call dword [0x101be77c]
push edx
push eax
push 0xb
lea edx, [esp + 0x218]
push edx
call dword [0x101be778]
cmp eax, ebx
sete al
cmp al, bl
jne 0x1001b085
mov eax, 0x7d6
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b1f9
push 0x98
lea eax, [esp + 0x174]
push 0
push eax
call fcn.10057070
add esp, 0xc
push ebx
push 2
push 0
push 0
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], edi
call dword [0x101be77c]
push ebx
push ebx
push edx
push eax
mov dword [esp + 0x184], ebx
call dword [0x101be77c]
push ebx
push 8
push edx
push eax
mov dword [esp + 0x18c], 3
call dword [0x101be77c]
push edx
push eax
push 0xb
lea ecx, [esp + 0x178]
push ecx
call dword [0x101be778]
cmp eax, ebx
sete al
cmp al, bl
jne 0x1001b110
mov eax, 0x7d7
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b1f9
push 0x98
lea edx, [esp + 0x2b4]
push 0
push edx
call fcn.10057070
add esp, 0xc
push ebx
push 2
push 0
push 0
mov dword [esp + 0x2bc], esi
mov dword [esp + 0x2c0], edi
call dword [0x101be77c]
push ebx
push ebx
push edx
push eax
mov dword [esp + 0x2c4], ebx
call dword [0x101be77c]
push edx
push eax
push 3
lea eax, [esp + 0x2b8]
push eax
call dword [0x101be778]
cmp eax, ebx
sete al
cmp al, bl
jne 0x1001b185
mov eax, 0x7d5
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b1f9
push 0x98
lea ecx, [esp + 0x34]
push 0
push ecx
call fcn.10057070
add esp, 0xc
push ebx
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push ebx
push ebx
push edx
push eax
mov dword [esp + 0x44], 2
call dword [0x101be77c]
push edx
push eax
push 3
lea edx, [esp + 0x38]
push edx
call dword [0x101be778]
cmp eax, ebx
sete al
cmp al, bl
jne 0x1001b1f9
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
neg eax
sbb eax, eax
neg eax
add eax, 0x7d8
jmp 0x1001b6ef
push ebx
or ebx, 0xffffffff
push 0
lea edi, [ebx + 7]
call fcn.1001a9b0
add esp, 8
cmp al, 1
jne 0x1001b218
mov eax, 0x7da
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b282
push 0x98
lea eax, [esp + 0x34]
push 0
push eax
call fcn.10057070
add esp, 0xc
push 1
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push 1
push 1
push edx
push eax
mov dword [esp + 0x44], 0
call dword [0x101be77c]
push edx
push eax
push 3
lea ecx, [esp + 0x38]
push ecx
call dword [0x101be778]
cmp eax, 1
sete al
cmp al, 1
jne 0x1001b282
mov eax, 0x7db
jmp 0x1001b6ef
push 1
push 1
or ebx, 0xffffffff
call fcn.1001a9b0
add esp, 8
cmp al, 1
jne 0x1001b29f
mov eax, 0x7dd
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b309
push 0x98
lea edx, [esp + 0x34]
push 0
push edx
call fcn.10057070
add esp, 0xc
push 1
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push 1
push 1
push edx
push eax
mov dword [esp + 0x44], 1
call dword [0x101be77c]
push edx
push eax
push 3
lea eax, [esp + 0x38]
push eax
call dword [0x101be778]
cmp eax, 1
sete al
cmp al, 1
jne 0x1001b309
mov eax, 0x7dc
jmp 0x1001b6ef
push 1
push 2
or ebx, 0xffffffff
call fcn.1001a9b0
add esp, 8
cmp al, 1
jne 0x1001b326
mov eax, 0x7df
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b390
push 0x98
lea ecx, [esp + 0x34]
push 0
push ecx
call fcn.10057070
add esp, 0xc
push 1
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push 1
push 1
push edx
push eax
mov dword [esp + 0x44], 2
call dword [0x101be77c]
push edx
push eax
push 3
lea edx, [esp + 0x38]
push edx
call dword [0x101be778]
cmp eax, 1
sete al
cmp al, 1
jne 0x1001b390
mov eax, 0x7de
jmp 0x1001b6ef
push 1
push 3
or ebx, 0xffffffff
call fcn.1001a9b0
add esp, 8
cmp al, 1
jne 0x1001b3ad
mov eax, 0x7e1
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b417
push 0x98
lea eax, [esp + 0x34]
push 0
push eax
call fcn.10057070
add esp, 0xc
push 1
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push 1
push 1
push edx
push eax
mov dword [esp + 0x44], 3
call dword [0x101be77c]
push edx
push eax
push 3
lea ecx, [esp + 0x38]
push ecx
call dword [0x101be778]
cmp eax, 1
sete al
cmp al, 1
jne 0x1001b417
mov eax, 0x7e0
jmp 0x1001b6ef
push 1
push 4
or ebx, 0xffffffff
call fcn.1001a9b0
add esp, 8
cmp al, 1
jne 0x1001b434
mov eax, 0x7e3
jmp 0x1001b6ef
cmp dword [0x101be778], 0
je 0x1001b49e
push 0x98
lea edx, [esp + 0x34]
push 0
push edx
call fcn.10057070
add esp, 0xc
push 1
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push 1
push 1
push edx
push eax
mov dword [esp + 0x44], 4
call dword [0x101be77c]
push edx
push eax
push 3
lea eax, [esp + 0x38]
push eax
call dword [0x101be778]
cmp eax, 1
sete al
cmp al, 1
jne 0x1001b49e
mov eax, 0x7e2
jmp 0x1001b6ef
or ebx, 0xffffffff
push 1
push 0
lea edi, [ebx + 0xb]
call fcn.1001a9b0
add esp, 8
cmp al, 1
je 0x1001b42a
cmp dword [0x101be778], 0
je 0x1001b51c
push 0x98
lea ecx, [esp + 0x34]
push 0
push ecx
call fcn.10057070
add esp, 0xc
push 1
push 2
push 0
push 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
call dword [0x101be77c]
push 1
push 1
push edx
push eax
mov dword [esp + 0x44], 0
call dword [0x101be77c]
push edx
push eax
push 3
lea edx, [esp + 0x38]
push edx
call dword [0x101be778]
cmp eax, 1
sete al
cmp al, 1
je 0x1001b494
mov ebx, 1
push str.CWinHelper::CheckOS
lea eax, [esp + 0x14]
call fcn.10018050
push str.OS_is_not_NT
lea eax, [esp + 0x14]
push 0x4ef
push eax
mov dword [esp + 0x4ac], 0
call fcn.1001ca60
add esp, 0xc
lea ecx, [esp + 0x10]
call fcn.10018140
push 0x94
lea ecx, [esp + 0xd0]
push 0
push ecx
mov esi, 0x7dd
call fcn.10057070
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
add esp, 0xc
lea edx, [esp + 0xcc]
push edx
mov dword [esp + 0xd0], 0x94
call edi
test eax, eax
jne 0x1001b5aa
lea eax, [esp + 0xcc]
push eax
mov dword [esp + 0xd0], 0x94
call edi
mov eax, dword [esp + 0xdc]
sub eax, ebx
je 0x1001b6bb
sub eax, ebx
jne 0x1001b6ed
mov eax, dword [esp + 0xd0]
cmp eax, 6
jne 0x1001b651
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x1001b5f5
xor ecx, ecx
cmp byte [esp + 0x166], bl
setne cl
add ecx, 0x7da
mov esi, ecx
jmp 0x1001b6ed
cmp eax, ebx
jne 0x1001b612
xor edx, edx
cmp byte [esp + 0x166], bl
sete dl
add edx, 0x7dc
mov esi, edx
jmp 0x1001b6ed
cmp eax, 2
jne 0x1001b62f
xor eax, eax
cmp byte [esp + 0x166], bl
sete al
add eax, 0x7de
mov esi, eax
jmp 0x1001b6ed
cmp eax, 3
jne 0x1001b6ed
xor ecx, ecx
cmp byte [esp + 0x166], bl
sete cl
add ecx, 0x7e0
mov esi, ecx
jmp 0x1001b6ed
cmp eax, 5
jne 0x1001b6af
mov eax, dword [esp + 0xd4]
cmp eax, 2
jne 0x1001b67a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
neg esi
sbb esi, esi
neg esi
add esi, 0x7d8
jmp 0x1001b6ed
cmp eax, ebx
jne 0x1001b6a4
mov eax, dword [esp + 0xd8]
cmp eax, 2
jne 0x1001b691
mov esi, 0x7d6
jmp 0x1001b6ed
xor edx, edx
cmp eax, 3
sete dl
lea edx, [edx + edx + 0x7d5]
mov esi, edx
jmp 0x1001b6ed
test eax, eax
jne 0x1001b6ed
mov esi, 0x7d4
jmp 0x1001b6ed
cmp eax, 4
ja 0x1001b6ed
mov esi, 0x7d3
jmp 0x1001b6ed
cmp dword [esp + 0xd0], 4
jne 0x1001b6ed
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x1001b6d7
mov esi, 0x7d0
jmp 0x1001b6ed
cmp eax, 0xa
jne 0x1001b6e3
mov esi, 0x7d1
jmp 0x1001b6ed
cmp eax, 0x5a
jne 0x1001b6ed
mov esi, 0x7d2
mov eax, esi
mov ecx, dword [esp + 0x498]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x480]
xor ecx, esp
call fcn.1005392f
mov esp, ebp
pop ebp
ret