Function at 0x42d847
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x4d8300]
xor eax, ebp
mov dword [ebp - 4], eax
or dword [0x4da388], 0xffffffff
push ebx
push esi
push edi
mov ebx, str.Windows_Undefined
xor esi, esi
push ebx
call fcn.004816f0
inc eax
mov edi, 0x80
pop ecx
cmp eax, edi
jae 0x42d886
push ebx
call fcn.004816f0
pop ecx
inc eax
jmp 0x42d888
mov eax, edi
push eax
push ebx
push str.Windows
call fcn.00476fc0
push ebx
call fcn.004816f0
add esp, 0x10
inc eax
cmp eax, edi
jae 0x42d8ac
push ebx
call fcn.004816f0
pop ecx
lea edi, [eax + 1]
mov ebx, 0x9c
mov byte [edi + 0x4da38f], 0
push ebx
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.00478bc0
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea eax, [ebp - 0x148]
add esp, 0xc
mov dword [ebp - 0x148], ebx
push eax
call edi
test eax, eax
jne 0x42d90f
push ebx
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00478bc0
add esp, 0xc
mov dword [ebp - 0x148], 0x94
lea eax, [ebp - 0x148]
push eax
call edi
test eax, eax
je 0x42dc4d
cmp dword [ebp - 0x138], 2
jne 0x42db0f
xor eax, eax
inc eax
cmp dword [ebp - 0x144], 6
ja 0x42d93b
jne 0x42da2a
cmp dword [ebp - 0x140], 2
jb 0x42da37
mov ebx, dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
push eax
push 2
push 0
push 0
call ebx
mov edi, dword [ebp - 0x144]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
jmp 0x42d9a4
push 0x9c
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.00478bc0
add esp, 0xc
mov dword [ebp - 0xa8], 0x9c
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa4], edi
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
test eax, eax
jne 0x42d9ab
inc edi
cmp edi, 9
jbe 0x42d95e
jmp 0x42da27
cmp dword [ebp - 0x144], edi
jae 0x42d9bf
and dword [ebp - 0x140], esi
mov dword [ebp - 0x144], edi
push 1
push 1
push 0
push 0
call ebx
mov edi, dword [ebp - 0x140]
mov ebx, eax
mov dword [ebp - 0x150], edx
jmp 0x42da1a
push 0x9c
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.00478bc0
add esp, 0xc
mov dword [ebp - 0xa8], 0x9c
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], edi
push dword [ebp - 0x150]
push ebx
push 1
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
test eax, eax
jne 0x42da21
inc edi
cmp edi, 9
jbe 0x42d9d9
jmp 0x42da27
mov dword [ebp - 0x140], edi
xor eax, eax
inc eax
cmp dword [ebp - 0x144], 0xf
ja 0x42db0f
cmp dword [ebp - 0x140], 0xf
ja 0x42db0f
cmp al, byte [ebp - 0xae]
mov eax, dword [ebp - 0x144]
sbb edx, edx
shl eax, 4
or eax, dword [ebp - 0x140]
inc edx
mov dword [0x4da388], eax
cmp eax, 0x62
jg 0x42dad2
je 0x42dac6
mov ecx, eax
sub ecx, 0x51
je 0x42dabf
sub ecx, 1
je 0x42daa6
sub ecx, 0xe
je 0x42da9a
sub ecx, 1
je 0x42da8e
cmp eax, 0x51
jge 0x42dae1
and dword [0x4da388], esi
jmp 0x42db0f
mov esi, 0x4c2078
mov eax, str.Server_2008_R2
jmp 0x42db0a
mov esi, str.Vista
mov eax, str.Server_2008
jmp 0x42db0a
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
mov esi, str.Server_2003
mov ecx, str.Server_2003_R2
cmovne esi, ecx
jmp 0x42db0f
mov esi, 0x4c2044
jmp 0x42db0f
mov esi, 0x4c208c
mov eax, str.Server_2012
jmp 0x42db0a
sub eax, 0x63
je 0x42db00
sub eax, 1
je 0x42daf4
sub eax, 0x3c
je 0x42dae8
mov esi, str.11_or_later
jmp 0x42db0f
mov esi, 0x4c20d8
mov eax, str.Server_2016
jmp 0x42db0a
mov esi, str.10__Preview_1_
mov eax, str.Server_10__Preview_1_
jmp 0x42db0a
mov esi, 0x4c209c
mov eax, str.Server_2012_R2
test edx, edx
cmove esi, eax
call fcn.0042d76b
test eax, eax
mov ecx, str.32_bit
mov edx, str.64_bit
cmovne ecx, edx
push ecx
test esi, esi
jne 0x42db5f
push dword [ebp - 0x140]
cmp dword [ebp - 0x138], 2
mov eax, 0x4c20fc
push dword [ebp - 0x144]
mov ecx, 0x4c2100
cmovne eax, ecx
push eax
push str._s__u._u__s
push 0x76
push 0x4da398
call fcn.00403163
add esp, 0x1c
jmp 0x42dbbb
mov ax, word [ebp - 0xb2]
test ax, ax
je 0x42db7f
movzx eax, ax
push eax
movzx eax, word [ebp - 0xb4]
push eax
push esi
push str._s_SP_u._u__s
jmp 0x42db4e
mov ax, word [ebp - 0xb4]
test ax, ax
je 0x42dba6
movzx eax, ax
push eax
push esi
push str._s_SP_u__s
push 0x76
push 0x4da398
call fcn.00403163
add esp, 0x18
jmp 0x42dbbb
push esi
push str._s__s
push 0x76
push 0x4da398
call fcn.00403163
add esp, 0x14
cmp dword [0x4da388], 0x62
mov eax, dword [ebp - 0x13c]
mov byte [0x4da40d], 0
mov dword [0x4da384], eax
jl 0x42dc4d
push ecx
lea eax, [ebp - 0x14c]
mov edx, str.SoftwareMicrosoftWindows_NTCurrentVersionUBR
push eax
push ecx
mov ecx, reloc.SHELL32.dll_SHChangeNotifyRegister
call fcn.0042d251
mov esi, str.Windows
push esi
call fcn.004816f0
push esi
lea edi, [eax + str.Windows]
call fcn.004816f0
add esp, 0x14
push 0x7f
pop esi
sub esi, eax
cmp dword [ebp - 0x14c], 0
jle 0x42dc33
push dword [ebp - 0x14c]
push dword [0x4da384]
push str.__Build__d._d_
push esi
push edi
call fcn.00403163
add esp, 0x14
jmp 0x42dc48
push dword [0x4da384]
push str.__Build__d_
push esi
push edi
call fcn.00403163
add esp, 0x10
mov byte [esi + edi - 1], 0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00475c80
leave
ret