Function at 0x14004a040
Capabilities:
Connect pipe

Disassembly:
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov r14, rcx
mov edi, r8d
mov esi, edx
lea rcx, [rsp + 0x68]
sub rcx, 8
lea r8, [0x140047c80]
lea rdx, [rsp + 0x88]
call fcn.140025270
mov qword [rsp + 0x88], rax
call fcn.140170140
mov r9d, dword [0x14026cc3c]
lea rdx, str..pipehola__d__d
mov rcx, qword [rsp + 0x88]
mov r8d, eax
call fcn.1400262c0
mov rcx, qword [rsp + 0x88]
mov eax, 7
inc dword [0x14026cc3c]
mov r8d, 1
mov qword [rsp + 0x38], 0
test edi, edi
mov dword [rsp + 0x30], 0xffffffff
mov edx, 0x40000003
mov rcx, qword [rcx]
cmovne r8d, eax
mov dword [rsp + 0x28], 0x1000
mov r9d, 0xff
mov dword [rsp + 0x20], 0x1000
call fcn.14003e230
mov rbp, rax
test eax, eax
je 0x1400416ad
mov qword [rsp + 0x70], rbx
xor edx, edx
movsxd rbx, ebp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
mov rcx, qword [rsp + 0x88]
mov edx, 0x40000000
mov eax, 0xc0000000
mov qword [rsp + 0x30], 0
cmp esi, 1
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
mov rcx, qword [rcx]
cmove edx, eax
xor r9d, r9d
xor r8d, r8d
call fcn.14003e1b0
mov rsi, rax
test eax, eax
je 0x1400416bf
mov eax, edi
mov rcx, rbx
neg eax
sbb edx, edx
xor r9d, r9d
and edx, 2
xor r8d, r8d
mov dword [rsp + 0x80], edx
lea rdx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
movsxd rcx, eax
call fcn.140170a40
test rax, rax
je 0x1400416d1
mov eax, 0x44
test edi, edi
mov ebx, 0x24
mov ecx, esi
cmovne ebx, eax
lea rax, [rsp + 0x40]
mov r9d, ebx
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
call fcn.140040c20
mov dword [r14 + 4], eax
mov r9d, ebx
lea rax, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, ebp
call fcn.140040c20
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov dword [r14], eax
xor eax, eax
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret
lea rdx, str.CreateNamedPipe_failed:__m
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.CreateFile_failed:__m
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.SetNamedPipeHandleState_failed:__m
mov ecx, 0x580000
call fcn.1400292e0
int3
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r14
mov rbp, rsp
sub rsp, 0x40
xor eax, eax
mov r13d, 0x23d4
cmp qword [0x140270f18], rax
mov r14d, reloc.WS2_32.dll_recv
mov qword [rbp - 0x10], rax
mov edi, 2
mov dword [rbp - 0x10], edi
mov r12, rcx
mov dword [rbp - 0xc], 0x100007f
mov dword [rbp + 0x38], r14d
mov qword [rbp - 8], rax
je 0x1400475a1
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
cmp dword [r13 + rcx], 0
jne 0x1400475a1
mov r9d, 0x75
lea r8d, [r14 + 0x64]
mov ecx, r9d
mov edx, edi
call fcn.140040f40
lea r8d, [r14 + 1]
mov edx, edi
mov ecx, edi
call fcn.140049f70
mov esi, eax
test eax, eax
js 0x1400475b6
mov ecx, eax
call fcn.140043910
mov byte [rax + 0x64], 0x75
jmp 0x1400475b2
mov r8d, reloc.WS2_32.dll_recvfrom
mov edx, edi
mov ecx, edi
call fcn.140049f70
mov esi, eax
test esi, esi
jns 0x1400475d1
lea rdx, str.failed_socket__:__m
mov ecx, 0x580003
call fcn.140028e10
mov esi, eax
test eax, eax
js 0x14004781c
lea rcx, [0x140270f40]
mov qword [rsp + 0x70], rbx
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, qword [0x140270fc0]
movsxd rcx, esi
mov rbx, qword [rax + rcx*8]
lea rcx, [0x140270f40]
call fcn.14002e7d0
or dword [rbx + 0x68], 0x10000000
lea rdx, [rbp - 0x10]
mov r8d, r14d
mov ecx, esi
call fcn.140041330
test eax, eax
jne 0x14004782e
lea r8, [rbp + 0x38]
mov qword [rsp + 0x80], r15
lea rdx, [rbp - 0x10]
mov ecx, esi
call fcn.1400499d0
cmp qword [0x140270f18], 0
mov ebx, 0x40
lea r15d, [rbx - 0x20]
je 0x1400476e1
test eax, eax
jne 0x1400476e1
mov ecx, esi
call fcn.140043910
cmp word [rax], 0
je 0x14004767c
cmp dword [rax + 0x60], 0
mov ecx, r15d
cmove ecx, ebx
add rcx, rax
cmp word [rcx], 0
cmove rcx, rax
movups xmm0, xmmword [rcx]
mov dword [rbp + 0x38], r14d
movups xmmword [rbp - 0x10], xmm0
xor eax, eax
cmp qword [0x140270f18], rax
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x20], edi
mov dword [rbp - 0x1c], 0x100007f
mov qword [rbp - 0x18], rax
je 0x1400476ec
mov rax, qword gs:[0x58]
mov rdx, qword [rax]
cmp dword [r13 + rdx], 0
jne 0x1400476ec
mov r9d, 0x75
mov edx, edi
mov ecx, r9d
lea r8d, [r9 - 1]
call fcn.140040f40
lea r8d, [r9 - 0x64]
mov edx, edi
mov ecx, edi
call fcn.140049f70
mov edi, eax
test eax, eax
js 0x140047701
mov ecx, eax
call fcn.140043910
mov byte [rax + 0x64], 0x75
jmp 0x1400476fd
cmp eax, 0xffffffff
je 0x140047840
jmp 0x14004767c
mov r8d, reloc.WS2_32.dll_recvfrom
mov edx, edi
mov ecx, edi
call fcn.140049f70
mov edi, eax
test edi, edi
jns 0x14004771c
lea rdx, str.failed_socket__:__m
mov ecx, 0x580003
call fcn.140028e10
mov edi, eax
test eax, eax
js 0x140047852
lea rcx, [0x140270f40]
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, qword [0x140270fc0]
lea rcx, [0x140270f40]
movsxd rdx, edi
mov rbx, qword [rax + rdx*8]
call fcn.14002e7d0
or dword [rbx + 0x68], 0x10000000
lea rdx, [rbp - 0x20]
mov r8d, r14d
mov ecx, edi
call fcn.140041330
test eax, eax
jne 0x140047864
lea r8, [rbp + 0x38]
mov dword [rbp + 0x38], r14d
lea rdx, [rbp - 0x20]
mov ecx, edi
call fcn.1400499d0
cmp qword [0x140270f18], 0
je 0x1400477b8
test eax, eax
jne 0x140047876
mov ecx, edi
call fcn.140043910
cmp word [rax], 0
je 0x1400477c0
cmp dword [rax + 0x60], 0
mov ecx, 0x40
cmove r15, rcx
add r15, rax
cmp word [r15], 0
cmove r15, rax
movups xmm0, xmmword [r15]
mov dword [rbp + 0x38], r14d
movups xmmword [rbp - 0x20], xmm0
jmp 0x1400477c4
test eax, eax
jne 0x140047876
mov r14d, dword [rbp + 0x38]
mov r8d, r14d
lea rdx, [rbp - 0x20]
mov ecx, esi
call fcn.1400452c0
test eax, eax
jne 0x140047888
mov r8d, dword [rbp + 0x38]
lea rdx, [rbp - 0x10]
mov ecx, edi
call fcn.1400452c0
test eax, eax
jne 0x14004789a
mov r15, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
mov dword [r12], esi
mov rsi, qword [rsp + 0x88]
mov dword [r12 + 4], edi
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret
lea rdx, str.cant_create_udp_server_sock
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.bind_failed
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.getsockname_failed
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.cant_create_udp_client_sock
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.bind_failed
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.getsockname_failed
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.connect_failed__m
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.connect_failed__m
mov ecx, 0x580000
call fcn.1400292e0
int3
sub rsp, 0x28
cmp ecx, 1
je 0x14004a04e
cmp ecx, 0x17
jne 0x14004a08a
test r8d, r8d
jne 0x14004a09c
sub edx, 1
je 0x14004a069
cmp edx, 1
jne 0x14004a0ae
mov rcx, r9
add rsp, 0x28
jmp 0x140047510
cmp ecx, 0x17
mov rcx, r9
je 0x14004a07a
add rsp, 0x28
jmp 0x140047220
xor r8d, r8d
lea edx, [r8 + 1]
add rsp, 0x28
jmp 0x140041500
lea rdx, str.invalid_domain
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.invalid_protocol
mov ecx, 0x580000
call fcn.1400292e0
int3
lea rdx, str.invalid_type
mov ecx, 0x580000
call fcn.1400292e0
int3