Function at 0x100256b9
Capabilities:
Check os version

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x17c
mov eax, dword [0x1009a008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 0x14]
push esi
mov dword [ebp - 0x16c], eax
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x15c]
push eax
xor esi, esi
lea eax, [ebp - 0x160]
push eax
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x158], 0xf
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x15c], esi
mov dword [ebp - 0x164], esi
call fcn.10037056
test eax, eax
je 0x10025727
xor eax, eax
jmp 0x10025746
push ebx
call dword [ebp - 0x160]
mov ebx, eax
shr eax, 8
cmp al, 1
je 0x10025755
push dword [ebp - 0x164]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.10062074
leave
ret 0x10
push edi
mov edi, 0x94
push edi
lea eax, [ebp - 0x148]
push esi
push eax
call fcn.100620c0
add esp, 0xc
lea eax, [ebp - 0x148]
push eax
mov dword [ebp - 0x148], edi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x138], 2
jne 0x100257fb
movzx ebx, bl
mov dword [ebp - 0x14c], esi
cmp ebx, esi
jbe 0x100257ce
xor eax, eax
lea edi, [ebp - 0x17c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, byte [ebp - 0x14c]
mov byte [ebp - 0x17a], al
lea eax, [ebp - 0x17c]
push eax
mov byte [ebp - 0x17c], 7
call dword [ebp - 0x15c]
inc dword [ebp - 0x14c]
pop ecx
cmp dword [ebp - 0x14c], ebx
jb 0x10025795
call dword [ebp - 0x160]
mov ebx, eax
shr eax, 8
cmp al, 1
je 0x100257f1
push dword [ebp - 0x164]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
pop edi
jmp 0x10025745
mov dword [ebp - 0x158], 0x3f
movzx eax, bl
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x174], eax
cmp eax, esi
jbe 0x10025922
xor ebx, ebx
cmp dword [ebp - 0x158], esi
jbe 0x1002590a
push 0x50
lea eax, [ebp - 0x54]
push esi
push eax
call fcn.100620c0
push 0x60
pop edi
push edi
lea eax, [ebp - 0xb4]
push esi
push eax
call fcn.100620c0
mov al, byte [ebp - 0x14c]
mov byte [ebp - 0x52], al
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 0x54], 2
mov byte [ebp - 0x4c], bl
mov byte [ebp - 0x4b], 0
mov byte [ebp - 0x51], 8
mov byte [ebp - 0x3f], 6
mov byte [ebp - 0x24], 0x12
mov byte [ebp - 0x20], 0x60
mov dword [ebp - 0x48], edi
mov byte [ebp - 0x40], 0xe
call dword [ebp - 0x15c]
add esp, 0x1c
cmp eax, esi
jne 0x1002589c
xor edi, edi
cmp byte [ebp - 0x53], 0
jne 0x10025898
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0xa
jl 0x10025884
movzx eax, byte [ebp - 0x53]
cmp eax, 1
jne 0x100258fd
mov al, byte [ebp - 0xb4]
and al, 0x1f
cmp al, byte [ebp + 8]
je 0x100258b4
cmp byte [ebp + 8], 0xff
jne 0x100258fd
mov al, byte [ebp - 0x14c]
inc dword [ebp - 0x168]
push esi
mov byte [ebp - 0x153], al
lea eax, [ebp - 0x154]
push eax
push dword [ebp - 0x16c]
mov byte [ebp - 0x154], 1
push 0xa
mov byte [ebp - 0x152], 0
mov byte [ebp - 0x151], bl
mov byte [ebp - 0x150], 0
call dword [ebp - 0x170]
cmp byte [ebp + 0xc], 1
je 0x1002592d
inc ebx
cmp ebx, dword [ebp - 0x158]
jb 0x10025820
inc dword [ebp - 0x14c]
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x174]
jb 0x10025812
mov esi, dword [ebp - 0x168]
jmp 0x100257dd
xor esi, esi
inc esi
jmp 0x100257dd