Function at 0x100b15a0
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 0x100b15ef
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x100b15d8
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 0x100b15ef
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 [0x10181698], ebx
jne 0x100b163e
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 [0x10181698], ebp
mov dword [esp + 0x14], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
je 0x100b163e
pop edi
mov dword [0x1018169c], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8
cmp dword [0x1018169c], ebx
jne 0x100b17af
mov edx, dword [str..PipeOCULAR_]
cmp edx, ebx
je 0x100b17af
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.1008311d
mov eax, dword [esp + 0x360]
add esp, 8
cmp eax, ebx
je 0x100b16a4
push 0x104
lea ecx, [esp + 0x128]
push eax
push ecx
call fcn.1007f390
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 0x100b16ca
cmp dword [esi + 0x14], 2
je 0x100b171b
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 0x100b16f2
cmp ebp, 0xa
jg 0x100b171b
jmp 0x100b16ac
cmp dword [esp + 0x35c], 2
jne 0x100b172d
push ebx
lea ecx, [esp + 0x360]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
jne 0x100b172d
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 0x100b176e
cmp eax, ebx
je 0x100b176e
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 0x100b17af
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x100b1798
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 0x100b17af
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