Function at 0x1400ce290
Capabilities:
Encode data using xor

Disassembly:
push rbx
push r12
push r13
push r15
sub rsp, 0x2c8
mov rax, qword [0x140554040]
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.1400c4f00
mov ebx, eax
test eax, eax
js 0x1400ce5fd
lea r12d, [rbx + rbx]
lea eax, [r12 + 2]
cmp r13d, eax
jb 0x1400ce5fd
mov qword [rsp + 0x2b0], rdi
lea rcx, [rsp + 0x80]
mov r8d, r13d
mov qword [rsp + 0x2a8], r14
xor edx, edx
call sub.VCRUNTIME140.dll_memset
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.0x1400ce347.4
lea r8, [0x140000000]
movsxd rax, r14d
movzx eax, byte [r8 + rax + 0xce620]
mov ecx, dword [r8 + rax*4 + 0xce604]
add rcx, r8
jmp rcx
mov ecx, 4
jmp 0x1400ce371
mov ecx, 6
jmp 0x1400ce371
mov ecx, 7
jmp 0x1400ce371
mov ecx, 8
jmp 0x1400ce371
mov ecx, reloc.WS2_32.dll_recv
jmp 0x1400ce371
mov ecx, reloc.WS2_32.dll_recvfrom
lea r9, [rsp + 0x80]
mov dword [rsp + 0x20], ebx
mov r8d, edi
call fcn.1400cd940
mov ecx, eax
test eax, eax
jne 0x1400ce5f9
mov qword [rsp + 0x2c0], rbp
lea rdx, [r15 + 1]
mov r8d, ebx
mov qword [rsp + 0x2b8], rsi
lea rcx, [rsp + 0x80]
call fcn.1400ca1d0
lea r8, [0x140000000]
movsxd rax, r14d
lea rbp, [rsp + 0x80]
mov rsi, rbx
add rbp, rbx
movzx eax, byte [r8 + rax + 0xce658]
mov edx, dword [r8 + rax*4 + 0xce63c]
add rdx, r8
jmp rdx
mov ecx, 4
jmp 0x1400ce409
mov ecx, 6
jmp 0x1400ce409
mov ecx, 7
jmp 0x1400ce409
mov ecx, 8
jmp 0x1400ce409
mov ecx, reloc.WS2_32.dll_recv
jmp 0x1400ce409
mov ecx, reloc.WS2_32.dll_recvfrom
mov r9, rbp
mov dword [rsp + 0x20], edi
mov r8d, ebx
lea rdx, [rsp + 0x80]
call fcn.1400cd940
mov ecx, eax
test eax, eax
jne 0x1400ce5d8
lea rcx, [r15 + 1]
mov r8d, edi
add rcx, rbx
mov rdx, rbp
call fcn.1400ca1d0
lea rcx, [rsp + 0x80]
mov eax, r13d
test r13d, r13d
je 0x1400ce45c
nop dword [rax]
mov byte [rcx], 0
lea rcx, [rcx + 1]
add eax, 0xffffffff
jne 0x1400ce450
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 0x1400ce4f4
mov eax, r12d
mov r8d, r14d
sub eax, r14d
cmp eax, 2
jb 0x1400ce4da
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 0x1400ce4a0
cmp dword [rsp + 0x30], r12d
jae 0x1400ce4ed
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.1400c5040
test eax, eax
jne 0x1400ce594
test ebx, ebx
jle 0x1400ce547
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 0x1400ce530
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.1400e9c90
add rsp, 0x2c8
pop r15
pop r13
pop r12
pop rbx
ret
mov ecx, 0xffffff53
lea rax, [rsp + 0x80]
test ebx, ebx
je 0x1400ce5f0
mov byte [rax], 0
lea rax, [rax + 1]
add ebx, 0xffffffff
jne 0x1400ce5e4
mov eax, ecx
jmp 0x1400ce594
mov ecx, 0xffffff53
mov eax, ecx
jmp 0x1400ce5a4
mov eax, 0xffffff53
jmp 0x1400ce5b4