Function at 0x51f5a8
Capabilities:
Check os version

Disassembly:
push 0x350
mov eax, 0x5f6465
call fcn.0044ea40
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.00543220
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
call fcn.0042054f
test al, al
je 0x51f625
push esi
pop ebx
pop ecx
push ebp
pop ecx
push ecx
push esi
pop eax
pop ebp
pop eax
push edi
push edx
push esi
push edi
push edi
pop edx
pop ebx
push eax
push edi
push ebp
push edx
pop ebp
pop ebp
push ebx
pop eax
push edx
push ebp
push ebp
push edx
push esp
push edi
push 0x5faef8
mov ecx, esi
call fcn.00404479
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 dword [ebp - 0x340], edi
mov dword [ebp - 0x34c], eax
call fcn.00420801
test al, al
je 0x51f6a1
push edi
pop ebx
push edi
push edx
push ecx
pop ebx
pop edx
push ebx
pop eax
push eax
pop ebp
pop edi
pop ebp
pop esp
pop ecx
push ecx
push edx
push esp
push ecx
push edi
pop ebp
pop ecx
pop ebx
call fcn.00420594
test al, al
je 0x51f6c2
pop eax
pop ebx
pop edi
pop edi
pop ebp
pop edi
pop ecx
pop esp
push esp
pop edi
push eax
push ebp
pop esp
pop edi
pop edx
push ebx
pop esi
push edx
push esp
push ecx
pop ebp
pop ebp
pop edi
push edi
call fcn.0042061e
test al, al
je 0x51f6e3
push esi
push esi
push edx
pop esi
pop ecx
push ecx
pop edi
pop eax
pop ebp
pop eax
push esp
push ecx
pop edx
pop eax
pop ebx
push esi
pop esp
pop ecx
push ecx
pop ebp
pop edi
pop esi
push esi
push ebp
push 0x65e4f4
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x51f72f
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x51f728
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.004203f6
test al, al
je 0x51f748
pop ebp
push ecx
push ebx
push ebp
pop edx
pop edi
push edx
push esp
push esi
pop ebp
push edx
push edx
pop ecx
pop esp
pop esp
pop esi
mov eax, dword [ebp - 0x350]
cmp eax, 5
jne 0x51f80f
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x51f783
cmp eax, 1
jne 0x51f805
mov esi, str.WindowsXP
push esi
call fcn.00546031
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00403bdf
mov ebx, dword [ebp - 0x33c]
call fcn.004203f6
test al, al
je 0x51f7a2
pop ebp
push ecx
push ebx
push ebp
pop edx
pop edi
push edx
push esp
push esi
pop ebp
push edx
push edx
pop ecx
pop esp
pop esp
pop esi
mov edi, dword [ebp - 0x338]
mov ecx, edi
push 0x5faef8
call fcn.00404af1
test eax, eax
jne 0x51f92b
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00543220
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.00517f4c
add esp, 0x20
cmp word [ebp - 0x218], 0
jne 0x51f90f
xor eax, eax
jmp 0x51f91c
mov esi, str.WindowsServer2003
jmp 0x51f76f
cmp eax, 6
jne 0x51f8ed
mov eax, dword [ebp - 0x34c]
sub eax, 0
je 0x51f8d0
sub eax, 1
je 0x51f8c6
mov ebx, dword [ebp - 0x33c]
sub eax, 1
jne 0x51f789
cmp ebx, 0x1ebb
je 0x51f85a
lea eax, [ebx - 0x1ee6]
cmp eax, 0x25
jbe 0x51f85a
cmp ebx, 0x1f13
jne 0x51f861
mov esi, str.Windows8
jmp 0x51f8ad
cmp dword [ebp - 0x344], 0xa
jne 0x51f88e
cmp dword [ebp - 0x348], 0
jne 0x51f789
cmp dword [ebp - 0x340], 0x4e20
jae 0x51f908
mov esi, str.Windows10
jmp 0x51f8ad
cmp dword [ebp - 0x344], 6
jne 0x51f789
cmp dword [ebp - 0x348], 3
jne 0x51f789
mov esi, str.Windows8.1
push esi
call fcn.00546031
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00403bdf
jmp 0x51f789
mov esi, str.Windows7
jmp 0x51f76f
cmp dword [ebp - 0x358], 1
jne 0x51f8e3
mov esi, str.WindowsVista
jmp 0x51f76f
mov esi, str.WindowsServer2008
jmp 0x51f76f
cmp eax, 0xa
jne 0x51f783
mov ebx, dword [ebp - 0x33c]
cmp ebx, 0x4e20
jb 0x51f789
mov esi, str.Windows11
jmp 0x51f8ad
lea eax, [ebp - 0x218]
push eax
call fcn.00546031
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.00403bdf
call fcn.0042088b
test al, al
je 0x51f951
push ebx
pop eax
push ecx
pop ebp
push edi
pop ecx
push ecx
pop ecx
push eax
pop esi
push ebx
push ecx
push esi
push ebx
push esp
push ebp
pop ebp
push esi
push edi
pop esp
pop ebp
push eax
pop edx
push eax
push ebp
push edi
pop esp
pop ebx
pop ebx
call fcn.0042099f
test al, al
je 0x51f97e
pop eax
pop edi
pop ecx
pop edi
push ebp
pop esp
pop ecx
push edi
pop ebp
push ebp
pop edx
push edi
push edi
push esi
push edi
push edi
push esi
push esi
pop esi
pop ebx
push esi
pop edx
push ecx
pop edx
pop eax
push ecx
push eax
pop ebp
pop esi
push ecx
mov edi, dword [ebp - 0x338]
cmp dword [ebp + 0xc], 0
je 0x51f9ae
cmp word [ebp - 0x320], 0
jne 0x51f992
xor eax, eax
jmp 0x51f99f
lea eax, [ebp - 0x320]
push eax
call fcn.00546031
pop ecx
push eax
lea eax, [ebp - 0x320]
mov ecx, edi
push eax
call fcn.004049a5
mov eax, edi
call fcn.0044e9ea
ret