Function at 0x45aa29
Capabilities:
Check os version

Disassembly:
push 0x350
mov eax, 0x5e26b6
call fcn.0046dcba
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.00480620
add esp, 0xc
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
call fcn.004520bc
test al, al
je 0x45aaa6
retf 0x6435
push 0x5e6948
mov ecx, esi
call fcn.00404060
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.0045236e
test al, al
je 0x45ab22
call 0xb33cd59b
push cs
dec edx
out 0xa5, eax
pop eax
inc ecx
cwde
aas
jno 0x45ab56
salc
and byte [esi + edi - 0x17010f7b], cl
fidiv dword [ebp - 1]
inc dword [eax + eax*8 - 0x7ec4e78c]
mov ah, 0x23
inc edi
dec ebx
call fcn.00452101
test al, al
je 0x45ab43
cmp eax, dword [ecx + 0x4b4723b4]
push 0xe6371b38
xor al, 0x11
mov al, byte [0x677f6479]
out dx, eax
bound ecx, qword [esi + edi + 0x43e81dcd]
jbe 0x45ab46
call fcn.0045218b
test al, al
je 0x45ab64
invalid
inc dword [eax + eax*8 + 0x4b551874]
push ebp
dec ebx
lahf
dec esi
push esp
lodsd eax, dword [esi]
into
xchg edx, eax
pop ebp
mov edx, 0x3b45118
push ds
sbb byte [ecx - 0x4c], dl
add ebx, dword [esi]
test dword [edx + 0xc2ed2b4], edx
sbb byte [ecx + esi*4 + 0x5ecd6c68], dh
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryW
push 0x5ecd6c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x45abb0
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x45aba9
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.00451f63
test al, al
je 0x45abc9
pop ecx
push ss
or ecx, esp
jnp 0x45abc6
pop edx
adc eax, 0xb4a28eba
mov cl, 0x9a
inc ebx
push ecx
lcall 0xfcb0, 0x858b5143
invalid
mov eax, dword [ebp - 0x350]
cmp eax, 5
jne 0x45ac90
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x45ac04
cmp eax, 1
jne 0x45ac86
mov esi, str.WindowsXP
push esi
call fcn.0048ed77
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00402ac0
mov ebx, dword [ebp - 0x33c]
call fcn.00451f63
test al, al
je 0x45ac23
pushal
adc byte [edi], 0xe1
dec ecx
ret 0x6334
mov edi, dword [ebp - 0x338]
mov ecx, edi
push 0x5e6948
call fcn.00428710
test eax, eax
jne 0x45adac
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00480620
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.00407df0
add esp, 0x20
cmp word [ebp - 0x218], 0
jne 0x45ad90
xor eax, eax
jmp 0x45ad9d
mov esi, str.WindowsServer2003
jmp 0x45abf0
cmp eax, 6
jne 0x45ad6e
mov eax, dword [ebp - 0x34c]
sub eax, 0
je 0x45ad51
sub eax, 1
je 0x45ad47
mov ebx, dword [ebp - 0x33c]
sub eax, 1
jne 0x45ac0a
cmp ebx, 0x1ebb
je 0x45acdb
lea eax, [ebx - 0x1ee6]
cmp eax, 0x25
jbe 0x45acdb
cmp ebx, 0x1f13
jne 0x45ace2
mov esi, str.Windows8
jmp 0x45ad2e
cmp dword [ebp - 0x344], 0xa
jne 0x45ad0f
cmp dword [ebp - 0x348], 0
jne 0x45ac0a
cmp dword [ebp - 0x340], 0x4e20
jae 0x45ad89
mov esi, str.Windows10
jmp 0x45ad2e
cmp dword [ebp - 0x344], 6
jne 0x45ac0a
cmp dword [ebp - 0x348], 3
jne 0x45ac0a
mov esi, str.Windows8.1
push esi
call fcn.0048ed77
pop ecx
mov ecx, dword [ebp - 0x338]
push eax
push esi
call fcn.00402ac0
jmp 0x45ac0a
mov esi, str.Windows7
jmp 0x45abf0
cmp dword [ebp - 0x358], 1
jne 0x45ad64
mov esi, str.WindowsVista
jmp 0x45abf0
mov esi, str.WindowsServer2008
jmp 0x45abf0
cmp eax, 0xa
jne 0x45ac04
mov ebx, dword [ebp - 0x33c]
cmp ebx, 0x4e20
jb 0x45ac0a
mov esi, str.Windows11
jmp 0x45ad2e
lea eax, [ebp - 0x218]
push eax
call fcn.0048ed77
pop ecx
push eax
lea eax, [ebp - 0x218]
mov ecx, edi
push eax
call fcn.00402ac0
call fcn.004523f8
test al, al
je 0x45add2
mov bh, 0xcd
or bl, al
add dword [esp + ebx + 0x716ae543], ebp
popal
mov eax, 0x5899f020
out 0x6e, eax
invalid
call fcn.0045250c
test al, al
je 0x45adff
sbb ebp, dword [ecx + eax + 0x7f7a666b]
lodsb al, byte [esi]
push 0xffffffffffffffea
inc ebx
pushfd
add al, 0xaa
dec edx
inc ebp
aas
xchg edx, eax
clc
ficom dword [ebx]
iretd
cmp dword [ebp + 0xc], 0
je 0x45ae2f
cmp word [ebp - 0x320], 0
jne 0x45ae13
xor eax, eax
jmp 0x45ae20
lea eax, [ebp - 0x320]
push eax
call fcn.0048ed77
pop ecx
push eax
lea eax, [ebp - 0x320]
mov ecx, edi
push eax
call fcn.00405c20
mov eax, edi
call fcn.0046dc64
ret