Function at 0x1004bf60
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x1007b00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x118
lea eax, [ebp - 0x11c]
mov edi, edx
push 0
push eax
mov esi, ecx
call sub.VCRUNTIME140.dll_memset
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExW]
lea eax, [ebp - 0x120]
add esp, 0xc
mov dword [esi], 0
mov dword [ebp - 0x120], 0x11c
push eax
call ebx
test eax, eax
jne 0x1004bfdd
lea eax, [ebp - 0x120]
mov dword [ebp - 0x120], 0x114
push eax
call ebx
test eax, eax
jne 0x1004bfdd
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1005b6db
mov esp, ebp
pop ebp
ret
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
lea eax, [ebp - 0x10c]
push 0x80
push str.Service_Pack_1
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x1004c002
or dword [esi], 1
jmp 0x1004c05d
push 0x80
lea eax, [ebp - 0x10c]
push str.Service_Pack_2
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x1004c021
or dword [esi], 2
jmp 0x1004c05d
push 0x80
lea eax, [ebp - 0x10c]
push str.Service_Pack_3
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x1004c040
or dword [esi], 3
jmp 0x1004c05d
push 0x80
lea eax, [ebp - 0x10c]
push str.Service_Pack_4
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x1004c05d
or dword [esi], 4
shl dword [esi], 0x10
call fcn.1004b770
test eax, eax
je 0x1004c0ce
cmp dword [ebp - 0x110], 2
jne 0x1004bfca
cmp dword [ebp - 0x11c], 6
jne 0x1004bfca
mov eax, dword [ebp - 0x118]
cmp eax, 1
jne 0x1004c0aa
push 0xffffffffffffffff
push 0x1006b16c
push dword [ebp + 8]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 9
jmp 0x1004c35b
test eax, eax
jne 0x1004bfca
push 0xffffffffffffffff
push 0x1006b150
push dword [ebp + 8]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 8
jmp 0x1004c35b
mov eax, dword [ebp - 0x110]
sub eax, 0
je 0x1004c347
sub eax, 1
je 0x1004c28c
sub eax, 1
jne 0x1004c35b
mov eax, dword [ebp - 0x11c]
cmp eax, 6
jne 0x1004c153
mov eax, dword [ebp - 0x118]
cmp eax, 1
jne 0x1004c128
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_7
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 9
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
jmp 0x1004c20b
test eax, eax
jne 0x1004c1f4
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_Vista
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 8
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
jmp 0x1004c20b
cmp eax, 5
jne 0x1004c1cf
mov eax, dword [ebp - 0x118]
cmp eax, 2
jne 0x1004c186
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_Server_2003_
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 7
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
jmp 0x1004c20b
cmp eax, 1
jne 0x1004c1ab
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_XP
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 6
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
jmp 0x1004c20b
test eax, eax
jne 0x1004c1f4
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_2000
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 5
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
jmp 0x1004c20b
cmp eax, 4
ja 0x1004c1f4
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_NT
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 4
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
jmp 0x1004c20b
mov ebx, dword [ebp + 8]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
push 0xffffffffffffffff
push 0x10067498
push ebx
push edi
call esi
add esp, 0x10
cmp dword [ebp - 0x11c], 4
jne 0x1004c27a
lea eax, [ebp - 0x10c]
push str.Service_Pack_6
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x1004c27a
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x124]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionHotfixQ246009
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 0xffffffffffffffff
test eax, eax
jne 0x1004c25b
push str.SP6a
jmp 0x1004c262
lea eax, [ebp - 0x10c]
push eax
push ebx
push edi
call esi
add esp, 0x10
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1004c35b
push 0xffffffffffffffff
lea eax, [ebp - 0x10c]
push eax
push ebx
push edi
call esi
jmp 0x1004c358
cmp dword [ebp - 0x11c], 4
jne 0x1004c35b
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x1004c2ea
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_95
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
mov ax, word [ebp - 0x10a]
mov ecx, 0x43
add esp, 0x10
cmp cx, ax
je 0x1004c2d3
mov ecx, 0x42
cmp cx, ax
jne 0x1004c2e5
push 0xffffffffffffffff
push str.OSR2
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 1
jmp 0x1004c35b
cmp eax, 0xa
jne 0x1004c329
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push str.Windows_98
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
mov eax, 0x41
add esp, 0x10
cmp ax, word [ebp - 0x10a]
jne 0x1004c324
push 0xffffffffffffffff
push 0x1006b328
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 2
jmp 0x1004c35b
cmp eax, 0x5a
jne 0x1004c35b
push 0xffffffffffffffff
push str.Windows_ME
push dword [ebp + 8]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
or dword [esi], 3
jmp 0x1004c35b
push 0xffffffffffffffff
push str.Win32s
push dword [ebp + 8]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1005b6db
mov esp, ebp
pop ebp
ret