Function at 0x1400229d0
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 0x140022a3c
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140022a30
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 0x140023062
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 0x140022aef
cmp rbx, rdi
jae 0x140022aef
mov r8, rdi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call fcn.14007b930
mov rbx, rax
test rax, rax
je 0x140022ad9
inc rbx
jmp 0x140022adc
mov rbx, rdi
addss xmm8, xmm10
movaps xmm0, xmm10
addss xmm0, xmm8
comiss xmm6, xmm0
ja 0x140022ab4
mov rax, rdi
sub rax, rbx
cmp rax, 0x2710
jle 0x140022b42
comiss xmm7, xmm8
mov rax, rbx
movaps xmm6, xmm8
jbe 0x140022b3f
nop word [rax + rax]
cmp rax, rdi
jae 0x140022b3f
mov r8, rdi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call fcn.14007b930
test rax, rax
je 0x140022b32
inc rax
jmp 0x140022b35
mov rax, rdi
addss xmm6, xmm10
comiss xmm7, xmm6
ja 0x140022b10
mov rdi, rax
cmp rbx, rdi
je 0x140023054
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.14001fbc0
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 0x140022f18
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 0x140022bea
inc rbx
jmp 0x140022c1a
mov r8, rdi
lea rcx, [rsp + 0x128]
mov rdx, rbx
call fcn.14001eb60
mov r11d, dword [rsp + 0x128]
movsxd rcx, eax
add rbx, rcx
test r11d, r11d
je 0x140022eff
mov r9d, 0xffff
cmp r11d, 0x20
jae 0x140022c49
cmp r11d, 0xa
jne 0x140022c3f
addss xmm8, xmm10
movaps xmm11, xmm13
comiss xmm8, dword [rsi + 0xc]
ja 0x140022eff
jmp 0x140022ef0
cmp r11d, 0xd
je 0x140022ef0
mov r15d, dword [r14 + 0x18]
xor r8d, r8d
movzx esi, r11w
cmp esi, r15d
jge 0x140022c73
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
cmp dx, r9w
je 0x140022c73
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
xorps xmm9, xmm9
test r8, r8
jne 0x140022d2e
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 0x140022cf1
nop dword [rax]
mov rdx, qword [r10]
cmp rdx, r14
je 0x140022ce3
movss xmm0, dword [r14 + 0x14]
ucomiss xmm0, dword [rdx + 0x14]
jp 0x140022ce3
jne 0x140022ce3
xor r8d, r8d
cmp esi, dword [rdx + 0x18]
jge 0x140022cde
mov rax, qword [rdx + 0x20]
movzx ecx, r11w
movzx r9d, word [rax + rcx*2]
mov eax, 0xffff
cmp r9w, ax
je 0x140022cde
imul r8, r9, 0x2c
add r8, qword [rdx + 0x30]
test r8, r8
jne 0x140022d29
add r10, 8
cmp r10, rbp
jne 0x140022ca0
test r8, r8
jne 0x140022d29
cmp esi, r15d
jl 0x140022cfc
mov r8, qword [r14 + 0x38]
jmp 0x140022d20
mov rax, qword [r14 + 0x20]
movzx ecx, r11w
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
jne 0x140022d18
mov r8, qword [r14 + 0x38]
jmp 0x140022d20
imul r8, rdx, 0x2c
add r8, qword [r14 + 0x30]
test r8, r8
je 0x140022ede
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 0x140022d40
movaps xmm9, xmm12
mulss xmm9, dword [r8 + 8]
cmp r11d, 0x20
je 0x140022eb7
cmp r11d, 9
je 0x140022eb7
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 0x140022eb7
movaps xmm4, xmm12
mulss xmm4, dword [r8 + 0x14]
addss xmm4, xmm11
comiss xmm4, dword [rax]
jb 0x140022eb7
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 0x140022ec0
mov rbp, qword [rsp + 0x28]
addss xmm11, xmm9
mov rsi, qword [rsp + 0x118]
mov r9d, 0xffff
cmp rbx, rdi
jb 0x140022bd0
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 0x140022fa7
test ecx, ecx
je 0x140022f59
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140022f5b
mov eax, edi
cmp eax, ebx
mov esi, ebx
cmovg esi, eax
cmp esi, ecx
jle 0x140022fa7
movsxd rax, esi
lea rcx, [rax + rax*4]
shl rcx, 2
call fcn.14000d580
mov rdx, qword [r13 + 0x28]
mov rbp, rax
test rdx, rdx
je 0x140022f9f
movsxd rcx, dword [r13 + 0x20]
lea r8, [rcx + rcx*4]
mov rcx, rax
shl r8, 2
call fcn.14007b0c0
mov rcx, qword [r13 + 0x28]
call fcn.14000d830
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 0x14002301d
test ecx, ecx
je 0x140022fd9
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 0x14002301d
movsxd rcx, esi
shl rcx, 2
call fcn.14000d580
mov rdx, qword [r13 + 0x18]
mov rdi, rax
test rdx, rdx
je 0x140023015
movsxd r8, dword [r13 + 0x10]
mov rcx, rax
shl r8, 2
call fcn.14007b0c0
mov rcx, qword [r13 + 0x18]
call fcn.14000d830
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