Function at 0x43c520
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x4b06f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x11c
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.0046fe20
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 0x43c59a
push str.GetOSVersion____OSVERSIONINFOEX_failed
call fcn.00469d40
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 0x43c59a
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f33a
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
push str.GetOSVersion____MajorVersion:__d_MinorVersion:__d
call fcn.00469d40
mov eax, dword [ebp - 0x118]
add esp, 0xc
mov ecx, dword [ebp - 0x11c]
mov dword [0x4b6198], eax
mov eax, dword [ebp - 0x110]
mov dword [0x4b6194], ecx
sub eax, 0
je 0x43cccc
dec eax
je 0x43caeb
dec eax
jne 0x43ccd9
mov dword [0x4b618c], 1
cmp ecx, 4
ja 0x43c685
push 0x493474
push 5
push 0x4b6068
mov dword [0x4b6044], 1
call fcn.00470452
push str.Windows_NT4
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp dword [ebp - 0x11c], 4
jne 0x43c648
push str.GetOSVersion____Workstation_4.0
jmp 0x43c65d
test dword [ebp - 8], 0x200
je 0x43c658
push str.GetOSVersion____Home_Edition
jmp 0x43c65d
push str.GetOSVersion____Professional
call fcn.00469d40
add esp, 4
cmp byte [ebp - 6], 3
jne 0x43c685
test byte [ebp - 8], 2
je 0x43c678
push str.GetOSVersion____Server_4.0__Enterprise_Edition
jmp 0x43c67d
push str.GetOSVersion____Server_4.0
call fcn.00469d40
add esp, 4
cmp dword [ebp - 0x11c], 5
jne 0x43c7ec
cmp dword [ebp - 0x118], 0
jne 0x43c70c
push 0x493568
push 5
push 0x4b6068
mov dword [0x4b6188], 1
call fcn.00470452
push str.Windows_2000
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
mov eax, dword [ebp - 8]
add esp, 0x20
test al, al
jns 0x43c6e7
push str.GetOSVersion____Datacenter_Server
jmp 0x43c6f7
test al, 2
je 0x43c6f2
push str.GetOSVersion____Advanced_Server
jmp 0x43c6f7
push str.GetOSVersion____Server
call fcn.00469d40
add esp, 4
cmp dword [ebp - 0x11c], 5
jne 0x43c7ec
cmp dword [ebp - 0x118], 1
jne 0x43c760
push 0x4935ec
push 5
push 0x4b6068
mov dword [0x4b6048], 1
call fcn.00470452
push str.Windows_XP
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp dword [ebp - 0x11c], 5
jne 0x43c7ec
cmp dword [ebp - 0x118], 2
jne 0x43c9ef
push 0x49360c
push 5
push 0x4b6068
mov dword [0x4b6188], 1
mov dword [0x4b604c], 1
call fcn.00470452
push str.Windows_Server_2003
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
mov eax, dword [ebp - 8]
add esp, 0x20
test al, al
jns 0x43c7c3
push str.GetOSVersion____Datacenter_Edition
jmp 0x43c7e4
test al, 2
je 0x43c7ce
push str.GetOSVersion____Enterprise_Edition
jmp 0x43c7e4
mov ecx, 0x400
cmp ax, cx
jne 0x43c7df
push str.GetOSVersion____Web_Edition
jmp 0x43c7e4
push str.GetOSVersion____Standard_Edition
call fcn.00469d40
add esp, 4
cmp dword [ebp - 0x11c], 6
jne 0x43c938
cmp dword [ebp - 0x118], 0
jne 0x43c84d
push 0x4936c8
push 5
push 0x4b6068
mov dword [0x4b6190], 1
call fcn.00470452
push str.Windows_Vista
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x43c938
cmp dword [ebp - 0x118], 1
jne 0x43c8a1
push 0x4936ec
push 5
push 0x4b6068
mov dword [0x4b6050], 1
call fcn.00470452
push str.Windows_Seven
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x43c938
cmp dword [ebp - 0x118], 2
jne 0x43c8f1
push str.10B0
push 5
push 0x4b6068
mov dword [0x4b6054], 1
call fcn.00470452
push str.Windows_8
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp dword [ebp - 0x11c], 6
jne 0x43c938
cmp dword [ebp - 0x118], 3
jne 0x43c94c
push str.11B0
push 5
push 0x4b6068
mov dword [0x4b6058], 1
call fcn.00470452
push str.Windows_8.1
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
mov ecx, dword [ebp - 0x11c]
cmp ecx, 6
ja 0x43c952
jne 0x43c990
cmp dword [ebp - 0x118], 3
jbe 0x43c9ef
push str.12B0
push 5
push 0x4b6068
mov dword [0x4b6058], 1
call fcn.00470452
push str.Windows_10
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp dword [ebp - 0x11c], 4
jne 0x43c9ef
push str.Service_Pack_6
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x43c9ef
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 0x43c9e3
movzx eax, word [ebp - 0x114]
push eax
push str.GetOSVersion____Service_Pack_6a__Build__d_
call fcn.00469d40
add esp, 8
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
movzx eax, word [ebp - 0xc]
push eax
push 0x490188
push 4
push 0x4b60b8
mov dword [0x4b619c], eax
call fcn.0046f31e
movzx eax, word [ebp - 0xa]
push eax
push 0x490188
push 4
push 0x4b6060
mov dword [0x4b61a0], eax
call fcn.0046f31e
movzx eax, word [ebp - 0x114]
push eax
push dword [0x4b61a0]
push dword [0x4b619c]
push str.GetOSVersion____Service_Pack:__d._d__Build__d_
call fcn.004699e0
add esp, 0x30
call fcn.0043d890
mov dword [0x4b61a4], eax
test eax, eax
je 0x43cae1
push str.GetOSVersion____Windows_64_bits
call fcn.00469d40
add esp, 4
cmp dword [0x4b604c], 0
je 0x43ca93
push 0x4938c0
push 5
push 0x4b6068
mov dword [0x4b6048], 1
call fcn.00470452
push str.Windows_XP_64
jmp 0x43cc9b
push 0x4938e4
push 0x20
push 0x4b6078
call fcn.0046ef44
push 1
push 0x4938ec
push 0x48d7ec
push 5
push 0x4b6068
call fcn.00440630
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x28
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f33a
mov esp, ebp
pop ebp
ret
push str.GetOSVersion____Windows_32_bits
jmp 0x43ccd1
cmp dword [ebp - 0x11c], 4
jne 0x43ccd9
cmp dword [ebp - 0x118], 0
jne 0x43cbca
push 0x493910
push 5
push 0x4b6068
mov dword [0x4b6038], 1
call fcn.00470452
push str.Windows_95
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
mov ax, word [ebp - 0x10a]
add esp, 0x20
cmp ax, 0x43
jne 0x43cb6d
push 0x4938ec
push 4
push 0x4b60b8
call fcn.00470452
mov dword [0x4b619c], 2
jmp 0x43cbab
cmp ax, 0x42
jne 0x43cb90
push 0x48d7ec
push 4
push 0x4b60b8
call fcn.00470452
mov dword [0x4b619c], 1
jmp 0x43cbab
push 0x493968
push 4
push 0x4b60b8
call fcn.00470452
mov dword [0x4b619c], 0
push 0x4b60b8
push str.GetOSVersion____Version__s
call fcn.004699e0
add esp, 0x14
cmp dword [ebp - 0x11c], 4
jne 0x43ccd9
cmp dword [ebp - 0x118], 0xa
jne 0x43cc72
push 0x49396c
push 5
push 0x4b6068
mov dword [0x4b603c], 1
call fcn.00470452
push 0x493974
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
cmp word [ebp - 0x10a], 0x41
jne 0x43cc41
push 0x49398c
push 4
push 0x4b60b8
call fcn.00470452
mov dword [0x4b619c], 1
push str.GetOSVersion____Version_SE
jmp 0x43cc61
push 0x48f734
push 4
push 0x4b60b8
call fcn.00470452
mov dword [0x4b619c], 0
push str.GetOSVersion____Version_FE
call fcn.00469d40
add esp, 0x10
cmp dword [ebp - 0x11c], 4
jne 0x43ccd9
cmp dword [ebp - 0x118], 0x5a
jne 0x43ccd9
push 0x4939c8
push 5
push 0x4b6068
mov dword [0x4b6040], 1
call fcn.00470452
push str.Windows_Millennium
push 0x20
push 0x4b6078
call fcn.00470452
push 0x4b6078
push str.GetOSVersion_____s
call fcn.004699e0
add esp, 0x20
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046f33a
mov esp, ebp
pop ebp
ret
push str.GetOSVersion____Microsoft_Win32s
call fcn.00469d40
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.0046f33a
mov esp, ebp
pop ebp
ret