Function at 0x457820
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x380
mov eax, dword [0x610304]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x1f0
xor ebx, ebx
lea eax, [ebp - 0x250]
push ebx
push eax
mov edi, ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
push ebx
lea ecx, [ebp - 0x254]
push ecx
push 0x1f4
push 0x29
mov dword [ebp - 0x254], 0x1f4
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x45798a
push 0x58
lea edx, [ebp - 0x5c]
push ebx
push edx
mov dword [ebp - 0x60], ebx
call sub.MSVCR80.dll_memset
mov eax, dword [edi + 0x14]
add esp, 0xc
cmp eax, ebx
je 0x45789c
lea ecx, [ebp - 0x60]
push ecx
push 0x5c
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov edx, dword [ebp - 0x60]
cmp edx, dword [ebp - 0x174]
jne 0x45794c
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x170]
jne 0x45794c
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x16c]
jne 0x45794c
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0x168]
jne 0x45794c
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x164]
jne 0x45794c
mov cl, byte [ebp - 0x4c]
cmp cl, byte [ebp - 0x160]
jne 0x45794c
mov dl, byte [ebp - 0x4b]
cmp dl, byte [ebp - 0x15f]
jne 0x45794c
mov al, byte [ebp - 0x4a]
cmp al, byte [ebp - 0x15e]
jne 0x45794c
mov cl, byte [ebp - 0x49]
cmp cl, byte [ebp - 0x15d]
jne 0x45794c
mov dl, byte [ebp - 0x48]
cmp dl, byte [ebp - 0x15c]
jne 0x45794c
mov al, byte [ebp - 0x47]
cmp al, byte [ebp - 0x15b]
jne 0x45794c
mov cl, byte [ebp - 0x46]
cmp cl, byte [ebp - 0x15a]
jne 0x45794c
mov dl, byte [ebp - 0x45]
cmp dl, byte [ebp - 0x159]
jne 0x45794c
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x45798a
lea edx, [ebp - 0x174]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov esi, eax
cmp esi, ebx
je 0x45798a
cmp dword [edi + 0x14], ebx
je 0x457975
mov eax, dword [edi + 0x14]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x457975
mov dword [edi + 0x14], ebx
mov eax, dword [edi + 0x14]
cmp eax, ebx
je 0x457987
cmp eax, esi
je 0x457987
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [edi + 0x14], esi
cmp edi, ebx
je 0x457996
lea eax, [edi - 0x3d4]
jmp 0x457998
xor eax, eax
mov eax, dword [eax + 0x3d0]
push eax
mov dword [ebp - 0x380], eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov esi, eax
mov eax, dword [edi + 0x14]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x424
lea ecx, [ebp - 0x37c]
push ecx
push 0xffffffffffffffff
push 0x5a4cb8
push esi
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x37c], ebx
mov dword [ebp - 0x378], ebx
mov dword [ebp - 0x374], ebx
mov dword [ebp - 0x370], ebx
call dword [sym.imp.USER32.dll_DrawTextW]
mov edx, dword [ebp - 0x374]
sub edx, dword [ebp - 0x37c]
cmp edx, 4
jge 0x457a39
lea eax, [ebp - 0x37c]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
push 0x424
lea ecx, [ebp - 0x37c]
push ecx
push 0xffffffffffffffff
push 0x5a4cb4
push esi
call dword [sym.imp.USER32.dll_DrawTextW]
mov edx, dword [ebp - 0x374]
sub edx, dword [ebp - 0x37c]
mov dword [edi + 0x18], edx
jmp 0x457a3c
mov dword [edi + 0x18], ebx
mov eax, dword [ebp - 0x36c]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x110
lea ecx, [ebp - 0x364]
push ebx
push ecx
mov dword [ebp - 0x368], 0x114
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [ebp - 0x368]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x364]
cmp eax, 5
jne 0x457a8c
cmp dword [ebp - 0x360], 1
jae 0x457a8e
jmp 0x457abc
jbe 0x457abc
push ebx
lea eax, [ebp - 0x36c]
push eax
push ebx
push 0x1022
mov dword [ebp - 0x36c], ebx
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x457ab9
cmp dword [ebp - 0x36c], ebx
je 0x457ab9
mov ebx, 1
mov byte [edi + 0x1c], bl
mov ecx, dword [ebp - 0x380]
push esi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00584870
mov esp, ebp
pop ebp
ret