Function at 0x45c900
Capabilities:
Check os version

Disassembly:
push 0x350
mov eax, 0x5e58f7
call fcn.00470bca
mov esi, dword [ebp + 8]
neg dword [eax + 0x5e]
add al, ch
mov ebx, 0x8b000142
jne 0x45c91a
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.00483520
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
call fcn.00453765
test al, al
je 0x45c97d
or byte [ecx], ch
pop ebp
dec ecx
push edi
test eax, 0xa55b520c
je 0x45c906
jb 0x45c968
leave
pop esp
pop eax
cmp dword [edx], esp
mov edi, 0x92cbba59
arpl word [ecx], ax
invalid
push 0x5e9978
mov ecx, esi
call fcn.00404170
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.00453a17
test al, al
je 0x45c9f9
rcl byte [edx], cl
sub byte [ecx + 0x75], cl
xlatb
cmp byte [ebp - 0x6f], bl
cmp dh, byte [ecx - 0x1708c414]
and dword [ecx + 0x221ee7f5], ebp
mov bh, 0xba
call fcn.004537aa
test al, al
je 0x45ca1a
xchg ebp, eax
xchg esp, eax
inc ebp
in al, dx
jae 0x45ca06
sub byte [ebx + 3], cl
inc esi
pop edx
or esp, edx
adc cl, byte [esi + edx*2 + 0x39]
xlatb
mov esi, 0x1a1399f5
add ch, al
adc eax, 0x84ffff6e
sal byte [eax + ebx - 0x37], 0x64
js 0x45ca8e
call fcn.00453834
test al, al
je 0x45ca3b
leave
js 0x45ca8e
jp 0x45ca9a
ror edi, 1
retf 0x9c27
push 0x5f01ec
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x45ca87
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x45ca80
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.0045360c
test al, al
je 0x45caa0
movsb byte es:[edi], byte gs:[esi]
aaa
bound ecx, qword [ecx]
mov byte [0xb22dd365], al
and byte [ebp + 0x65dea68d], dh
mov eax, dword [ebp - 0x350]
cmp eax, 5
jne 0x45cb67
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x45cadb
cmp eax, 1
jne 0x45cb5d
mov esi, str.WindowsXP
push esi
call fcn.00491bc7
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00402b90
mov ebx, dword [ebp - 0x33c]
call fcn.0045360c
test al, al
je 0x45cafa
test dword [eax + edx*8 - 0x2e8066dc], edi
mov ch, 0xa1
popal
inc edx
int 0x11
in al, 0xce
xor eax, 0xfcc8bd8b
invalid
mov edi, dword [ebp - 0x338]
mov ecx, edi
push 0x5e9978
call fcn.00428850
test eax, eax
jne 0x45cc83
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00483520
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.00407e80
add esp, 0x20
cmp word [ebp - 0x218], 0
jne 0x45cc67
xor eax, eax
jmp 0x45cc74
mov esi, str.WindowsServer2003
jmp 0x45cac7
cmp eax, 6
jne 0x45cc45
mov eax, dword [ebp - 0x34c]
sub eax, 0
je 0x45cc28
sub eax, 1
je 0x45cc1e
mov ebx, dword [ebp - 0x33c]
sub eax, 1
jne 0x45cae1
cmp ebx, 0x1ebb
je 0x45cbb2
lea eax, [ebx - 0x1ee6]
cmp eax, 0x25
jbe 0x45cbb2
cmp ebx, 0x1f13
jne 0x45cbb9
mov esi, str.Windows8
jmp 0x45cc05
cmp dword [ebp - 0x344], 0xa
jne 0x45cbe6
cmp dword [ebp - 0x348], 0
jne 0x45cae1
cmp dword [ebp - 0x340], 0x4e20
jae 0x45cc60
mov esi, str.Windows10
jmp 0x45cc05
cmp dword [ebp - 0x344], 6
jne 0x45cae1
cmp dword [ebp - 0x348], 3
jne 0x45cae1
mov esi, str.Windows8.1
push esi
call fcn.00491bc7
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00402b90
jmp 0x45cae1
mov esi, str.Windows7
jmp 0x45cac7
cmp dword [ebp - 0x358], 1
jne 0x45cc3b
mov esi, str.WindowsVista
jmp 0x45cac7
invalid
mov esi, str.WindowsServer2008
jmp 0x45cac7
cmp eax, 0xa
jne 0x45cadb
mov ebx, dword [ebp - 0x33c]
cmp ebx, 0x4e20
jb 0x45cae1
mov esi, str.Windows11
jmp 0x45cc05
lea eax, [ebp - 0x218]
push eax
call fcn.00491bc7
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.00402b90
call fcn.00453aa1
test al, al
je 0x45cca9
loope 0x45cc23
jnp 0x45cc7e
mov edi, 0x35f32b04
jo 0x45cc38
retf
call fcn.00453bb5
test al, al
je 0x45ccd6
push 0xf6d2b67
aaa
mov eax, 0xe420fd39
mov al, byte [0x120a735e]
cmp eax, 0xf8300073
and ebp, dword [eax]
aas
insd dword es:[edi], dx
add dword [ecx + ebx*4 - 0x42741ed4], esi
enter 0xfffffffffffffffc, 0xffffffffffffffff
cmp dword [ebp + 0xc], 0
je 0x45cd06
cmp word [ebp - 0x320], 0
jne 0x45ccea
xor eax, eax
jmp 0x45ccf7
lea eax, [ebp - 0x320]
push eax
call fcn.00491bc7
pop ecx
push eax
lea eax, [ebp - 0x320]
mov ecx, edi
push eax
call fcn.00405d30
mov eax, edi
call fcn.00470b74
ret