Function at 0x1000f5b0
Capabilities:
Check os version

Disassembly:
sub esp, 0xc0
push ebx
push esi
push edi
mov ecx, 9
xor eax, eax
lea edi, [esp + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
rep stosd dword es:[edi], eax
mov ecx, 0x27
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0x9c
push eax
call esi
test eax, eax
jne 0x1000f601
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 0x94
push ecx
call esi
test eax, eax
je 0x1000f9e9
call fcn.1000fa00
mov bl, al
mov eax, dword [esp + 0x40]
dec eax
je 0x1000f9a3
dec eax
jne 0x1000f9e9
push str.Kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x1000f9e9
push str.GetNativeSystemInfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1000f644
lea edx, [esp + 0xc]
push edx
call eax
mov eax, dword [esp + 0x34]
cmp eax, 6
jne 0x1000f75a
mov eax, dword [esp + 0x38]
cmp eax, 2
jne 0x1000f694
cmp byte [esp + 0xca], 1
jne 0x1000f67c
dec bl
pop edi
neg bl
sbb ebx, ebx
pop esi
add ebx, 0xc373
mov eax, ebx
pop ebx
add esp, 0xc0
ret
dec bl
pop edi
neg bl
sbb ebx, ebx
pop esi
add ebx, 0xc375
mov eax, ebx
pop ebx
add esp, 0xc0
ret
mov ecx, 1
cmp eax, ecx
jne 0x1000f6d6
cmp byte [esp + 0xca], cl
jne 0x1000f6be
dec bl
pop edi
neg bl
sbb ebx, ebx
pop esi
add ebx, 0xc371
mov eax, ebx
pop ebx
add esp, 0xc0
ret
dec bl
pop edi
neg bl
sbb ebx, ebx
pop esi
add ebx, 0xc36f
mov eax, ebx
pop ebx
add esp, 0xc0
ret
test eax, eax
jne 0x1000f9e9
mov al, byte [esp + 0xca]
cmp al, cl
mov ax, word [esp + 0xc]
jne 0x1000f724
cmp ax, 6
je 0x1000f715
cmp ax, 7
je 0x1000f715
cmp ax, 9
je 0x1000f715
cmp ax, 0xa
je 0x1000f715
pop edi
pop esi
mov eax, 0xc351
pop ebx
add esp, 0xc0
ret
pop edi
pop esi
mov eax, 0xc36a
pop ebx
add esp, 0xc0
ret
cmp ax, 6
je 0x1000f74b
cmp ax, 7
je 0x1000f74b
cmp ax, 9
je 0x1000f74b
cmp ax, 0xa
je 0x1000f74b
pop edi
pop esi
mov eax, 0xc352
pop ebx
add esp, 0xc0
ret
pop edi
pop esi
mov eax, 0xc36d
pop ebx
add esp, 0xc0
ret
cmp eax, 5
jne 0x1000f92a
mov eax, dword [esp + 0x38]
cmp eax, 2
jne 0x1000f883
mov al, byte [esp + 0xca]
cmp al, 3
je 0x1000f77f
cmp al, 2
jne 0x1000f7b7
mov ax, word [esp + 0xc]
cmp ax, 6
jne 0x1000f802
mov al, byte [esp + 0xc8]
test al, 0x80
je 0x1000f7a4
pop edi
pop esi
mov eax, 0xc353
pop ebx
add esp, 0xc0
ret
test al, 2
je 0x1000f7b7
pop edi
pop esi
mov eax, 0xc354
pop ebx
add esp, 0xc0
ret
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1000f7d2
pop edi
pop esi
mov eax, 0xc35c
pop ebx
add esp, 0xc0
ret
cmp byte [esp + 0xca], 1
jne 0x1000f7f3
cmp word [esp + 0xc], 9
jne 0x1000f7f3
pop edi
pop esi
mov eax, 0xc35d
pop ebx
add esp, 0xc0
ret
pop edi
pop esi
mov eax, 0xc35e
pop ebx
add esp, 0xc0
ret
cmp ax, 9
jne 0x1000f83d
mov al, byte [esp + 0xc8]
test al, 0x80
je 0x1000f822
pop edi
pop esi
mov eax, 0xc355
pop ebx
add esp, 0xc0
ret
not al
and eax, 0xff
pop edi
shr eax, 1
and eax, 1
pop esi
or eax, 0xc356
pop ebx
add esp, 0xc0
ret
mov eax, dword [esp + 0xc8]
test al, 0x80
je 0x1000f857
pop edi
pop esi
mov eax, 0xc358
pop ebx
add esp, 0xc0
ret
test al, 2
je 0x1000f86a
pop edi
pop esi
mov eax, 0xc359
pop ebx
add esp, 0xc0
ret
not eax
and eax, 0x400
pop edi
or eax, 0x30d6800
pop esi
shr eax, 0xa
pop ebx
add esp, 0xc0
ret
mov ecx, 1
cmp eax, ecx
jne 0x1000f8cb
cmp byte [esp + 0xca], cl
jne 0x1000f8ac
cmp word [esp + 0xc], 9
jne 0x1000f8ac
pop edi
pop esi
mov eax, 0xc35d
pop ebx
add esp, 0xc0
ret
mov eax, dword [esp + 0xc8]
pop edi
and eax, 0x200
pop esi
neg eax
sbb eax, eax
pop ebx
add eax, 0xc360
add esp, 0xc0
ret
test eax, eax
jne 0x1000f9e9
mov al, byte [esp + 0xca]
cmp al, cl
jne 0x1000f8ed
pop edi
pop esi
mov eax, 0xc363
pop ebx
add esp, 0xc0
ret
cmp al, 3
je 0x1000f8f9
cmp al, 2
jne 0x1000f9e9
mov eax, dword [esp + 0xc8]
test al, 0x80
je 0x1000f913
pop edi
pop esi
mov eax, 0xc361
pop ebx
add esp, 0xc0
ret
and al, 2
pop edi
neg al
sbb eax, eax
pop esi
and al, 0xf6
pop ebx
add eax, 0xc36c
add esp, 0xc0
ret
cmp eax, 4
jne 0x1000f988
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x1000f9e9
mov al, byte [esp + 0xca]
cmp al, 1
jne 0x1000f955
pop edi
pop esi
mov eax, 0xc364
pop ebx
add esp, 0xc0
ret
cmp al, 3
je 0x1000f96c
cmp al, 2
je 0x1000f96c
pop edi
pop esi
mov eax, 0xc364
pop ebx
add esp, 0xc0
ret
mov al, byte [esp + 0xc8]
pop edi
and al, 2
pop esi
neg al
sbb eax, eax
pop ebx
add eax, 0xc366
add esp, 0xc0
ret
cmp eax, 3
jne 0x1000f9e9
cmp dword [esp + 0x38], 0x33
jne 0x1000f9e9
pop edi
pop esi
mov eax, 0xc36b
pop ebx
add esp, 0xc0
ret
cmp dword [esp + 0x34], 4
jne 0x1000f9e9
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x1000f9c1
pop edi
pop esi
mov eax, 0xc367
pop ebx
add esp, 0xc0
ret
cmp eax, 0xa
jne 0x1000f9d5
pop edi
pop esi
mov eax, 0xc368
pop ebx
add esp, 0xc0
ret
cmp eax, 0x5a
jne 0x1000f9e9
pop edi
pop esi
mov eax, 0xc369
pop ebx
add esp, 0xc0
ret
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0xc0
ret