Function at 0x21106130
Capabilities:
Check os version
Get system information on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xf0
cmp dword [0x2111c50c], 0
je 0x2110614e
mov eax, dword [0x2111c50c]
jmp 0x211064a1
call sym.AhnHelper.dll__AntiHookGetMainThreadId_0
mov dword [ebp - 0xd8], 0xc
mov eax, dword [ebp - 0xd8]
push eax
call fcn.2110975c
add esp, 4
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x211061a1
mov ecx, dword [ebp - 0xd8]
push ecx
push 0
mov edx, dword [ebp - 0xdc]
push edx
call fcn.21108e50
add esp, 0xc
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
jmp 0x211061ab
mov dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xe0]
mov dword [0x2111c50c], ecx
mov edx, dword [0x2111c50c]
mov dword [ebp - 0xc8], edx
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov dword [ebp - 0xa0], 0
push 0x98
push 0
lea ecx, [ebp - 0x9c]
push ecx
call fcn.21108e50
add esp, 0xc
mov dword [ebp - 0xa0], 0x9c
lea edx, [ebp - 0xa0]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 4
je 0x21106245
cmp dword [ebp - 0xe4], 5
je 0x211062b4
cmp dword [ebp - 0xe4], 6
je 0x21106358
jmp 0x21106404
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xe8], ecx
cmp dword [ebp - 0xe8], 0
je 0x2110626e
cmp dword [ebp - 0xe8], 0xa
je 0x21106293
cmp dword [ebp - 0xe8], 0x5a
je 0x211062a2
jmp 0x211062af
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], 1
cmp dword [ebp - 0x90], 2
jne 0x21106291
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], 2
jmp 0x211062af
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 4], 4
jmp 0x211062af
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], 8
jmp 0x2110642f
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
je 0x211062dd
cmp dword [ebp - 0xec], 1
je 0x211062ec
cmp dword [ebp - 0xec], 2
je 0x211062fb
jmp 0x21106353
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 4], 0x10
jmp 0x21106353
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], 0x20
jmp 0x21106353
movzx eax, byte [ebp - 6]
cmp eax, 1
jne 0x2110631f
movzx ecx, word [ebp - 0xc4]
cmp ecx, 9
jne 0x2110631f
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], 0x40
jmp 0x21106353
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x2110633a
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], 0x80
jmp 0x21106353
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x21106353
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 4], 0x100
jmp 0x2110642f
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], 3
ja case.default.0x21106377
mov eax, dword [ebp - 0xf0]
jmp dword [eax*4 + 0x211064a8]
movzx ecx, byte [ebp - 6]
sub ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 0x200
add ecx, 0x200
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], ecx
jmp case.default.0x21106377
movzx eax, byte [ebp - 6]
sub eax, 1
neg eax
sbb eax, eax
and eax, 0x800
add eax, 0x800
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 4], eax
jmp case.default.0x21106377
movzx edx, byte [ebp - 6]
sub edx, 1
neg edx
sbb edx, edx
and edx, 0x1c00
add edx, 0x400
mov eax, dword [ebp - 0xc8]
mov dword [eax + 4], edx
jmp case.default.0x21106377
movzx ecx, byte [ebp - 6]
sub ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 0x3000
add ecx, 0x1000
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], ecx
jmp 0x2110642f
push 0x2111606c
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebp - 0xc8]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax], 0
mov dword [ebp - 0xd0], 0
jmp 0x2110644a
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0xf
jae 0x2110649c
mov edx, dword [ebp - 0xd0]
imul edx, edx, 0xc
add edx, 0x2111a1a0
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd4]
mov edx, dword [eax + 4]
cmp edx, dword [ecx + 4]
jne 0x2110649a
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x2110649c
jmp 0x2110643b
mov eax, dword [0x2111c50c]
mov esp, ebp
pop ebp
ret