Function at 0x42d0e0
Capabilities:
Check os version
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa08
mov eax, dword [0x55e2f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x988], 0
push 0x400
lea eax, [ebp - 0x808]
mov dword [ebp - 0x97c], ebx
push eax
push dword [ebx + 0x10]
mov dword [ebp - 0x98c], 0
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x994], 0
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x984]
mov dword [ebp - 0x984], 0
push eax
push 0
push 0
call sub.gdiplus.dll_GdipCreateStringFormat
push 5
push dword [ebp - 0x984]
mov dword [ebp - 0x980], eax
call sub.gdiplus.dll_GdipSetStringFormatTrimming
mov ecx, dword [ebp - 0x980]
test eax, eax
push dword [ebx + 0x10]
mov ebx, dword [sym.imp.USER32.dll_GetDC]
cmovne ecx, eax
mov dword [ebp - 0x980], ecx
call ebx
lea ecx, [ebp - 0x998]
mov dword [ebp - 0x998], 0
push ecx
push eax
call sub.gdiplus.dll_GdipCreateFromHDC
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x99c], eax
lea eax, [ebp - 0x978]
push eax
mov dword [ebp - 0x978], 0x114
call dword [sym.imp.KERNEL32.DLL_GetVersionExW]
push 0x5c
lea eax, [ebp - 0xa08]
push 0
push eax
call fcn.004e46b0
add esp, 0xc
lea eax, [ebp - 0x9ec]
cmp dword [ebp - 0x974], 6
jb 0x42d1e7
push 0x516dd4
jmp 0x42d1ec
push 0x516de0
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov ecx, 0x17
mov dword [ebp - 0xa08], 0xfffffff4
lea esi, [ebp - 0xa08]
lea edi, [ebp - 0x864]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x97c]
push dword [edi + 0x10]
call ebx
lea ecx, [ebp - 0x97c]
mov dword [ebp - 0x97c], 0
push ecx
lea ecx, [ebp - 0x864]
push ecx
push eax
call sub.gdiplus.dll_GdipCreateFontFromLogfontW
mov esi, dword [ebp - 0x97c]
lea ecx, [ebp - 0x808]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42d250
mov ebx, dword [ebp - 0x99c]
lea eax, [ebp - 0x994]
push 0
push 0
push eax
push dword [ebp - 0x984]
lea eax, [ebp - 0x9ac]
sub ecx, edx
push eax
push esi
sar ecx, 1
lea eax, [ebp - 0x808]
push ecx
push eax
xorps xmm0, xmm0
push ebx
movups xmmword [ebp - 0x9ac], xmm0
call sub.gdiplus.dll_GdipMeasureString
cvttss2si eax, dword [ebp - 0x98c]
cmp eax, 0x64
jge 0x42d2aa
mov eax, 0x64
jmp 0x42d2b4
mov ecx, 0xc8
cmp eax, ecx
cmovg eax, ecx
movd xmm0, eax
lea ecx, [ebp - 0x808]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x994], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x988], 0x447a0000
movss dword [ebp - 0x98c], xmm0
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42d2f0
push 0
push 0
lea eax, [ebp - 0x994]
sub ecx, edx
push eax
push dword [ebp - 0x984]
sar ecx, 1
push eax
push esi
push ecx
lea eax, [ebp - 0x808]
push eax
push ebx
call sub.gdiplus.dll_GdipMeasureString
movss xmm0, dword [ebp - 0x988]
addss xmm0, dword [ebp - 0x990]
push 0x50
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x994]
addss xmm0, dword [ebp - 0x98c]
push eax
addss xmm0, dword [0x51b284]
cvttss2si eax, xmm0
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_SetWindowPos]
push esi
call sub.gdiplus.dll_GdipDeleteFont
push ebx
call sub.gdiplus.dll_GdipDeleteGraphics
push dword [ebp - 0x984]
call sub.gdiplus.dll_GdipDeleteStringFormat
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004e1f40
mov esp, ebp
pop ebp
ret 8