Function at 0x140303b00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x140498128]
xor rax, rsp
mov qword [rsp + 0x40], rax
movzx eax, byte [rcx]
lea r15, [rcx + 0x20]
mov r12, qword [rcx + 0x28]
mov rbp, r9
mov r13, qword [rcx + 0x30]
mov rsi, r8
mov byte [rsp + 0x20], al
mov rbx, rdx
lea r14, [rcx + 0x10]
mov rdi, rcx
test al, 0x40
jne 0x140303b5b
mov r8, r13
mov rdx, r14
call r12
inc qword [r15]
movzx eax, byte [rsp + 0x20]
movzx r8d, al
xor ecx, ecx
and r8d, 7
mov eax, reloc.WS2_32.dll_ntohs
sub eax, r8d
mov byte [rdi], r8b
mov dword [rsp + 0x24], eax
cmp eax, 0xf
jae 0x140303b9f
mov edx, eax
add rdx, rdi
nop
movzx eax, byte [rdx]
mov byte [rdx], 0
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
sub r8, 1
jne 0x140303b80
lea r15, [rdi + 0x20]
lea r14, [rdi + 0x10]
movzx eax, byte [rdi + 0xf]
or rcx, rax
mov byte [rdi + 0xf], 1
cmp rcx, rbp
je 0x140303bb9
mov eax, 0xffffffff
jmp 0x140303e50
lea rax, [rbp + 0xf]
or rax, 8
shr rax, 3
add qword [r15], rax
movabs rax, 0x2000000000000000
cmp qword [r15], rax
jbe 0x140303be1
mov eax, 0xfffffffe
jmp 0x140303e50
cmp rbp, 0x10
jb 0x140303c6b
mov r15, rbp
shr r15, 4
imul rax, r15, 0xfffffffffffffff0
add rbp, rax
mov qword [rsp + 0x28], rbp
nop
mov rax, qword [rbx]
mov r8, r13
xor qword [r14], rax
mov rdx, r14
mov rax, qword [rbx + 8]
mov rcx, r14
xor qword [rdi + 0x18], rax
call r12
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov eax, 8
nop dword [rax]
dec eax
add byte [rax + rdi + 8], 1
jne 0x140303c40
test eax, eax
jne 0x140303c30
nop dword [rax]
mov rax, qword [rsp + 0x30]
xor rax, qword [rbx]
mov qword [rsi], rax
mov rax, qword [rsp + 0x38]
xor rax, qword [rbx + 8]
add rbx, 0x10
mov qword [rsi + 8], rax
add rsi, 0x10
sub r15, 1
jne 0x140303c00
mov rbp, qword [rsp + 0x28]
lea rax, [rdi + 0x18]
mov r15, rax
test rbp, rbp
je 0x140303e08
xor r15d, r15d
mov edx, r15d
test rbp, rbp
je 0x140303dbf
mov ecx, r15d
nop dword [rax]
movzx eax, byte [rcx + rbx]
inc edx
xor byte [rcx + rdi + 0x10], al
mov ecx, edx
cmp rcx, rbp
jb 0x140303c90
mov r8, r13
mov rdx, r14
mov rcx, r14
call r12
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov edx, r15d
cmp rbp, 8
jb 0x140303ddc
lea eax, [rbp - 1]
mov ecx, eax
lea r8, [rax + rsi]
lea rax, [rsp + 0x30]
add rax, rcx
cmp rsi, rax
ja 0x140303cec
lea rax, [rsp + 0x30]
cmp r8, rax
jae 0x140303ddc
lea rax, [rcx + rbx]
cmp rsi, rax
ja 0x140303cfe
cmp r8, rbx
jae 0x140303ddc
cmp rbp, 0x40
jb 0x140303d8f
mov r8, rbp
mov r9, rbp
and r8d, 0x3f
sub r9, r8
mov r10d, 0x20
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + r15 + 0x30]
lea eax, [r10 - 0x10]
add edx, 0x40
movdqu xmm1, xmmword [r15 + rbx]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmmword [r15 + rsi], xmm1
mov r15d, edx
movdqu xmm1, xmmword [rax + rbx]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
mov eax, r10d
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rax + rbx]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r10 + 0x10]
add r10d, 0x40
movdqu xmm1, xmmword [rax + rbx]
movdqu xmm0, xmmword [rsp + rax + 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp r15, r9
jb 0x140303d20
cmp r8, 8
jb 0x140303ddc
mov rcx, rbp
and rcx, 0xfffffffffffffff8
mov eax, edx
nop dword [rax + rax]
movq xmm1, qword [rax + rbx]
add edx, 8
movq xmm0, qword [rsp + rax + 0x30]
xorps xmm1, xmm0
movq qword [rax + rsi], xmm1
mov eax, edx
cmp rax, rcx
jb 0x140303da0
jmp 0x140303ddc
mov r8, r13
mov rdx, r14
mov rcx, r14
call r12
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov edx, r15d
mov ecx, edx
lea r15, [rdi + 0x18]
cmp rcx, rbp
jae 0x140303e08
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
inc edx
xor al, byte [rsp + rcx + 0x30]
mov byte [rcx + rsi], al
mov ecx, edx
cmp rcx, rbp
jb 0x140303df0
lea r15, [rdi + 0x18]
mov edx, dword [rsp + 0x24]
cmp edx, 0x10
jae 0x140303e29
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rdi + rdx]
sub r8d, edx
xor edx, edx
call fcn.140358b50
lea r15, [rdi + 0x18]
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, rdi
call r12
mov rax, qword [rsp + 0x30]
xor qword [r14], rax
mov rax, qword [rsp + 0x38]
xor qword [r15], rax
movzx eax, byte [rsp + 0x20]
mov byte [rdi], al
xor eax, eax
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1401702c0
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret