Function at 0x340f65b0
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 0x340f65ff
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x340f65e8
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 0x340f65ff
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 [0x341ad12c], ebx
jne 0x340f664e
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 [0x341ad12c], ebp
mov dword [esp + 0x14], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
je 0x340f664e
pop edi
mov dword [0x341ad130], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x344
ret 8
cmp dword [0x341ad130], ebx
jne 0x340f67bf
mov edx, dword [str..PipeOCULAR_]
cmp edx, ebx
je 0x340f67bf
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.340bd8f4
mov eax, dword [esp + 0x360]
add esp, 8
cmp eax, ebx
je 0x340f66b4
push 0x104
lea ecx, [esp + 0x128]
push eax
push ecx
call fcn.340bdc3c
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 0x340f66da
cmp dword [esi + 0x14], 2
je 0x340f672b
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 0x340f6702
cmp ebp, 0xa
jg 0x340f672b
jmp 0x340f66bc
cmp dword [esp + 0x35c], 2
jne 0x340f673d
push ebx
lea ecx, [esp + 0x360]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
jne 0x340f673d
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 0x340f677e
cmp eax, ebx
je 0x340f677e
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 0x340f67bf
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x340f67a8
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 0x340f67bf
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