Function at 0x102f9100
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
push 5
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x1035083c], eax
push 6
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp eax, dword [0x1035083c]
jle 0x102f914c
push 6
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x1035083c], eax
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateDCA]
mov dword [ebp - 0x70], eax
cmp dword [ebp + 8], 0
jne 0x102f917b
push 0x10350850
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1e8]
call ecx
add esp, 4
push 0x10350850
mov edx, dword [0x10351288]
mov eax, dword [edx + 0x1f0]
call eax
add esp, 4
mov dword [ebp - 0x1c8], 0x158
mov dword [ebp - 0x260], 0x94
lea ecx, [ebp - 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x25c], 6
jae 0x102f91ca
mov edx, dword [ebp - 0x1c8]
sub edx, 4
mov dword [ebp - 0x1c8], edx
push 0
lea eax, [ebp - 0x1c8]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
push 0x29
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
lea edx, [ebp - 0x128]
push edx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
lea edx, [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
lea ecx, [ebp - 0x24]
push ecx
push 0x20
mov edx, dword [ebp - 0x70]
push edx
call dword [sym.imp.GDI32.dll_GetTextFaceA]
push 0x5a
mov eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 0x48
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x60]
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x50], 0x2bc
jl 0x102f924d
mov dword [ebp - 0x28], 1
movzx edx, byte [ebp - 0x3c]
test edx, edx
je 0x102f925c
mov dword [ebp - 0x30], 1
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
mov eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x70]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [ebp - 0x24]
push eax
push 0x10350850
mov ecx, dword [0x10351288]
mov edx, dword [ecx + 0x1e0]
call edx
add esp, 8
mov eax, dword [ebp - 0x2c]
push eax
push 0x1034ee78
lea ecx, [ebp - 0x278]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x278]
push edx
push 0x10350850
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1e0]
call ecx
add esp, 8
cmp dword [ebp - 0x28], 0
jne 0x102f92e2
cmp dword [ebp - 0x30], 0
je 0x102f9370
lea edx, [ebp - 0x350]
push edx
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1f0]
call ecx
add esp, 4
cmp dword [ebp - 0x28], 0
je 0x102f931b
push str.bold
lea edx, [ebp - 0x350]
push edx
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1e0]
call ecx
add esp, 8
cmp dword [ebp - 0x30], 0
je 0x102f933d
push str.italic
lea edx, [ebp - 0x350]
push edx
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1e0]
call ecx
add esp, 8
mov edx, dword [ebp - 0x350]
push edx
push 0x10350850
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1e0]
call ecx
add esp, 8
lea edx, [ebp - 0x350]
push edx
mov eax, dword [0x10351288]
mov ecx, dword [eax + 0x1e8]
call ecx
add esp, 4
call sym.tk85.dll_TkWinGetPlatformId
cmp eax, 1
jl 0x102f93bf
push 0x48
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x10350844], eax
push 7
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
push 5
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add esi, eax
push 0x47
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea esi, [esi + eax + 7]
and esi, 0xfff8
push 7
call dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esi, eax
mov dword [0x10350848], esi
jmp 0x102f93f7
call dword [sym.imp.USER32.dll_GetMenuCheckMarkDimensions]
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x354]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
mov dword [0x10350844], eax
mov ecx, dword [ebp - 0x354]
and ecx, 0xffff
movzx edx, cx
mov dword [0x10350848], edx
mov dword [0x10350840], 1
call sym.tk85.dll_TkWinGetPlatformId
cmp eax, 2
jne 0x102f941f
push 0
push 0x10350840
push 0
push 0x100a
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1022118e
mov esp, ebp
pop ebp
ret