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

Disassembly:
push 0x378
mov eax, 0x11b6ce7
call fcn.010aa669
push 0x100e46c
push 0x28
mov esi, ecx
call fcn.010a5545
xor ebx, ebx
cmp byte [ebp + 8], bl
je 0x10a2ae1
push esi
call fcn.010b8eea
cmp eax, ebx
jge 0x10a2ae1
push esi
call fcn.010b8eea
mov edi, eax
cmp edi, ebx
jge 0x10a2ae1
push 0x274b
push 0x4c
push 0x100e014
call fcn.010b32d2
push eax
push 0x1235b98
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
push 1
push 0x614
mov ecx, 0x1233454
call fcn.010aaee2
mov eax, edi
jmp 0x10a2ea5
lea eax, [ebp - 0x124]
push eax
mov dword [ebp - 0x124], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x120], 6
sbb al, al
inc al
mov byte [esi + 0x8e], al
lea eax, [esi + 8]
push eax
call fcn.010b8276
lea eax, [esi + 0x80]
push eax
call fcn.010b80c3
lea eax, [ebp - 0x370]
push eax
call fcn.010b8473
test al, al
je 0x10a2b46
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x364]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], ecx
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
lea eax, [ebp - 0x370]
push eax
call fcn.010b858c
test al, al
je 0x10a2b6e
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x364]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
lea eax, [ebp - 0x370]
push eax
call fcn.010b86e6
test al, al
je 0x10a2b96
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x364]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
lea eax, [ebp - 0x334]
push eax
mov dword [ebp - 0x334], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
jne 0x10a2bf9
push 0x274c
push 0x97
push 0x100e014
call fcn.010b32d2
push eax
push 0x1235b98
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x10a2ea5
and eax, 0xffff
or eax, 0x80070000
jmp 0x10a2ea5
lea eax, [ebp - 0x380]
push eax
cmp dword [ebp - 0x334], ebx
je 0x10a2c10
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
jmp 0x10a2c16
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x36c]
mov dword [esi + 0x64], eax
lea edi, [esi + 0x70]
push edi
lea eax, [ebp - 0x384]
push eax
lea eax, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x340]
push eax
call fcn.010b9209
cmp eax, ebx
jne 0x10a2c68
mov ecx, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x340]
xor edx, edx
mov eax, ecx
div edi
xor edx, edx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x5c], edi
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x64]
div ecx
mov dword [esi + 0x68], eax
jmp 0x10a2c94
push 0x100e3f8
push eax
push 0xb5
push 0x100e014
call fcn.010a4cf0
mov eax, dword [esi + 0x64]
xor ecx, ecx
add esp, 0x10
inc ecx
mov byte [edi], bl
mov dword [esi + 0x68], ecx
mov dword [esi + 0x60], eax
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x5c], eax
mov dword [ebp - 0x334], ebx
mov dword [ebp - 0x358], ebx
mov dword [ebp - 0x354], ebx
mov dword [ebp - 0x350], ebx
mov dword [ebp - 0x34c], ebx
mov dword [ebp - 0x348], ebx
mov dword [ebp - 0x344], ebx
lea ecx, [ebp - 0x358]
mov dword [ebp - 4], ebx
call fcn.010b5869
mov dword [ebp - 0x338], ebx
cmp dword [ebp - 0x354], ebx
jne 0x10a2cea
push 0x32
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x33c], ebx
jmp 0x10a2cfe
lea eax, [ebp - 0x338]
push eax
push ebx
call dword [ebp - 0x354]
mov dword [ebp - 0x33c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0x1235b98
cmp eax, 0x7a
jne 0x10a2dd3
cmp byte [0x1232bd9], bl
je 0x10a2d57
push 0x18
push 0x100e3e4
push 0x100e3d0
push dword [ebp - 0x338]
push 0x100e380
push edi
call fcn.01084781
pop ecx
pop ecx
mov ecx, eax
call fcn.0108522a
push eax
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.010845db
pop ecx
pop ecx
mov ecx, eax
call fcn.0108522a
push 0x12330b6
push dword [ebp - 0x338]
call fcn.010aa735
pop ecx
pop ecx
mov dword [esi + 0x2a0], eax
cmp eax, ebx
je 0x10a2e36
lea ecx, [ebp - 0x338]
push ecx
push eax
lea ecx, [ebp - 0x358]
call fcn.010a1c4e
mov dword [ebp - 0x33c], eax
cmp eax, ebx
je 0x10a2dc4
mov eax, dword [ebp - 0x338]
push 0x18
xor edx, edx
pop ecx
div ecx
mov dword [esi + 0x2a4], eax
cmp byte [0x1232bd9], bl
je 0x10a2dd3
push eax
push 0x100e35c
push edi
call fcn.01084781
pop ecx
pop ecx
mov ecx, eax
call fcn.0108522a
cmp byte [0x1232bd9], bl
je 0x10a2dd3
push edi
call fcn.010855f6
pop ecx
cmp dword [ebp - 0x33c], ebx
jne 0x10a2e79
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x32
je 0x10a2e48
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x330]
call fcn.0107b963
lea eax, [ebp - 0x330]
push eax
push 0x100e348
push 0x100e2e8
push edi
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.01084781
pop ecx
pop ecx
push eax
call fcn.01084781
push eax
call fcn.010855f6
mov dword [ebp - 0x334], 0x80004005
jmp 0x10a2e61
lea ecx, [ebp - 0x358]
call fcn.0107acb8
mov eax, 0x8007000e
jmp 0x10a2ea5
cmp byte [0x1232bd9], bl
je 0x10a2e64
push 0x100e258
push edi
call fcn.01084781
push eax
call fcn.010855f6
add esp, 0xc
lea edi, [esi + 0x2a0]
mov eax, dword [edi]
cmp eax, ebx
je 0x10a2e79
push eax
call fcn.010a9620
pop ecx
mov dword [edi], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x358]
call fcn.0107acb8
call fcn.010a458d
cmp byte [ebp + 0xc], bl
je 0x10a2e9f
mov ecx, esi
call fcn.010a2a17
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
call fcn.010aa6fb
ret 8