Function at 0x1019f31
Capabilities:
Check os version

Disassembly:
push 0x38c
mov eax, 0x10566bf
call fcn.0100f1d3
mov esi, ecx
call fcn.0101846c
push 0x1f4
mov dword [ebp - 0x264], eax
xor ebx, ebx
lea eax, [ebp - 0x260]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x264]
push eax
push 0x1f8
push 0x29
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp eax, ebx
je 0x101a0b1
push 0x58
lea eax, [ebp - 0x68]
push ebx
push eax
mov dword [ebp - 0x6c], ebx
call sub.msvcrt.dll_memset
lea edi, [esi + 0xa4]
add esp, 0xc
cmp dword [edi], ebx
je 0x1019fa8
lea eax, [ebp - 0x6c]
push eax
mov ecx, edi
call fcn.01018b94
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x184]
jne 0x101a058
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x180]
jne 0x101a058
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x17c]
jne 0x101a058
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x178]
jne 0x101a058
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x174]
jne 0x101a058
mov al, byte [ebp - 0x58]
cmp al, byte [ebp - 0x170]
jne 0x101a058
mov al, byte [ebp - 0x57]
cmp al, byte [ebp - 0x16f]
jne 0x101a058
mov al, byte [ebp - 0x56]
cmp al, byte [ebp - 0x16e]
jne 0x101a058
mov al, byte [ebp - 0x55]
cmp al, byte [ebp - 0x16d]
jne 0x101a058
mov al, byte [ebp - 0x54]
cmp al, byte [ebp - 0x16c]
jne 0x101a058
mov al, byte [ebp - 0x53]
cmp al, byte [ebp - 0x16b]
jne 0x101a058
mov al, byte [ebp - 0x52]
cmp al, byte [ebp - 0x16a]
jne 0x101a058
mov al, byte [ebp - 0x51]
cmp al, byte [ebp - 0x169]
jne 0x101a058
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x101a0b1
lea eax, [ebp - 0x184]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0x380], eax
cmp eax, ebx
je 0x101a0b1
cmp dword [edi], ebx
je 0x101a07a
mov ecx, edi
call fcn.01010e7b
push dword [ebp - 0x380]
mov ecx, edi
call fcn.01010ed0
mov eax, dword [edi]
push 1
lea edi, [esi + 4]
push eax
mov ecx, edi
call fcn.010183f8
push 0x1002ca0
mov ecx, edi
call fcn.01018a93
push ebx
push ebx
push 0x421
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esi + 4]
lea ecx, [ebp - 0x388]
call fcn.01019792
mov dword [ebp - 4], ebx
push dword [esi + 0xa4]
push dword [ebp - 0x388]
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [sym.imp.USER32.dll_DrawTextW]
push 0x424
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
push eax
push 0xffffffffffffffff
push 0x1002c9c
push dword [ebp - 0x388]
mov dword [ebp - 0x398], ebx
mov dword [ebp - 0x394], ebx
mov dword [ebp - 0x390], ebx
mov dword [ebp - 0x38c], ebx
call edi
mov eax, dword [ebp - 0x390]
sub eax, dword [ebp - 0x398]
cmp eax, 4
jge 0x101a160
lea eax, [ebp - 0x398]
push eax
call dword [sym.imp.USER32.dll_SetRectEmpty]
push 0x424
lea eax, [ebp - 0x398]
push eax
push 0xffffffffffffffff
push 0x1002c98
push dword [ebp - 0x388]
call edi
mov eax, dword [ebp - 0x390]
sub eax, dword [ebp - 0x398]
mov dword [esi + 0xb0], eax
jmp 0x101a166
mov dword [esi + 0xb0], ebx
push dword [ebp - 0x380]
push dword [ebp - 0x388]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x110
lea eax, [ebp - 0x374]
push ebx
push eax
mov dword [ebp - 0x378], 0x114
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x378]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x374], 5
jb 0x101a25d
push ebx
lea eax, [ebp - 0x380]
push eax
push ebx
push 0x100a
mov dword [ebp - 0x380], 1
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp eax, ebx
je 0x101a1df
cmp dword [ebp - 0x380], ebx
jne 0x101a1df
mov al, 1
jmp 0x101a1e1
xor al, al
and al, 1
or al, 4
lea edi, [esi + 0x85]
mov cl, byte [edi]
add al, al
and cl, 0xfd
or al, cl
mov byte [edi], al
shr al, 1
not al
and al, 1
movzx eax, al
push eax
mov ecx, esi
call fcn.010191c6
cmp dword [ebp - 0x374], 5
jne 0x101a220
cmp dword [ebp - 0x370], 1
jae 0x101a222
cmp dword [ebp - 0x374], 5
jbe 0x101a25d
push ebx
lea eax, [ebp - 0x380]
push eax
push ebx
push 0x1022
mov dword [ebp - 0x380], ebx
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp eax, ebx
je 0x101a24c
cmp dword [ebp - 0x380], ebx
je 0x101a24c
mov al, 1
jmp 0x101a24e
xor al, al
lea edi, [esi + 0x85]
mov cl, byte [edi]
xor cl, al
and cl, 1
xor byte [edi], cl
call fcn.010152ba
test al, al
je 0x101a343
call fcn.01018418
test al, al
je 0x101a343
test byte [esi + 0x58], 0x10
jne 0x101a343
push 0x1002c80
mov byte [ebp - 0x379], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x380], eax
cmp eax, ebx
je 0x101a31c
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1002c70
push eax
call edi
cmp eax, ebx
je 0x101a2bc
call eax
mov byte [ebp - 0x379], 1
test eax, eax
jne 0x101a2c2
mov byte [ebp - 0x379], bl
push 0x1002c64
push dword [ebp - 0x380]
call edi
cmp byte [ebp - 0x379], bl
je 0x101a2e8
cmp eax, ebx
je 0x101a2e8
call eax
mov byte [ebp - 0x379], 1
test eax, eax
jne 0x101a2ee
mov byte [ebp - 0x379], bl
push dword [ebp - 0x380]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp - 0x379], bl
jne 0x101a31c
test byte [esi + 0x86], 1
je 0x101a31c
cmp dword [esi + 0x44], ebx
je 0x101a31c
cmp dword [esi + 0x50], ebx
jle 0x101a31c
mov ecx, esi
call fcn.0101921a
add esi, 0x86
mov al, byte [esi]
xor al, byte [ebp - 0x379]
and al, 1
xor byte [esi], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.010197cc
call fcn.0100f265
ret
mov byte [ebp - 0x379], bl
jmp 0x101a302