Function at 0x1401e0950
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
mov eax, 0x148
call fcn.1401fbe10
sub rsp, rax
mov r15, rcx
mov qword [rsp + 0x28], 0
nop
mov r9, qword [r15]
mov r13, qword [r15 + 0x50]
mov rax, r9
xor rax, qword [r15 + 0x28]
mov rdi, qword [r15 + 0x30]
xor rax, r13
xor rax, qword [r15 + 0x78]
xor rax, qword [r15 + 0xa0]
mov r12, qword [r15 + 0x80]
mov qword [rbp + 0x98], rax
mov rax, qword [r15 + 8]
xor rax, rdi
mov qword [rsp + 0x38], r13
xor rax, qword [r15 + 0x58]
mov r13, qword [rbp + 0x90]
xor rax, r12
xor rax, qword [r15 + 0xa8]
mov r15, qword [r15 + 0xb0]
mov qword [rsp + 0x20], rax
mov r8, qword [r13 + 0x90]
mov rbx, qword [r13 + 0x60]
mov r10, qword [r13 + 0xc0]
mov rsi, qword [r13 + 0x48]
mov r11, qword [r13 + 0x20]
mov r14, qword [r13 + 0x18]
xor r11, rsi
xor r11, qword [r13 + 0x70]
mov rcx, r14
xor rcx, qword [r13 + 0x40]
xor rcx, qword [r13 + 0x68]
xor r11, qword [r13 + 0x98]
xor rcx, r8
xor rcx, qword [r13 + 0xb8]
xor r11, r10
mov rdx, qword [r13 + 0x10]
xor rdx, qword [r13 + 0x38]
ror rax, 0x3f
xor rdx, rbx
xor rdx, qword [r13 + 0x88]
mov r13, qword [rbp + 0x98]
xor rdx, r15
mov qword [rbp + 0xa8], r11
xor r11, rax
mov rax, rdx
mov qword [rbp + 0xa0], r13
mov r13, qword [rsp + 0x20]
ror rax, 0x3f
xor qword [rbp + 0xa0], rax
mov rax, rcx
ror rax, 0x3f
xor r13, rax
mov qword [rsp + 0x30], r11
mov rax, qword [rbp + 0xa8]
xor r11, r9
mov r9, qword [rbp + 0xa0]
ror rax, 0x3f
xor r9, rdi
xor rax, rdx
rol r9, 0x2c
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xa8]
ror rax, 0x3f
mov rdx, rdi
xor rax, rcx
mov qword [rsp + 0x48], r9
xor rdx, r8
mov qword [rbp + 0x98], rax
mov r8, rax
rol rdx, 0x15
xor r8, r10
mov qword [rsp + 0x58], rdx
rol r8, 0xe
mov rcx, r13
xor rcx, rbx
mov qword [rsp + 0x60], r8
rol rcx, 0x2b
mov rax, r9
not rax
mov qword [rsp + 0x50], rcx
and rax, rcx
mov rcx, qword [rsp + 0x28]
lea r10, reloc.WS2_32.dll_accept
mov rbx, qword [rbp + 0xa0]
movdqu xmm0, xmmword [rsp + 0x58]
xor rax, qword [r10 + rcx*8]
mov r10, rdi
movdqu xmm1, xmmword [rsp + 0x50]
xor rax, r11
xor r10, r14
mov r14, qword [rbp + 0x98]
mov qword [rsp + 0x70], rax
andnps xmm1, xmm0
movdqu xmm0, xmmword [rsp + 0x48]
rol r10, 0x1c
mov rax, r8
not rax
and rax, r11
xorps xmm1, xmm0
xor rax, rdx
not r11
mov qword [rbp - 0x78], rax
and r11, r9
xor r11, r8
mov r9, r14
xor r9, rsi
mov qword [rbp - 0x70], r11
mov r11, qword [rsp + 0x30]
mov rdx, rbx
rol r9, 0x14
xor rdx, r12
rol rdx, 0x2d
mov rax, r9
not rax
mov rcx, r11
xor rcx, qword [rsp + 0x38]
mov r8, r13
rol rcx, 3
xor r8, r15
mov r15, qword [rbp + 0x90]
and rax, rcx
xor rax, r10
rol r8, 0x3d
mov qword [rbp - 0x68], rax
mov rsi, r13
mov rax, rcx
not rax
and rax, rdx
xor rax, r9
mov qword [rbp - 0x60], rax
mov rax, rdx
not rax
and rax, r8
xor rax, rcx
mov rcx, rdi
xor rcx, qword [r15 + 0x68]
mov qword [rbp - 0x58], rax
mov rax, r8
not rax
rol rcx, 0x19
and rax, r10
not r10
and r10, r9
xor rax, rdx
xor r10, r8
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], r10
mov r9, r13
xor r9, qword [r15 + 0x38]
mov r10, rbx
xor r10, qword [r15 + 8]
mov rdx, r14
xor rdx, qword [r15 + 0x98]
mov r8, r11
xor r8, qword [r15 + 0xa0]
rol r9, 6
rol r10, 1
mov rax, r9
rol rdx, 8
not rax
rol r8, 0x12
movdqu xmmword [rsp + 0x78], xmm1
and rax, rcx
xor rsi, qword [r15 + 0x10]
xor rax, r10
rol rsi, 0x3e
mov qword [rbp - 0x40], rax
mov rax, rcx
not rax
and rax, rdx
xor rax, r9
mov qword [rbp - 0x38], rax
mov rax, rdx
not rax
and rax, r8
xor rax, rcx
mov rcx, rbx
xor rcx, qword [r15 + 0x58]
xor rbx, qword [r15 + 0xa8]
mov qword [rbp - 0x30], rax
mov rax, r8
not rax
rol rcx, 0xa
and rax, r10
rol rbx, 2
xor rax, rdx
not r10
mov qword [rbp - 0x28], rax
and r10, r9
xor r10, r8
mov r9, r11
xor r9, qword [r15 + 0x28]
mov r8, rdi
xor r8, qword [r15 + 0xb8]
mov rdx, r13
xor rdx, qword [r15 + 0x88]
xor rdi, qword [r15 + 0x40]
xor r11, qword [r15 + 0x78]
mov qword [rbp - 0x20], r10
mov r10, r14
xor r10, qword [r15 + 0x20]
xor r14, qword [r15 + 0x70]
rol r10, 0x1b
rol r9, 0x24
rol rdx, 0xf
mov rax, r9
not rax
rol r8, 0x38
and rax, rcx
rol r14, 0x27
xor rax, r10
rol rdi, 0x37
mov qword [rbp - 0x18], rax
mov rax, rcx
not rax
rol r11, 0x29
and rax, rdx
xor rax, r9
mov qword [rbp - 0x10], rax
mov rax, rdx
not rax
and rax, r8
xor rax, rcx
mov qword [rbp - 8], rax
mov rax, r8
not rax
and rax, r10
not r10
xor rax, rdx
and r10, r9
mov qword [rbp], rax
xor r10, r8
mov rax, rdi
mov qword [rbp + 8], r10
not rax
and rax, r14
xor rax, rsi
mov qword [rbp + 0x10], rax
mov rax, r14
not rax
and rax, r11
xor rax, rdi
mov qword [rbp + 0x18], rax
mov rax, r11
lea rdx, [rsp + 0x70]
not rax
mov rcx, r15
and rax, rbx
xor rax, r14
mov qword [rbp + 0x20], rax
mov rax, rbx
not rax
and rax, rsi
not rsi
xor rax, r11
and rsi, rdi
xor rsi, rbx
mov qword [rbp + 0x28], rax
mov rbx, qword [rsp + 0x28]
mov qword [rbp + 0x30], rsi
lea r8, [rbx + 1]
call fcn.1401e0db0
add rbx, 2
mov qword [rsp + 0x28], rbx
cmp rbx, 0x18
jb 0x1401e0980
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret