Function at 0x411720
Capabilities:
Check os version
Terminate process

Disassembly:
sub esp, 0x164
mov eax, dword [0x4527b8]
push esi
mov esi, dword [esp + 0x16c]
push edi
push 0
mov dword [esp + 0x16c], eax
mov dword [0x466ba0], esi
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [str.zh_cn]
mov cx, word [0x440508]
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], eax
mov word [esp + 0x38], cx
call fcn.00417cc0
mov al, byte [esp + 0x34]
add esp, 4
test al, al
jne 0x41178d
mov eax, dword [0x466ba0]
push 1
push 0x418550
push 0
push 0x201
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
call fcn.00417d20
push 0x4114f0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x3c], 0x94
call edi
test eax, eax
jne 0x4117c0
push str.NO_OS_VER
call fcn.0040dfb0
mov edx, dword [esp + 0x48]
cmp edx, 2
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [0x466b88], ecx
mov dword [0x466b8c], eax
jne 0x41186c
cmp ecx, 5
jne 0x411824
test eax, eax
jne 0x4117f8
mov dword [0x466b84], 7
jmp 0x4118c0
cmp eax, 1
jne 0x41180c
mov dword [0x466b84], 8
jmp 0x4118c0
cmp eax, 2
jne 0x4118b6
mov dword [0x466b84], 9
jmp 0x4118c0
cmp ecx, 6
jne 0x41184a
test eax, eax
jne 0x41183c
mov dword [0x466b84], 0xa
jmp 0x4118c0
jle 0x4118b6
mov dword [0x466b84], 0xb
jmp 0x4118c0
cmp ecx, 7
jl 0x41185b
mov dword [0x466b84], 0xb
jmp 0x4118c0
cmp ecx, 4
jne 0x4118b6
mov dword [0x466b84], 6
jmp 0x4118c0
cmp edx, 1
jne 0x4118a8
cmp ecx, 4
jne 0x4118b6
test eax, eax
jne 0x411886
mov dword [0x466b84], 2
jmp 0x4118c0
cmp eax, 0xa
jne 0x411897
mov dword [0x466b84], 3
jmp 0x4118c0
cmp eax, 0x5a
jne 0x4118b6
mov dword [0x466b84], 4
jmp 0x4118c0
test edx, edx
mov dword [0x466b84], 1
je 0x4118c0
mov dword [0x466b84], 0
push 0x1000
call dword [sym.imp.USER32.dll_GetSystemMetrics]
neg eax
sbb eax, eax
neg eax
mov dword [0x466b94], eax
cmp dword [0x466b88], 5
jge 0x411905
mov edx, dword [0x466b78]
push 0x10
push edx
push str.UNSUPPORTED_OS
call fcn.00417ce0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 1
call fcn.0041d8c5
lea eax, [esp + 0xcc]
push eax
mov dword [esp + 0xd0], 0x9c
call edi
test eax, eax
je 0x41195c
mov cx, word [esp + 0x160]
mov eax, dword [0x466b84]
sub eax, 7
movzx edx, cx
mov dword [0x466b90], edx
je 0x411949
dec eax
jne 0x41195c
cmp cx, 1
jae 0x41195c
push str.LARGE_IDE_WARNING_XP
jmp 0x411954
cmp cx, 3
jae 0x41195c
push str.LARGE_IDE_WARNING_2K
call fcn.00410a40
add esp, 4
mov ecx, dword [0x466ba0]
lea eax, [esp + 8]
push eax
push str.32770
push ecx
call dword [sym.imp.USER32.dll_GetClassInfoA]
test eax, eax
jne 0x411981
push str.INIT_REGISTER
call fcn.0040dfb0
push 0x1f5
push esi
call dword [sym.imp.USER32.dll_LoadIconA]
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], 0x440494
mov dword [esp + 0x14], 0x40e4c0
call esi
mov edi, dword [sym.imp.USER32.dll_RegisterClassA]
lea edx, [esp + 8]
push edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], 0x1e
call edi
test ax, ax
mov word [0x469440], ax
jne 0x4119de
push str.INIT_REGISTER
call fcn.0040dfb0
push 0x7f00
push 0
mov dword [esp + 0x34], 0x440488
mov dword [esp + 0x14], 0x40e3a0
call esi
mov dword [esp + 0x20], eax
lea eax, [esp + 8]
push eax
mov dword [esp + 0x18], 0x1e
call edi
test ax, ax
mov word [0x46c884], ax
jne 0x411a1f
push str.INIT_REGISTER
call fcn.0040dfb0
call fcn.0040e4f0
mov ecx, dword [esp + 0x168]
pop edi
pop esi
call fcn.0041d4a3
add esp, 0x164
ret