Function at 0x421db3
Capabilities:
Check os version

Disassembly:
push 0x350
mov eax, 0x597e72
call fcn.004103bb
mov eax, dword [ebp + 8]
xor ecx, ecx
push 0x118
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x35c], eax
lea eax, [ebp - 0x330]
push ecx
mov dword [ebp - 0x354], ecx
push eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x334], 0x11c
call fcn.00430680
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
call fcn.0041156c
test al, al
je 0x421e2e
push esp
pop edi
pop ebp
push ebp
pop edx
pop edx
pop ecx
push esi
push eax
push ebx
pop ecx
pop ebp
pop ecx
push edx
push ebp
push ebp
pop ebx
push edi
push esp
push ebp
pop esi
pop esi
pop ebp
pop edx
push eax
pop edi
pop ebp
pop edi
push esi
call fcn.00411230
test al, al
je 0x421e50
push ecx
push esp
pop eax
push ecx
pop ebx
pop ecx
pop esi
pop esp
pop esp
push eax
pop ecx
pop ebx
pop edx
push esp
push ecx
pop ecx
pop edx
pop edi
pop ebp
pop edx
pop esi
push esi
pop ebp
push ecx
pop edi
mov ecx, dword [ebp - 0x338]
push 0x59a528
call fcn.00401680
xor eax, eax
mov dword [ebp - 0x354], 1
mov dword [ebp - 4], eax
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x33c], eax
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 - 0x348], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x34c], eax
call fcn.00411344
test al, al
je 0x421eda
pop ebp
push esi
push esp
pop esp
push ecx
pop esp
push ecx
push eax
pop eax
pop esp
push edx
push esp
pop edx
push esp
push edi
push ebx
pop edi
pop esp
pop ecx
pop ebx
push ebx
push edx
push ebx
pop esp
push edx
push esi
pop esi
push edi
push edx
push esp
pop esi
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x421f26
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x421f1f
lea ecx, [ebp - 0x33c]
push ecx
lea ecx, [ebp - 0x344]
push ecx
lea ecx, [ebp - 0x340]
push ecx
call eax
movzx eax, word [ebp - 0x33c]
mov dword [ebp - 0x33c], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00411344
test al, al
je 0x421f4f
pop esp
pop edx
pop ebx
push esp
push esp
pop esp
push ecx
push ebp
push eax
push eax
push ebx
pop ebx
push ecx
push ecx
push esi
pop edx
pop esi
pop ebp
push eax
push ebx
push ecx
push eax
push edx
pop eax
push esi
push eax
push esp
pop ebx
pop edx
pop esi
pop ecx
push edi
call fcn.0041163b
test al, al
je 0x421f6e
push ebp
pop edi
pop edi
push edi
push ebp
pop edi
pop eax
pop edx
pop esp
pop esp
pop edi
pop eax
push ebx
push esi
pop ebx
push ebx
push esp
pop esi
pop ebp
pop ebp
push esi
pop eax
mov edi, dword [ebp - 0x350]
cmp edi, 5
jne 0x421fa0
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x422073
cmp eax, 1
jne 0x421f96
mov esi, str.WindowsXP
jmp 0x42205f
mov esi, str.WindowsServer2003
jmp 0x42205f
cmp edi, 6
jne 0x422049
mov eax, dword [ebp - 0x34c]
sub eax, 0
je 0x422032
sub eax, 1
je 0x42202b
sub eax, 1
jne 0x422073
mov ecx, dword [ebp - 0x348]
cmp ecx, 0x1ebb
jne 0x421fda
mov esi, str.Windows8
jmp 0x42205f
lea eax, [ecx - 0x1ee6]
cmp eax, 0x25
jbe 0x421fd0
cmp ecx, 0x1f13
je 0x421fd0
cmp dword [ebp - 0x340], 0xa
jne 0x422012
cmp dword [ebp - 0x344], 0
jne 0x422073
cmp dword [ebp - 0x33c], 0x4e20
jae 0x42205a
mov esi, str.Windows10
jmp 0x42205f
cmp dword [ebp - 0x340], 6
jne 0x422073
cmp dword [ebp - 0x344], 3
jne 0x422073
mov esi, str.Windows8.1
jmp 0x42205f
mov esi, str.Windows7
jmp 0x42205f
cmp dword [ebp - 0x358], 1
jne 0x422042
mov esi, str.WindowsVista
jmp 0x42205f
mov esi, str.WindowsServer2008
jmp 0x42205f
cmp edi, 0xa
jne 0x422073
cmp dword [ebp - 0x348], 0x4e20
jb 0x422073
mov esi, str.Windows11
push esi
call fcn.00433f51
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00401c7b
call fcn.00411344
test al, al
je 0x42209c
pop esp
pop edx
pop ebx
push esp
push esp
pop esp
push ecx
push ebp
push eax
push eax
push ebx
pop ebx
push ecx
push ecx
push esi
pop edx
pop esi
pop ebp
push eax
push ebx
push ecx
push eax
push edx
pop eax
push esi
push eax
push esp
pop ebx
pop edx
pop esi
pop ecx
push edi
call fcn.0041163b
test al, al
je 0x4220c1
push ebp
pop edi
pop edi
push edi
push ebp
pop edi
pop eax
pop edx
pop esp
pop esp
pop edi
pop eax
push ebx
push esi
pop ebx
push ebx
push esp
pop esi
pop ebp
pop ebp
push esi
pop eax
mov edi, dword [ebp - 0x350]
mov ebx, dword [ebp - 0x338]
mov ecx, ebx
push 0x59a528
call fcn.0040533d
test eax, eax
jne 0x422135
push 0x208
xor esi, esi
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.00430680
push dword [ebp - 0x348]
lea eax, [ebp - 0x218]
push dword [ebp - 0x34c]
push edi
push str.Windows_d._d._d
push eax
call fcn.0040351f
add esp, 0x20
cmp word [ebp - 0x218], si
jne 0x422119
mov eax, esi
jmp 0x422126
lea eax, [ebp - 0x218]
push eax
call fcn.00433f51
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00401c7b
call fcn.0041156c
test al, al
je 0x422151
push eax
push eax
pop edx
push esp
pop ebp
push esp
push edx
push edi
pop esp
pop ecx
pop esi
push ebx
pop ebp
push esi
pop esi
push eax
pop esi
pop edx
pop edx
call fcn.00411389
test al, al
je 0x42217b
push edx
push esi
pop ebx
push esi
push eax
pop edi
push esi
pop ecx
push ecx
pop edi
pop ebx
pop edx
push edx
pop ebx
push edi
push ebx
pop ebp
pop edi
pop esp
push edx
push esp
push esi
pop ecx
push esp
pop ebx
push esi
pop ebp
mov ebx, dword [ebp - 0x338]
cmp dword [ebp + 0xc], 0
je 0x4221ab
cmp word [ebp - 0x320], 0
jne 0x42218f
xor eax, eax
jmp 0x42219c
lea eax, [ebp - 0x320]
push eax
call fcn.00433f51
pop ecx
push eax
lea eax, [ebp - 0x320]
mov ecx, ebx
push eax
call fcn.00402595
mov eax, ebx
call fcn.00410376
ret