Function at 0x4f1e16
Capabilities:
Check os version

Disassembly:
push 0x1e4
mov eax, 0x537341
call fcn.005137ab
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
push dword [eax]
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x130], esi
call fcn.004f0ea1
xor ebx, ebx
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], ebx
call fcn.004021e0
push ebx
lea eax, [ebp - 0x128]
push eax
push dword [0x588d38]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 1
call fcn.004f0ed8
test eax, eax
je 0x4f1e94
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
je 0x4f1e94
cmp eax, 0x20
jl 0x4f1e84
push 0x20
pop eax
add eax, eax
push eax
push ecx
lea eax, [esi + 0x1c]
push eax
call fcn.005159c0
add esp, 0xc
push dword [0x588cfc]
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x12c], ebx
call fcn.004062b0
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 2
call fcn.004f1ca9
mov ecx, dword [ebp - 0x140]
add ecx, 0xfffffff0
mov edi, eax
mov byte [ebp - 4], 1
call fcn.004021c0
cmp edi, ebx
je 0x4f1ee8
mov eax, dword [ebp - 0x12c]
mov dword [esi], eax
cmp dword [esi], ebx
jle 0x4f1f3b
push dword [0x588cf8]
lea ecx, [ebp - 0x13c]
call fcn.004062b0
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 3
call fcn.004f1ca9
mov ecx, dword [ebp - 0x13c]
add ecx, 0xfffffff0
mov edi, eax
mov byte [ebp - 4], 1
call fcn.004021c0
cmp edi, ebx
je 0x4f1f3b
mov eax, dword [ebp - 0x12c]
mov dword [esi + 4], eax
push ebx
lea eax, [ebp - 0x128]
push eax
push dword [0x588d44]
lea ecx, [ebp - 0x138]
call fcn.004f0ed8
test eax, eax
je 0x4f20a3
mov ecx, 0x320
mov esi, 0x190
mov edi, 0xc8
mov edx, 0x258
lea eax, [ecx + 0x64]
mov dword [ebp - 0x1cc], esi
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x1f0], str.DONTCARE
mov dword [ebp - 0x1ec], ebx
mov dword [ebp - 0x1e8], str.THIN
mov dword [ebp - 0x1e4], 0x64
mov dword [ebp - 0x1e0], str.EXTRALIGHT
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x1d8], str.LIGHT
mov dword [ebp - 0x1d4], 0x12c
mov dword [ebp - 0x1d0], str.NORMAL
mov dword [ebp - 0x1c8], str.MEDIUM
mov dword [ebp - 0x1c4], 0x1f4
mov dword [ebp - 0x1c0], str.SEMIBOLD
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x1b8], str.BOLD
mov dword [ebp - 0x1b4], 0x2bc
mov dword [ebp - 0x1b0], str.EXTRABOLD
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a8], str.HEAVY
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], str.ULTRALIGHT
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x198], str.REGULAR
mov dword [ebp - 0x190], str.DEMIBOLD
mov dword [ebp - 0x18c], edx
mov dword [ebp - 0x188], str.ULTRABOLD
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], str.BLACK
mov dword [ebp - 0x17c], eax
xor esi, esi
push dword [ebp + esi*8 - 0x1f0]
lea ecx, [ebp - 0x128]
call fcn.004061a0
test eax, eax
je 0x4f2093
inc esi
cmp esi, 0xf
jb 0x4f2075
jmp 0x4f20a3
mov eax, dword [ebp + esi*8 - 0x1ec]
mov ecx, dword [ebp - 0x130]
mov dword [ecx + 0x10], eax
push ebx
lea eax, [ebp - 0x128]
push eax
push dword [0x588d40]
lea ecx, [ebp - 0x138]
call fcn.004f0ed8
test eax, eax
je 0x4f2198
mov dword [ebp - 0x178], str.DEFAULT
mov byte [ebp - 0x174], bl
mov dword [ebp - 0x170], str.DRAFT
mov byte [ebp - 0x16c], 1
mov dword [ebp - 0x168], str.PROOF
mov byte [ebp - 0x164], 2
mov dword [ebp - 0x160], str.NONANTIALIASED
mov byte [ebp - 0x15c], 3
mov dword [ebp - 0x158], str.ANTIALIASED
mov byte [ebp - 0x154], 4
mov dword [ebp - 0x150], str.CLEARTYPE
mov byte [ebp - 0x14c], 5
mov dword [ebp - 0x148], 0x55a784
mov byte [ebp - 0x144], 6
xor esi, esi
push dword [ebp + esi*8 - 0x178]
lea ecx, [ebp - 0x128]
call fcn.004061a0
test eax, eax
je 0x4f215a
inc esi
cmp esi, 7
jb 0x4f213c
jmp 0x4f2198
mov bl, byte [ebp + esi*8 - 0x174]
cmp bl, 4
jbe 0x4f218f
lea eax, [ebp - 0x124]
push eax
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x114], 2
jne 0x4f2198
cmp dword [ebp - 0x120], 5
jb 0x4f2198
mov eax, dword [ebp - 0x130]
mov byte [eax + 0x1a], bl
mov ecx, dword [ebp - 0x128]
add ecx, 0xfffffff0
call fcn.004021c0
lea ecx, [ebp - 0x138]
call fcn.004f0c00
xor eax, eax
inc eax
call fcn.0051382e
ret 8