Function at 0x1400c6c10
Capabilities:
Encode data using xor

Disassembly:
push rbx
push r12
push r13
push r15
sub rsp, 0x2c8
mov rax, qword [0x14019d0c0]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov r15, rcx
mov dword [rsp + 0x34], r9d
mov ecx, r9d
mov qword [rsp + 0x38], r8
mov r13d, edx
call fcn.1400bd910
mov ebx, eax
test eax, eax
js 0x1400c6f7d
lea r12d, [rbx + rbx]
lea eax, [r12 + 2]
cmp r13d, eax
jb 0x1400c6f7d
mov qword [rsp + 0x2b0], rdi
lea rcx, [rsp + 0x80]
mov r8d, r13d
mov qword [rsp + 0x2a8], r14
xor edx, edx
call fcn.14014c1f0
mov r14d, dword [rsp + 0x310]
lea edx, [rbx + 1]
mov edi, r13d
add rdx, r15
sub edi, ebx
dec r14d
dec edi
cmp r14d, 0x19
ja case.0x1400c6cc7.4
lea r8, [0x140000000]
movsxd rax, r14d
movzx eax, byte [r8 + rax + 0xc6fa0]
mov ecx, dword [r8 + rax*4 + 0xc6f84]
add rcx, r8
jmp rcx
mov ecx, 4
jmp 0x1400c6cf1
mov ecx, 6
jmp 0x1400c6cf1
mov ecx, 7
jmp 0x1400c6cf1
mov ecx, 8
jmp 0x1400c6cf1
mov ecx, reloc.WS2_32.dll_recv
jmp 0x1400c6cf1
mov ecx, reloc.WS2_32.dll_recvfrom
lea r9, [rsp + 0x80]
mov dword [rsp + 0x20], ebx
mov r8d, edi
call fcn.1400c62c0
mov ecx, eax
test eax, eax
jne 0x1400c6f79
mov qword [rsp + 0x2c0], rbp
lea rdx, [r15 + 1]
mov r8d, ebx
mov qword [rsp + 0x2b8], rsi
lea rcx, [rsp + 0x80]
call fcn.1400c2bc0
lea r8, [0x140000000]
movsxd rax, r14d
lea rbp, [rsp + 0x80]
mov rsi, rbx
add rbp, rbx
movzx eax, byte [r8 + rax + 0xc6fd8]
mov edx, dword [r8 + rax*4 + 0xc6fbc]
add rdx, r8
jmp rdx
mov ecx, 4
jmp 0x1400c6d89
mov ecx, 6
jmp 0x1400c6d89
mov ecx, 7
jmp 0x1400c6d89
mov ecx, 8
jmp 0x1400c6d89
mov ecx, reloc.WS2_32.dll_recv
jmp 0x1400c6d89
mov ecx, reloc.WS2_32.dll_recvfrom
mov r9, rbp
mov dword [rsp + 0x20], edi
mov r8d, ebx
lea rdx, [rsp + 0x80]
call fcn.1400c62c0
mov ecx, eax
test eax, eax
jne 0x1400c6f58
lea rcx, [r15 + 1]
mov r8d, edi
add rcx, rbx
mov rdx, rbp
call fcn.1400c2bc0
lea rcx, [rsp + 0x80]
mov eax, r13d
test r13d, r13d
je 0x1400c6ddc
nop dword [rax]
mov byte [rcx], 0
lea rcx, [rcx + 1]
add eax, 0xffffffff
jne 0x1400c6dd0
xor edi, edi
lea r14d, [r12 + 1]
lea r12d, [r13 - 1]
mov r9d, 1
mov r10d, edi
mov r11d, edi
mov edx, r9d
cmp r14d, r12d
jae 0x1400c6e74
mov eax, r12d
mov r8d, r14d
sub eax, r14d
cmp eax, 2
jb 0x1400c6e5a
mov eax, r12d
sub eax, r14d
sub eax, 2
shr eax, 1
inc eax
mov ebp, eax
lea eax, [r14 + rax*2]
mov dword [rsp + 0x30], eax
movzx ecx, byte [r8 + r15]
mov eax, r9d
neg ecx
shr ecx, 0x1f
sub eax, ecx
movzx ecx, byte [r8 + r15 + 1]
and edx, eax
neg ecx
shr ecx, 0x1f
add r10d, edx
mov eax, r9d
add r8, 2
sub eax, ecx
and edx, eax
add r11d, edx
sub rbp, 1
jne 0x1400c6e20
cmp dword [rsp + 0x30], r12d
jae 0x1400c6e6d
movzx eax, byte [r8 + r15]
neg eax
shr eax, 0x1f
sub r9d, eax
and r9d, edx
add r14d, r9d
lea eax, [r11 + r10]
add r14d, eax
mov ecx, dword [rsp + 0x34]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call fcn.1400bda50
test eax, eax
jne 0x1400c6f14
test ebx, ebx
jle 0x1400c6ec7
lea rcx, [rsp + 0x40]
mov r8, rbx
sub r8, rcx
lea rdx, [rsp + 0x40]
add r8, r15
nop word [rax + rax]
movzx ecx, byte [r8 + rdx + 1]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
xor ecx, eax
or edi, ecx
sub rsi, 1
jne 0x1400c6eb0
movzx edx, byte [r14 + r15]
movzx ecx, byte [r15]
xor edx, 1
add edx, edi
add edx, ecx
lea eax, [rdx - 1]
not edx
shr eax, 0x1f
neg al
shr edx, 0x1f
movsx r8d, al
neg dl
movsx eax, dl
mov rdx, qword [rsp + 0x38]
and r8d, eax
lea eax, [r14 + 1]
mov ecx, r8d
and eax, r8d
not ecx
and ecx, r13d
or ecx, eax
mov eax, ecx
add rax, r15
sub r13d, ecx
mov qword [rdx], rax
mov eax, r13d
mov rsi, qword [rsp + 0x2b8]
mov rbp, qword [rsp + 0x2c0]
mov rdi, qword [rsp + 0x2b0]
mov r14, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.14011c6a0
add rsp, 0x2c8
pop r15
pop r13
pop r12
pop rbx
ret
mov ecx, 0xffffff53
lea rax, [rsp + 0x80]
test ebx, ebx
je 0x1400c6f70
mov byte [rax], 0
lea rax, [rax + 1]
add ebx, 0xffffffff
jne 0x1400c6f64
mov eax, ecx
jmp 0x1400c6f14
mov ecx, 0xffffff53
mov eax, ecx
jmp 0x1400c6f24
mov eax, 0xffffff53
jmp 0x1400c6f34