Function at 0x1400fe090
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbx
push rsi
push rdi
push r12
sub rsp, 0xd8
mov r10d, r8d
mov dword [rax + 8], 0
shl r10d, 9
lea rax, [0x1402de0c0]
add r10, rax
movaps xmmword [rsp + 0x60], xmm10
mov qword [rcx + 0xc8], r10
xor r8d, r8d
mov esi, dword [rcx + 0xe8]
xor r9d, r9d
mov r12, rdx
mov rbx, rcx
xorps xmm10, xmm10
test esi, esi
je 0x1400fe5a7
mov r10d, dword [rcx + 0xec]
xor ecx, ecx
test r10d, r10d
je 0x1400fe132
mov r11d, dword [rbx + 0xf8]
mov rdi, qword [rbx + 0xd8]
nop word [rax + rax]
mov eax, r11d
imul eax, ecx
add eax, r9d
mov eax, dword [rdi + rax*4]
cdq
xor eax, edx
sub eax, edx
cmp r8d, eax
cmovg eax, r8d
inc ecx
mov r8d, eax
cmp ecx, r10d
jb 0x1400fe110
inc r9d
cmp r9d, esi
jb 0x1400fe0f5
test r8d, r8d
je 0x1400fe5a7
xor eax, eax
cmp r8d, 1
jle 0x1400fe15b
nop dword [rax + rax]
shr r8d, 1
inc eax
cmp r8d, 1
ja 0x1400fe150
lea rdi, [r12 + 0x28]
add eax, 0xfffffffb
mov qword [rsp + 0x48], rdi
mov dword [rdi], eax
je 0x1400fe5b0
mov qword [rsp + 0xd0], rbp
lea esi, [rax - 1]
mov rcx, rbx
mov qword [rsp + 0xc8], r13
mov ebp, 2
call fcn.140101290
lea r9d, [rbp + 0x2c]
xor r8d, r8d
lea edx, [rbp + 0x10]
mov rcx, rbx
call fcn.140101500
lea r9d, [rbp + 1]
xor r8d, r8d
lea edx, [rbp + 0xf]
mov rcx, rbx
call fcn.140101500
lea r9d, [rbp + 2]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140101500
mov rdx, qword [r12]
mov rcx, rbx
call fcn.140101180
xor edx, edx
lea r13, [r12 + 0x10]
mov dword [rsp + 0x34], edx
test esi, esi
js 0x1400fe523
mov qword [rsp + 0xc0], r14
mov eax, 1
mov r14d, dword [rsp + 0x138]
mov ecx, esi
rol eax, cl
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x148]
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0xb8], r15
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
movsd xmm7, qword [0x14012f550]
mov qword [rsp + 0x50], rax
mov eax, r14d
movaps xmmword [rsp + 0x80], xmm8
and eax, ebp
movsd xmm8, qword [rsp + 0x130]
movaps xmmword [rsp + 0x70], xmm9
movsd xmm9, qword [0x1402defb0]
mov dword [rsp + 0x38], eax
nop
mov r15, qword [r13]
lea rax, [rdx + rdx*2]
mov qword [rsp + 0x40], rax
mov eax, dword [rdi]
sub eax, 4
cmp esi, eax
jge 0x1400fe286
cmp ebp, 2
jae 0x1400fe286
test r14b, 1
je 0x1400fe286
mov dil, 1
jmp 0x1400fe289
xor dil, dil
test edx, edx
je 0x1400fe2b1
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
test byte [r15 + rax*8 + 0x14], 1
je 0x1400fe2b1
mov rcx, rbx
cmp dil, 1
jne 0x1400fe2ac
call fcn.140100f10
jmp 0x1400fe2b1
call fcn.140101300
mov eax, ebp
test ebp, ebp
je 0x1400fe2fe
sub eax, 1
je 0x1400fe2e6
cmp eax, 1
jne 0x1400fe319
mov r9d, r14d
lea r8, [rsp + 0x100]
mov edx, esi
mov rcx, rbx
call fcn.1400fcbb0
test r14b, 0x20
je 0x1400fe319
mov rcx, rbx
call fcn.140101330
jmp 0x1400fe319
movzx r9d, dil
lea r8, [rsp + 0x100]
mov edx, esi
mov rcx, rbx
call fcn.1400fd150
jmp 0x1400fe319
movzx r9d, dil
mov dword [rsp + 0x20], r14d
lea r8, [rsp + 0x100]
mov edx, esi
mov rcx, rbx
call fcn.1400fd6f0
mov rcx, qword [rsp + 0x150]
movaps xmm6, xmm7
test rcx, rcx
je 0x1400fe33e
mov eax, dword [rsp + 0x118]
cmp eax, dword [rsp + 0x158]
jae 0x1400fe33e
movsd xmm6, qword [rcx + rax*8]
cmp dword [rsp + 0x128], 1
mov edx, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x120]
jne 0x1400fe35d
call fcn.1400e7440
jmp 0x1400fe362
call fcn.1400e7480
mov rax, qword [rsp + 0x50]
xorps xmm1, xmm1
mov rcx, qword [rsp + 0x40]
movaps xmm2, xmm0
mulsd xmm2, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm1, dword [rsp + 0x100]
mulsd xmm2, xmm8
cvtsi2sd xmm0, r12d
mulsd xmm2, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm9
mulsd xmm1, xmm2
addsd xmm10, xmm1
addsd xmm1, qword [rax + 0x28]
movsd qword [rax + 0x28], xmm1
movsd qword [r15 + rcx*8 + 8], xmm10
cmp ebp, 2
jne 0x1400fe3bc
test esi, esi
je 0x1400fe3db
test r14b, 4
jne 0x1400fe3db
test r14b, 1
je 0x1400fe3f9
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
add eax, 0xfffffffc
cmp esi, eax
jne 0x1400fe3f3
cmp ebp, 2
jne 0x1400fe3f9
mov eax, r14d
mov rcx, rbx
and eax, 0x10
cmp dil, 1
jne 0x1400fe437
mov edx, eax
call fcn.140100e70
jmp 0x1400fe447
jge 0x1400fe3f9
test ebp, ebp
jne 0x1400fe3db
cmp dil, 1
jne 0x1400fe411
mov edx, r14d
mov rcx, rbx
and edx, 0x10
call fcn.140100ef0
mov edi, eax
jmp 0x1400fe416
mov edi, 3
mov rax, qword [rsp + 0x40]
mov rcx, rbx
and dword [r15 + rax*8 + 0x14], 0xfffffffe
call fcn.1401011b0
mov rcx, qword [rsp + 0x48]
add eax, edi
mov qword [rsp + 0x48], rcx
jmp 0x1400fe45a
test eax, eax
je 0x1400fe442
call fcn.140100fa0
jmp 0x1400fe447
call fcn.140101070
mov rax, qword [rsp + 0x40]
mov rcx, rbx
or dword [r15 + rax*8 + 0x14], 1
call fcn.1401011b0
mov rcx, qword [rsp + 0x40]
inc ebp
mov dword [r15 + rcx*8], eax
cmp ebp, 3
jne 0x1400fe47b
mov edi, dword [rsp + 0x30]
xor ebp, ebp
dec esi
ror edi, 1
mov dword [rsp + 0x30], edi
mov r12d, edi
cmp dword [rsp + 0x38], 0
je 0x1400fe48a
mov rcx, rbx
call fcn.140101200
mov edx, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x48]
inc edx
mov dword [rsp + 0x34], edx
test esi, esi
jns 0x1400fe260
mov r12, qword [rsp + 0x108]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
mov dword [r12 + 0x3c], edx
test edx, edx
je 0x1400fe528
mov rcx, rbx
call fcn.1401011b0
mov r8d, dword [r12 + 0x3c]
test r8d, r8d
je 0x1400fe528
lea rdx, [r8 + r8*2]
shl rdx, 3
nop dword [rax + rax]
mov rcx, qword [r13]
lea rdx, [rdx - 0x18]
dec r8d
mov r9d, dword [rdx + rcx]
cmp r9d, eax
jbe 0x1400fe519
mov dword [rdx + rcx], eax
jmp 0x1400fe51c
mov eax, r9d
test r8d, r8d
jne 0x1400fe500
jmp 0x1400fe528
mov dword [r12 + 0x3c], edx
mov rbp, qword [rsp + 0xd0]
xor edx, edx
cmp dword [r12 + 0x3c], edx
jbe 0x1400fe58c
nop dword [rax]
mov r11, qword [r13]
lea rcx, [rdx + rdx*2]
mov r8d, dword [r11 + rcx*8]
lea r10, [r11 + rcx*8]
mov rax, qword [r12]
lea r9d, [r8 - 1]
cmp byte [r9 + rax], 0xff
jne 0x1400fe569
mov dword [r10], r9d
mov r8d, r9d
mov r11, qword [r13]
test edx, edx
jne 0x1400fe571
xor eax, eax
jmp 0x1400fe57c
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
mov eax, dword [r11 + rax*8]
sub r8d, eax
inc edx
mov dword [r10 + 0x10], r8d
cmp edx, dword [r12 + 0x3c]
jb 0x1400fe540
mov r13, qword [rsp + 0xc8]
movaps xmm10, xmmword [rsp + 0x60]
add rsp, 0xd8
pop r12
pop rdi
pop rsi
pop rbx
ret
mov dword [r12 + 0x28], 0
mov dword [r12 + 0x3c], 0
jmp 0x1400fe594