Function at 0x4057a4
Capabilities:
Check os version
Terminate process

Disassembly:
push 0x124
mov eax, 0x4482e5
call fcn.0043325e
mov eax, dword [ebp + 8]
push eax
mov esi, ecx
push 0x65
mov dword [ebp - 0x130], esi
call fcn.00427a16
and dword [ebp - 4], 0
lea edi, [esi + 0x74]
mov ecx, edi
mov dword [esi], vtable.CInstallDlg.0
call fcn.004228dc
mov ebx, vtable.CButton.0
mov dword [edi], ebx
lea edi, [esi + 0xc8]
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.004228dc
mov dword [edi], ebx
lea ecx, [esi + 0x11c]
mov byte [ebp - 4], 2
call fcn.004228dc
mov edi, vtable.CStatic.0
mov dword [esi + 0x11c], edi
lea ecx, [esi + 0x170]
mov byte [ebp - 4], 3
call fcn.004228dc
mov dword [esi + 0x170], edi
lea ecx, [esi + 0x1c4]
mov byte [ebp - 4], 4
call fcn.004228dc
mov dword [esi + 0x1c4], edi
lea ecx, [esi + 0x218]
mov byte [ebp - 4], 5
call fcn.004228dc
mov dword [esi + 0x218], ebx
lea ecx, [esi + 0x26c]
mov byte [ebp - 4], 6
call fcn.004228dc
mov dword [esi + 0x26c], ebx
lea ecx, [esi + 0x2c0]
mov byte [ebp - 4], 7
call fcn.004228dc
mov dword [esi + 0x2c0], ebx
lea ecx, [esi + 0x314]
mov byte [ebp - 4], 8
call fcn.004228dc
mov dword [esi + 0x314], ebx
lea ebx, [esi + 0x368]
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.004228dc
mov dword [ebx], vtable.CProgressCtrl.0
lea ecx, [esi + 0x3bc]
call fcn.00404d7f
lea ecx, [esi + 0x3c0]
call fcn.00404d7f
lea ecx, [esi + 0x3c4]
mov byte [ebp - 4], 0xc
call fcn.004228dc
mov ebx, vtable.CComboBox.0
mov dword [esi + 0x3c4], ebx
lea ecx, [esi + 0x418]
mov byte [ebp - 4], 0xd
call fcn.004228dc
mov dword [esi + 0x418], ebx
mov byte [ebp - 4], 0xe
lea ecx, [esi + 0x46c]
call fcn.004228dc
mov dword [esi + 0x46c], ebx
lea ebx, [esi + 0x4c0]
mov ecx, ebx
mov byte [ebp - 4], 0xf
call fcn.004228dc
mov dword [ebx], edi
lea ebx, [esi + 0x514]
mov ecx, ebx
mov byte [ebp - 4], 0x10
call fcn.004228dc
mov dword [ebx], edi
xor ebx, ebx
push ebx
mov dword [esi + 0x594], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
lea ecx, [esi + 0x5bc]
mov byte [ebp - 4], 0x12
call fcn.004228dc
mov dword [esi + 0x5bc], edi
push 0x44aba0
lea ecx, [esi + 0x3bc]
mov byte [ebp - 4], 0x13
call fcn.004050dc
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, 0x11c
push edi
mov dword [0x45c044], eax
lea eax, [ebp - 0x12c]
push ebx
push eax
mov byte [0x45c032], bl
mov byte [0x45bf13], bl
mov byte [0x45c037], bl
call fcn.00432990
add esp, 0xc
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp - 0x12c], edi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x11c], 1
mov dword [esi + 0x568], ebx
mov dword [esi + 0x56c], ebx
mov dword [esi + 0x574], ebx
mov byte [0x45907c], 1
mov byte [esi + 0x578], 1
jbe 0x4059ff
cmp dword [ebp - 0x11c], 2
jne 0x405a42
cmp dword [ebp - 0x128], 5
mov byte [0x45bf12], 1
jb 0x4059ed
mov byte [0x45c037], 1
cmp dword [ebp - 0x128], 6
jb 0x405a38
mov byte [0x45bf13], 1
jmp 0x405a38
call dword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0xffff0000
cmp eax, 0xc0000000
jae 0x405a1a
mov byte [0x45bf12], 1
jmp 0x405a38
movzx eax, word [ebp - 0x120]
mov ecx, 0x457
cmp ecx, eax
sbb al, al
inc al
mov byte [0x45bf12], 0
mov byte [0x45c032], al
mov eax, esi
call fcn.004332e1
ret 4
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]