Function at 0x4145c4
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x464]
sub esp, 0x4e4
mov eax, dword [0x437b00]
xor eax, ebp
mov dword [ebp + 0x460], eax
push ebx
push esi
xor esi, esi
push str.PPxMess
mov dword [0x43b520], 0x41dba9
mov dword [0x43b524], 0x42fe8c
mov dword [0x43b528], 0x436030
mov dword [0x43b52c], esi
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push 0x43b400
mov dword [0x43b660], eax
mov dword [0x43b400], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push 0x1220
push esi
push 0x43b8a0
call fcn.004229f0
add esp, 0xc
push 0x43cab4
call dword [sym.imp.PPLIB32W.DLL__ThInit_4]
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov ax, word [0x436034]
push 0x43b580
mov word [0x43602a], ax
call fcn.0041e558
call fcn.0041b850
mov al, byte [0x4369b4]
push 0x14
mov ebx, 0x4369a4
push ebx
push 0x436028
push str._WinPos
mov byte [ebp - 0x51], al
call dword [sym.imp.PPLIB32W.DLL__GetCustTable_16]
test eax, eax
je 0x4146a7
mov eax, dword [0x4369a4]
add dword [0x4369ac], eax
mov eax, dword [0x4369a8]
add dword [0x4369b0], eax
mov al, byte [ebp - 0x51]
cmp al, 0xa
je 0x4146b9
cmp al, 1
je 0x4146b9
mov byte [0x4369b4], al
jmp 0x4146cd
mov al, byte [0x4369b4]
cmp al, 2
je 0x4146c6
test al, al
jne 0x4146cd
mov byte [0x4369b4], 1
push edi
call fcn.00413ce3
test byte [0x43689c], 2
je 0x41474b
mov esi, dword [sym.imp.PPLIB32W.DLL__PPxGetHWND_4]
mov edi, 0x42fe84
push edi
mov dword [ebp - 0x58], 0xc8
call esi
mov dword [0x438fb8], eax
test eax, eax
jne 0x414714
push 0x43b680
push str.PPTRAYW.EXE
push eax
call dword [sym.imp.PPLIB32W.DLL__ComExec_12]
mov eax, dword [0x438fb8]
test eax, eax
je 0x41471b
cmp eax, 0xfefffffe
jne 0x414730
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
call esi
dec dword [ebp - 0x58]
mov dword [0x438fb8], eax
jne 0x414710
push 0
push 0xbae8
push dword [0x43b660]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [0x438fb8], eax
xor esi, esi
push dword [0x439078]
mov edi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
call edi
push dword [0x4368f0]
mov dword [0x438af0], eax
call edi
mov dword [0x43b88c], eax
call dword [sym.imp.PPLIB32W.DLL__UsePPx_0]
push esi
push 0x200
call dword [sym.imp.PPLIB32W.DLL__EnumHistory_8]
cmp eax, esi
je 0x4147af
mov edi, 0x436344
mov edx, edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
inc eax
inc eax
cmp cx, si
jne 0x41478a
push esi
push esi
push 0x258
push 0x4360ec
push 0xffffffffffffffff
push edi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call dword [sym.imp.PPLIB32W.DLL__FreePPx_0]
mov eax, dword [0x43b530]
push 1
push eax
mov dword [ebp - 0x80], 8
mov dword [ebp - 0x7c], 0x40390e
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], eax
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x7f00
push esi
mov dword [ebp - 0x6c], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], str.PaperPlaneVUIW
call dword [sym.imp.USER32.dll_RegisterClassW]
push 0x437818
push str.MV_menu
push 0x43b1e0
call dword [sym.imp.PPLIB32W.DLL__InitDynamicMenu_12]
mov eax, dword [0x438fb0]
cmp eax, esi
jne 0x414851
mov esi, dword [0x43689c]
push dword [0x43902c]
mov edi, dword [0x438fb8]
and esi, 0x100
neg esi
sbb esi, esi
and esi, 0x7f400000
push ebx
add esi, 0xcf0000
call fcn.004142ca
jmp 0x4148ac
push ebx
push eax
cmp dword [0x438fb4], esi
jne 0x41489b
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x4369a4]
sub dword [0x4369ac], eax
mov eax, dword [0x4369a8]
sub dword [0x4369b0], eax
or dword [0x43689c], 4
mov dword [0x4369a8], esi
mov dword [0x4369a4], esi
mov esi, 0x46000000
mov dword [0x43b2d4], 1
jmp 0x4148a6
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, 0x82800000
mov edi, dword [0x438fb0]
mov ecx, dword [0x4369a8]
mov eax, dword [0x4369b0]
mov edx, dword [0x4369a4]
xor ebx, ebx
push ebx
push dword [0x43b530]
sub eax, ecx
push ebx
push edi
push eax
mov eax, dword [0x4369ac]
sub eax, edx
push eax
push ecx
push edx
push esi
push 0x42d7a8
push str.PaperPlaneVUIW
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x43b52c], eax
pop edi
cmp eax, ebx
je 0x414a1e
push ebx
push eax
call dword [sym.imp.PPLIB32W.DLL__FixUxTheme_8]
push 0xfffffffffffffffe
push 0x436030
push dword [0x43b52c]
call dword [sym.imp.PPLIB32W.DLL__PPxRegist_12]
movzx eax, word [0x436034]
push eax
lea eax, [ebp - 0x50]
push str.PPV__c_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [0x43b52c]
call dword [sym.imp.USER32.dll_GetDC]
push dword [0x43b52c]
mov esi, eax
push 0x439048
call fcn.00420756
push dword [0x4368bc]
push esi
call fcn.00414463
push 0xc
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push dword [0x43b52c]
mov dword [0x43a82c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [0x43b52c]
push 0x43b1e0
call dword [sym.imp.PPLIB32W.DLL__InitSystemDynamicMenu_8]
push 3
call dword [sym.imp.PPLIB32W.DLL__VFSOn_4]
push 0x436028
push dword [0x43b52c]
mov dword [0x43ad00], ebx
push 0x43ad00
mov dword [0x43ad28], ebx
call fcn.0041ea60
mov eax, dword [0x43b158]
mov ecx, eax
or ecx, dword [0x439060]
mov dword [0x43b270], ecx
cmp eax, ebx
je 0x4149d6
mov dword [0x4368a0], ebx
call fcn.00413a88
mov eax, dword [0x4390c0]
cmp eax, ebx
je 0x414a13
push dword [0x43b52c]
dec eax
neg eax
sbb eax, eax
and eax, 0x90000
add eax, 0xba4b
push eax
push dword [0x43b660]
push dword [0x438fb0]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
push 0x43b520
call dword [sym.imp.PPLIB32W.DLL__PPxRegGetIInfo_4]
mov ecx, dword [ebp + 0x460]
pop esi
xor ecx, ebp
pop ebx
call fcn.00422725
add ebp, 0x464
leave
ret