Function at 0x580890
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x160]
cmp rax, qword [rcx + 0x10]
jbe 0x58129a
sub rsp, 0x1e0
mov qword [rsp + 0x1d8], rbp
lea rbp, [rsp + 0x1d8]
mov qword [rsp + 0x210], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x218], xmm0
mov rax, qword [rsp + 0x1e8]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 8], rcx
call sym.a.out.exe_golang.org_x_sys_windows.UTF16FromString
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
test rax, rax
jne 0x581180
xorps xmm0, xmm0
movups xmmword [rsp + 0x1a8], xmm0
movups xmmword [rsp + 0x1b8], xmm0
movups xmmword [rsp + 0x1c8], xmm0
mov qword [rsp + 0x1a8], 0x30
mov dword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
test rbx, rbx
jbe 0x58128f
mov qword [rsp], rdx
lea rax, [rsp + 0x88]
mov qword [rsp + 8], rax
movups xmmword [rsp + 0x10], xmm0
call sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.rtlDosPathNameToNtPathName
mov eax, dword [rsp + 0x20]
test eax, eax
jl 0x581169
xor eax, eax
xor ecx, ecx
test rcx, rcx
je 0x580aa5
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x70], rcx
lea rax, [0x00630ce0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.newobject
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 4
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x580a94
lea rcx, [0x0065ec8a]
mov qword [rdi], rcx
mov rcx, qword [rsp + 0x1f0]
mov qword [rdi + 0x18], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x580a72
mov rcx, qword [rsp + 0x1e8]
mov qword [rdi + 0x10], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rdi + 0x20], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x580a53
mov rax, qword [rsp + 0x160]
mov qword [rdi + 0x28], rax
mov qword [rsp + 0x210], 0
lea rax, sym.a.out.exe_go.itab.os.PathError_error
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rdi
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
lea rcx, [rdi + 0x28]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x160]
call sym.a.out.exe_runtime.gcWriteBarrier
mov rdi, rdx
jmp 0x580a1a
lea rcx, [rdi + 0x10]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x1e8]
call sym.a.out.exe_runtime.gcWriteBarrier
mov rdi, rdx
jmp 0x5809fc
lea rax, [0x0065ec8a]
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x5809d7
mov dword [rsp + 0x108], 0x20
lea rax, sym.a.out.exe_golang.org_x_sys_windows.LocalFree
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x138], rcx
lea rcx, [rsp + 0x108]
mov qword [rsp], rcx
call sym.a.out.exe_runtime.deferprocStack
test eax, eax
jne 0x581153
lea rax, [rsp + 0x88]
mov qword [rsp + 0x1b8], rax
movzx eax, byte [rsp + 0x208]
test al, al
je 0x580b1d
mov rcx, qword [rsp + 0x1f8]
test rcx, rcx
je 0x580d78
mov qword [rsp + 0x1c8], rcx
mov rcx, qword [rsp + 0x200]
movzx edx, byte [rcx + 8]
mov qword [rsp + 0x60], 0xfffffffffff85ee0
mov qword [rsp + 0x68], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
mov ebx, dword [rcx + 0xc]
mov ecx, dword [rcx + 0x10]
lea rsi, [rsp + 0x68]
mov qword [rsp], rsi
test rax, rax
mov eax, 0xc0100000
mov esi, 0x100000
cmovne eax, esi
mov dword [rsp + 8], eax
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x10], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x18], rax
mov dword [rsp + 0x20], 3
mov eax, 1
mov esi, 2
cmovne eax, esi
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], 0
test rdx, rdx
mov eax, 3
cmovne esi, eax
mov dword [rsp + 0x2c], esi
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x40], ecx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
call sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.ntCreateNamedPipeFile
mov eax, dword [rsp + 0x50]
test eax, eax
jl 0x580d61
xor eax, eax
xor ecx, ecx
test rcx, rcx
je 0x580d03
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x58], rcx
lea rax, [0x00630ce0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.newobject
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 4
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x580cf2
lea rcx, [0x0065ec8a]
mov qword [rdi], rcx
mov rcx, qword [rsp + 0x1f0]
mov qword [rdi + 0x18], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x580cd0
mov rcx, qword [rsp + 0x1e8]
mov qword [rdi + 0x10], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rdi + 0x20], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x580cb1
mov rax, qword [rsp + 0x158]
mov qword [rdi + 0x28], rax
mov qword [rsp + 0x210], 0
lea rax, sym.a.out.exe_go.itab.os.PathError_error
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rdi
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
lea rcx, [rdi + 0x28]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x158]
call sym.a.out.exe_runtime.gcWriteBarrier
mov rdi, rdx
jmp 0x580c78
lea rcx, [rdi + 0x10]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x1e8]
call sym.a.out.exe_runtime.gcWriteBarrier
mov rdi, rdx
jmp 0x580c5a
lea rax, [0x0065ec8a]
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x580c35
movzx eax, word [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
movzx edx, word [rsp + 0x8a]
mov word [rsp + 0xa8], ax
mov word [rsp + 0xaa], dx
mov qword [rsp + 0xb0], rcx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x210], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x218], xmm0
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
mov dword [rsp], eax
call sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.rtlNtStatusToDosError
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
jmp 0x580beb
mov qword [rsp + 0x80], 0
lea rax, [rsp + 0x80]
mov qword [rsp], rax
call sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.rtlDefaultNpAcl
mov eax, dword [rsp + 8]
test eax, eax
jl 0x58113c
xor eax, eax
xor ecx, ecx
test rcx, rcx
je 0x580e43
je 0x580db4
mov rcx, qword [rcx + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rax
lea rax, [0x00669126]
mov qword [rsp], rax
mov qword [rsp + 8], 0x22
lea rax, [rsp + 0x170]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call sym.a.out.exe_fmt.Errorf
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rcx
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
mov dword [rsp + 0xb8], 0x20
lea rax, sym.a.out.exe_golang.org_x_sys_windows.LocalFree
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xb8]
mov qword [rsp], rax
call sym.a.out.exe_runtime.deferprocStack
test eax, eax
jne 0x581126
nop
mov qword [rsp + 0x180], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x198], xmm0
mov qword [rsp + 0x180], 0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x198], xmm0
lea rax, [rsp + 0x180]
mov qword [rsp], rax
mov dword [rsp + 8], 1
call sym.a.out.exe_golang.org_x_sys_windows.initializeSecurityDescriptor
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
test rcx, rcx
je 0x580f83
je 0x580ef4
mov rcx, qword [rcx + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rax
lea rax, [0x00669cc9]
mov qword [rsp], rax
mov qword [rsp + 8], 0x24
lea rax, [rsp + 0x170]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call sym.a.out.exe_fmt.Errorf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], rax
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
mov rax, qword [rsp + 0x80]
lea rcx, [rsp + 0x180]
mov qword [rsp], rcx
mov byte [rsp + 8], 1
mov qword [rsp + 0x10], rax
mov byte [rsp + 0x18], 0
call sym.a.out.exe_golang.org_x_sys_windows.setSecurityDescriptorDacl
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x581053
je 0x580fc4
mov rcx, qword [rcx + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rax
lea rax, [0x00662450]
mov qword [rsp], rax
mov qword [rsp + 8], 0x12
lea rax, [rsp + 0x170]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call sym.a.out.exe_fmt.Errorf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], rax
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
lea rax, [rsp + 0x180]
mov qword [rsp], rax
call sym.a.out.exe_golang.org_x_sys_windows._SECURITY_DESCRIPTOR_.ToSelfRelative
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 8]
test rax, rax
je 0x581111
je 0x581082
mov rax, qword [rax + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rcx
lea rax, [0x00668060]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1f
lea rax, [rsp + 0x170]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call sym.a.out.exe_fmt.Errorf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], rcx
mov qword [rsp + 0x220], rax
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
mov qword [rsp + 0x1c8], rdx
movzx eax, byte [rsp + 0x208]
jmp 0x580b1d
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
mov dword [rsp], eax
call sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.rtlNtStatusToDosError
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
jmp 0x580da5
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
mov dword [rsp], eax
call sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.rtlNtStatusToDosError
mov rcx, qword [rsp + 8]
mov rax, qword [rsp + 0x10]
jmp 0x58098d
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x168], rcx
lea rax, [0x00630ce0]
mov qword [rsp], rax
call sym.a.out.exe_runtime.newobject
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 4
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x58127e
lea rcx, [0x0065ec8a]
mov qword [rdi], rcx
mov rcx, qword [rsp + 0x1f0]
mov qword [rdi + 0x18], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x58125c
mov rcx, qword [rsp + 0x1e8]
mov qword [rdi + 0x10], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rdi + 0x20], rcx
cmp dword [sym.a.out.exe_runtime.writeBarrier], 0
jne 0x58123d
mov rax, qword [rsp + 0x168]
mov qword [rdi + 0x28], rax
mov qword [rsp + 0x210], 0
lea rax, sym.a.out.exe_go.itab.os.PathError_error
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rdi
nop
call sym.a.out.exe_runtime.deferreturn
mov rbp, qword [rsp + 0x1d8]
add rsp, 0x1e0
ret
lea rcx, [rdi + 0x28]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x168]
call sym.a.out.exe_runtime.gcWriteBarrier
mov rdi, rdx
jmp 0x581204
lea rcx, [rdi + 0x10]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x1e8]
call sym.a.out.exe_runtime.gcWriteBarrier
mov rdi, rdx
jmp 0x5811e6
lea rax, [0x0065ec8a]
call sym.a.out.exe_runtime.gcWriteBarrier
jmp 0x5811c1
xor eax, eax
mov rcx, rbx
call sym.a.out.exe_runtime.panicIndex
nop
call sym.a.out.exe_runtime.morestack_noctxt
jmp sym.a.out.exe_golang.zx2c4.com_wireguard_ipc_winpipe.makeServerPipeHandle