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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x100a82b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 9
pop ecx
xor eax, eax
push 0x11c
push eax
mov ebx, 0x100ab068
mov edi, 0x100ab040
push ebx
rep stosd dword es:[edi], eax
call fcn.1005c860
push str.Unknown
mov esi, 0x80
push esi
mov edi, 0x100aafc0
push edi
call fcn.1005a1db
add esp, 0x18
push ebx
mov dword [0x100ab068], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x1002975d
push ebx
mov dword [0x100ab068], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x10029af9
push str.GetNativeSystemInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x100ab040
test eax, eax
je 0x10029781
call eax
jmp 0x10029787
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ebx, dword [ebp - 0x10c]
mov cx, word [0x100ab17c]
test ebx, ebx
je 0x100297a0
movzx eax, cx
mov dword [0x100aafbc], eax
mov eax, dword [0x100ab078]
cmp eax, 2
jne 0x100299b5
mov eax, dword [0x100ab06c]
cmp eax, 7
jne 0x10029825
cmp dword [0x100ab070], 0
jne 0x10029a27
cmp byte [0x100ab182], 1
jne 0x100297d5
push str.WIN7.0
jmp 0x100297da
push str.WSV7.0
push esi
push edi
call fcn.1005a1db
add esp, 0xc
test ebx, ebx
je 0x10029ada
cmp dword [0x100aafbc], 0
je 0x10029ada
push 0x10099ca4
push esi
push edi
call fcn.1005c001
push 0xa
push esi
lea eax, [ebp - 0x84]
push eax
push dword [0x100aafbc]
call fcn.1005afef
lea eax, [ebp - 0x84]
jmp 0x10029acf
cmp eax, 6
jne 0x1002984e
cmp dword [0x100ab070], 0
jne 0x10029a27
cmp byte [0x100ab182], 1
jne 0x10029847
push str.WIN6.0
jmp 0x100297da
push str.WSV6.0
jmp 0x100297da
cmp eax, 5
jne 0x100299a6
mov eax, dword [0x100ab070]
cmp eax, 2
jne 0x10029951
xor bl, bl
cmp dword [ebp - 0x10c], 0
mov byte [ebp - 0x105], 0
je 0x100298a1
mov al, byte [0x100ab182]
cmp al, 3
je 0x10029884
cmp al, 2
jne 0x100298a1
mov ax, word [0x100ab040]
cmp ax, 6
jne 0x10029899
mov byte [ebp - 0x105], 1
jmp 0x100298a1
cmp ax, 9
jne 0x100298a1
mov bl, 1
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x100298d9
test bl, bl
je 0x100298c2
push str.WSV5.2_R64
push esi
push edi
call fcn.1005a1db
jmp 0x10029aef
cmp byte [ebp - 0x105], 0
je 0x100298d2
push str.WSV5.2_RIT
jmp 0x100298b6
push str.WSV5.2_R2
jmp 0x100298b6
cmp byte [0x100ab182], 1
jne 0x10029929
cmp word [0x100ab040], 9
jne 0x10029929
cmp dword [ebp - 0x10c], 0
je 0x10029922
mov ax, word [0x100ab17c]
cmp ax, 3
jb 0x10029908
push str.WIN5.2SP3_64
jmp 0x100298b6
cmp ax, 2
jne 0x10029915
push str.WIN5.2SP2_64
jmp 0x100298b6
cmp ax, 1
jne 0x10029922
push str.WIN5.2SP1_64
jmp 0x100298b6
push str.WIN5.2_64
jmp 0x100298b6
test bl, bl
je 0x10029934
push str.WSV5.2_64
jmp 0x100298b6
cmp byte [ebp - 0x105], 0
je 0x10029947
push str.WSV5.2_IT
jmp 0x100298b6
push str.WSV5.2
jmp 0x100298b6
cmp eax, 1
jne 0x10029994
test ebx, ebx
je 0x1002998a
cmp cx, 3
jb 0x1002996a
push str.WIN5.1SP3
jmp 0x100298b6
cmp cx, 2
jne 0x1002997a
push str.WIN5.1SP2
jmp 0x100298b6
cmp cx, 1
jne 0x1002998a
push str.WIN5.1SP1
jmp 0x100298b6
push str.WIN5.1
jmp 0x100298b6
test eax, eax
jne 0x10029a27
push str.WIN5.0
jmp 0x100298b6
cmp eax, 4
ja 0x10029a27
push str.WIN4.0
jmp 0x100298b6
cmp eax, 1
jne 0x10029a19
push 0x10099d78
push esi
push edi
call fcn.1005a1db
push 0xa
push esi
lea eax, [ebp - 0x84]
push eax
push dword [0x100ab06c]
call fcn.1005afef
lea eax, [ebp - 0x84]
push eax
push esi
push edi
call fcn.1005c001
push 0x10099d7c
push esi
push edi
call fcn.1005c001
push 0xa
push esi
lea eax, [ebp - 0x84]
push eax
push dword [0x100ab070]
call fcn.1005afef
add esp, 0x44
lea eax, [ebp - 0x84]
push eax
jmp 0x10029ae8
test eax, eax
jne 0x10029a27
push 0x10099d80
jmp 0x100298b6
cmp byte [0x100ab182], 1
jne 0x10029a37
push 0x10099d84
jmp 0x10029a3c
push 0x10099d88
push esi
push edi
call fcn.1005a1db
add esp, 0xc
push 0xa
push esi
lea eax, [ebp - 0x84]
push eax
push dword [0x100ab06c]
call fcn.1005afef
lea eax, [ebp - 0x84]
push eax
push esi
push edi
call fcn.1005c001
push 0x10099d7c
push esi
push edi
call fcn.1005c001
push 0xa
push esi
lea eax, [ebp - 0x84]
push eax
push dword [0x100ab070]
call fcn.1005afef
lea eax, [ebp - 0x84]
push eax
push esi
push edi
call fcn.1005c001
add esp, 0x44
test ebx, ebx
je 0x10029ada
cmp dword [0x100aafbc], 0
je 0x10029ada
push 0x10099ca4
push esi
push edi
call fcn.1005c001
push 0xa
push esi
lea eax, [ebp - 0x104]
push eax
push dword [0x100aafbc]
call fcn.1005afef
lea eax, [ebp - 0x104]
push eax
push esi
push edi
call fcn.1005c001
add esp, 0x28
call fcn.100296a0
test al, al
je 0x10029af2
push 0x10099ca8
push esi
push edi
call fcn.1005c001
add esp, 0xc
mov byte [0x100aba31], 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10059ccb
leave
ret