Function at 0x14001afa0
Capabilities:
Connect pipe
Create pipe
Read file on windows
Read pipe
Write file on windows
Write pipe

Disassembly:
push r12
push r13
mov eax, 0x3c0b8
call fcn.14002b220
sub rsp, rax
mov rax, qword [0x140033060]
xor rax, rsp
mov qword [rsp + 0x3c0a0], rax
call fcn.14001c310
call fcn.14001c450
lea rcx, [rsp + 0x78]
mov edx, 1
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
xor r9d, r9d
lea rcx, [rsp + 0x78]
lea edx, [r9 + 1]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
xor r13d, r13d
lea rax, [rsp + 0x78]
lea r8, [rsp + 0x48]
lea rcx, str.S:_ML__NW___LW__ML__NR___LW_
lea edx, [r13 + 1]
xor r9d, r9d
mov dword [rsp + 0x60], 0x18
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], r13d
mov qword [rsp + 0x48], r13
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorA
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14001b073
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x40], r13d
call qword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorSacl]
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x14001b073
mov rcx, qword [rsp + 0x68]
lea edx, [r13 + 1]
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorSacl]
mov r9, qword [str.Global__CubeU64.exe]
xor r8d, r8d
lea rcx, [rsp + 0x60]
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov r12, rax
test rax, rax
je 0x14001b780
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14001b780
mov qword [rsp + 0x3c0d0], rbx
mov qword [rsp + 0x3c0d8], rbp
mov qword [rsp + 0x3c0e0], rsi
mov qword [rsp + 0x3c0e8], rdi
mov qword [rsp + 0x3c0b0], r14
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CubeU_Run
lea rcx, [0x1400345e0]
mov edx, eax
call fcn.14001ca60
call fcn.14001cce0
call fcn.14001a000
mov rcx, qword [str..pipeCubeU64]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x38], rdx
mov edx, 3
mov dword [rsp + 0x30], r13d
lea r9d, [rdx - 2]
lea r8d, [rdx + 3]
mov dword [rsp + 0x28], 0x2710
mov dword [rsp + 0x20], 0x2710
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14001b712
mov r8, qword [str.Global__CubeU64.exe_Init]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov rcx, rax
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CubeU_Init_Complete
lea rcx, [0x1400345e0]
mov edx, eax
call fcn.14001ca60
mov r14d, 7
nop word [rax + rax]
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x14001b23e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x217
je 0x14001b23e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.ConnectNamedPipe_Fail
lea rcx, [0x1400345e0]
mov edx, eax
call fcn.14001ca60
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [str..pipeCubeU64]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x38], rdx
mov edx, 3
mov dword [rsp + 0x30], r13d
lea r9d, [rdx - 2]
lea r8d, [rdx + 3]
mov dword [rsp + 0x28], 0x2710
mov dword [rsp + 0x20], 0x2710
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x14001b190
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CreateNamedPipe_Fail
lea rcx, [0x1400345e0]
mov edx, eax
call fcn.14001ca60
jmp 0x14001b72d
lea rcx, [rsp + 0xa0a1]
xor edx, edx
mov r8d, 0x9fff
call fcn.140022110
lea rcx, [rsp + 0xa1]
xor edx, edx
mov r8d, 0x9fff
mov byte [rsp + 0xa0], r13b
call fcn.140022110
lea rcx, [rsp + 0x320a1]
xor edx, edx
mov r8d, 0x9fff
mov byte [rsp + 0x320a0], r13b
call fcn.140022110
lea rcx, [rsp + 0x140a1]
xor edx, edx
mov r8d, 0x9fff
mov byte [rsp + 0x140a0], r13b
call fcn.140022110
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0xa0a0]
mov r8d, 0xa000
mov rcx, rbp
mov byte [rsp + 0xa0a0], r13b
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
lea r9, [rsp + 0xa0a0]
lea r8, str.Command_:__s
lea rcx, [0x1400345e0]
xor edx, edx
call fcn.14001ca60
lea rdx, str.Browser_
lea rcx, [rsp + 0xa0a0]
mov edi, r13d
call fcn.14001df38
mov rsi, rax
test rax, rax
je 0x14001b4a2
mov edx, dword [rsp + 0x40]
mov ecx, r13d
mov rbx, r13
test edx, edx
je 0x14001b330
cmp byte [rbx + rax], 0x29
je 0x14001b330
inc ecx
inc rbx
cmp ecx, edx
jb 0x14001b321
cmp ecx, edx
je 0x14001b72d
lea r9, [rax + 8]
lea r8, [0x140030494]
lea rcx, [rsp + 0x1e0a0]
mov edx, 0xa000
mov byte [rbx + rax], dil
call fcn.14001dc58
lea rdx, [0x140030498]
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
jne 0x14001b47d
lea rdx, str.Chrome64
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
jne 0x14001b478
lea rdx, str.Chrome
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
jne 0x14001b478
lea rdx, str.Firefox
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
je 0x14001b3d3
mov edi, 1
jmp 0x14001b47d
lea rdx, str.Opera
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
je 0x14001b3f6
mov edi, 4
jmp 0x14001b47d
lea rdx, str.Safari
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
je 0x14001b416
mov edi, 3
jmp 0x14001b47d
lea rdx, str.W_Browser
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
je 0x14001b436
mov edi, 6
jmp 0x14001b47d
lea rdx, str.EDGEC
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
test rax, rax
je 0x14001b456
mov edi, 8
jmp 0x14001b47d
lea rdx, str.EDGE
lea rcx, [rsp + 0x1e0a0]
call fcn.14001dd74
mov edi, 5
test rax, rax
cmovne edi, r14d
jmp 0x14001b47d
mov edi, 2
lea r9, [rsp + 0x1e0a0]
lea r8, str.BrowserType_is__s___d
lea rcx, [0x1400345e0]
xor edx, edx
mov dword [rsp + 0x20], edi
call fcn.14001ca60
mov byte [rbx + rsi], 0x29
lea r8, [rsp + 0xa0a0]
lea rcx, [rsp + 0x320a0]
mov edx, 0xa000
call fcn.14001d97c
lea rdx, [rsp + 0x1e0a0]
lea rcx, [rsp + 0xa0a0]
call fcn.14001adf0
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0xa0a0]
mov qword [rsp + 0x30], r13
lea r8, [rsp + 0x1e0a0]
or r9d, 0xffffffff
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 0xa000
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, edi
call fcn.14001a0c0
cmp eax, 0x45a
jne 0x14001b531
lea r8, [rsp + 0xa0a0]
lea rdx, str._sSyncRetCode__313_
lea rcx, [rsp + 0xa0a0]
call qword [sym.imp.USER32.dll_wsprintfA]
test edi, edi
jne 0x14001b53e
mov rbx, qword [str..pipeCubeManager64]
jmp 0x14001b57a
cmp edi, 6
jne 0x14001b54c
mov rbx, qword [str..pipeCubeManagerW64]
jmp 0x14001b57a
cmp edi, r14d
jne 0x14001b55a
lea rbx, str..pipeCubeE
jmp 0x14001b57a
cmp edi, 2
jne 0x14001b568
mov rbx, qword [str..pipeCubeManagerM64Chrome]
jmp 0x14001b57a
mov rbx, qword [str..pipeCubeManagerM64]
cmp edi, 8
cmove rbx, qword [str..pipeCubeManagerM64Edge]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x30], 0x3e8
lea r9, [rsp + 0xa0]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0xa0a0]
mov r8d, 0xa000
mov rcx, rbx
mov dword [rsp + 0x20], 0xa000
call qword [sym.imp.KERNEL32.dll_CallNamedPipeA]
test eax, eax
jne 0x14001b63f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CallNamedPipe_Fail__s_
lea rcx, [0x1400345e0]
mov edx, eax
mov r9, rbx
call fcn.14001ca60
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x30], 0x3e8
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0xa0]
lea rdx, [rsp + 0xa0a0]
mov r8d, 0xa000
mov rcx, rbx
mov dword [rsp + 0x20], 0xa000
call qword [sym.imp.KERNEL32.dll_CallNamedPipeA]
test eax, eax
jne 0x14001b63f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CallNamedPipe_Fail_again__s_
lea rcx, [0x1400345e0]
mov edx, eax
mov r9, rbx
call fcn.14001ca60
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0xa0]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 5
jbe 0x14001b68d
lea rdx, str.SyncRetCode_
lea rcx, [rsp + 0xa0]
call fcn.14001df38
test rax, rax
je 0x14001b68d
mov edx, dword [rsp + 0x40]
lea r8, [rsp + 0xa0]
lea rcx, [rsp + 0xa0a0]
call fcn.14001d97c
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x140a0]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 5
jbe 0x14001b6db
lea rdx, str.SyncRetCode_
lea rcx, [rsp + 0x140a0]
call fcn.14001df38
test rax, rax
je 0x14001b6db
mov edx, dword [rsp + 0x40]
lea r8, [rsp + 0x140a0]
lea rcx, [rsp + 0xa0a0]
call fcn.14001d97c
mov r8d, dword [rsp + 0x40]
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0xa0a0]
mov rcx, rbp
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
jmp 0x14001b190
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CreateNamedPipe_fail
lea rcx, [0x1400345e0]
mov edx, eax
call fcn.14001ca60
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, str.CubeU_end
lea rcx, [0x1400345e0]
xor edx, edx
call fcn.14001ca60
mov r14, qword [rsp + 0x3c0b0]
mov rdi, qword [rsp + 0x3c0e8]
mov rsi, qword [rsp + 0x3c0e0]
mov rbp, qword [rsp + 0x3c0d8]
mov rbx, qword [rsp + 0x3c0d0]
jmp 0x14001b7a4
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CubeU_end_because_already_exist
lea rcx, [0x1400345e0]
mov edx, eax
call fcn.14001ca60
xor eax, eax
mov rcx, qword [rsp + 0x3c0a0]
xor rcx, rsp
call fcn.14001d3f0
add rsp, 0x3c0b8
pop r13
pop r12
ret