Function at 0x401700
Capabilities:
Check os version
Identify system language via api

Disassembly:
sub esp, 0xe0
push esi
push edi
push 0
mov eax, dword [str.YSEUP080908.EXE]
push 2
push 0
push 0
mov ecx, dword [0x4090f4]
mov edx, dword [0x4090f8]
push 0
push 0
mov esi, dword [sym.imp.GDI32.dll_CreateFontA]
push 0
push 0
push 0
push 0x190
push 0
mov dword [esp + 0x3c], eax
mov eax, dword [0x4090fc]
push 0
push 0
push 0x1e
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
call esi
push 0
push 2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x1e
mov dword [0x415a0c], eax
call esi
push 0
push 2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x14
mov dword [0x40bc54], eax
call esi
push 0
push 2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x10
mov dword [0x40bc5c], eax
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0x1d7bb9
mov dword [0x415a00], eax
call esi
push 0
mov dword [0x415a10], eax
call esi
push 0x3cecff
mov dword [0x415a14], eax
call esi
push 0xb0eb
mov dword [0x415a18], eax
call esi
push 0xbfedfc
mov dword [0x415a1c], eax
call esi
push 0xffff00
mov dword [0x415a20], eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push 0x1000
push 0
mov dword [0x415a08], eax
call esi
push 0x1000
push 0
mov dword [0x415ae0], eax
call esi
mov dword [0x415bec], eax
mov ecx, 0x25
xor eax, eax
mov edi, 0x415a40
rep stosd dword es:[edi], eax
push 0x415a40
mov dword [0x415a40], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [0x415a44], 6
jb 0x40186f
mov dword [0x40ba30], 1
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
and eax, 0xffff
mov ecx, eax
and ecx, 0x800000ff
jns 0x40188c
dec ecx
or ecx, 0xffffff00
inc ecx
cmp ecx, 4
jne 0x4018a1
and al, 0
cmp eax, 0x800
sete dl
mov byte [0x40bc4c], dl
cmp dword [0x415a50], 1
jne 0x4018bc
call fcn.00401630
test eax, eax
jne 0x4018ce
pop edi
pop esi
add esp, 0xe0
ret
call fcn.004016a0
test eax, eax
jne 0x4018ce
pop edi
pop esi
add esp, 0xe0
ret
call fcn.00401450
test eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
jle 0x4019a8
push ebx
push ebp
lea ebp, [esp + 0x28]
mov ebx, 0x40bdc0
sub ebp, 0xf
push ebx
call fcn.00401cf0
mov edx, eax
mov ecx, 0x32
xor eax, eax
lea edi, [esp + 0x2c]
rep stosd dword es:[edi], eax
mov ecx, edx
mov esi, ebx
mov eax, ecx
lea edi, [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add esp, 4
and ecx, 3
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov ecx, 0xf
lea edi, [esp + 0x18]
lea esi, [edx + ebp]
repe cmpsb byte [esi], byte es:[edi]
je 0x40194c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
inc eax
add ebx, 0xc8
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4018f5
mov eax, dword [esp + 0x10]
pop ebp
pop ebx
test edx, edx
jle 0x40199a
cmp dword [esp + 0xc], eax
jge 0x40199a
lea ecx, [esp + 0x20]
push 0x4090ec
push ecx
call fcn.00402128
push 0x4090e8
push str.bug.txt
mov dword [0x40bc50], eax
call fcn.00402128
lea edx, [esp + 0x30]
mov esi, eax
push edx
push 0x4090dc
push esi
call fcn.004020d6
push esi
call fcn.00402080
add esp, 0x20
pop edi
mov eax, 1
pop esi
add esp, 0xe0
ret
mov edx, dword [esp + 8]
jmp 0x401952