Function at 0x1008ae50
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push edi
xor edi, edi
push str.ntdll.dll
mov dword [ebp - 0xc], edi
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x1008af9b
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1008af8c
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 4]
push edx
lea ecx, [ebp - 0xc]
push ecx
call eax
mov eax, dword [ebp - 0xc]
and dword [ebp - 8], 0xffff
cmp eax, 4
jne 0x1008aebb
push esi
lea edi, [eax + 2]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 5
jne 0x1008af0b
mov eax, dword [ebp - 4]
test eax, eax
jne 0x1008aed9
push esi
lea edi, [eax + 7]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x1008aef0
push esi
lea edi, [eax + 7]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x1008af8a
push esi
lea edi, [eax + 7]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 6
jne 0x1008af6e
mov eax, dword [ebp - 4]
test eax, eax
jne 0x1008af29
push esi
lea edi, [eax + 0xa]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x1008af40
push esi
lea edi, [eax + 0xa]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x1008af57
push esi
lea edi, [eax + 0xa]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 3
jne 0x1008af8a
push esi
lea edi, [eax + 0xa]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 0xa
jne 0x1008af8a
cmp dword [ebp - 4], edi
jne 0x1008af8a
push esi
lea edi, [eax + 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, eax
shr ecx, 8
movzx edx, al
movzx ecx, cl
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], ecx
cmp eax, 0x80000000
jae 0x1008b04d
cmp edx, 4
jne 0x1008afcf
mov edi, 6
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 5
jne 0x1008b009
test ecx, ecx
jne 0x1008afe5
mov edi, 7
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 1
jne 0x1008aff7
mov edi, 8
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 2
jne 0x1008b043
mov edi, 9
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 6
jne 0x1008b043
test ecx, ecx
jne 0x1008b01f
mov edi, 0xa
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 1
jne 0x1008b031
mov edi, 0xb
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 2
jne 0x1008b043
mov edi, 0xc
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor edi, edi
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 4
jae 0x1008b05f
mov edi, 1
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x114
mov edi, 3
call fcn.100ae110
mov esi, eax
add esp, 4
test esi, esi
je 0x1008b0cc
push 0x114
push 0
push esi
call fcn.100ab9a0
add esp, 0xc
push esi
mov dword [esi], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [esi + 4]
cmp eax, 4
jne 0x1008b0c3
cmp dword [esi + 8], 0xa
jne 0x1008b0b5
push esi
mov edi, eax
call fcn.100a4960
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 4
jne 0x1008b0c3
cmp dword [esi + 8], 0x5a
jne 0x1008b0c3
lea edi, [eax + 1]
push esi
call fcn.100a4960
add esp, 4
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret