Function at 0x140020d90
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
mov rbp, rsp
sub rsp, 0x50
mov rdi, qword [0x14024ad10]
movzx esi, r9b
mov r13d, dword [rbp + 0x50]
mov r15d, edx
movaps xmmword [rsp + 0x40], xmm6
mov r10, rcx
mov r14, qword [rdi + 0x3ea8]
mov eax, dword [r14 + 0xc]
movss xmm4, dword [r14 + 0x238]
and eax, 4
movss xmm3, dword [r14 + 0x23c]
or eax, 0x1000103
or r13d, eax
cmp qword [r14 + 0x190], 0
jne 0x140020e05
cmp qword [rdi + 0x4308], 0
je 0x140020e0e
movss xmm4, dword [r14 + 0x208]
cvttss2si eax, dword [r8]
subss xmm4, dword [r14 + 0xe0]
subss xmm3, dword [r14 + 0xe4]
xorps xmm5, xmm5
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm5
cvtdq2ps xmm0, xmm0
jp 0x140020e4a
jne 0x140020e4a
mov eax, 1
jmp 0x140020e4c
xor eax, eax
ucomiss xmm0, xmm5
jp 0x140020e5b
jne 0x140020e5b
mov r12d, 2
jmp 0x140020e5e
xor r12d, r12d
movss xmm2, dword [0x1400b52d4]
or r12d, eax
comiss xmm5, xmm1
jb 0x140020e7a
addss xmm1, xmm4
comiss xmm1, xmm2
jae 0x140020e7a
movaps xmm1, xmm2
comiss xmm5, xmm0
jb 0x140020e8e
addss xmm3, xmm0
comiss xmm3, xmm2
movaps xmm0, xmm3
jae 0x140020e8e
movaps xmm0, xmm2
or dword [rdi + 0x3fb0], 2
movss dword [rdi + 0x3fd0], xmm1
movss dword [rdi + 0x3fd4], xmm0
mov dword [rdi + 0x3fb8], 1
mov r9, qword [r14]
test r10, r10
je 0x140020f19
xor eax, eax
mov dword [rbp - 0x20], 0xc9c499cc
mov byte [rbp - 0x16], al
xor edx, edx
mov dword [rbp - 0x1c], 0xc0cab19e
mov word [rbp - 0x18], 0xaac9
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rbp + rcx - 0x20], al
cmp edx, 0xa
jb 0x140020ee0
lea rbx, [rdi + 0x5650]
mov dword [rsp + 0x28], r15d
mov rcx, rbx
mov byte [rbp - 0x16], 0
lea r8, [rbp - 0x20]
mov qword [rsp + 0x20], r10
mov edx, 0xc01
call fcn.140019f30
jmp 0x140020f62
mov dword [rbp + 0x30], 0xc9c499cc
xor edx, edx
mov dword [rbp + 0x34], 0xb7d6dd
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x17]
inc edx
xor byte [rbp + rcx + 0x30], al
cmp edx, 7
jb 0x140020f30
lea rbx, [rdi + 0x5650]
mov byte [rbp + 0x37], 0
mov rcx, rbx
mov dword [rsp + 0x20], r15d
lea r8, [rbp + 0x30]
mov edx, 0xc01
call fcn.140019f30
movss xmm6, dword [rdi + 0x3828]
test sil, sil
jne 0x140020f79
mov dword [rdi + 0x3828], 0
mov r8d, r13d
xor edx, edx
mov rcx, rbx
call fcn.140023bb0
mov rbx, qword [rdi + 0x3ea8]
movzx esi, al
movss dword [rdi + 0x3828], xmm6
cmp word [rbx + 0xa2], 1
mov dword [rbx + 0x60], r15d
mov byte [rbx + 0xb2], r12b
jne 0x140020fbb
movsd xmm0, qword [rbx + 0x18]
movsd qword [r14 + 0xe0], xmm0
cmp dword [rdi + 0x40c8], r15d
jne 0x1400210a5
bt r13d, 0x17
jb 0x1400210a5
cmp word [rbx + 0x13c], 0
jne 0x140020fea
cmp byte [rbx + 0x145], 0
je 0x1400210a5
mov rcx, rbx
call fcn.140026100
mov eax, dword [rbx + 0xc]
mov rdx, qword [0x14024ad10]
bt eax, 0x12
jae 0x14002100d
xor eax, eax
mov qword [rdx + 0x40c0], rax
jmp 0x14002108b
cmp rbx, qword [rbx + 0x360]
je 0x140021038
bt eax, 0x1a
jb 0x140021038
mov eax, dword [rbx + 0x388]
test eax, eax
je 0x140021038
mov dword [rdx + 0x40c0], eax
mov dword [rdx + 0x40c4], 0
jmp 0x14002108b
movsxd rcx, dword [rdx + 0x40f4]
xor r8d, r8d
mov rax, qword [rdx + 0x40b8]
xorps xmm0, xmm0
mov qword [rdx + 0x40c0], r8
mov dword [rax + rcx*4 + 0x388], r8d
add rcx, 0x39
mov rax, qword [rdx + 0x40b8]
add rcx, rcx
movups xmmword [rax + rcx*8], xmm0
mov word [rdx + 0x40fd], 1
mov dword [rdx + 0x4100], r8d
movups xmmword [rdx + 0x4104], xmm0
mov byte [rdx + 0x40fc], 1
lea ecx, [r15 + 1]
mov rdx, rbx
call fcn.14001c3a0
movzx eax, sil
mov dword [rdi + 0x3f38], 5
movaps xmm6, xmmword [rsp + 0x40]
lea r11, [rsp + 0x50]
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