Function at 0x1400146a0
Capabilities:
Create pipe

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x1402b9ae8]
xor rax, rsp
mov qword [rbp + 0x60], rax
movdqa xmm0, xmmword [0x140288fb0]
movdqu xmmword [rbp - 0x20], xmm0
xor r13d, r13d
mov word [rbp - 0x30], r13w
lea rdx, str.wireguard.dll
lea rcx, [rbp - 0x30]
call fcn.140003570
nop
lea r9d, [r13 + 3]
lea r8, [rbp - 0x30]
xor edx, edx
lea rcx, [0x1402c3990]
call fcn.14003f500
test al, al
sete bl
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x14001475c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014757
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014ca1
call fcn.14018e2f4
test bl, bl
je 0x1400147b4
call fcn.140004b70
mov rbx, rax
mov rdi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rax, str.Unable_to_load_wireguard.dll:__u
mov qword [rsp + 0x30], rax
lea r14, str.MBVpnTunnelService
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
mov r9d, 0xc3
lea r8, str.d:jenkinsworkspace_n_mbvpntunnel_srcmbvpntunnelservicewireguardpipeserver.cpp
lea rdx, str.WireguardPipeServerThread::ThreadMain
mov rcx, rbx
call qword [rdi + 0x20]
jmp 0x140014c74
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x1402c3c60], eax
jle 0x14001484b
lea rcx, [0x1402c3c60]
call fcn.14018e550
cmp dword [0x1402c3c60], 0xffffffff
jne 0x14001484b
xor edx, edx
mov r8d, 0x80
lea rcx, [0x1402c3be0]
call fcn.140190db0
movdqa xmm0, xmmword [0x140288fd0]
movdqu xmmword [rbp - 0x10], xmm0
mov dword [rbp], r13d
mov dword [rbp + 4], 4
lea rax, [rbp - 0x10]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 8]
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
call fcn.140011a10
lea rcx, [0x1401cb2d0]
call fcn.14018e91c
nop
lea rcx, [0x1402c3c60]
call fcn.14018e4f0
mov eax, dword [rbx]
cmp dword [0x1402c3c64], eax
jle 0x140014876
lea rcx, [0x1402c3c64]
call fcn.14018e550
cmp dword [0x1402c3c64], 0xffffffff
jne 0x140014876
lea rcx, [0x1402c3c64]
call fcn.14018e4f0
mov rcx, qword [0x1402c3b28]
add rcx, 0x30
mov qword [rbp - 0x50], rcx
call fcn.14005f200
nop
mov rax, qword [0x1402c3b30]
test rax, rax
je 0x1400148a1
lea rcx, [0x140011200]
call rax
nop
lea rcx, [rbp - 0x50]
call fcn.14000e600
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThreadpool]
mov r15, rax
mov qword [rsp + 0x48], rax
lea rax, vtable.mb::common::system::ScopedAny_struct__TP_POOL____ptr64__void____cdecl___struct__TP_POOL____ptr64___void___cdecl_CloseThreadpool_struct__TP_POOL____ptr64___0__0__0_.0
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], r15
test r15, r15
jne 0x140014923
call fcn.140004b70
mov rbx, rax
mov rdi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rax, str.CreateThreadpool_failed:__u
mov qword [rsp + 0x30], rax
lea r14, str.MBVpnTunnelService
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
mov r9d, 0xcc
lea r8, str.d:jenkinsworkspace_n_mbvpntunnel_srcmbvpntunnelservicewireguardpipeserver.cpp
lea rdx, str.WireguardPipeServerThread::ThreadMain
mov rcx, rbx
call qword [rdi + 0x20]
nop
jmp 0x140014c74
call qword [sym.imp.KERNEL32.dll_CreateThreadpoolCleanupGroup]
mov r12, rax
mov qword [rsp + 0x40], rax
lea rax, vtable.mb::common::system::ScopedAny_struct__TP_CLEANUP_GROUP____ptr64__void____cdecl___struct__TP_CLEANUP_GROUP____ptr64___void___cdecl_CloseThreadpoolCleanupGroup_struct__TP_CLEANUP_GROUP____ptr64___0__0__0_.0
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r12
test r12, r12
jne 0x14001499d
call fcn.140004b70
mov rbx, rax
mov rdi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rax, str.CreateThreadpoolCleanupGroup_failed:__u
mov qword [rsp + 0x30], rax
lea r14, str.MBVpnTunnelService
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
mov r9d, 0xd3
lea r8, str.d:jenkinsworkspace_n_mbvpntunnel_srcmbvpntunnelservicewireguardpipeserver.cpp
lea rdx, str.WireguardPipeServerThread::ThreadMain
mov rcx, rbx
call qword [rdi + 0x20]
nop
mov rcx, r15
jmp 0x140014c6e
mov qword [rbp + 0x10], 3
mov qword [rbp + 0x50], 0x48
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r13
mov dword [rbp + 0x48], r13d
mov dword [rbp + 0x4c], 1
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r12
lea rax, [0x140014680]
mov qword [rbp + 0x28], rax
mov edx, 4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetThreadpoolThreadMinimum]
mov edx, reloc.WS2_32.dll_recv
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetThreadpoolThreadMaximum]
lea r14, str.MBVpnTunnelService
lea rdi, vtable.mb::common::system::ScopedAny_void____ptr64__int____cdecl___void____ptr64___int___cdecl_CloseHandle_void____ptr64___2__0__0_.0
lea r15, vtable.std::_Func_impl_no_alloc_class__lambda_7f6fb7f37832e24480068a0babcbcacb___int__void____ptr64__struct__OVERLAPPED____ptr64_.0
lea r12, vtable.mb::common::system::ScopedAny_struct__TP_WORK____ptr64__void____cdecl___struct__TP_WORK____ptr64___void___cdecl_CloseThreadpoolWork_struct__TP_WORK____ptr64___0__0__0_.0
nop
mov rcx, qword [0x1402c3980]
test rcx, rcx
je 0x140014a2c
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140014c4a
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], 0x2710
mov dword [rsp + 0x28], 0x10000
mov dword [rsp + 0x20], 0x10000
mov edx, 0x40000003
mov r9d, reloc.WS2_32.dll_recv
lea r8d, [r9 - 8]
lea rcx, str..pipeProtectedPrefixAdministratorsWireGuardmbvpn
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rsi, rax
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], rax
lea rcx, [rax + 1]
test rcx, 0xfffffffffffffffe
jne 0x140014b03
call fcn.140004b70
mov rbx, rax
mov rdi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rax, str.CreateNamedPipe_failed:__u
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
mov r9d, 0xee
lea r8, str.d:jenkinsworkspace_n_mbvpntunnel_srcmbvpntunnelservicewireguardpipeserver.cpp
lea rdx, str.WireguardPipeServerThread::ThreadMain
mov rcx, rbx
call qword [rdi + 0x20]
mov edx, 0x1388
mov rcx, qword [0x1402c3980]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
lea rdi, vtable.mb::common::system::ScopedAny_void____ptr64__int____cdecl___void____ptr64___int___cdecl_CloseHandle_void____ptr64___2__0__0_.0
mov qword [rbp - 0x60], rdi
lea rax, [rsi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140014afa
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x58], r13
jmp 0x140014a10
mov dword [rbp - 0x50], r13d
mov qword [rsp + 0x60], r15
lea rax, [rsp + 0x60]
mov qword [rbp - 0x68], rax
mov r9d, 0xffffffff
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.140013560
test al, al
jne 0x140014b90
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call fcn.140004b70
mov r10, rax
cmp ebx, 0x6d
je 0x140014b52
cmp ebx, 0x3e3
mov ecx, 2
jne 0x140014b57
mov ecx, 4
mov rax, qword [rax]
mov dword [rsp + 0x38], ebx
lea rdx, str.ConnectNamedPipe_failed:__u
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ecx
mov r9d, 0xfa
lea r8, str.d:jenkinsworkspace_n_mbvpntunnel_srcmbvpntunnelservicewireguardpipeserver.cpp
lea rdx, str.WireguardPipeServerThread::ThreadMain
mov rcx, r10
call qword [rax + 0x20]
nop
jmp 0x140014c0c
lea r8, [rbp + 0x10]
mov rdx, rsi
lea rcx, [0x140014240]
call qword [sym.imp.KERNEL32.dll_CreateThreadpoolWork]
mov rbx, rax
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140014c22
call fcn.140004b70
mov rbx, rax
mov rdi, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rax, str.CreateThreadpoolWork_failed:__u
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
mov r9d, 0x102
lea r8, str.d:jenkinsworkspace_n_mbvpntunnel_srcmbvpntunnelservicewireguardpipeserver.cpp
lea rdx, str.WireguardPipeServerThread::ThreadMain
mov rcx, rbx
call qword [rdi + 0x20]
nop
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r13
lea rdi, vtable.mb::common::system::ScopedAny_void____ptr64__int____cdecl___void____ptr64___int___cdecl_CloseHandle_void____ptr64___2__0__0_.0
mov qword [rbp - 0x60], rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x58], r13
jmp 0x140014a10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SubmitThreadpoolWork]
nop
mov qword [rbp - 0x48], r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseThreadpoolWork]
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], r13
jmp 0x140014a10
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseThreadpoolCleanupGroupMembers]
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseThreadpoolCleanupGroup]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseThreadpool]
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14018e2d0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401997dc
int3
jmp 0x1400146a0