Function at 0x42d180
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x4a86f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x11c
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0046a390
add esp, 0xc
mov dword [ebp - 0x120], 0x11c
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x42d1fa
push str.GetOSVersion____OSVERSIONINFOEX_failed
call fcn.0045f880
add esp, 4
mov dword [ebp - 0x120], 0x114
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x42d1fa
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004698aa
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push str.GetOSVersion____MajorVersion:__d_MinorVersion:__d
call fcn.0045f880
mov eax, dword [ebp - 0x118]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
mov dword [0x4ab198], eax
mov eax, dword [ebp - 0x110]
mov dword [0x4ab194], ecx
sub eax, 0
je 0x42d92c
dec eax
je 0x42d74b
dec eax
jne 0x42d939
mov dword [0x4ab18c], 1
cmp ecx, 4
ja 0x42d2e5
push 0x488eec
push 5
push 0x4ab068
mov dword [0x4ab044], 1
call fcn.0046bf5a
push str.Windows_NT4
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp dword [ebp - 0x11c], 4
jne 0x42d2a8
push str.GetOSVersion____Workstation_4.0
jmp 0x42d2bd
test dword [ebp - 8], 0x200
je 0x42d2b8
push str.GetOSVersion____Home_Edition
jmp 0x42d2bd
push str.GetOSVersion____Professional
call fcn.0045f880
add esp, 4
cmp byte [ebp - 6], 3
jne 0x42d2e5
test byte [ebp - 8], 2
je 0x42d2d8
push str.GetOSVersion____Server_4.0__Enterprise_Edition
jmp 0x42d2dd
push str.GetOSVersion____Server_4.0
call fcn.0045f880
add esp, 4
cmp dword [ebp - 0x11c], 5
jne 0x42d44c
cmp dword [ebp - 0x118], 0
jne 0x42d36c
push 0x488fe0
push 5
push 0x4ab068
mov dword [0x4ab188], 1
call fcn.0046bf5a
push str.Windows_2000
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
mov eax, dword [ebp - 8]
add esp, 0x20
test al, al
jns 0x42d347
push str.GetOSVersion____Datacenter_Server
jmp 0x42d357
test al, 2
je 0x42d352
push str.GetOSVersion____Advanced_Server
jmp 0x42d357
push str.GetOSVersion____Server
call fcn.0045f880
add esp, 4
cmp dword [ebp - 0x11c], 5
jne 0x42d44c
cmp dword [ebp - 0x118], 1
jne 0x42d3c0
push 0x489064
push 5
push 0x4ab068
mov dword [0x4ab048], 1
call fcn.0046bf5a
push str.Windows_XP
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp dword [ebp - 0x11c], 5
jne 0x42d44c
cmp dword [ebp - 0x118], 2
jne 0x42d64f
push 0x489084
push 5
push 0x4ab068
mov dword [0x4ab188], 1
mov dword [0x4ab04c], 1
call fcn.0046bf5a
push str.Windows_Server_2003
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
mov eax, dword [ebp - 8]
add esp, 0x20
test al, al
jns 0x42d423
push str.GetOSVersion____Datacenter_Edition
jmp 0x42d444
test al, 2
je 0x42d42e
push str.GetOSVersion____Enterprise_Edition
jmp 0x42d444
mov ecx, 0x400
cmp ax, cx
jne 0x42d43f
push str.GetOSVersion____Web_Edition
jmp 0x42d444
push str.GetOSVersion____Standard_Edition
call fcn.0045f880
add esp, 4
cmp dword [ebp - 0x11c], 6
jne 0x42d598
cmp dword [ebp - 0x118], 0
jne 0x42d4ad
push 0x489140
push 5
push 0x4ab068
mov dword [0x4ab190], 1
call fcn.0046bf5a
push str.Windows_Vista
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x42d598
cmp dword [ebp - 0x118], 1
jne 0x42d501
push 0x489164
push 5
push 0x4ab068
mov dword [0x4ab050], 1
call fcn.0046bf5a
push str.Windows_Seven
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x42d598
cmp dword [ebp - 0x118], 2
jne 0x42d551
push str.10B0
push 5
push 0x4ab068
mov dword [0x4ab054], 1
call fcn.0046bf5a
push str.Windows_8
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x42d598
cmp dword [ebp - 0x118], 3
jne 0x42d5ac
push str.11B0
push 5
push 0x4ab068
mov dword [0x4ab058], 1
call fcn.0046bf5a
push str.Windows_8.1
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
mov ecx, dword [ebp - 0x11c]
cmp ecx, 6
ja 0x42d5b2
jne 0x42d5f0
cmp dword [ebp - 0x118], 3
jbe 0x42d64f
push str.12B0
push 5
push 0x4ab068
mov dword [0x4ab058], 1
call fcn.0046bf5a
push str.Windows_10
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp dword [ebp - 0x11c], 4
jne 0x42d64f
push str.Service_Pack_6
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x42d64f
lea eax, [ebp - 0x124]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionHotfixQ246009
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x42d643
movzx eax, word [ebp - 0x114]
push eax
push str.GetOSVersion____Service_Pack_6a__Build__d_
call fcn.0045f880
add esp, 8
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, word [ebp - 0xc]
push eax
push 0x4892b4
push 4
push 0x4ab0b8
mov dword [0x4ab19c], eax
call fcn.0046988e
movzx eax, word [ebp - 0xa]
push eax
push 0x4892b4
push 4
push 0x4ab060
mov dword [0x4ab1a0], eax
call fcn.0046988e
movzx eax, word [ebp - 0x114]
push eax
push dword [0x4ab1a0]
push dword [0x4ab19c]
push str.GetOSVersion____Service_Pack:__d._d__Build__d_
call fcn.0045f520
add esp, 0x30
call fcn.0042e240
mov dword [0x4ab1a4], eax
test eax, eax
je 0x42d741
push str.GetOSVersion____Windows_64_bits
call fcn.0045f880
add esp, 4
cmp dword [0x4ab04c], 0
je 0x42d6f3
push 0x489340
push 5
push 0x4ab068
mov dword [0x4ab048], 1
call fcn.0046bf5a
push str.Windows_XP_64
jmp 0x42d8fb
push 0x489364
push 0x20
push 0x4ab078
call fcn.004694b4
push 1
push 0x48936c
push 0x48779c
push 5
push 0x4ab068
call fcn.0042f2e0
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x28
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004698aa
mov esp, ebp
pop ebp
ret
push str.GetOSVersion____Windows_32_bits
jmp 0x42d931
cmp dword [ebp - 0x11c], 4
jne 0x42d939
cmp dword [ebp - 0x118], 0
jne 0x42d82a
push 0x489390
push 5
push 0x4ab068
mov dword [0x4ab038], 1
call fcn.0046bf5a
push str.Windows_95
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
mov ax, word [ebp - 0x10a]
add esp, 0x20
cmp ax, 0x43
jne 0x42d7cd
push 0x48936c
push 4
push 0x4ab0b8
call fcn.0046bf5a
mov dword [0x4ab19c], 2
jmp 0x42d80b
cmp ax, 0x42
jne 0x42d7f0
push 0x48779c
push 4
push 0x4ab0b8
call fcn.0046bf5a
mov dword [0x4ab19c], 1
jmp 0x42d80b
push 0x4893e8
push 4
push 0x4ab0b8
call fcn.0046bf5a
mov dword [0x4ab19c], 0
push 0x4ab0b8
push str.GetOSVersion____Version__s
call fcn.0045f520
add esp, 0x14
cmp dword [ebp - 0x11c], 4
jne 0x42d939
cmp dword [ebp - 0x118], 0xa
jne 0x42d8d2
push 0x4893ec
push 5
push 0x4ab068
mov dword [0x4ab03c], 1
call fcn.0046bf5a
push 0x4893f4
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
cmp word [ebp - 0x10a], 0x41
jne 0x42d8a1
push 0x48940c
push 4
push 0x4ab0b8
call fcn.0046bf5a
mov dword [0x4ab19c], 1
push str.GetOSVersion____Version_SE
jmp 0x42d8c1
push 0x488e14
push 4
push 0x4ab0b8
call fcn.0046bf5a
mov dword [0x4ab19c], 0
push str.GetOSVersion____Version_FE
call fcn.0045f880
add esp, 0x10
cmp dword [ebp - 0x11c], 4
jne 0x42d939
cmp dword [ebp - 0x118], 0x5a
jne 0x42d939
push 0x489448
push 5
push 0x4ab068
mov dword [0x4ab040], 1
call fcn.0046bf5a
push str.Windows_Millennium
push 0x20
push 0x4ab078
call fcn.0046bf5a
push 0x4ab078
push str.GetOSVersion_____s
call fcn.0045f520
add esp, 0x20
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004698aa
mov esp, ebp
pop ebp
ret
push str.GetOSVersion____Microsoft_Win32s
call fcn.0045f880
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.004698aa
mov esp, ebp
pop ebp
ret