Function at 0x4723d6
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x124
mov eax, dword [0x52472c]
xor eax, ebp
mov dword [ebp + 0x74], eax
push ebx
push edi
push 0x118
lea eax, [ebp - 0xa4]
push 0
push eax
call fcn.004b4140
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExW]
add esp, 0xc
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 0x11c
call edi
mov dword [ebp - 0xac], eax
test eax, eax
jne 0x472447
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], 0x114
call edi
test eax, eax
jne 0x472447
push 0x4f8894
jmp 0x47280a
mov eax, dword [ebp - 0x98]
sub eax, 0
je 0x472805
dec eax
je 0x47278c
dec eax
jne 0x47243d
xor ebx, ebx
inc ebx
cmp dword [ebp - 0xa4], 6
jne 0x4725e3
cmp dword [ebp - 0xa0], 3
jne 0x47249b
cmp byte [ebp + 0x72], bl
jne 0x47243d
call fcn.00456ec0
test al, al
je 0x472491
push str.Windows_8.1_x64
jmp 0x47280a
push str.Windows_8.1_x86
jmp 0x47280a
cmp dword [ebp - 0xa0], 2
jne 0x4724e6
cmp byte [ebp + 0x72], bl
jne 0x4724c6
call fcn.00456ec0
test al, al
je 0x4724bc
push str.Windows_8_x64
jmp 0x47280a
push str.Windows_8_x86
jmp 0x47280a
call fcn.00456ec0
test al, al
je 0x4724d9
push str.Windows_Server_2012_x64
jmp 0x47280a
cmp dword [ebp - 0xa4], 6
jne 0x4725e3
cmp dword [ebp - 0xa0], ebx
jne 0x47255f
cmp byte [ebp + 0x72], bl
jne 0x47252e
call fcn.00456ec0
test al, al
movzx eax, word [ebp + 0x6c]
je 0x472517
dec eax
je 0x47250d
push str.Windows_7_x64
jmp 0x47280a
push str.Windows_7_x64_Service_Pack_1
jmp 0x47280a
dec eax
je 0x472524
push str.Windows_7_x86
jmp 0x47280a
push str.Windows_7_x86_Service_Pack_1
jmp 0x47280a
call fcn.00456ec0
test al, al
je 0x472552
movzx eax, word [ebp + 0x6c]
dec eax
je 0x472548
push str.Windows_Server_2008_R2_x64
jmp 0x47280a
push str.Windows_Server_2008_R2_x64_Service_Pack_1
jmp 0x47280a
cmp dword [ebp - 0xa4], 6
jne 0x4725e3
cmp dword [ebp - 0xa0], 0
jne 0x47243d
cmp byte [ebp + 0x72], bl
jne 0x4725c6
call fcn.00456ec0
test al, al
movzx eax, word [ebp + 0x6c]
je 0x4725a2
dec eax
je 0x472598
dec eax
je 0x47258e
push str.Windows_Vista_x64
jmp 0x47280a
push str.Windows_Vista_x64_Service_Pack_2
jmp 0x47280a
push str.Windows_Vista_x64_Service_Pack_1
jmp 0x47280a
dec eax
je 0x4725bc
dec eax
je 0x4725b2
push str.Windows_Vista_x86
jmp 0x47280a
push str.Windows_Vista_x86_Service_Pack_2
jmp 0x47280a
push str.Windows_Vista_x86_Service_Pack_1
jmp 0x47280a
call fcn.00456ec0
test al, al
je 0x4725d9
push str.Windows_Server_2008_x64
jmp 0x47280a
push str.Windows_Server_2008_x86
jmp 0x47280a
cmp dword [ebp - 0xa4], 5
jne 0x47271d
cmp dword [ebp - 0xa0], 2
jne 0x47267f
cmp byte [ebp + 0x72], bl
jne 0x47262a
movzx eax, word [ebp + 0x6c]
dec eax
je 0x472620
dec eax
je 0x472616
push str.Windows_XP_x64
jmp 0x47280a
push str.Windows_XP_x64_Service_Pack_2
jmp 0x47280a
push str.Windows_XP_x64_Service_Pack_1
jmp 0x47280a
call fcn.00456ec0
test al, al
movzx eax, word [ebp + 0x6c]
je 0x47265b
dec eax
je 0x472651
dec eax
je 0x472647
push str.Windows_Server_2003_x64
jmp 0x47280a
push str.Windows_Server_2003_x64_Service_Pack_2
jmp 0x47280a
push str.Windows_Server_2003_x64_Service_Pack_1
jmp 0x47280a
dec eax
je 0x472675
dec eax
je 0x47266b
push str.Windows_Server_2003_x86
jmp 0x47280a
push str.Windows_Server_2003_x86_Service_Pack_2
jmp 0x47280a
push str.Windows_Server_2003_x86_Service_Pack_1
jmp 0x47280a
cmp dword [ebp - 0xa0], ebx
jne 0x4726c5
cmp dword [ebp - 0xac], 0
jne 0x47269a
push str.Windows_XP_x86
jmp 0x47280a
movzx eax, word [ebp + 0x6c]
dec eax
je 0x4726bb
dec eax
je 0x4726b1
dec eax
jne 0x472690
push str.Windows_XP_x86_Service_Pack_3
jmp 0x47280a
push str.Windows_XP_x86_Service_Pack_2
jmp 0x47280a
push str.Windows_XP_x86_Service_Pack_1
jmp 0x47280a
cmp dword [ebp - 0xa0], 0
jne 0x47243d
cmp dword [ebp - 0xac], 0
jne 0x4726e5
push str.Windows_2000
jmp 0x47280a
movzx eax, word [ebp + 0x6c]
dec eax
je 0x472713
dec eax
je 0x472709
dec eax
je 0x4726ff
dec eax
jne 0x4726db
push str.Windows_2000_Service_Pack_4
jmp 0x47280a
push str.Windows_2000_Service_Pack_3
jmp 0x47280a
push str.Windows_2000_Service_Pack_2
jmp 0x47280a
push str.Windows_2000_Service_Pack_1
jmp 0x47280a
cmp dword [ebp - 0xa4], 4
ja 0x47243d
cmp dword [ebp - 0xac], 0
jne 0x47273d
push str.Windows_NT_4.0
jmp 0x47280a
movzx eax, word [ebp + 0x6c]
dec eax
je 0x472785
dec eax
je 0x47277b
dec eax
je 0x472771
dec eax
je 0x472767
dec eax
je 0x47275d
dec eax
jne 0x472733
push str.Windows_NT_4.0_Service_Pack_6
jmp 0x47280a
push str.Windows_NT_4.0_Service_Pack_5
jmp 0x47280a
push str.Windows_NT_4.0_Service_Pack_4
jmp 0x47280a
push str.Windows_NT_4.0_Service_Pack_3
jmp 0x47280a
push str.Windows_NT_4.0_Service_Pack_2
jmp 0x47280a
push str.Windows_NT_4.0_Service_Pack_1
jmp 0x47280a
cmp dword [ebp - 0xa4], 4
jne 0x47243d
cmp dword [ebp - 0xa0], 0
jne 0x4727c6
cmp dword [ebp - 0x9c], 0x3b6
jbe 0x4727b5
push str.Windows_95_OSR
jmp 0x47280a
cmp word [ebp - 0x92], 0x43
jne 0x472805
push str.Windows_95_OSR2.5
jmp 0x47280a
cmp dword [ebp - 0xa0], 0xa
jne 0x4727f1
cmp word [ebp - 0x92], 0x41
je 0x4727ea
cmp word [ebp - 0x92], 0x42
je 0x4727ea
push str.Windows_98
jmp 0x47280a
push str.Windows_98_SE
jmp 0x47280a
cmp dword [ebp - 0xa0], 0x5a
jne 0x47243d
push str.Windows_Millennium
jmp 0x47280a
push str.Windows_95
push esi
call fcn.004054bc
mov ecx, dword [ebp + 0x74]
pop edi
xor ecx, ebp
mov eax, esi
pop ebx
call fcn.004b1fae
add ebp, 0x78
leave
ret