Function at 0x140041ba0
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, [0x140048470]
lea rdx, [rsp + 0x88]
call fcn.140025060
mov qword [rsp + 0x88], rax
call fcn.140171a20
mov r9d, dword [0x14026ec5c]
lea rdx, str..pipehola__d__d
mov rcx, qword [rsp + 0x88]
mov r8d, eax
call fcn.1400260b0
mov rcx, qword [rsp + 0x88]
mov eax, 7
inc dword [0x14026ec5c]
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.14003e870
mov rbp, rax
test eax, eax
je 0x140041d4d
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.14003e7f0
mov rsi, rax
test eax, eax
je 0x140041d5f
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.140172320
test rax, rax
je 0x140041d71
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.1400412c0
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.1400412c0
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.140029170
int3
lea rdx, str.CreateFile_failed:__m
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.SetNamedPipeHandleState_failed:__m
mov ecx, 0x580000
call fcn.140029170
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 [0x140272f38], 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 0x140047d91
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
cmp dword [r13 + rcx], 0
jne 0x140047d91
mov r9d, 0x75
lea r8d, [r14 + 0x64]
mov ecx, r9d
mov edx, edi
call fcn.1400415e0
lea r8d, [r14 + 1]
mov edx, edi
mov ecx, edi
call fcn.14004a760
mov esi, eax
test eax, eax
js 0x140047da6
mov ecx, eax
call fcn.140043fb0
mov byte [rax + 0x64], 0x75
jmp 0x140047da2
mov r8d, reloc.WS2_32.dll_recvfrom
mov edx, edi
mov ecx, edi
call fcn.14004a760
mov esi, eax
test esi, esi
jns 0x140047dc1
lea rdx, str.failed_socket__:__m
mov ecx, 0x580003
call fcn.140028ca0
mov esi, eax
test eax, eax
js 0x14004800c
lea rcx, [0x140272f60]
mov qword [rsp + 0x70], rbx
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, qword [0x140272fe0]
movsxd rcx, esi
mov rbx, qword [rax + rcx*8]
lea rcx, [0x140272f60]
call fcn.14002ec90
or dword [rbx + 0x68], 0x10000000
lea rdx, [rbp - 0x10]
mov r8d, r14d
mov ecx, esi
call fcn.1400419d0
test eax, eax
jne 0x14004801e
lea r8, [rbp + 0x38]
mov qword [rsp + 0x80], r15
lea rdx, [rbp - 0x10]
mov ecx, esi
call fcn.14004a1c0
cmp qword [0x140272f38], 0
mov ebx, 0x40
lea r15d, [rbx - 0x20]
je 0x140047ed1
test eax, eax
jne 0x140047ed1
mov ecx, esi
call fcn.140043fb0
cmp word [rax], 0
je 0x140047e6c
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 [0x140272f38], rax
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x20], edi
mov dword [rbp - 0x1c], 0x100007f
mov qword [rbp - 0x18], rax
je 0x140047edc
mov rax, qword gs:[0x58]
mov rdx, qword [rax]
cmp dword [r13 + rdx], 0
jne 0x140047edc
mov r9d, 0x75
mov edx, edi
mov ecx, r9d
lea r8d, [r9 - 1]
call fcn.1400415e0
lea r8d, [r9 - 0x64]
mov edx, edi
mov ecx, edi
call fcn.14004a760
mov edi, eax
test eax, eax
js 0x140047ef1
mov ecx, eax
call fcn.140043fb0
mov byte [rax + 0x64], 0x75
jmp 0x140047eed
cmp eax, 0xffffffff
je 0x140048030
jmp 0x140047e6c
mov r8d, reloc.WS2_32.dll_recvfrom
mov edx, edi
mov ecx, edi
call fcn.14004a760
mov edi, eax
test edi, edi
jns 0x140047f0c
lea rdx, str.failed_socket__:__m
mov ecx, 0x580003
call fcn.140028ca0
mov edi, eax
test eax, eax
js 0x140048042
lea rcx, [0x140272f60]
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, qword [0x140272fe0]
lea rcx, [0x140272f60]
movsxd rdx, edi
mov rbx, qword [rax + rdx*8]
call fcn.14002ec90
or dword [rbx + 0x68], 0x10000000
lea rdx, [rbp - 0x20]
mov r8d, r14d
mov ecx, edi
call fcn.1400419d0
test eax, eax
jne 0x140048054
lea r8, [rbp + 0x38]
mov dword [rbp + 0x38], r14d
lea rdx, [rbp - 0x20]
mov ecx, edi
call fcn.14004a1c0
cmp qword [0x140272f38], 0
je 0x140047fa8
test eax, eax
jne 0x140048066
mov ecx, edi
call fcn.140043fb0
cmp word [rax], 0
je 0x140047fb0
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 0x140047fb4
test eax, eax
jne 0x140048066
mov r14d, dword [rbp + 0x38]
mov r8d, r14d
lea rdx, [rbp - 0x20]
mov ecx, esi
call fcn.140045960
test eax, eax
jne 0x140048078
mov r8d, dword [rbp + 0x38]
lea rdx, [rbp - 0x10]
mov ecx, edi
call fcn.140045960
test eax, eax
jne 0x14004808a
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.140029170
int3
lea rdx, str.bind_failed
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.getsockname_failed
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.cant_create_udp_client_sock
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.bind_failed
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.getsockname_failed
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.connect_failed__m
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.connect_failed__m
mov ecx, 0x580000
call fcn.140029170
int3
sub rsp, 0x28
cmp ecx, 1
je 0x14004a83e
cmp ecx, 0x17
jne 0x14004a87a
test r8d, r8d
jne 0x14004a88c
sub edx, 1
je 0x14004a859
cmp edx, 1
jne 0x14004a89e
mov rcx, r9
add rsp, 0x28
jmp 0x140047d00
cmp ecx, 0x17
mov rcx, r9
je 0x14004a86a
add rsp, 0x28
jmp 0x140047a10
xor r8d, r8d
lea edx, [r8 + 1]
add rsp, 0x28
jmp 0x140041ba0
lea rdx, str.invalid_domain
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.invalid_protocol
mov ecx, 0x580000
call fcn.140029170
int3
lea rdx, str.invalid_type
mov ecx, 0x580000
call fcn.140029170
int3