Function at 0x1018c5a0
Capabilities:
Check os version

Disassembly:
sub esp, 0x344
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov eax, dword [esi + 4]
mov dword [esi + 4], ebx
cmp eax, ebx
je 0x1018c5ef
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x1018c5d8
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esi + 8]
push eax
call edi
mov dword [esi + 8], ebx
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x1018c5ef
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 0xc]
push ecx
call edi
mov dword [esi + 0xc], ebx
cmp dword [0x1030fc3c], ebx
jne 0x1018c63e
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x14]
lea edx, [esp + 0x10]
mov ebp, 1
push edx
rep stosd dword es:[edi], eax
mov dword [0x1030fc3c], ebp
mov dword [esp + 0x14], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
je 0x1018c63e
pop edi
mov dword [0x1030fc40], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8
cmp dword [0x1030fc40], ebx
jne 0x1018c7af
mov edx, dword [str..PipeOCULAR_]
cmp edx, ebx
je 0x1018c7af
mov ecx, 0x8b
xor eax, eax
lea edi, [esp + 0x126]
mov word [esp + 0x124], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x124]
push edx
push eax
call fcn.10079554
mov eax, dword [esp + 0x360]
add esp, 8
cmp eax, ebx
je 0x1018c6a4
push 0x104
lea ecx, [esp + 0x128]
push eax
push ecx
call fcn.1007a10a
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
xor ebp, ebp
lea edx, [esp + 0x124]
push 0x7d0
push edx
inc ebp
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x1018c6ca
cmp dword [esi + 0x14], 2
je 0x1018c71b
push ebx
push 0x40000000
push 3
push ebx
push ebx
lea eax, [esp + 0x138]
push 0xc0000000
push eax
call edi
cmp eax, 0xffffffff
mov dword [esi + 4], eax
jne 0x1018c6f2
cmp ebp, 0xa
jg 0x1018c71b
jmp 0x1018c6ac
cmp dword [esp + 0x35c], 2
jne 0x1018c72d
push ebx
lea ecx, [esp + 0x360]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
jne 0x1018c72d
mov edx, dword [esi + 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 4], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8
mov eax, dword [esp + 0x35c]
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push ebx
push 1
push ebx
mov dword [esi + 0x18], eax
call edi
push ebx
push ebx
push 1
push ebx
mov dword [esi + 8], eax
call edi
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
cmp ecx, ebx
je 0x1018c76e
cmp eax, ebx
je 0x1018c76e
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x344
ret 8
mov eax, dword [esi + 4]
mov dword [esi + 4], ebx
cmp eax, ebx
je 0x1018c7af
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x1018c798
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esi + 8]
push ecx
call edi
mov dword [esi + 8], ebx
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x1018c7af
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov edx, dword [esi + 0xc]
push edx
call edi
mov dword [esi + 0xc], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8