Function at 0x43c550
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x11c
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0046f7e0
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 0x43c5ca
push str.GetOSVersion____OSVERSIONINFOEX_failed
call fcn.004696f0
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 0x43c5ca
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046ecfa
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push str.GetOSVersion____MajorVersion:__d_MinorVersion:__d
call fcn.004696f0
mov eax, dword [ebp - 0x118]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
mov dword [0x4b5198], eax
mov eax, dword [ebp - 0x110]
mov dword [0x4b5194], ecx
sub eax, 0
je 0x43ccfc
dec eax
je 0x43cb1b
dec eax
jne 0x43cd09
mov dword [0x4b518c], 1
cmp ecx, 4
ja 0x43c6b5
push 0x492474
push 5
push 0x4b5068
mov dword [0x4b5044], 1
call fcn.0046fe12
push str.Windows_NT4
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp dword [ebp - 0x11c], 4
jne 0x43c678
push str.GetOSVersion____Workstation_4.0
jmp 0x43c68d
test dword [ebp - 8], 0x200
je 0x43c688
push str.GetOSVersion____Home_Edition
jmp 0x43c68d
push str.GetOSVersion____Professional
call fcn.004696f0
add esp, 4
cmp byte [ebp - 6], 3
jne 0x43c6b5
test byte [ebp - 8], 2
je 0x43c6a8
push str.GetOSVersion____Server_4.0__Enterprise_Edition
jmp 0x43c6ad
push str.GetOSVersion____Server_4.0
call fcn.004696f0
add esp, 4
cmp dword [ebp - 0x11c], 5
jne 0x43c81c
cmp dword [ebp - 0x118], 0
jne 0x43c73c
push 0x492568
push 5
push 0x4b5068
mov dword [0x4b5188], 1
call fcn.0046fe12
push str.Windows_2000
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
mov eax, dword [ebp - 8]
add esp, 0x20
test al, al
jns 0x43c717
push str.GetOSVersion____Datacenter_Server
jmp 0x43c727
test al, 2
je 0x43c722
push str.GetOSVersion____Advanced_Server
jmp 0x43c727
push str.GetOSVersion____Server
call fcn.004696f0
add esp, 4
cmp dword [ebp - 0x11c], 5
jne 0x43c81c
cmp dword [ebp - 0x118], 1
jne 0x43c790
push 0x4925ec
push 5
push 0x4b5068
mov dword [0x4b5048], 1
call fcn.0046fe12
push str.Windows_XP
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp dword [ebp - 0x11c], 5
jne 0x43c81c
cmp dword [ebp - 0x118], 2
jne 0x43ca1f
push 0x49260c
push 5
push 0x4b5068
mov dword [0x4b5188], 1
mov dword [0x4b504c], 1
call fcn.0046fe12
push str.Windows_Server_2003
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
mov eax, dword [ebp - 8]
add esp, 0x20
test al, al
jns 0x43c7f3
push str.GetOSVersion____Datacenter_Edition
jmp 0x43c814
test al, 2
je 0x43c7fe
push str.GetOSVersion____Enterprise_Edition
jmp 0x43c814
mov ecx, 0x400
cmp ax, cx
jne 0x43c80f
push str.GetOSVersion____Web_Edition
jmp 0x43c814
push str.GetOSVersion____Standard_Edition
call fcn.004696f0
add esp, 4
cmp dword [ebp - 0x11c], 6
jne 0x43c968
cmp dword [ebp - 0x118], 0
jne 0x43c87d
push 0x4926c8
push 5
push 0x4b5068
mov dword [0x4b5190], 1
call fcn.0046fe12
push str.Windows_Vista
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x43c968
cmp dword [ebp - 0x118], 1
jne 0x43c8d1
push 0x4926ec
push 5
push 0x4b5068
mov dword [0x4b5050], 1
call fcn.0046fe12
push str.Windows_Seven
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x43c968
cmp dword [ebp - 0x118], 2
jne 0x43c921
push str.10B0
push 5
push 0x4b5068
mov dword [0x4b5054], 1
call fcn.0046fe12
push str.Windows_8
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x43c968
cmp dword [ebp - 0x118], 3
jne 0x43c97c
push str.11B0
push 5
push 0x4b5068
mov dword [0x4b5058], 1
call fcn.0046fe12
push str.Windows_8.1
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
mov ecx, dword [ebp - 0x11c]
cmp ecx, 6
ja 0x43c982
jne 0x43c9c0
cmp dword [ebp - 0x118], 3
jbe 0x43ca1f
push str.12B0
push 5
push 0x4b5068
mov dword [0x4b5058], 1
call fcn.0046fe12
push str.Windows_10
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp dword [ebp - 0x11c], 4
jne 0x43ca1f
push str.Service_Pack_6
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x43ca1f
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 0x43ca13
movzx eax, word [ebp - 0x114]
push eax
push str.GetOSVersion____Service_Pack_6a__Build__d_
call fcn.004696f0
add esp, 8
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, word [ebp - 0xc]
push eax
push 0x48f188
push 4
push 0x4b50b8
mov dword [0x4b519c], eax
call fcn.0046ecde
movzx eax, word [ebp - 0xa]
push eax
push 0x48f188
push 4
push 0x4b5060
mov dword [0x4b51a0], eax
call fcn.0046ecde
movzx eax, word [ebp - 0x114]
push eax
push dword [0x4b51a0]
push dword [0x4b519c]
push str.GetOSVersion____Service_Pack:__d._d__Build__d_
call fcn.00469390
add esp, 0x30
call fcn.0043d820
mov dword [0x4b51a4], eax
test eax, eax
je 0x43cb11
push str.GetOSVersion____Windows_64_bits
call fcn.004696f0
add esp, 4
cmp dword [0x4b504c], 0
je 0x43cac3
push 0x4928c0
push 5
push 0x4b5068
mov dword [0x4b5048], 1
call fcn.0046fe12
push str.Windows_XP_64
jmp 0x43cccb
push 0x4928e4
push 0x20
push 0x4b5078
call fcn.0046e904
push 1
push 0x4928ec
push 0x48c7ec
push 5
push 0x4b5068
call fcn.00440530
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x28
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046ecfa
mov esp, ebp
pop ebp
ret
push str.GetOSVersion____Windows_32_bits
jmp 0x43cd01
cmp dword [ebp - 0x11c], 4
jne 0x43cd09
cmp dword [ebp - 0x118], 0
jne 0x43cbfa
push 0x492910
push 5
push 0x4b5068
mov dword [0x4b5038], 1
call fcn.0046fe12
push str.Windows_95
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
mov ax, word [ebp - 0x10a]
add esp, 0x20
cmp ax, 0x43
jne 0x43cb9d
push 0x4928ec
push 4
push 0x4b50b8
call fcn.0046fe12
mov dword [0x4b519c], 2
jmp 0x43cbdb
cmp ax, 0x42
jne 0x43cbc0
push 0x48c7ec
push 4
push 0x4b50b8
call fcn.0046fe12
mov dword [0x4b519c], 1
jmp 0x43cbdb
push 0x492968
push 4
push 0x4b50b8
call fcn.0046fe12
mov dword [0x4b519c], 0
push 0x4b50b8
push str.GetOSVersion____Version__s
call fcn.00469390
add esp, 0x14
cmp dword [ebp - 0x11c], 4
jne 0x43cd09
cmp dword [ebp - 0x118], 0xa
jne 0x43cca2
push 0x49296c
push 5
push 0x4b5068
mov dword [0x4b503c], 1
call fcn.0046fe12
push 0x492974
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
cmp word [ebp - 0x10a], 0x41
jne 0x43cc71
push 0x49298c
push 4
push 0x4b50b8
call fcn.0046fe12
mov dword [0x4b519c], 1
push str.GetOSVersion____Version_SE
jmp 0x43cc91
push 0x48e734
push 4
push 0x4b50b8
call fcn.0046fe12
mov dword [0x4b519c], 0
push str.GetOSVersion____Version_FE
call fcn.004696f0
add esp, 0x10
cmp dword [ebp - 0x11c], 4
jne 0x43cd09
cmp dword [ebp - 0x118], 0x5a
jne 0x43cd09
push 0x4929c8
push 5
push 0x4b5068
mov dword [0x4b5040], 1
call fcn.0046fe12
push str.Windows_Millennium
push 0x20
push 0x4b5078
call fcn.0046fe12
push 0x4b5078
push str.GetOSVersion_____s
call fcn.00469390
add esp, 0x20
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046ecfa
mov esp, ebp
pop ebp
ret
push str.GetOSVersion____Microsoft_Win32s
call fcn.004696f0
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.0046ecfa
mov esp, ebp
pop ebp
ret