Function at 0x140006010
Capabilities:
Connect pipe

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
test byte [0x14001a070], 8
mov ebp, dword [rsp + 0x210]
mov r14, rcx
mov r12d, edx
mov rbx, r8
mov rsi, r9
jne 0x14000623a
mov rax, qword [r14 + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x68], rax
call qword [sym.imp.kernel32.dll_ConnectNamedPipe]
test eax, eax
jne 0x140006082
mov rax, qword gs:[0x30]
cmp dword [rax + 0x68], 0x3e5
je 0x1400063cb
cmp dword [rax + 0x68], 0x217
jne 0x140006394
movzx r15d, word [rbx]
test r15w, r15w
je 0x1400064d2
mov rax, rbx
nop dword [rax + rax]
add rax, 2
cmp word [rax], 0
jne 0x140006098
sub rax, rbx
sar rax, 1
lea edx, [rax + 1]
test ebp, ebp
je 0x1400060f6
lea eax, [rbp - 1]
mov rcx, rsi
lea r9, [rsi + rax*8 + 8]
nop word [rax + rax]
mov r8, qword [rcx]
cmp word [r8], 0
je 0x140006230
mov rax, r8
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x1400060d8
sub rax, r8
sar rax, 1
add eax, 1
add rcx, 8
add edx, eax
cmp r9, rcx
jne 0x1400060c0
lea ecx, [rdx + rdx + 2]
mov rdi, rcx
call qword [sym.imp.ucrtbase.dll_malloc]
test rax, rax
mov r13, rax
je 0x14000664f
mov edx, r15d
xor eax, eax
jmp 0x140006124
movzx edx, word [rbx + rax]
mov word [r13 + rax], dx
add rax, 2
test dx, dx
jne 0x140006120
test r15w, r15w
je 0x1400064dc
mov rax, rbx
add rax, 2
cmp word [rax], 0
jne 0x140006140
sub rax, rbx
sar rax, 1
lea edx, [rax + 1]
movsxd rdx, edx
add rdx, rdx
add rdx, r13
test ebp, ebp
je 0x1400061c4
lea eax, [rbp - 1]
lea rcx, [rsi + rax*8 + 8]
nop dword [rax + rax]
mov r9, qword [rsi]
xor eax, eax
nop dword [rax]
movzx r8d, word [r9 + rax]
mov word [rdx + rax], r8w
add rax, 2
test r8w, r8w
jne 0x140006178
cmp word [rdx], 0
je 0x140006220
mov rax, rdx
nop dword [rax]
add rax, 2
cmp word [rax], 0
jne 0x1400061a0
sub rax, rdx
sar rax, 1
add eax, 1
cdqe
add rax, rax
add rsi, 8
add rdx, rax
cmp rcx, rsi
jne 0x140006170
xor r8d, r8d
xor r9d, r9d
mov rcx, r14
lea rax, [rsp + 0x70]
mov word [rdx], r8w
mov edx, r12d
mov r8, rbx
mov qword [rsp + 0x30], rax
mov r12d, 0x41d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r13
call fcn.1400033b0
mov rcx, r13
test eax, eax
cmovne r12d, dword [rsp + 0x70]
call qword [sym.imp.ucrtbase.dll_free]
mov eax, r12d
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 2
jmp 0x1400061b8
mov eax, 1
jmp 0x1400060eb
lea rax, [0x14001bd66]
test r8, r8
je 0x14000635d
mov rax, r8
shr rax, 0x10
test rax, rax
je 0x140006426
mov rcx, r8
mov rdx, 0xffffffffffffffff
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x14001bd6d]
test r8d, r8d
jne 0x14000635d
movzx eax, word [rbx]
test ax, ax
je 0x1400064f1
xor edx, edx
nop dword [rax + rax]
mov ecx, edx
add rdx, 1
cmp word [rbx + rdx*2], 0
jne 0x140006290
lea r11, str.0123456789abcdefvalidate_service_config
mov edx, 0x224c
mov r8, rbx
mov word [rsp + 0x70], dx
lea r10, [rsp + 0x192]
lea rdx, [rsp + 0x72]
jmp 0x1400062fc
cmp ax, 9
je 0x14000644d
cmp ax, 0xa
jne 0x14000646a
mov eax, 0x6e5c
add rdx, 2
mov word [rdx - 2], ax
nop dword [rax]
lea r9d, [rcx - 1]
test ecx, ecx
jle 0x140006331
cmp rdx, r10
ja 0x140006331
movzx eax, word [r8]
mov ecx, r9d
add r8, 2
cmp ax, 0xd
je 0x14000643b
jbe 0x1400062c0
cmp ax, 0x22
je 0x1400064c0
cmp ax, 0x5c
jne 0x14000645f
mov r15d, 0x5c5c
add rdx, 2
mov word [rdx - 2], r15w
jmp 0x1400062e8
test r9d, r9d
mov byte [rdx], 0x22
jle 0x140006505
lea rax, [rdx + 4]
mov r13d, 0x2e2e
mov byte [rdx + 3], 0x2e
mov word [rdx + 1], r13w
mov byte [rax], 0
lea rcx, [rsp + 0x70]
call fcn.1400185e0
mov dword [rsp + 0x38], ebp
lea r9, str._p__s__p__ld_n
mov ecx, 3
mov qword [rsp + 0x30], rsi
lea r8, str.process_send_start_message
mov qword [rsp + 0x28], rax
lea rdx, [0x14001a070]
mov qword [rsp + 0x20], r14
call fcn.140005ec0
jmp 0x140006043
test byte [0x14001a070], 2
mov r12d, 0x41d
je 0x140006206
lea r9, str.pipe_connect_failed_n
mov ecx, 1
lea r8, str.process_send_start_message
lea rdx, [0x14001a070]
call fcn.140005ec0
jmp 0x140006206
mov rax, qword [r14 + 0x40]
xor r8d, r8d
mov ecx, 2
mov r9d, dword [0x14001a06c]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 0x28]
mov qword [rsp + 0x48], rax
call qword [sym.imp.kernel32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x14000650e
cmp qword [rsp + 0x50], 0x103
jne 0x140006082
test byte [0x14001a070], 2
jne 0x14000651d
mov r12d, 0x41d
jmp 0x140006206
lea rcx, [0x14001bd60]
movzx edx, r8w
call fcn.140005f20
jmp 0x14000635d
mov eax, 0x725c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x1400062e8
mov eax, 0x745c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x1400062e8
lea r9d, [rax - 0x20]
cmp r9w, 0x5e
jbe 0x1400064e6
mov r9d, eax
mov byte [rdx], 0x5c
add rdx, 5
shr r9w, 0xc
and r9d, 0xf
movzx r9d, byte [r11 + r9]
mov byte [rdx - 4], r9b
mov r9d, eax
shr r9w, 8
and r9d, 0xf
movzx r9d, byte [r11 + r9]
mov byte [rdx - 3], r9b
mov r9d, eax
and eax, 0xf
shr r9w, 4
movzx eax, byte [r11 + rax]
and r9d, 0xf
movzx r9d, byte [r11 + r9]
mov byte [rdx - 1], al
mov byte [rdx - 2], r9b
jmp 0x1400062e8
mov eax, 0x225c
add rdx, 2
mov word [rdx - 2], ax
jmp 0x1400062e8
mov edx, 1
jmp 0x1400060ab
mov edx, 2
jmp 0x140006159
mov byte [rdx], al
add rdx, 1
jmp 0x1400062e8
mov byte [rsp + 0x72], 0x22
lea rdx, [rsp + 0x72]
mov eax, 0x224c
mov word [rsp + 0x70], ax
lea rax, [rdx + 1]
jmp 0x140006350
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.kernel32.dll_CancelIo]
jmp 0x1400063ff
lea rax, [0x14001bd66]
test rbx, rbx
je 0x140006626
mov rax, rbx
shr rax, 0x10
test rax, rax
je 0x140006708
mov rdx, 0xffffffffffffffff
mov rcx, rbx
call qword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov r8d, eax
lea rax, [0x14001bd6d]
test r8d, r8d
jne 0x140006626
movzx edx, word [rbx]
test dx, dx
je 0x1400066dc
xor eax, eax
mov r9d, eax
add rax, 1
cmp word [rbx + rax*2], 0
jne 0x14000656e
lea rax, [rsp + 0x72]
mov ecx, 0x224c
mov word [rsp + 0x70], cx
lea r10, [rsp + 0x192]
lea r8, str.0123456789abcdefvalidate_service_config
jmp 0x1400065d3
cmp dx, 9
je 0x1400066ca
cmp dx, 0xa
jne 0x140006675
mov r12d, 0x6e5c
add rax, 2
mov word [rax - 2], r12w
lea ecx, [r9 - 1]
cmp rax, r10
ja 0x140006600
test r9d, r9d
jle 0x140006600
movzx edx, word [rbx]
mov r9d, ecx
add rbx, 2
cmp dx, 0xd
je 0x14000665a
jbe 0x14000659c
cmp dx, 0x22
je 0x1400066f6
cmp dx, 0x5c
jne 0x14000666c
mov r11d, 0x5c5c
add rax, 2
mov word [rax - 2], r11w
jmp 0x1400065bf
test ecx, ecx
mov byte [rax], 0x22
jle 0x1400066ed
lea rdx, [rax + 4]
mov word [rax + 1], 0x2e2e
mov byte [rax + 3], 0x2e
mov byte [rdx], 0
lea rcx, [rsp + 0x70]
call fcn.1400185e0
mov qword [rsp + 0x20], rax
lea r9, str.service__s_failed_to_start_n
mov ecx, 1
lea r8, str.process_send_start_message
lea rdx, [0x14001a070]
call fcn.140005ec0
jmp 0x14000641b
mov r12d, 0x46a
jmp 0x140006206
mov ebp, 0x725c
add rax, 2
mov word [rax - 2], bp
jmp 0x1400065bf
lea ecx, [rdx - 0x20]
cmp cx, 0x5e
jbe 0x1400066bf
mov ecx, edx
mov byte [rax], 0x5c
add rax, 5
shr cx, 0xc
and ecx, 0xf
movzx ecx, byte [r8 + rcx]
mov byte [rax - 4], cl
mov ecx, edx
shr cx, 8
and ecx, 0xf
movzx ecx, byte [r8 + rcx]
mov byte [rax - 3], cl
mov ecx, edx
and edx, 0xf
shr cx, 4
movzx edx, byte [r8 + rdx]
and ecx, 0xf
movzx ecx, byte [r8 + rcx]
mov byte [rax - 1], dl
mov byte [rax - 2], cl
jmp 0x1400065bf
mov byte [rax], dl
add rax, 1
jmp 0x1400065bf
mov edi, 0x745c
add rax, 2
mov word [rax - 2], di
jmp 0x1400065bf
mov word [rsp + 0x70], 0x224c
lea rax, [rsp + 0x72]
mov byte [rsp + 0x72], 0x22
lea rdx, [rax + 1]
jmp 0x140006619
mov esi, 0x225c
add rax, 2
mov word [rax - 2], si
jmp 0x1400065bf
lea rcx, [0x14001bd60]
movzx edx, bx
call fcn.140005f20
jmp 0x140006626