Function at 0x140009290
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 8
mov qword [rsp + 0x18], rbx
mov qword [rsp], rdi
xor edi, edi
mov r9, rdx
mov r10, rcx
lea r11, [rdx + 0x743]
mov rbx, rdi
nop
movzx eax, byte [r11]
movzx r8d, byte [r11 - 1]
add rbx, 1
shl eax, 8
add r11, 4
or r8d, eax
movzx eax, byte [r11 - 6]
shl r8d, 8
or r8d, eax
movzx eax, byte [r11 - 7]
shl r8d, 8
or r8d, eax
mov ecx, r8d
mov eax, r8d
shl r8d, 4
shr ecx, 4
shl eax, 4
xor ecx, eax
and ecx, 0xf0f0f0f
xor ecx, r8d
mov edx, ecx
lea eax, [rcx*4]
shr edx, 2
xor edx, eax
lea eax, [rcx*4]
and edx, 0x33333333
xor edx, eax
mov ecx, edx
shr ecx, 1
lea eax, [rdx + rdx]
xor ecx, eax
lea eax, [rdx + rdx]
and ecx, 0x55555555
xor ecx, eax
cmp rbx, 0x32
mov dword [r10 + rbx*4 + 0x2fc], ecx
jl 0x1400092b0
movzx eax, byte [r9 + 0x1c]
movss xmm2, dword [0x14004460c]
test rax, rax
mov qword [r10 + 0x2f8], rax
je 0x14000944f
movss xmm3, dword [0x140044618]
movsd xmm4, qword [0x140044610]
movss xmm5, dword [0x140044608]
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x28], rsi
lea rbx, [r10 + 4]
lea rsi, [0x1400444b0]
lea r11, [r9 + 0x28]
or ebp, 0xffffffff
nop
movzx eax, word [r11 + 4]
mov word [rbx - 4], ax
movzx eax, word [r11]
mov word [rbx - 2], ax
prefetchnta byte [r11 + 0x88]
movss xmm0, dword [r11 - 8]
mov ecx, 1
mulss xmm0, xmm3
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm4
cvttsd2si r8, xmm1
lea eax, [r8 + 0x40]
mov dl, al
and edx, 0x7f
test al, 0x80
movzx eax, word [rsi + rdx*2]
cmovne cx, bp
imul ax, cx
mov ecx, 1
mov word [rsp + 0x10], ax
mov al, r8b
and eax, 0x7f
test r8b, 0x80
movzx eax, word [rsi + rax*2]
cmovne cx, bp
add rdi, 1
add rbx, 0xa
add r11, 0x18
imul ax, cx
mov word [rsp + 0x12], ax
mov eax, dword [rsp + 0x10]
mov dword [rbx - 0xa], eax
movss xmm0, dword [r11 - 0xc]
mulss xmm0, xmm2
cvttss2si rax, xmm0
mov byte [rbx - 6], al
movss xmm1, dword [r11 - 0x1c]
mulss xmm1, xmm5
cvttss2si rax, xmm1
mov byte [rbx - 5], al
cmp rdi, qword [r10 + 0x2f8]
jb 0x140009390
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x20]
movzx eax, byte [r9 + 0x18]
mov rdi, qword [rsp]
mov rbx, qword [rsp + 0x18]
mov byte [r10 + 0x412], al
mov eax, dword [r9 + 0x14]
mov dword [r10 + 0x400], eax
movss xmm0, dword [r9 + 8]
mulss xmm0, xmm2
cvttss2si rax, xmm0
mov byte [r10 + 0x410], al
bt dword [r9 + 0x830], 0x18
jae 0x1400094a0
mov eax, dword [r9 + 0x82c]
mov dword [r10 + 0x40c], eax
jmp 0x1400094c8
mov eax, dword [r9 + 4]
test eax, eax
je 0x1400094bd
add eax, 0xffffffff
cmp eax, 1
ja 0x1400094c8
mov dword [r10 + 0x40c], 6
jmp 0x1400094c8
mov dword [r10 + 0x40c], 1
movss xmm0, dword [r9 + 0xc]
mulss xmm0, dword [0x14004461c]
cvttss2si rax, xmm0
mov byte [r10 + 0x411], al
movzx eax, word [r9 + 0x10]
mov word [r10 + 0x404], ax
movzx eax, word [r9 + 0x12]
mov word [r10 + 0x406], ax
bt dword [r9 + 0x830], 0x1e
jae 0x140009516
movzx eax, byte [r9 + 0x808]
mov byte [r10 + 0x413], al
bt dword [r9 + 0x830], 0x1d
jae 0x14000955e
movzx eax, byte [r9 + 0x80c]
mov byte [r10 + 0x416], al
movzx eax, byte [r9 + 0x810]
mov byte [r10 + 0x417], al
movzx eax, byte [r9 + 0x814]
mov byte [r10 + 0x418], al
movzx eax, word [r9 + 0x818]
mov word [r10 + 0x41a], ax
bt dword [r9 + 0x830], 0x1b
jae 0x140009578
movzx eax, byte [r9 + 0x820]
mov byte [r10 + 0x419], al
mov eax, dword [r9 + 0x830]
mov dword [r10 + 0x408], eax
mov rax, r10
add rsp, 8
ret