Function at 0x140022b70
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbx
push rsi
push rdi
push r13
push r14
sub rsp, 0xc0
mov rdi, qword [rsp + 0x128]
mov r13, rdx
mov rbx, qword [rsp + 0x120]
mov r14, rcx
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rsp + 0x40], xmm12
movaps xmm12, xmm2
movaps xmmword [rsp + 0x30], xmm13
mov qword [rsp + 0xf0], r9
test rdi, rdi
jne 0x140022bdc
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140022bd0
add rdi, rbx
cvttss2si eax, dword [rsp + 0xf0]
mov rsi, qword [rsp + 0x118]
movss xmm7, dword [rsi + 0xc]
movd xmm13, eax
cvttss2si eax, dword [rsp + 0xf4]
cvtdq2ps xmm13, xmm13
movd xmm8, eax
addss xmm13, dword [rcx + 0x40]
cvtdq2ps xmm8, xmm8
addss xmm8, dword [rcx + 0x44]
comiss xmm8, xmm7
ja 0x140023202
movaps xmmword [rsp + 0xa0], xmm6
movaps xmm0, xmm8
movss xmm6, dword [rsi + 4]
movaps xmmword [rsp + 0x60], xmm10
movss xmm10, dword [rcx + 0x14]
divss xmm12, xmm10
mulss xmm10, xmm12
addss xmm0, xmm10
comiss xmm6, xmm0
jbe 0x140022c8f
cmp rbx, rdi
jae 0x140022c8f
mov r8, rdi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call fcn.14007c850
mov rbx, rax
test rax, rax
je 0x140022c79
inc rbx
jmp 0x140022c7c
mov rbx, rdi
addss xmm8, xmm10
movaps xmm0, xmm10
addss xmm0, xmm8
comiss xmm6, xmm0
ja 0x140022c54
mov rax, rdi
sub rax, rbx
cmp rax, 0x2710
jle 0x140022ce2
comiss xmm7, xmm8
mov rax, rbx
movaps xmm6, xmm8
jbe 0x140022cdf
nop word [rax + rax]
cmp rax, rdi
jae 0x140022cdf
mov r8, rdi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call fcn.14007c850
test rax, rax
je 0x140022cd2
inc rax
jmp 0x140022cd5
mov rax, rdi
addss xmm6, xmm10
comiss xmm7, xmm6
ja 0x140022cb0
mov rdi, rax
cmp rbx, rdi
je 0x1400231f4
mov r8d, edi
mov qword [rsp + 0x100], rbp
sub r8d, ebx
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xb0], r15
mov rcx, r13
mov r15d, dword [r13 + 0x10]
lea edx, [r8 + r8*2]
add edx, edx
lea r8d, [r8*4]
add r15d, edx
mov dword [rsp + 0x20], r15d
call fcn.14001fd60
mov rbp, qword [r13 + 0x50]
mov eax, dword [r13 + 0x40]
mov r12, qword [r13 + 0x48]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0xf0], eax
cmp rbx, rdi
jae 0x1400230b8
movaps xmmword [rsp + 0x50], xmm11
lea r13d, [rax + 2]
movaps xmm11, xmm13
movaps xmmword [rsp + 0x70], xmm9
mov r9d, 0xffff
nop word [rax + rax]
movsx r11d, byte [rbx]
mov dword [rsp + 0x128], r11d
cmp r11d, 0x80
jae 0x140022d8a
inc rbx
jmp 0x140022dba
mov r8, rdi
lea rcx, [rsp + 0x128]
mov rdx, rbx
call fcn.14001ed00
mov r11d, dword [rsp + 0x128]
movsxd rcx, eax
add rbx, rcx
test r11d, r11d
je 0x14002309f
mov r9d, 0xffff
cmp r11d, 0x20
jae 0x140022de9
cmp r11d, 0xa
jne 0x140022ddf
addss xmm8, xmm10
movaps xmm11, xmm13
comiss xmm8, dword [rsi + 0xc]
ja 0x14002309f
jmp 0x140023090
cmp r11d, 0xd
je 0x140023090
mov r15d, dword [r14 + 0x18]
xor r8d, r8d
movzx esi, r11w
cmp esi, r15d
jge 0x140022e13
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
cmp dx, r9w
je 0x140022e13
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
xorps xmm9, xmm9
test r8, r8
jne 0x140022ece
mov rax, qword [0x1401c0190]
mov rax, qword [rax + 0x40]
mov r10, qword [rax + 0x48]
movsxd rax, dword [rax + 0x40]
lea rbp, [r10 + rax*8]
cmp r10, rbp
je 0x140022e91
nop dword [rax]
mov rdx, qword [r10]
cmp rdx, r14
je 0x140022e83
movss xmm0, dword [r14 + 0x14]
ucomiss xmm0, dword [rdx + 0x14]
jp 0x140022e83
jne 0x140022e83
xor r8d, r8d
cmp esi, dword [rdx + 0x18]
jge 0x140022e7e
mov rax, qword [rdx + 0x20]
movzx ecx, r11w
movzx r9d, word [rax + rcx*2]
mov eax, 0xffff
cmp r9w, ax
je 0x140022e7e
imul r8, r9, 0x2c
add r8, qword [rdx + 0x30]
test r8, r8
jne 0x140022ec9
add r10, 8
cmp r10, rbp
jne 0x140022e40
test r8, r8
jne 0x140022ec9
cmp esi, r15d
jl 0x140022e9c
mov r8, qword [r14 + 0x38]
jmp 0x140022ec0
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
jne 0x140022eb8
mov r8, qword [r14 + 0x38]
jmp 0x140022ec0
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
test r8, r8
je 0x14002307e
mov rbp, qword [rsp + 0x28]
xor r9d, r9d
nop dword [rax]
nop word [rax + rax]
movzx eax, r9b
movsxd rdx, r9d
add al, al
lea ecx, [rax + r9]
inc r9d
add cl, byte [r8]
xor byte [rdx + r8 + 4], cl
cmp r9d, 0x28
jb 0x140022ee0
movaps xmm9, xmm12
mulss xmm9, dword [r8 + 8]
cmp r11d, 0x20
je 0x140023057
cmp r11d, 9
je 0x140023057
mov rax, qword [rsp + 0x118]
movaps xmm5, xmm12
mulss xmm5, dword [r8 + 0xc]
movaps xmm6, xmm12
mulss xmm6, dword [r8 + 0x10]
movaps xmm7, xmm12
mulss xmm7, dword [r8 + 0x18]
addss xmm5, xmm11
movss xmm0, dword [rax + 8]
addss xmm6, xmm8
addss xmm7, xmm8
comiss xmm0, xmm5
jb 0x140023057
movaps xmm4, xmm12
mulss xmm4, dword [r8 + 0x14]
addss xmm4, xmm11
comiss xmm4, dword [rax]
jb 0x140023057
movss xmm3, dword [r8 + 0x1c]
lea eax, [r13 - 1]
movss xmm0, dword [r8 + 0x20]
movss xmm1, dword [r8 + 0x24]
movss xmm2, dword [r8 + 0x28]
mov ecx, dword [rsp + 0xf0]
mov dword [rbp + 4], eax
lea eax, [r13 + 1]
mov dword [rbp + 0x14], eax
mov eax, dword [rsp + 0x110]
mov dword [rbp], ecx
mov dword [rbp + 8], r13d
mov dword [rbp + 0xc], ecx
add ecx, 4
mov dword [rbp + 0x10], r13d
add r13d, 4
mov dword [r12 + 0x10], eax
mov dword [r12 + 0x24], eax
mov dword [r12 + 0x38], eax
mov dword [r12 + 0x4c], eax
movss dword [r12], xmm5
movss dword [r12 + 4], xmm6
movss dword [r12 + 8], xmm3
movss dword [r12 + 0xc], xmm0
movss dword [r12 + 0x14], xmm4
movss dword [r12 + 0x18], xmm6
movss dword [r12 + 0x1c], xmm1
movss dword [r12 + 0x20], xmm0
movss dword [r12 + 0x28], xmm4
movss dword [r12 + 0x2c], xmm7
movss dword [r12 + 0x30], xmm1
movss dword [r12 + 0x34], xmm2
movss dword [r12 + 0x3c], xmm5
movss dword [r12 + 0x40], xmm7
movss dword [r12 + 0x44], xmm3
movss dword [r12 + 0x48], xmm2
add r12, 0x50
add rbp, 0x18
mov dword [rsp + 0xf0], ecx
mov qword [rsp + 0x28], rbp
xor r9d, r9d
nop word [rax + rax]
movzx eax, r9b
movsxd rdx, r9d
add al, al
lea ecx, [rax + r9]
inc r9d
add cl, byte [r8]
xor byte [rdx + r8 + 4], cl
cmp r9d, 0x28
jb 0x140023060
mov rbp, qword [rsp + 0x28]
addss xmm11, xmm9
mov rsi, qword [rsp + 0x118]
mov r9d, 0xffff
cmp rbx, rdi
jb 0x140022d70
mov r13, qword [rsp + 0xf8]
mov r15d, dword [rsp + 0x20]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x70]
mov rcx, r12
movabs rax, 0x6666666666666667
sub rcx, qword [r13 + 0x28]
mov edi, 8
imul rcx
mov ecx, dword [r13 + 0x24]
mov rbx, rdx
sar rbx, 3
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp ebx, ecx
jle 0x140023147
test ecx, ecx
je 0x1400230f9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400230fb
mov eax, edi
cmp eax, ebx
mov esi, ebx
cmovg esi, eax
cmp esi, ecx
jle 0x140023147
movsxd rax, esi
lea rcx, [rax + rax*4]
shl rcx, 2
call fcn.14000d720
mov rdx, qword [r13 + 0x28]
mov rbp, rax
test rdx, rdx
je 0x14002313f
movsxd rcx, dword [r13 + 0x20]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 2
call fcn.14007bfe0
mov rcx, qword [r13 + 0x28]
call fcn.14000d9d0
mov qword [r13 + 0x28], rbp
mov dword [r13 + 0x24], esi
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x100]
mov dword [r13 + 0x20], ebx
mov rbx, r14
sub rbx, qword [r13 + 0x18]
mov ecx, dword [r13 + 0x14]
sar rbx, 2
cmp ebx, ecx
jle 0x1400231bd
test ecx, ecx
je 0x140023179
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edi, [rcx + rax]
cmp edi, ebx
mov esi, ebx
cmovg esi, edi
cmp esi, ecx
jle 0x1400231bd
movsxd rcx, esi
shl rcx, 2
call fcn.14000d720
mov rdx, qword [r13 + 0x18]
mov rdi, rax
test rdx, rdx
je 0x1400231b5
movsxd r8, dword [r13 + 0x10]
mov rcx, rax
shl r8, 2
call fcn.14007bfe0
mov rcx, qword [r13 + 0x18]
call fcn.14000d9d0
mov qword [r13 + 0x18], rdi
mov dword [r13 + 0x14], esi
mov dword [r13 + 0x10], ebx
sub ebx, r15d
mov rax, qword [r13 + 8]
movsxd rcx, dword [r13]
mov r15, qword [rsp + 0xb0]
shl rcx, 5
add dword [rcx + rax - 0x20], ebx
mov eax, dword [r13 + 0x20]
mov qword [r13 + 0x48], r12
mov r12, qword [rsp + 0xb8]
mov dword [r13 + 0x40], eax
mov qword [r13 + 0x50], r14
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x30]
lea r11, [rsp + 0xc0]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm12, xmmword [r11 - 0x80]
mov rsp, r11
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret