Function at 0x14004ee90
Capabilities:
Create pipe
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1400aa140]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r14d, ecx
xor r12d, r12d
mov edx, ecx
lea rcx, [rbp - 0x50]
call fcn.140053790
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
lea r8d, [r12 + 0x12]
lea rdx, str..pipeLUNA_HOOK
lea rcx, [rbp - 0x70]
call fcn.140014200
nop
mov r9, rbx
lea r8, [rbp - 0x70]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140023a50
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova rcx, qword [rsp + 0x70]
lea rdi, [0x1400af168]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], 0xc350
mov dword [rsp + 0x20], r12d
lea edx, [r12 + 1]
mov r9d, 0xff
lea r8d, [r12 + 6]
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov r15, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x14004ef96
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ef91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f481
call fcn.1400748b0
movdqa xmm0, xmmword [0x14008ae60]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x14004efea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004efe4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f487
call fcn.1400748b0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14004f02a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f025
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f48d
call fcn.1400748b0
mov edx, r14d
lea rcx, [rbp - 0x50]
call fcn.140053790
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 0x12
lea rdx, str..pipeLUNA_HOST
lea rcx, [rbp - 0x70]
call fcn.140014200
nop
mov r9, rbx
lea r8, [rbp - 0x70]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140023a50
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova rcx, qword [rsp + 0x70]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 0xc350
mov edx, 2
mov r9d, 0xff
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rsi, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x14004f0f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f0f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f493
call fcn.1400748b0
movdqa xmm0, xmmword [0x14008ae60]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x14004f14c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f146
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f499
call fcn.1400748b0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14004f18c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f187
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f49f
call fcn.1400748b0
mov edx, r14d
lea rcx, [rbp - 0x50]
call fcn.140053790
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8d, 0x13
lea rdx, str.LUNA_PIPE_AVAILABLE
lea rcx, [rbp - 0x70]
call fcn.140014200
nop
mov r9, rbx
lea r8, [rbp - 0x70]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140023a50
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 7
cmova r9, qword [rsp + 0x70]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rdi, rax
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x14004f239
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f234
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f4a5
call fcn.1400748b0
movdqa xmm0, xmmword [0x14008ae60]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x14004f28d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f287
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f4ab
call fcn.1400748b0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x14004f2cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f2c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f4b1
call fcn.1400748b0
movdqa xmm0, xmmword [0x14008ae60]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], r12w
mov edx, r14d
lea rcx, [rbp - 0x10]
call fcn.140053790
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
mov r8d, 0x13
lea rdx, str.LUNA_PIPE_AVAILABLE
lea rcx, [rbp - 0x30]
call fcn.140014200
nop
mov r9, rbx
lea r8, [rbp - 0x30]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140023a50
lea rcx, [rsp + 0x48]
call fcn.14004ebe0
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x14004f376
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f370
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f4b7
call fcn.1400748b0
nop
mov rdx, qword [rbp + 8]
cmp rdx, 7
jbe 0x14004f3b6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f3b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f4bd
call fcn.1400748b0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rdi
mov ecx, 0x18
call fcn.140074874
test rax, rax
je 0x14004f3ed
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp - 0x60]
movsd qword [rax + 0x10], xmm1
jmp 0x14004f3f0
mov rax, r12
mov qword [rbp - 0x70], rax
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x14004b4b0]
xor edx, edx
xor ecx, ecx
call sub.msvcrt.dll__beginthreadex
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14004f471
cmp dword [rsp + 0x78], 0
je 0x14004f466
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x70], xmm0
lea rcx, [rbp - 0x70]
call fcn.14005625c
test eax, eax
jne 0x14004f466
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1400749d0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 1
call fcn.140055eb4
nop
mov dword [rsp + 0x78], r12d
mov ecx, 6
call fcn.140055eb4
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
nop
call fcn.140078a60
int3