Function at 0x424591
Capabilities:
Check os version

Disassembly:
push 0x350
mov eax, 0x5a1cf6
call fcn.004348d9
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x330]
xor edi, edi
mov dword [ebp - 0x338], esi
push 0x118
push edi
mov dword [ebp - 0x354], edi
push eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x35c], esi
mov dword [ebp - 0x334], 0x11c
call fcn.00445350
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
call fcn.0043a59f
test al, al
je 0x42460e
push ebx
inc ecx
ret 0x54b7
push 0x61f778
mov ecx, esi
call fcn.00401870
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x350], eax
movzx eax, byte [ebp - 0x21a]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 4], edi
mov dword [ebp - 0x354], 1
mov dword [ebp - 0x344], edi
mov dword [ebp - 0x348], edi
mov ebp, 0xfffffcb8
mov dword [ebp - 0x340], edi
mov dword [ebp - 0x34c], eax
call fcn.0043a851
test al, al
je 0x42468a
cld
invalid
fdiv dword [esi]
lahf
aas
out 0xc9, al
cdq
pop ds
test byte [ebx + 0x48], al
neg dword [ebx + 0x42b32c80]
cmp eax, 0x84b5f687
cmp eax, ebp
push ebp
pop edi
add dword [eax], eax
call fcn.0043a5e4
test al, al
je 0x4246ab
or dh, byte [ebx + 0x2cc7108a]
invalid
call fcn.0043a66e
test al, al
je 0x4246cc
jns 0x424661
jbe 0x424659
mov esp, 0xcb1dc3a1
add word [eax + 0x2d6c96e], 0x61
mov al, byte [0x918939d0]
fild dword [0x5a628c68]
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryW
push 0x5a628c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x424718
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x424711
lea ecx, [ebp - 0x340]
push ecx
lea ecx, [ebp - 0x348]
push ecx
lea ecx, [ebp - 0x344]
push ecx
call eax
movzx eax, word [ebp - 0x340]
mov dword [ebp - 0x340], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.0043a446
test al, al
je 0x424731
test al, 0xc8
out 0x76, al
cdq
xor byte [ebx + 0x5e1f04f8], dh
cmpsd dword [esi], dword es:[edi]
push ecx
aam 0xaa
in al, 0x8b
test dword [eax - 0x7c000004], esi
clc
add eax, 0x858b2775
mov ah, 0xfc
invalid
mov eax, dword [ebp - 0x350]
cmp eax, 5
jne 0x424763
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x42483c
cmp eax, 1
jne 0x424759
mov esi, str.WindowsXP
jmp 0x424828
mov esi, str.WindowsServer2003
jmp 0x424828
cmp eax, 6
jne 0x42483c
mov eax, dword [ebp - 0x34c]
sub eax, 0
je 0x424815
sub eax, 1
je 0x42480e
mov ebx, dword [ebp - 0x33c]
sub eax, 1
jne 0x424842
cmp ebx, 0x1ebb
je 0x4247ae
lea eax, [ebx - 0x1ee6]
cmp eax, 0x25
jbe 0x4247ae
cmp ebx, 0x1f13
jne 0x4247b5
mov esi, str.Windows8
jmp 0x4247f8
cmp dword [ebp - 0x344], 0xa
jne 0x4247e1
cmp dword [ebp - 0x348], 0
jne 0x424842
cmp dword [ebp - 0x340], 0x4e20
jae 0x4247da
mov esi, str.Windows10
jmp 0x4247f8
mov esi, str.Windows11
jmp 0x4247f8
cmp dword [ebp - 0x344], 6
jne 0x424842
cmp dword [ebp - 0x348], 3
jne 0x424842
mov esi, str.Windows8.1
push esi
call fcn.004532f1
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00401a60
jmp 0x424842
mov esi, str.Windows7
jmp 0x424828
cmp dword [ebp - 0x358], 1
mov esi, str.WindowsVista
je 0x424828
mov esi, str.WindowsServer2008
push esi
call fcn.004532f1
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00401a60
mov ebx, dword [ebp - 0x33c]
call fcn.0043a446
test al, al
je 0x42485b
pop ds
or eax, 0x127969e9
into
ja 0x42484d
jmp 0xce54c1bb
sar dword [esp + edi*8 + 0x6a22a280], 1
mov edi, dword [ebp - 0x338]
mov ecx, edi
push 0x61f778
call fcn.0041fa57
test eax, eax
jne 0x4248cf
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00445350
mov eax, dword [ebp - 0x350]
push ebx
push dword [ebp - 0x34c]
push eax
lea eax, [ebp - 0x218]
push str.Windows_d._d._d
push eax
call fcn.00407470
add esp, 0x20
cmp word [ebp - 0x218], 0
jne 0x4248b3
xor eax, eax
jmp 0x4248c0
lea eax, [ebp - 0x218]
push eax
call fcn.004532f1
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.00401a60
call fcn.0043a8db
test al, al
je 0x4248f5
xor byte [ebp - 0x66], cl
jp 0x424926
mov eax, 0x41d24df7
mov ecx, 0xd11e9819
mov fs, ebp
loopne 0x4248c0
aaa
nop
in al, dx
cmp eax, dword [edi + 0x4badc1e8]
inc edx
call fcn.0043a9ef
test al, al
je 0x424922
bound edi, qword [edx + 0x65]
push cs
pop ecx
xchg edi, eax
jecxz 0x424941
push ebp
stosb byte es:[edi], al
das
push ebx
mov bl, 0x81
pushal
loop 0x42498d
scasd eax, dword es:[edi]
out 0x17, al
wait
test eax, 0x49b5514f
mov ebp, 0xbd8b1d5a
enter 0xfffffffffffffffc, 0xffffffffffffffff
cmp dword [ebp + 0xc], 0
je 0x424952
cmp word [ebp - 0x320], 0
jne 0x424936
xor eax, eax
jmp 0x424943
lea eax, [ebp - 0x320]
push eax
call fcn.004532f1
pop ecx
add byte [ecx + 0x50], bl
push eax
lea eax, [ebp - 0x320]
mov ecx, edi
push eax
call fcn.004054d0
mov eax, edi
call fcn.00434894
ret
invalid