Function at 0x140140bc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r12
push r14
push r15
mov eax, 0x130
call fcn.1401c4230
sub rsp, rax
mov rax, qword [0x1402bced0]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rsi, qword [rcx + 0x70]
mov r12, r9
mov qword [rsp + 0x50], r9
mov r15, r8
mov r14, rdx
mov qword [rsp + 0x40], rcx
mov rbx, qword [rsi + 0xc8]
lea rax, [rbx + 0x10]
cmp r9, rax
je 0x140140c17
or eax, 0xffffffff
jmp 0x140140fa9
mov qword [rsp + 0x128], rbp
lea rax, [rsp + 0x60]
neg rax
mov qword [rsp + 0x120], rdi
and eax, 0xf
mov qword [rsp + 0x118], r13
lea rcx, [rsp + 0x60]
xor edi, edi
add rcx, rax
mov r9, rsi
mov qword [rsp + 0x38], rcx
lea rax, [rcx + 0x30]
mov qword [rsp + 0x30], rax
lea rbp, [rcx + 0x40]
cmp rbx, 0x40
ja 0x140140e38
mov edx, 0x80
mov dword [rsi + 0x20], edi
lea rax, [rsi + 0x20]
mov qword [rsp + 0x48], rdx
mov r8d, edx
mov qword [rsp + 0x20], rax
lea rdx, [0x1402260d0]
call fcn.1401712a0
mov rdx, qword [rsp + 0x38]
lea r13, [rsi + 0xd0]
mov rcx, r13
call fcn.140167eb0
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rsi + 0x94]
mov dword [rsi + 0x70], edi
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0xa8], reloc.WS2_32.dll_listen
mov qword [rsi + 0xb0], rbx
cmp dword [rax + 0x10], edi
je 0x140140d11
test rbx, rbx
je 0x140140e0e
mov r8, r15
mov r9, r14
sub r8, rbp
mov rdx, rbp
sub r9, rbp
mov rdi, rbx
nop word [rax + rax]
movzx ecx, byte [r8 + rdx]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
mov byte [rdx - 1], cl
mov byte [r9 + rdx - 1], cl
sub rbx, 1
jne 0x140140cf0
jmp 0x140140e0e
test rbx, rbx
je 0x140140e0e
cmp rbx, 0x20
jb 0x140140dc7
lea rcx, [rbx - 1]
lea rax, [r14 - 1]
add rcx, rbp
add rax, rbx
cmp rbp, rax
ja 0x140140d40
cmp rcx, r14
jae 0x140140dc7
lea rax, [r15 - 1]
add rax, rbx
cmp rbp, rax
ja 0x140140d51
cmp rcx, r15
jae 0x140140dc7
cmp r14, rax
ja 0x140140d62
lea rax, [r14 - 1]
add rax, rbx
cmp rax, r15
jae 0x140140dc7
mov r8, rbx
mov r9, r15
mov r10, r15
and r8, 0xffffffffffffffe0
sub r9, r14
sub r10, rbp
mov rdx, r14
mov rcx, rbp
sub rdx, rbp
nop
movdqu xmm0, xmmword [rcx]
lea rax, [rcx + rdx]
add rdi, 0x20
lea rcx, [rcx + 0x20]
movdqu xmm2, xmmword [rax + r9]
movdqa xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm2
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [rcx + r10 - 0x10]
pxor xmm0, xmm1
movdqu xmmword [rcx + rdx - 0x10], xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp rdi, r8
jb 0x140140d80
cmp rdi, rbx
jae 0x140140e0e
mov r9, r15
lea r8, [rdi + rbp]
mov r10, r14
sub r9, r14
sub r10, rbp
sub rbx, rdi
add rdi, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8]
lea rcx, [r10 + r8]
movzx edx, byte [rcx + r9]
mov byte [r8], dl
lea r8, [r8 + 1]
xor al, dl
mov byte [rcx], al
sub rbx, 1
jne 0x140140df0
mov rbx, rdi
lea rcx, [rdi + rbp]
neg rbx
xor edx, edx
and ebx, 0xf
mov r8d, ebx
call fcn.1401c5190
lea rax, [rbx + rdi]
mov rbx, rdi
add rbp, rax
lea r8, [rax + 0x10]
jmp 0x140140f21
mov eax, 0x40
mov dword [rsi + 0x20], edi
lea r12, [rsi + 0x20]
mov qword [rsp + 0x48], rax
mov r8d, eax
mov qword [rsp + 0x20], r12
lea rdx, [0x1402260d0]
call fcn.1401712a0
mov rdx, qword [rsp + 0x38]
lea r13, [rsi + 0xd0]
mov rcx, r13
call fcn.140167eb0
mov dword [r12], 1
lea rdx, [rsi + 0x94]
mov r8d, reloc.WS2_32.dll_recv
mov dword [rsi + 0x70], edi
mov rcx, r13
call fcn.140168010
mov rax, qword [rsp + 0x40]
mov r8, rbx
mov qword [rsi + 0xa8], reloc.WS2_32.dll_listen
mov rdx, r15
mov qword [rsi + 0xb0], rbx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x58], rdi
cmp dword [rax + 0x10], edi
je 0x140140edd
mov r9, rsi
mov qword [rsp + 0x20], r12
mov rcx, r14
call fcn.1401712a0
mov r8, rbx
mov rdx, r14
mov rcx, r13
call fcn.140168010
jmp 0x140140efb
mov rcx, r13
call fcn.140168010
mov r9, rsi
mov qword [rsp + 0x20], r12
mov r8, rbx
mov rdx, r15
mov rcx, r14
call fcn.1401712a0
mov r8, rbx
lea rdx, [0x1402260d0]
neg r8
mov rcx, r13
and r8d, 0xf
call fcn.140168010
mov r8, qword [rsp + 0x58]
mov rdi, rbx
mov r12, qword [rsp + 0x50]
movups xmm0, xmmword [rsi + 0xa8]
add r15, rbx
add r8, 0x10
lea rbx, [r14 + rdi]
mov rcx, r13
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
movups xmmword [rbp], xmm0
call fcn.140168010
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
call fcn.1400d8070
mov rbp, qword [rsp + 0x40]
lea rdx, [rsi + 0x84]
cmp dword [rbp + 0x10], 0
jne 0x140140f6b
mov rdx, rdi
mov rcx, r13
call fcn.140167e10
mov r13, qword [rsp + 0x118]
mov qword [rsi + 0xc8], 0xffffffffffffffff
cmp dword [rbp + 0x10], 0
mov rbp, qword [rsp + 0x128]
je 0x140140fc9
movups xmm0, xmmword [rsi + 0x84]
movups xmmword [rbx], xmm0
mov eax, r12d
mov rdi, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1401c3cc0
add rsp, 0x130
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret
mov r8d, reloc.WS2_32.dll_recv
mov rdx, r15
mov rcx, rdi
call fcn.1400d8a10
test eax, eax
je 0x140140f9e
sub rbx, r12
lea r8, [r12 - 0x10]
xor edx, edx
lea rcx, [rbx + 0x10]
call fcn.1401c5190
or eax, 0xffffffff
jmp 0x140140fa1