Function at 0x1400dc210
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbp
push rsi
push rdi
push r14
sub rsp, 0x28
movsxd r10, dword [rsp + 0x70]
mov rdi, r8
mov ebp, dword [rsp + 0x78]
mov rsi, rcx
shr rdx, 1
mov r14, r10
shr r9, 1
test ebp, ebp
je 0x1400dc50c
lea eax, [r10 - 8]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x20], r12
lea r11, [r9 + r9]
mov qword [rsp + 0x18], r13
lea r13, [rdx + rdx]
mov qword [rsp + 0x10], r15
movsxd r15, eax
lea eax, [r10 - 4]
mov r10, qword [rsp + 0x80]
movsxd r12, eax
xor eax, eax
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x68], r13
mov qword [rsp], r11
nop dword [rax]
dec ebp
mov rbx, rax
test r15, r15
js 0x1400dc30e
mov rcx, rsi
lea rax, [r15 + 8]
sub rcx, rdi
xorps xmm5, xmm5
shr rax, 3
mov rdx, rdi
lea rbx, [rax*8]
nop word [rax + rax]
movss xmm3, dword [r10]
shufps xmm3, xmm3, 0
movdqu xmm4, xmmword [rcx + rdx]
lea rdx, [rdx + 0x10]
movaps xmm1, xmm3
movdqa xmm0, xmm4
punpcklwd xmm0, xmm4
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
divps xmm1, xmm0
movdqa xmm0, xmm4
punpckhwd xmm0, xmm4
pcmpeqw xmm4, xmm5
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
cvtps2dq xmm2, xmm1
divps xmm3, xmm0
cvtps2dq xmm1, xmm3
packssdw xmm2, xmm1
pand xmm4, xmm2
pxor xmm4, xmm2
movdqu xmmword [rdx - 0x10], xmm4
sub rax, 1
jne 0x1400dc2b0
cmp rbx, r12
jg 0x1400dc478
lea rcx, [rbx + 1]
mov r11, r12
sub r11, rbx
lea rcx, [rdi + rcx*2]
shr r11, 2
mov r9, rsi
inc r11
sub r9, rdi
xor r13d, r13d
mov r15d, 0x7fff
lea rbx, [rbx + r11*4]
nop
movsx eax, word [r9 + rcx - 2]
test ax, ax
je 0x1400dc381
movss xmm1, dword [r10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtss2si r8d, xmm1
lea eax, [r8 + 0x8000]
cmp eax, 0xffff
jbe 0x1400dc385
test r8d, r8d
mov eax, 0xffff8000
cmovg ax, r15w
movzx r8d, ax
jmp 0x1400dc385
movzx r8d, r13w
movsx eax, word [r9 + rcx]
test ax, ax
je 0x1400dc3c1
movss xmm1, dword [r10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtss2si edx, xmm1
lea eax, [rdx + 0x8000]
cmp eax, 0xffff
jbe 0x1400dc3c5
test edx, edx
mov eax, 0xffff8000
cmovg ax, r15w
movzx edx, ax
jmp 0x1400dc3c5
movzx edx, r13w
mov word [rcx - 2], r8w
mov word [rcx], dx
movsx eax, word [r9 + rcx + 2]
test ax, ax
je 0x1400dc40e
movss xmm1, dword [r10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtss2si r8d, xmm1
lea eax, [r8 + 0x8000]
cmp eax, 0xffff
jbe 0x1400dc412
test r8d, r8d
mov eax, 0xffff8000
cmovg ax, r15w
movzx r8d, ax
jmp 0x1400dc412
movzx r8d, r13w
movsx eax, word [r9 + rcx + 4]
test ax, ax
je 0x1400dc44f
movss xmm1, dword [r10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtss2si edx, xmm1
lea eax, [rdx + 0x8000]
cmp eax, 0xffff
jbe 0x1400dc453
test edx, edx
mov eax, 0xffff8000
cmovg ax, r15w
movzx edx, ax
jmp 0x1400dc453
movzx edx, r13w
mov word [rcx + 2], r8w
mov word [rcx + 4], dx
add rcx, 8
sub r11, 1
jne 0x1400dc340
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x68]
mov r11, qword [rsp]
cmp rbx, r14
jge 0x1400dc4e5
mov r9, rsi
lea rcx, [rdi + rbx*2]
sub r9, rdi
mov r8, r14
sub r8, rbx
mov r15d, 0x7fff
movsx eax, word [r9 + rcx]
test ax, ax
je 0x1400dc4d1
movss xmm1, dword [r10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtss2si edx, xmm1
lea eax, [rdx + 0x8000]
cmp eax, 0xffff
ja 0x1400dc4c3
movzx eax, dx
jmp 0x1400dc4d3
test edx, edx
mov eax, 0xffff8000
cmovg ax, r15w
jmp 0x1400dc4d3
xor eax, eax
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x1400dc493
mov r15, qword [rsp + 0x58]
add rsi, r13
add rdi, r11
mov eax, 0
test ebp, ebp
jne 0x1400dc280
mov r15, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov r12, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
add rsp, 0x28
pop r14
pop rdi
pop rsi
pop rbp
ret