Function at 0x401a30
Capabilities:
Check os version
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1a0]
push ebx
sub esp, 0x1bc
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x18c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x18c], 0x18
mov dword [ebp - 0x1a0], 0x4e004c
mov dword [ebp - 0x19c], str.KernelObjects__wine_user_shared_data
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x180], pe_nt_image_headers32
mov dword [esp + 4], 0xf001f
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_NtOpenSection]
sub esp, 0xc
test eax, eax
je 0x401ad5
test byte [0x40a160], 2
jne 0x401e66
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x1a8]
mov dword [esp + 0x10], 0x710
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [sym.imp.kernelbase.dll_MapViewOfFile]
mov edi, eax
mov eax, dword [ebp - 0x1a8]
sub esp, 0x14
mov dword [esp], eax
call dword [sym.imp.kernelbase.dll_CloseHandle]
push ecx
test edi, edi
je 0x401f6d
mov dword [ebp - 0x128], 0x11c
lea eax, [ebp - 0x128]
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlGetVersion]
lea eax, [ebp - 0x154]
mov ebx, dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
push edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x2c
mov dword [esp + 4], eax
mov dword [esp], 0
call ebx
lea eax, [ebp - 0x198]
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], eax
mov dword [esp], 1
call ebx
mov dword [edi + 4], 0x1000000
mov eax, dword [ebp - 0x11c]
sub esp, 0x10
mov byte [edi + 0x268], 1
mov dword [edi + 0x260], eax
movzx eax, byte [ebp - 0xe]
mov dword [edi + 0x244], 0x200000
mov dword [edi + 0x264], eax
movzx eax, word [ebp - 0x198]
mov byte [edi + 0x2d5], 2
mov word [edi + 0x26a], ax
mov eax, dword [ebp - 0x124]
mov dword [edi + 0x26c], eax
mov eax, dword [ebp - 0x120]
mov dword [edi + 0x270], eax
movzx eax, word [ebp - 0x10]
mov dword [edi + 0x2d0], eax
mov eax, dword [ebp - 0x148]
mov dword [edi + 0x2e8], eax
lea eax, [edi + 0x30]
mov dword [esp + 4], str.C:windows
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_wcscpy]
movzx eax, word [ebp - 0x198]
cmp ax, 9
je 0x401fa3
ja 0x401dad
test ax, ax
je 0x401fa3
cmp ax, 5
jne 0x401c65
mov eax, dword [ebp - 0x190]
mov byte [edi + 0x286], al
shr eax, 1
and eax, 1
and byte [edi + 0x286], 1
cmp word [ebp - 0x196], 7
mov byte [edi + 0x287], al
seta byte [edi + 0x291]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
cmp byte [edi + 0x29b], 0
mov eax, dword [eax + 0x64]
mov byte [edi + 0x3c4], 1
mov dword [edi + 0x3c0], eax
je 0x401d9e
xor eax, eax
mov ecx, eax
cpuid
mov esi, eax
test byte [0x40a160], 8
jne 0x401e93
cmp eax, 0xc
jle 0x401d9e
mov eax, 1
xor ecx, ecx
cpuid
and ecx, 0x8000000
je 0x401d9e
mov eax, 0xd
xor ecx, ecx
cpuid
mov esi, eax
and esi, 2
je 0x401d9e
mov esi, 0xd
mov dword [edi + 0x600], ebx
mov ecx, 1
mov dword [edi + 0x604], 0xa0
mov eax, esi
cpuid
mov edx, eax
and eax, 1
mov ecx, 2
mov dword [edi + 0x608], 0x100
mov dword [edi + 0x60c], 0x100
shr edx, 1
mov dword [edi + 0x3f4], 0xa0
and edx, 1
mov dword [edi + 0x3fc], 0x100
add edx, edx
mov dword [edi + 0x404], 0x100
or edx, eax
movzx eax, byte [edi + 0x3ec]
mov dword [edi + 0x3f8], 0xa0
mov dword [edi + 0x400], 0x240
and eax, 0xfffffffc
mov dword [edi + 0x3d8], 7
or edx, eax
mov eax, esi
mov byte [edi + 0x3ec], dl
mov dword [edi + 0x3dc], 0
mov dword [edi + 0x3e0], 7
mov dword [edi + 0x3e4], 0
mov dword [edi + 0x3e8], 0x340
cpuid
test byte [0x40a160], 8
jne 0x4020c4
mov dword [esp], edi
call dword [sym.imp.kernelbase.dll_UnmapViewOfFile]
push eax
jmp 0x401acd
cmp ax, 0xc
jne 0x401c65
mov eax, dword [ebp - 0x190]
mov byte [edi + 0x291], 1
mov byte [edi + 0x276], 1
mov edx, eax
shr eax, 3
mov byte [edi + 0x280], 1
and eax, 1
shr edx, 2
mov byte [edi + 0x28b], 1
mov byte [edi + 0x292], al
and edx, 1
lea eax, [ebp - 0x174]
mov byte [edi + 0x293], dl
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x1a4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x20
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov dword [esp], 0xb5
call dword [sym.imp.ntdll.dll_NtQuerySystemInformationEx]
sub esp, 0x18
test eax, eax
jne 0x401c65
xor edx, edx
movzx eax, word [ebp + edx*4 - 0x174]
test ax, ax
je 0x401c65
cmp ax, 0x14c
je 0x4020fd
cmp ax, 0x1c4
jne 0x401e63
mov word [edi + 0x286], 0x101
inc edx
jmp 0x401e39
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.cannot_open___wine_user_shared_data:__lx_n
mov dword [esp + 8], str.create_user_shared_data
mov dword [esp + 4], 0x40a160
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_1
jmp 0x401acd
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Max_cpuid_level__x._n
mov dword [esp + 8], str.initialize_xstate_features
mov dword [esp + 4], 0x40a160
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
cmp esi, 0xc
jle 0x401d9e
mov eax, 1
xor ecx, ecx
cpuid
mov esi, ecx
test byte [0x40a160], 8
je 0x401cb2
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.CPU_features__x___x___x___x._n
mov dword [esp + 8], str.initialize_xstate_features
mov dword [esp + 4], 0x40a160
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
and esi, 0x8000000
je 0x401d9e
mov eax, 0xd
xor ecx, ecx
cpuid
mov esi, eax
test byte [0x40a160], 8
je 0x401cc9
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.XSAVE_details__x___x___x___x._n
mov dword [esp + 8], str.initialize_xstate_features
mov dword [esp + 4], 0x40a160
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x401cc9
test byte [0x40a160], 2
je 0x401acd
mov dword [esp + 0xc], str.cannot_map___wine_user_shared_data_n
mov dword [esp + 8], str.create_user_shared_data
mov dword [esp + 4], 0x40a160
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_1
jmp 0x401acd
mov eax, dword [ebp - 0x190]
mov byte [edi + 0x28b], 1
mov edx, eax
shr dl, 7
mov byte [edi + 0x276], dl
mov edx, eax
shr edx, 8
and edx, 1
mov byte [edi + 0x277], dl
mov edx, eax
shr edx, 0xd
and edx, 1
mov byte [edi + 0x27a], dl
mov edx, eax
shr edx, 0xe
and edx, 1
mov byte [edi + 0x27b], dl
mov edx, eax
shr edx, 1
and edx, 1
mov byte [edi + 0x27c], dl
mov edx, eax
shr edx, 0x15
and edx, 1
mov byte [edi + 0x27d], dl
mov edx, eax
shr edx, 0x10
and edx, 1
mov byte [edi + 0x27e], dl
mov edx, eax
shr edx, 0x13
and edx, 1
mov byte [edi + 0x281], dl
mov edx, eax
shr edx, 0xf
and edx, 1
mov byte [edi + 0x298], dl
mov edx, eax
shr edx, 0x17
and edx, 1
mov byte [edi + 0x285], dl
mov edx, eax
shr edx, 0x14
and edx, 1
mov byte [edi + 0x282], dl
mov edx, eax
shr edx, 0x16
and edx, 1
mov byte [edi + 0x27f], dl
mov edx, eax
shr edx, 0x1d
and edx, 1
mov byte [edi + 0x280], dl
mov edx, eax
shr edx, 0x1a
and edx, 1
mov byte [edi + 0x288], dl
mov edx, eax
shr edx, 0x1b
and edx, 1
mov byte [edi + 0x289], dl
mov edx, eax
shr edx, 0x1c
and edx, 1
mov byte [edi + 0x28a], dl
mov edx, eax
shr edx, 0x18
and edx, 1
mov byte [edi + 0x299], dl
mov edx, eax
shr edx, 0x19
and edx, 1
mov byte [edi + 0x29a], dl
mov edx, eax
shr eax, 0x1f
shr edx, 0x1e
mov byte [edi + 0x29c], al
and edx, 1
mov byte [edi + 0x29b], dl
jmp 0x401c65
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.XSAVE_feature_2__x___x___x___x._n
mov dword [esp + 8], str.initialize_xstate_features
mov dword [esp + 4], 0x40a160
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_1
jmp 0x401d9e
mov byte [edi + 0x277], 1
inc edx
mov byte [edi + 0x27a], 1
mov byte [edi + 0x27c], 1
mov byte [edi + 0x27e], 1
mov byte [edi + 0x281], 1
mov byte [edi + 0x294], 1
mov word [edi + 0x298], 0x101
mov byte [edi + 0x29a], 1
jmp 0x401e39