Function at 0x41cf25
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aee1d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xa0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x28]
test eax, eax
je 0x41d0cb
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x34], 0x413d
mov dword [ebp - 0x58], str.rliy_gjb_dzicxt_zanixdb_lfumvo_ctda_nhvuyxdr_jmvtuhgqy_utgoar_xxsjo_qqttzwx_ejmrrea_dmerhpqi_izq
cmp dword [ebp - 0x34], 0x44c8
jle 0x41cfdb
and dword [ebp - 0x30], 0
jmp 0x41cf80
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1f98
jge 0x41cfcd
and dword [ebp - 0x2c], 0
jmp 0x41cf96
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x76ea
jge 0x41cfcb
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
push dword [ebp - 0x84]
push dword [ebp - 0x88]
mov ecx, 0xae0558
call fcn.00441f36
jmp 0x41cf8f
jmp 0x41cf79
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
lea eax, [ebp + 0xc]
mov dword [ebp - 0x80], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x34], 0x3e61
jge 0x41cffb
mov edx, dword [ebp - 0x58]
mov ecx, 0xae0558
call fcn.004438dc
jmp 0x41d017
or dword [ebp - 4], 0xffffffff
jmp 0x41d021
mov eax, dword [ebp + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x80]
movzx eax, byte [eax]
test eax, eax
je 0x41d052
mov byte [ebp - 0x11], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x41d050
push 0
push 0x12d0
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
jmp 0x41d0c6
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x24]
mov dword [eax], 0xf
jmp 0x41d092
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0xa
jge 0x41d0c6
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
jmp 0x41d0b0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0x3a
jl 0x41d0c4
mov eax, dword [ebp - 0x60]
cmp dword [eax], 0
je 0x41d0c2
jmp 0x41d0c4
jmp 0x41d0a5
jmp 0x41d087
jmp 0x41d245
lea eax, [ebp + 0x24]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], 0x1ff6
mov dword [ebp - 0x7c], str.gpk_parjun_avowpitd
cmp dword [ebp - 0x38], 0x2042
jle 0x41d19d
and dword [ebp - 0x1c], 0
jmp 0x41d10e
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1a92
jge 0x41d19d
and dword [ebp - 0x20], 0
jmp 0x41d128
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x2806
jge 0x41d198
and dword [ebp - 0x28], 0
jmp 0x41d13e
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x399e
jge 0x41d196
mov eax, dword [ebp - 0x1c]
cdq
idiv dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
shl edx, cl
mov eax, edx
cdq
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], edx
push dword [ebp - 0x90]
push dword [ebp - 0x94]
lea ecx, [ebp - 0xb0]
call fcn.004019d3
pop ecx
pop ecx
mov ecx, eax
call fcn.00441f2b
push eax
call fcn.00499008
pop ecx
lea ecx, [ebp - 0xb0]
call fcn.00441f21
jmp 0x41d137
jmp 0x41d121
jmp 0x41d107
mov eax, dword [ebp - 0x8c]
movzx eax, byte [eax]
test eax, eax
je 0x41d1d5
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00442139
mov ecx, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x41d206
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
movzx eax, byte [eax]
test eax, eax
je 0x41d206
push 0
push 0
push 0xba8
push 0x1162
push 0
push 0x1c8f
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x38], 0x1e5a
jge 0x41d21f
push dword [ebp - 0x7c]
call fcn.00499008
pop ecx
jmp 0x41d23b
or dword [ebp - 4], 0xffffffff
jmp 0x41d245
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret