Function at 0x140022b60
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 0x140022bcc
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140022bc0
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 0x1400231f2
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 0x140022c7f
cmp rbx, rdi
jae 0x140022c7f
mov r8, rdi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call fcn.14007bac0
mov rbx, rax
test rax, rax
je 0x140022c69
inc rbx
jmp 0x140022c6c
mov rbx, rdi
addss xmm8, xmm10
movaps xmm0, xmm10
addss xmm0, xmm8
comiss xmm6, xmm0
ja 0x140022c44
mov rax, rdi
sub rax, rbx
cmp rax, 0x2710
jle 0x140022cd2
comiss xmm7, xmm8
mov rax, rbx
movaps xmm6, xmm8
jbe 0x140022ccf
nop word [rax + rax]
cmp rax, rdi
jae 0x140022ccf
mov r8, rdi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call fcn.14007bac0
test rax, rax
je 0x140022cc2
inc rax
jmp 0x140022cc5
mov rax, rdi
addss xmm6, xmm10
comiss xmm7, xmm6
ja 0x140022ca0
mov rdi, rax
cmp rbx, rdi
je 0x1400231e4
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.14001fd50
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 0x1400230a8
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 0x140022d7a
inc rbx
jmp 0x140022daa
mov r8, rdi
lea rcx, [rsp + 0x128]
mov rdx, rbx
call fcn.14001ecf0
mov r11d, dword [rsp + 0x128]
movsxd rcx, eax
add rbx, rcx
test r11d, r11d
je 0x14002308f
mov r9d, 0xffff
cmp r11d, 0x20
jae 0x140022dd9
cmp r11d, 0xa
jne 0x140022dcf
addss xmm8, xmm10
movaps xmm11, xmm13
comiss xmm8, dword [rsi + 0xc]
ja 0x14002308f
jmp 0x140023080
cmp r11d, 0xd
je 0x140023080
mov r15d, dword [r14 + 0x18]
xor r8d, r8d
movzx esi, r11w
cmp esi, r15d
jge 0x140022e03
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
cmp dx, r9w
je 0x140022e03
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
xorps xmm9, xmm9
test r8, r8
jne 0x140022ebe
mov rax, qword [0x1401bf190]
mov rax, qword [rax + 0x40]
mov r10, qword [rax + 0x48]
movsxd rax, dword [rax + 0x40]
lea rbp, [r10 + rax*8]
cmp r10, rbp
je 0x140022e81
nop dword [rax]
mov rdx, qword [r10]
cmp rdx, r14
je 0x140022e73
movss xmm0, dword [r14 + 0x14]
ucomiss xmm0, dword [rdx + 0x14]
jp 0x140022e73
jne 0x140022e73
xor r8d, r8d
cmp esi, dword [rdx + 0x18]
jge 0x140022e6e
mov rax, qword [rdx + 0x20]
movzx ecx, r11w
movzx r9d, word [rax + rcx*2]
mov eax, 0xffff
cmp r9w, ax
je 0x140022e6e
imul r8, r9, 0x2c
add r8, qword [rdx + 0x30]
test r8, r8
jne 0x140022eb9
add r10, 8
cmp r10, rbp
jne 0x140022e30
test r8, r8
jne 0x140022eb9
cmp esi, r15d
jl 0x140022e8c
mov r8, qword [r14 + 0x38]
jmp 0x140022eb0
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
jne 0x140022ea8
mov r8, qword [r14 + 0x38]
jmp 0x140022eb0
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
test r8, r8
je 0x14002306e
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 0x140022ed0
movaps xmm9, xmm12
mulss xmm9, dword [r8 + 8]
cmp r11d, 0x20
je 0x140023047
cmp r11d, 9
je 0x140023047
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 0x140023047
movaps xmm4, xmm12
mulss xmm4, dword [r8 + 0x14]
addss xmm4, xmm11
comiss xmm4, dword [rax]
jb 0x140023047
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 0x140023050
mov rbp, qword [rsp + 0x28]
addss xmm11, xmm9
mov rsi, qword [rsp + 0x118]
mov r9d, 0xffff
cmp rbx, rdi
jb 0x140022d60
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 0x140023137
test ecx, ecx
je 0x1400230e9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400230eb
mov eax, edi
cmp eax, ebx
mov esi, ebx
cmovg esi, eax
cmp esi, ecx
jle 0x140023137
movsxd rax, esi
lea rcx, [rax + rax*4]
shl rcx, 2
call fcn.14000d710
mov rdx, qword [r13 + 0x28]
mov rbp, rax
test rdx, rdx
je 0x14002312f
movsxd rcx, dword [r13 + 0x20]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 2
call fcn.14007b250
mov rcx, qword [r13 + 0x28]
call fcn.14000d9c0
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 0x1400231ad
test ecx, ecx
je 0x140023169
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 0x1400231ad
movsxd rcx, esi
shl rcx, 2
call fcn.14000d710
mov rdx, qword [r13 + 0x18]
mov rdi, rax
test rdx, rdx
je 0x1400231a5
movsxd r8, dword [r13 + 0x10]
mov rcx, rax
shl r8, 2
call fcn.14007b250
mov rcx, qword [r13 + 0x18]
call fcn.14000d9c0
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