Function at 0x415b75
Capabilities:
Check os version

Disassembly:
push 0x210
mov eax, 0x46a39e
call fcn.00468ea6
mov esi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b0], eax
mov eax, dword [0x475014]
mov ebx, 0x100
cmp eax, 0x475014
je 0x415bc2
test dword [eax + 0x1c], ebx
je 0x415bc2
cmp byte [eax + 0x19], 4
jb 0x415bc2
push dword [eax + 0x14]
mov edi, 0x408010
push dword [eax + 0x10]
mov edx, edi
push 0x1d
pop ecx
call fcn.00414ca8
jmp 0x415bc7
mov edi, 0x408010
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 5
jb 0x415cb3
mov eax, 0x80
push eax
push 0xe
push eax
call dword [sym.imp.MFC42u.dll_AfxFindResourceHandle]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
test eax, eax
jne 0x415c4c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x475014]
cmp ecx, 0x475014
je 0x415c26
test dword [ecx + 0x1c], ebx
je 0x415c26
cmp byte [ecx + 0x19], 2
jb 0x415c26
push esi
push 0x407e00
push dword [ecx + 0x14]
mov edx, edi
push dword [ecx + 0x10]
push 0x1e
pop ecx
call fcn.00414cf4
call fcn.00416549
test eax, eax
je 0x415eec
push 0x10326
push esi
push 0x8003
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x415eec
push eax
push 0x40800c
push dword [esi + 0x7c]
push dword [ebp - 0x1b0]
call dword [sym.imp.SHELL32.dll_ShellAboutW]
test eax, eax
jne 0x415eec
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x415c9a
test dword [eax + 0x1c], ebx
je 0x415c9a
cmp byte [eax + 0x19], 2
jb 0x415c9a
push 0x3eb
push 0x407e14
push dword [eax + 0x14]
mov edx, edi
push dword [eax + 0x10]
push 0x1f
pop ecx
call fcn.00414cf4
call fcn.00416549
test eax, eax
je 0x415eec
push 0x1032e
push 0x3eb
jmp 0x415c39
push 0
push 0x64
lea ecx, [ebp - 0x21c]
call dword [0x478288]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x21c], 0x402858
call dword [sym.imp.MFC42u.dll_CString::CString_3]
xor eax, eax
mov dword [ebp - 4], 1
mov esi, 0xc6
mov word [ebp - 0x1ac], ax
push esi
push eax
lea eax, [ebp - 0x1aa]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
mov word [ebp - 0xe4], ax
push esi
push eax
lea eax, [ebp - 0xe2]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1ac]
push 0
push 0xa
push 0x407e2c
push 0x64
push eax
call fcn.00416647
mov esi, eax
add esp, 0x14
test esi, esi
jns 0x415da6
mov ecx, esi
and ecx, 0x1fff0000
cmp ecx, 0x70000
jne 0x415d50
movzx esi, si
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x415d7d
test dword [eax + 0x1c], ebx
je 0x415d7d
cmp byte [eax + 0x19], 2
jb 0x415d7d
push esi
push 0x407e38
push dword [eax + 0x14]
mov edx, edi
push dword [eax + 0x10]
push 0x20
pop ecx
call fcn.00414cf4
call fcn.00416549
test eax, eax
je 0x415d9a
push 0x10342
push esi
push 0x8003
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 4], 2
jmp 0x415ed0
push 0x271b
push 0x407fec
lea eax, [ebp - 0xe4]
push 0x64
push eax
call fcn.00416647
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x415e30
mov ecx, esi
and ecx, 0x1fff0000
cmp ecx, 0x70000
jne 0x415dda
movzx esi, si
mov eax, dword [0x475014]
cmp eax, 0x475014
je 0x415e07
test dword [eax + 0x1c], ebx
je 0x415e07
cmp byte [eax + 0x19], 2
jb 0x415e07
push esi
push 0x407e38
push dword [eax + 0x14]
mov edx, edi
push dword [eax + 0x10]
push 0x22
pop ecx
call fcn.00414cf4
call fcn.00416549
test eax, eax
je 0x415e24
push 0x10359
push esi
push 0x8003
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 4], 3
jmp 0x415ed0
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x1ac]
push eax
push 0xef42
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.MFC42u.dll_AfxFormatString2]
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], 1
call dword [sym.imp.MFC42u.dll_CDialog::DoModal]
mov dword [ebp - 4], 7
jmp 0x415ed0
lea ecx, [ebp - 0x1bc]
call dword [sym.imp.MFC42u.dll_CString::CString]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MFC42u.dll_CDialog::CDialog]
call fcn.00468de4
ret 4