Function at 0x140002780
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov dil, dl
mov qword [rbp - 0x10], rcx
lea rdx, str.127.0.0.1:8081srcutils.rs
lea rsi, [rbp + 0x10]
mov r8d, 0xe
mov rcx, rsi
call fcn.14006b600
cmp qword [rbp + 0x10], 0
jne 0x140002c0f
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x38], rax
lea rax, [0x1400f54a5]
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x10]
movabs rax, 0x1e8e499bb183ad49
mov qword [rbp + 0x10], rax
mov rdx, qword [rbp + 0x10]
call fcn.14001ad50
mov rdx, qword [rax]
lea rcx, [rdx + rdx]
movabs r8, 0x5fbc03382309c92e
and r8, rcx
sub rdx, r8
movabs rcx, 0x2fde019c1184e497
mov r8d, 0x12533b2a
xor r8d, dword [rax + 8]
add rcx, rdx
movzx eax, word [rax + 0xc]
movzx edx, al
shr eax, 8
mov r9d, eax
not r9b
or al, 0x88
or r9b, 0x77
and r9b, al
movzx eax, r9b
shl eax, 8
or edx, eax
movd xmm0, edx
pxor xmm0, xmmword [0x1400fe630]
movq xmm1, rcx
mov dword [rbp - 0x48], r8d
pextrw eax, xmm0, 0
movq qword [rbp - 0x50], xmm1
mov word [rbp - 0x44], ax
lea rax, [rbp - 0x50]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0xe
lea r15, [rbp - 0x30]
mov qword [rbp - 8], r15
lea r14, [0x140074e80]
mov qword [rbp], r14
lea r12, str.C:UsersAdministratorDesktop_rust_new2librarycore_src_strpattern.rs_
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 2
mov qword [rbp + 0x30], 0
lea rbx, [rbp - 8]
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], 1
lea rcx, [rbp + 0x10]
call fcn.1400b5fc0
lea rdx, [rbp - 0x38]
mov rcx, rsi
call fcn.1400b25f0
cmp word [rbp + 0x18], 2
je 0x140002c41
mov r13, qword [rbp + 0x10]
mov qword [rbp - 0x40], r13
lea rax, [0x1400f2e3d]
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x10]
movabs rax, 0xe682448000823782
mov qword [rbp + 0x10], rax
mov rdx, qword [rbp + 0x10]
mov qword [rbp - 0x18], r13
call fcn.140017780
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
movabs r8, 0xaca8f15b7fbff68c
add r8, rdx
add rdx, rdx
movabs r9, 0xa6ae1d49008012e7
xor r9, rdx
movabs rax, 0x5951e2b6ff7fed18
or rax, rdx
and rax, r9
mov rdx, rax
xor rdx, r8
not rax
and rax, r8
add rax, rax
sub rax, rdx
movabs rdx, 0x593d29029a1c840c
add rdx, rcx
movabs r8, 0xa6c2d6fd65e37bf3
sub r8, rcx
not rcx
add rcx, rcx
movabs r9, 0x4d85adfacbc6f7e7
or r9, rcx
mov rcx, r9
not rcx
and r8, rcx
and r9, rdx
sub r9, r8
movq xmm0, r9
movq xmm1, rax
punpcklqdq xmm0, xmm1
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 8], r15
mov qword [rbp], 0x10
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], r14
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 2
mov qword [rbp + 0x30], 0
lea rax, [rbp - 0x50]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp - 0x18], r13
lea rcx, [rbp + 0x10]
call fcn.1400b5fc0
movzx eax, byte [0x14014fbb1]
mov ecx, 1
mov edx, 1
call fcn.140078bb0
test rax, rax
je 0x140002c73
mov byte [rax], dil
mov qword [rbp - 8], rax
mov qword [rbp], 1
mov rax, qword [rbp - 0x10]
mov r15, qword [rax + 0x10]
mov rax, r15
bswap rax
mov qword [rbp + 8], 1
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 8
lea rcx, [rbp - 8]
mov edx, 1
mov r8d, 8
call fcn.1400f8be0
mov rdi, qword [rbp - 8]
mov rbx, qword [rbp + 8]
movdqu xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x10], xmm0
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
mov rdx, rax
xor rdx, rcx
mov r8, rax
not r8
and r8, rcx
add r8, r8
cmp r8, rdx
je 0x140002ac7
movabs rdx, 0x7ffffffffffffffe
sub rdx, rax
nop dword [rax + rax]
movzx r8d, byte [rbp + rax + 0x20]
inc rax
mov byte [rdi + rbx], r8b
inc rbx
mov r8, rax
xor r8, rcx
mov r9, rdx
and r9, rcx
add r9, r9
dec rdx
cmp r9, r8
jne 0x140002aa0
mov qword [rbp + 8], rbx
mov rax, qword [rbp - 0x10]
mov rsi, qword [rax]
add r15, rsi
mov rax, r15
xor rax, rsi
mov r14, rsi
not r14
and r14, r15
add r14, r14
sub r14, rax
mov rax, qword [rbp]
sub rax, rbx
cmp rax, r14
jae 0x140002b0d
lea rcx, [rbp - 8]
mov rdx, rbx
mov r8, r14
call fcn.1400f8be0
mov rdi, qword [rbp - 8]
mov rbx, qword [rbp + 8]
lea rcx, [rdi + rbx]
mov eax, r14d
not eax
mov edx, r14d
and edx, 1
neg rdx
and eax, 1
mov r9, r14
and r9, 0xfffffffffffffffe
imul r9, rax
mov r8, r14
or r8, 1
and r8, rdx
add r8, r9
mov rdx, rsi
call fcn.1400f7010
mov rax, rbx
and rax, r14
xor rbx, r14
lea r8, [rbx + rax*2]
lea rcx, [rbp - 0x40]
mov rdx, rdi
call fcn.14006ff50
test rax, rax
jne 0x140002c88
mov rdx, qword [rbp]
test rdx, rdx
je 0x140002ba3
mov eax, edx
not eax
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8d, edx
and r8d, 1
neg r8
and eax, 1
imul rax, rcx
or rdx, 1
and rdx, r8
add rdx, rax
je 0x140002ba3
mov r8d, 1
mov rcx, rdi
call fcn.140078bc0
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.ws2_32.dll_closesocket]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ws2_32.dll_closesocket]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140002bfa
mov eax, edx
not eax
mov rcx, rdx
and rcx, 0xfffffffffffffffe
mov r8d, edx
and r8d, 1
neg r8
and eax, 1
imul rax, rcx
or rdx, 1
and rdx, r8
add rdx, rax
je 0x140002bfa
mov r8d, 1
mov rcx, rsi
call fcn.140078bc0
nop
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x10], rax
lea rax, [0x1400feab0]
mov qword [rsp + 0x20], rax
lea rcx, [0x1400fea08]
lea r9, fcn.1400010c0
lea r8, [rbp + 0x10]
mov edx, 0x2b
call fcn.1400fd380
jmp 0x140002cb4
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x30], rax
lea rax, [0x1400feaf0]
mov qword [rsp + 0x20], rax
lea rcx, [0x1400fea08]
lea r9, fcn.1400010c0
lea r8, [rbp - 0x30]
mov edx, 0x2b
call fcn.1400fd380
jmp 0x140002cb4
mov qword [rbp - 0x18], r13
mov ecx, 1
mov edx, 1
call fcn.1400fce30
jmp 0x140002cb4
mov qword [rbp + 0x10], rax
lea rax, [0x1400feb08]
mov qword [rsp + 0x20], rax
lea rcx, [0x1400fea08]
lea r9, fcn.1400010c0
lea r8, [rbp + 0x10]
mov edx, 0x2b
call fcn.1400fd380
ud2