Function at 0x1001eee1
Capabilities:
Check os version

Disassembly:
mov eax, 0x100612f8
call fcn.10060610
sub esp, 0x9c
mov byte [ebp - 0x40], dl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x1001f15f
cmp byte [ebp + 8], 0
je 0x1001f063
push 3
lea ecx, [ebp - 0x68]
call fcn.1000216e
push 0xfffffffffffffffe
xor ebx, ebx
lea eax, [ebp - 0x70]
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x54]
movdqa xmm0, xmmword [0x1006f4c0]
xor esi, esi
pop edi
push dword [ebp - 0x38]
mov dword [ebp - 0x18], 0xf7d65121
inc esi
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x24], esi
push eax
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x1c], edi
push ebx
movdqu xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
call fcn.1001bab4
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], 0x38140a97
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x38], 0xd3763964
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x14], ebx
jmp 0x1001ef96
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001ef8a
mov dword [ebp - 0x14], ebx
jmp 0x1001efaf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 0xef72d4ea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001efa1
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
imul ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x3c]
sub eax, 0xd7c8
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 5
setne al
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0xc9e520c3
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
lea ecx, [ebp - 0x54]
setge dl
mov dword [ebp - 0x30], edx
call fcn.100021cb
lea ecx, [ebp - 0x68]
call fcn.100021cb
jmp 0x1001f408
mov dword [ebp - 0x18], 0x55bb2c21
xor esi, esi
mov dword [ebp - 0x14], 0x3128
xor ebx, ebx
inc esi
cmp dword [ebp - 0x14], 0x325f
jle 0x1001f0f0
mov edi, ebx
mov dword [ebp - 0x18], edi
mov eax, edi
mov dword [ebp - 0x20], 0x6f7b
mov dword [ebp - 0x24], eax
mov edi, eax
mov dword [ebp - 0x1c], 0x258e
mov eax, edi
lea ecx, [ebp - 0xa4]
cdq
push edx
push eax
call fcn.10002b6b
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001f0b3
mov eax, dword [eax]
push eax
call fcn.10049d9f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0xa4]
call fcn.10017003
dec edi
dec dword [ebp - 0x1c]
jne 0x1001f099
mov eax, dword [ebp - 0x24]
dec eax
dec dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
jne 0x1001f090
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x410b
jl 0x1001f084
push ebx
push ebx
call dword [sym.imp.USER32.dll_CharLowerBuffW]
cmp dword [ebp - 0x14], 0x2f40
jge 0x1001f104
push str.hahw_bdjs_acv_kdbyz_obvrnewx_rsxeptih_jbmsnhrzp_cavm_qmhvxmy_kao_ddcn_euwqjd
call fcn.10049d9f
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x1001f11a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], 0x51f20002
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001f109
mov dword [ebp - 0x18], 0xffffffe3
cmp dword [ebp - 0x18], esi
jne 0x1001f408
push 2
pop edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x1001f152
mov byte [ebp - 0x29], bl
cmp byte [ebp - 0x29], 0
je 0x1001f14d
call dword [sym.imp.KERNEL32.dll_GetVersion]
dec dword [ebp - 0x20]
jns 0x1001f13e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
je 0x1001f133
jmp 0x1001f408
test dl, dl
je 0x1001f170
push 0
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
jmp 0x1001f408
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x48]
mov dword [ebp - 0x44], eax
push ecx
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x44]
push eax
push ecx
call fcn.1001cfa4
mov edi, dword [ebp - 0x44]
add esp, 0xc
xor ebx, ebx
mov esi, ebx
mov cl, byte [esi + edi]
mov dl, 7
call fcn.10024708
mov byte [esi + edi], al
inc esi
cmp esi, 4
jb 0x1001f193
mov dword [ebp - 0x24], 0x1b25
cmp dword [ebp - 0x24], 0x1d0f
jle 0x1001f210
push ebx
push 0xb43
push 0x50f
push ebx
call dword [sym.imp.GDI32.dll_SetPaletteEntries]
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov eax, edi
mov dword [ebp - 0x38], ebx
and eax, esi
mov dword [ebp - 0x34], eax
mov esi, eax
mov eax, esi
mov ecx, 0x1007bf78
or eax, ebx
cdq
push edx
push eax
call fcn.100168d8
inc ebx
cmp ebx, 0x1125
jl 0x1001f1db
mov esi, dword [ebp - 0x1c]
inc edi
push 0
pop ebx
cmp edi, 0x17a8
jl 0x1001f1cf
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x4d8d
jl 0x1001f1cd
mov dword [ebp - 0x14], 0x3b26bdde
mov dword [ebp - 4], 3
cmp dword [ebp - 0x24], 0x195c
jge 0x1001f236
mov edx, str.slnvvd_nbhqbkug_sxlaowri
mov ecx, 0x1007bf78
call fcn.1001ac5a
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0x3faa058a
xor esi, esi
mov dword [ebp - 0x1c], 0x89b93b3b
inc esi
mov dword [ebp - 0x20], 0xb2c3cc8c
mov dword [ebp - 0x30], 0x2db22c08
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1001f295
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x28], 0x389a9b8f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001f287
push 2
mov dword [ebp - 0x14], ebx
pop edi
jmp 0x1001f2b0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x70], 0xfdda7840
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001f2a2
mov dword [ebp - 0x14], 0xfffffff5
jmp 0x1001f333
mov dword [ebp - 0x24], 0xe93d
mov dword [ebp - 0x18], ebx
jmp 0x1001f2d8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xfffffffb
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1001f2ca
xor cl, cl
call fcn.1001f71f
mov dword [ebp - 0x58], esi
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x24]
test eax, eax
setns cl
cmp ecx, 0xfffffff6
jne 0x1001f303
mov ecx, esi
cmp dword [ebp - 0x14], ebx
jne 0x1001f305
mov ecx, ebx
xor eax, eax
cmp ecx, 0xe5e5
setle al
xor ecx, ecx
cmp eax, 0xfff6
setne cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
add eax, 0xdb76efde
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jne 0x1001f2be
mov dword [ebp - 0x14], 0xce22
cmp dword [ebp - 0x14], ebx
je 0x1001f353
mov dword [ebp - 0x14], 0x422f
mov edx, esi
cmp dword [ebp - 0x14], ebx
jne 0x1001f355
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
sete cl
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setge dl
mov dword [ebp - 0x24], edx
xor edx, edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [ebp - 0x28]
setle dl
sub edx, eax
mov eax, 0x8f438361
cmp eax, edx
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
sub eax, edx
je 0x1001f3ac
cmp dword [ebp - 0x1c], ebx
je 0x1001f3ac
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x28]
jmp 0x1001f3af
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setl dl
xor eax, eax
cmp edx, 0x6370
setne al
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x38], eax
setge cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x1001f3e0
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
sub edx, eax
mov eax, dword [ebp - 0x34]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setge cl
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret