Function at 0x1400c7ec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x140519680]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r11, rdx
mov qword [rbp - 0x69], rcx
xor r9d, r9d
lea r10, [rbp - 0x19]
lea eax, [r9*4]
inc r9d
movzx r8d, byte [rax + r11 + 1]
lea r10, [r10 + 4]
mov edx, eax
movzx eax, byte [rax + r11]
shl eax, 8
or r8d, eax
movzx eax, byte [rdx + r11 + 2]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + r11 + 3]
shl r8d, 8
or r8d, eax
mov dword [r10 - 4], r8d
cmp r9d, 0x10
jb 0x1400c7f00
mov esi, dword [rcx + 0x20]
mov r9d, 0x82efa98
mov r14d, dword [rcx + 0x24]
xor esi, 0x243f6a88
mov r13d, dword [rcx + 0x28]
xor r14d, 0x85a308d3
mov eax, dword [rcx + 0x2c]
xor r13d, 0x13198a2e
movups xmm0, xmmword [rcx]
xor eax, 0x3707344
mov edi, 0x299f31d0
cmp dword [rcx + 0x3c], 0
mov r8d, 0xa4093822
movups xmm1, xmmword [rcx + 0x10]
mov dword [rsp + 8], eax
mov r15d, 0xec4e6c89
movups xmmword [rbp - 0x59], xmm0
mov dword [rsp], r9d
movups xmmword [rbp - 0x49], xmm1
jne 0x1400c7fb5
mov eax, dword [rcx + 0x34]
xor r8d, dword [rcx + 0x30]
xor eax, r9d
xor edi, dword [rcx + 0x30]
xor r15d, dword [rcx + 0x34]
mov dword [rsp], eax
mov ecx, dword [rbp - 0x41]
lea r12, [0x14047de70]
mov eax, dword [rbp - 0x3d]
lea rdx, [0x14047df90]
mov dword [rsp + 0xc], ecx
mov ecx, dword [rbp - 0x49]
mov dword [rsp + 0x14], eax
mov eax, dword [rbp - 0x45]
mov dword [rsp + 0x10], ecx
mov ecx, dword [rsp]
mov qword [rsp + 0x18], r12
mov qword [rbp - 0x71], recv
mov dword [rsp + 4], eax
nop
movzx eax, byte [r12]
lea r10, [rax*4]
movzx eax, byte [r12 + 1]
mov r12d, dword [rsp + 0x10]
lea r9, [rax*4]
mov eax, dword [r9 + rdx]
xor eax, dword [rbp + r10 - 0x19]
add eax, r12d
mov edx, dword [rbp - 0x59]
add edx, eax
mov eax, edx
mov r11d, edx
xor eax, r8d
xor r11d, r8d
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
lea r8d, [r11 + rsi]
mov eax, r8d
lea rsi, [0x14047df90]
xor eax, r12d
mov ebx, r8d
shr eax, 0xc
xor ebx, r12d
shl ebx, 0x14
or ebx, eax
mov eax, dword [rbp + r9 - 0x19]
xor eax, dword [r10 + rsi]
mov r12d, ebx
add eax, edx
add eax, ebx
mov edx, eax
mov dword [rsp + 0x20], eax
xor eax, r11d
xor edx, r11d
shr eax, 8
shl edx, 0x18
or edx, eax
mov dword [rbp - 0x7d], edx
lea eax, [rdx + r8]
mov rdx, qword [rsp + 0x18]
xor ebx, eax
mov dword [rsp], eax
xor r12d, eax
shr ebx, 7
shl r12d, 0x19
movzx eax, byte [rdx + 2]
or r12d, ebx
lea r10, [rax*4]
movzx eax, byte [rdx + 3]
mov edx, dword [rbp - 0x55]
lea r9, [rax*4]
mov eax, dword [r9 + rsi]
xor eax, dword [rbp + r10 - 0x19]
mov esi, dword [rsp + 4]
add eax, esi
add edx, eax
mov r11d, edx
mov eax, edx
xor eax, edi
xor r11d, edi
shl eax, 0x10
shr r11d, 0x10
or r11d, eax
lea r8d, [r11 + r14]
mov ebx, r8d
lea r14, [0x14047df90]
xor ebx, esi
mov eax, r8d
xor eax, esi
shl ebx, 0x14
shr eax, 0xc
or ebx, eax
mov eax, dword [rbp + r9 - 0x19]
xor eax, dword [r10 + r14]
add eax, edx
add eax, ebx
mov edx, eax
mov dword [rsp + 0x28], eax
xor edx, r11d
shl edx, 0x18
xor eax, r11d
mov edi, dword [rsp + 0xc]
shr eax, 8
or edx, eax
mov eax, ebx
mov dword [rsp + 4], edx
lea esi, [rdx + r8]
mov rdx, qword [rsp + 0x18]
xor eax, esi
xor ebx, esi
shl eax, 0x19
shr ebx, 7
or eax, ebx
mov ebx, edi
mov dword [rsp + 0x24], eax
movzx eax, byte [rdx + 5]
lea r10, [rax*4]
movzx eax, byte [rdx + 4]
mov edx, dword [rbp - 0x51]
lea r9, [rax*4]
mov eax, dword [rbp + r9 - 0x19]
xor eax, dword [r10 + r14]
mov r14d, dword [r9 + r14]
add eax, edi
xor r14d, dword [rbp + r10 - 0x19]
add edx, eax
mov eax, edx
add r14d, edx
xor eax, ecx
mov r11d, edx
shl eax, 0x10
lea rdx, [0x14047df90]
xor r11d, ecx
mov rcx, qword [rsp + 0x18]
shr r11d, 0x10
or r11d, eax
lea r8d, [r11 + r13]
xor ebx, r8d
xor edi, r8d
shl ebx, 0x14
shr edi, 0xc
or ebx, edi
add r14d, ebx
mov eax, r14d
mov edi, r14d
xor eax, r11d
xor edi, r11d
mov r11d, dword [rsp + 0x14]
mov r10d, r11d
shr eax, 8
shl edi, 0x18
or edi, eax
mov eax, ebx
lea r13d, [rdi + r8]
xor eax, r13d
xor ebx, r13d
shl eax, 0x19
shr ebx, 7
or eax, ebx
mov dword [rsp + 0xc], eax
movzx eax, byte [rcx + 7]
lea r9, [rax*4]
movzx eax, byte [rcx + 6]
lea r8, [rax*4]
mov eax, dword [rbp + r8 - 0x19]
xor eax, dword [r9 + rdx]
mov edx, dword [rbp - 0x4d]
add eax, r11d
add edx, eax
mov ebx, edx
mov eax, edx
xor eax, r15d
xor ebx, r15d
shl eax, 0x10
shr ebx, 0x10
or ebx, eax
mov eax, dword [rsp + 8]
add eax, ebx
xor r10d, eax
shl r10d, 0x14
xor r11d, eax
shr r11d, 0xc
mov r15d, ebx
or r10d, r11d
lea r11, [0x14047df90]
mov r11d, dword [r8 + r11]
xor r11d, dword [rbp + r9 - 0x19]
add r11d, edx
add r11d, r10d
xor ebx, r11d
xor r15d, r11d
shr ebx, 8
shl r15d, 0x18
or r15d, ebx
mov ebx, r10d
add eax, r15d
xor r10d, eax
mov dword [rsp + 8], eax
xor ebx, eax
shr r10d, 7
movzx eax, byte [rcx + 0xf]
shl ebx, 0x19
or ebx, r10d
lea r9, [rax*4]
movzx eax, byte [rcx + 0xe]
lea r8, [rax*4]
mov r10d, dword [rbp + r8 - 0x19]
lea rax, [0x14047df90]
xor r10d, dword [r9 + rax]
add r10d, r12d
add r10d, r11d
mov r11d, edi
xor r11d, r10d
xor edi, r10d
shl edi, 0x10
shr r11d, 0x10
or r11d, edi
mov ecx, r11d
lea edx, [rsi + r11]
mov eax, edx
lea rsi, [0x14047df90]
xor eax, r12d
mov edi, edx
shr eax, 0xc
xor edi, r12d
mov r12, qword [rsp + 0x18]
shl edi, 0x14
or edi, eax
mov eax, dword [r8 + rsi]
xor eax, dword [rbp + r9 - 0x19]
add eax, edi
add eax, r10d
xor r11d, eax
mov dword [rbp - 0x4d], eax
xor ecx, eax
shr r11d, 8
shl ecx, 0x18
or ecx, r11d
mov dword [rbp - 0x21], ecx
lea eax, [rdx + rcx]
mov edx, dword [rsp]
xor edi, eax
mov dword [rbp - 0x79], eax
mov dword [rbp - 0x35], eax
movzx eax, byte [r12 + 0xd]
ror edi, 7
mov dword [rsp + 0x10], edi
mov dword [rbp - 0x49], edi
lea r9, [rax*4]
movzx eax, byte [r12 + 0xc]
lea r8, [rax*4]
mov eax, dword [rsp + 4]
mov r10d, dword [rbp + r8 - 0x19]
mov r11d, eax
xor r10d, dword [r9 + rsi]
add r10d, r14d
add r10d, ebx
xor r11d, r10d
xor eax, r10d
shr r11d, 0x10
shl eax, 0x10
or r11d, eax
add edx, r11d
mov edi, r11d
mov eax, edx
mov r14d, edx
xor eax, ebx
xor r14d, ebx
mov ebx, dword [rsp + 0x24]
shr eax, 0xc
shl r14d, 0x14
or r14d, eax
mov eax, dword [r8 + rsi]
xor eax, dword [rbp + r9 - 0x19]
add eax, r14d
add eax, r10d
xor r11d, eax
mov dword [rbp - 0x51], eax
xor edi, eax
shr r11d, 8
movzx eax, byte [r12 + 9]
shl edi, 0x18
or edi, r11d
mov dword [rbp - 0x25], edi
lea r9, [rax*4]
movzx eax, byte [r12 + 8]
lea esi, [rdx + rdi]
xor r14d, esi
mov dword [rbp - 0x39], esi
lea r8, [rax*4]
ror r14d, 7
mov r10d, dword [rbp + r8 - 0x19]
lea rax, [0x14047df90]
xor r10d, dword [r9 + rax]
add r10d, dword [rsp + 0x20]
add r10d, ebx
mov dword [rsp + 0x14], r14d
mov dword [rbp - 0x3d], r14d
mov eax, r10d
xor eax, r15d
mov r11d, r10d
xor r11d, r15d
shl eax, 0x10
shr r11d, 0x10
mov r14d, ebx
or r11d, eax
mov r15d, r11d
lea edx, [r11 + r13]
xor r14d, edx
xor ebx, edx
shl r14d, 0x14
shr ebx, 0xc
or r14d, ebx
lea rbx, [0x14047df90]
mov eax, dword [r8 + rbx]
xor eax, dword [rbp + r9 - 0x19]
add eax, r14d
add eax, r10d
xor r15d, eax
mov dword [rbp - 0x59], eax
xor r11d, eax
shl r15d, 0x18
movzx eax, byte [r12 + 0xa]
shr r11d, 8
or r15d, r11d
mov r11d, dword [rsp + 0xc]
mov dword [rbp - 0x1d], r15d
lea r8, [rax*4]
movzx eax, byte [r12 + 0xb]
lea r13d, [rdx + r15]
mov edx, dword [rbp - 0x7d]
xor r14d, r13d
mov dword [rbp - 0x31], r13d
mov r9d, dword [rbx + rax*4]
mov r10d, edx
xor r9d, dword [rbp + r8 - 0x19]
add r9d, dword [rsp + 0x28]
ror r14d, 7
add r9d, r11d
xor r10d, r9d
mov dword [rsp + 4], r14d
shr r10d, 0x10
mov dword [rbp - 0x45], r14d
mov eax, dword [rbp + rax*4 - 0x19]
xor edx, r9d
mov r14d, dword [rbp - 0x79]
mov ebx, r11d
shl edx, 0x10
add r12, 0x10
or r10d, edx
mov qword [rsp + 0x18], r12
mov edx, dword [rsp + 8]
add edx, r10d
xor ebx, edx
xor r11d, edx
shl ebx, 0x14
shr r11d, 0xc
or ebx, r11d
lea r11, [0x14047df90]
xor eax, dword [r8 + r11]
add eax, ebx
add eax, r9d
mov r8d, eax
mov dword [rbp - 0x55], eax
xor r8d, r10d
xor eax, r10d
shr eax, 8
shl r8d, 0x18
or r8d, eax
mov dword [rbp - 0x29], r8d
lea eax, [rdx + r8]
xor ebx, eax
mov dword [rsp + 8], eax
ror ebx, 7
lea rdx, [0x14047df90]
sub qword [rbp - 0x71], 1
mov dword [rbp - 0x2d], eax
mov dword [rsp + 0xc], ebx
mov dword [rbp - 0x41], ebx
jne 0x1400c7ff0
mov rcx, qword [rbp - 0x69]
lea r9, [rbp - 0x55]
mov r8d, 2
lea r10d, [r8 + 2]
nop
lea rax, [r8 - 2]
and eax, 7
lea r9, [r9 + 0x10]
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 0x14]
xor dword [rdx], eax
lea rax, [r8 - 1]
and eax, 7
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 0x10]
xor dword [rdx], eax
mov rax, r8
and eax, 7
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 0xc]
xor dword [rdx], eax
lea rax, [r8 + 1]
and eax, 7
add r8, 4
lea rdx, [rcx + rax*4]
mov eax, dword [r9 - 8]
xor dword [rdx], eax
sub r10, 1
jne 0x1400c8520
mov r8d, dword [rcx + 0x20]
xor dword [rcx], r8d
mov r9d, dword [rcx + 0x24]
xor dword [rcx + 4], r9d
mov edx, dword [rcx + 0x28]
xor dword [rcx + 8], edx
mov eax, dword [rcx + 0x2c]
xor dword [rcx + 0xc], eax
xor dword [rcx + 0x10], r8d
xor dword [rcx + 0x14], r9d
xor dword [rcx + 0x18], edx
xor dword [rcx + 0x1c], eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140367840
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret