Function at 0x10153ab0
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 0x10153aff
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x10153ae8
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 0x10153aff
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 [0x1026f204], ebx
jne 0x10153b4e
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 [0x1026f204], ebp
mov dword [esp + 0x14], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
je 0x10153b4e
pop edi
mov dword [0x1026f208], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8
cmp dword [0x1026f208], ebx
jne 0x10153cbf
mov edx, dword [str..PipeOCULAR_]
cmp edx, ebx
je 0x10153cbf
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.10097511
mov eax, dword [esp + 0x360]
add esp, 8
cmp eax, ebx
je 0x10153bb4
push 0x104
lea ecx, [esp + 0x128]
push eax
push ecx
call fcn.1009d792
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 0x10153bda
cmp dword [esi + 0x14], 2
je 0x10153c2b
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 0x10153c02
cmp ebp, 0xa
jg 0x10153c2b
jmp 0x10153bbc
cmp dword [esp + 0x35c], 2
jne 0x10153c3d
push ebx
lea ecx, [esp + 0x360]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
jne 0x10153c3d
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 0x10153c7e
cmp eax, ebx
je 0x10153c7e
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 0x10153cbf
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x10153ca8
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 0x10153cbf
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