Function at 0x1078f65
Capabilities:
Check os version

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x29c
mov eax, dword [0x10c671c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push 0x102d948
mov esi, 0x102c6d8
push esi
push 0x45d
push 2
mov ebx, ecx
call fcn.0109642f
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0xc]
add esp, 0x10
cmp eax, 0x10
je 0x1078fc4
cmp eax, 0x20
je 0x1078fc4
push 0x102d908
push esi
push 0x462
push 2
call fcn.0109642f
add esp, 0x10
xor al, al
jmp 0x107968c
push edi
push 0x102d8d4
push esi
push 0x466
push 2
call fcn.0109642f
add esp, 0x10
push 0x20
call sub.d3d9.dll_Direct3DCreate9
mov edi, eax
test edi, edi
jne 0x1079001
push 0x102d8a4
push esi
push 0x46b
push 2
call fcn.0109642f
add esp, 0x10
jmp 0x1079645
push 0x102d870
push esi
push 0x46f
push 2
call fcn.0109642f
add esp, 0x10
push 0x102d854
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x120], eax
test eax, eax
je 0x1079076
push 0x102d808
push esi
push 0x474
push 2
call fcn.0109642f
add esp, 0x10
push 0x102d7f8
push dword [ebp - 0x120]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x1079062
push 0x102d7c0
push esi
push 0x479
jmp 0x1079081
mov ecx, dword [edi]
push eax
push edi
call dword [ecx + 0xc]
push 0x102d798
push esi
push 0x47e
jmp 0x1079081
push 0x102d774
push esi
push 0x485
push 2
call fcn.0109642f
add esp, 0x10
push 0x102d74c
push esi
push 0x489
push 2
call fcn.0109642f
add esp, 0x10
jmp 0x10790c1
call fcn.01082d66
test al, al
je 0x10790d6
cmp dword [ebx + 0x8c], 0
jne 0x10790d6
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.01082fd2
lea eax, [ebp - 0x29c]
push eax
push edi
mov ecx, ebx
call fcn.010781ad
test al, al
je 0x10790a2
jmp 0x1079114
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 0x102d6e8
push esi
push 0x49d
push 2
call fcn.0109642f
add esp, 0x10
push 1
push 0
push 0
push 0xfffe
push 1
push 0x386
push 0x385
call fcn.0109819c
push 0
call fcn.0108399f
push dword [ebp - 0x298]
push 0x102d6b4
push esi
push 0x4a2
push 2
call fcn.0109642f
add esp, 0x14
test dword [ebp - 0x280], 0x10000
mov byte [ebp - 0x119], 0
je 0x1079159
cmp dword [ebp - 0x29c], 1
jne 0x1079159
mov byte [ebp - 0x119], 1
mov eax, 0x102d6ac
jmp 0x107915e
mov eax, 0x102d6a4
push eax
push 0x102d674
push esi
push 0x4ae
push 2
call fcn.0109642f
mov eax, dword [ebp - 0x29c]
add esp, 0x14
dec eax
je 0x107919d
dec eax
je 0x1079190
dec eax
jne 0x10791b2
push 0x102d660
push esi
push 0x4b9
jmp 0x10791a8
push 0x102d64c
push esi
push 0x4be
jmp 0x10791a8
push 0x102d638
push esi
push 0x4b4
push 2
call fcn.0109642f
add esp, 0x10
mov eax, dword [edi]
lea ecx, [ebp - 0x16c]
push ecx
push dword [ebp - 0x298]
push edi
call dword [eax + 0x20]
mov eax, dword [ebp - 0x160]
push 0x15
push 3
push 0
push eax
push dword [ebp - 0x29c]
mov dword [ebx + 0x34], eax
push dword [ebp - 0x298]
mov ecx, dword [edi]
push edi
call dword [ecx + 0x28]
test eax, eax
jl 0x10791fd
mov eax, dword [ebx + 0x30]
cmp dword [eax + 0xc], 0x10
je 0x10791fd
mov byte [ebp - 0x11a], 0
jmp 0x1079264
mov eax, dword [edi]
push 0x17
push 3
push 0
push dword [ebp - 0x160]
push dword [ebp - 0x29c]
push dword [ebp - 0x298]
push edi
call dword [eax + 0x28]
test eax, eax
jge 0x107925d
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 0x102d5e8
push esi
push 0x4d4
push 2
call fcn.0109642f
add esp, 0x10
push 1
push 0
push 0
push 0xfffe
push 1
push 0x389
push 0x385
call fcn.0109819c
push 0
call fcn.0108399f
mov byte [ebp - 0x11a], 1
xor eax, eax
cmp byte [ebp - 0x11a], al
sete al
dec eax
and eax, 0xfffffff0
add eax, 0x20
push eax
push 0x102d5c0
push esi
push 0x4de
push 2
call fcn.0109642f
push 0x38
lea eax, [ebp - 0x15c]
push 0
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebx + 0x30]
xor ecx, ecx
add esp, 0x20
cmp byte [eax + 0x10], cl
sete cl
and dword [ebp - 0x138], 0
mov dword [ebp - 0x13c], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x150], ecx
mov edx, dword [eax]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x144], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x158], edx
mov eax, dword [eax + 4]
xor edx, edx
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x13c], edx
je 0x10792fb
mov eax, dword [ebp - 0x160]
jmp 0x1079315
xor eax, eax
cmp byte [ebp - 0x11a], al
mov dword [ebp - 0x12c], edx
setne al
mov dword [ebp - 0x128], edx
add eax, 0x16
push 0x110
mov dword [ebp - 0x154], eax
mov dword [ebx + 4], eax
push edx
lea eax, [ebp - 0x114]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
mov dword [ebp - 0x118], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push 0x102d578
push esi
push 0x513
push 2
call fcn.0109642f
xor eax, eax
add esp, 0x1c
cmp byte [ebp - 0x119], al
mov byte [ebp - 0x119], 0
sete al
dec eax
and eax, 0x20
add eax, 0x20
cmp dword [ebp - 0x114], 6
mov dword [ebp - 0x124], eax
jb 0x1079421
push 0x102d558
push esi
push 0x51c
push 2
call fcn.0109642f
add esp, 0x10
or dword [ebp - 0x124], 0x1000
mov byte [ebp - 0x119], 1
jmp 0x1079421
cmp dword [ebp - 0x120], 0x8876086c
jne 0x1079402
cmp byte [ebp - 0x119], 0
je 0x1079402
push 0x102d52c
push esi
push 0x532
push 2
call fcn.0109642f
add esp, 0x10
and dword [ebp - 0x124], 0xffffefff
mov byte [ebp - 0x119], 0
jmp 0x1079421
call fcn.01082d66
test al, al
je 0x107945c
cmp dword [ebx + 0x8c], 0
jne 0x107945c
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.01082fd2
mov ecx, dword [edi]
lea eax, [ebx + 0x3c]
push eax
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x124]
mov eax, dword [ebx + 0x30]
push dword [eax]
push dword [ebp - 0x29c]
push dword [ebp - 0x298]
push edi
call dword [ecx + 0x40]
mov dword [ebp - 0x120], eax
test eax, eax
jl 0x10793c5
jmp 0x10794e1
mov eax, dword [edi]
push edi
call dword [eax + 8]
cmp dword [ebp - 0x120], 0x8876017c
jne 0x1079497
push 0x102d4e8
push esi
push 0x54d
push 2
call fcn.0109642f
add esp, 0x10
push 1
push 0
push 0
push 0xfffe
push 1
push 0x37d
jmp 0x10794d0
push dword [ebp - 0x120]
call fcn.0108b5ef
push eax
push dword [ebp - 0x120]
push 0x102d4ac
push esi
push 0x555
push 2
call fcn.0109642f
add esp, 0x18
push 1
push 0
push 0
push 0xfffe
push 1
push 0x388
push 0x385
call fcn.0109819c
push 0
call fcn.0108399f
push dword [ebp - 0x298]
mov eax, dword [edi]
push edi
call dword [eax + 0x3c]
mov dword [ebx + 0x28], eax
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 0x102d470
push esi
push 0x560
push 2
call fcn.0109642f
push dword [0x10d1240]
call fcn.0109c587
push 0x14
call fcn.01075501
mov ecx, eax
add esp, 0x18
test ecx, ecx
je 0x107952e
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jmp 0x1079530
xor ecx, ecx
mov dword [0x10d1240], ecx
push dword [ebx + 0x3c]
call fcn.0108b733
mov eax, dword [ebp - 0x244]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x240]
push 1
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax]
push 0x16
push eax
call dword [ecx + 0xe4]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax]
push 0
push 0x89
push eax
call dword [ecx + 0xe4]
cmp byte [ebp - 0x11a], 0
je 0x1079586
mov eax, dword [ebx + 0x30]
mov dword [eax + 0xc], 0x10
push 0x102d428
push esi
push 0x578
push 2
call fcn.0109642f
add esp, 0x10
mov ecx, ebx
call fcn.0108b829
and dword [ebp - 0x120], 0
lea eax, [ebx + 0x44]
mov dword [ebx + 0x2c], eax
mov edi, eax
mov ecx, dword [edi]
mov eax, dword [ecx]
call dword [eax]
test al, al
je 0x107962a
inc dword [ebp - 0x120]
add edi, 4
cmp dword [ebp - 0x120], 3
jb 0x10795b1
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax]
push 0
lea edx, [ebx + 0x84]
push edx
push 2
push dword [ebx + 4]
push 4
push 4
push eax
call dword [ecx + 0x90]
mov edi, eax
test edi, edi
jge 0x107965f
push edi
call fcn.0108b5ef
push eax
push edi
push 0x102d3d0
push esi
push 0x596
push 2
call fcn.0109642f
add esp, 0x18
push 1
push 0
push 0
push 0xfffe
push 1
cmp edi, 0x8876017c
jne 0x1079649
push 0x37d
jmp 0x107964e
push dword [ebp - 0x120]
push 0x102d390
push esi
push 0x588
push 2
call fcn.0109642f
add esp, 0x14
xor al, al
jmp 0x107968b
push 0x388
push 0x385
call fcn.0109819c
push 0
call fcn.0108399f
push 0x102d328
push esi
push 0x5a4
push 2
call fcn.0109642f
mov ecx, dword [0x10d123c]
add esp, 0x10
call fcn.0108b43d
call fcn.01082e34
mov ecx, ebx
call fcn.01078688
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0107591b
leave
ret