Function at 0x1400fd1e1
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xd8
mov qword [rax - 0x28], rbx
xorps xmm0, xmm0
mov qword [rax - 0x30], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r12, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x1a85fbf5
xor qword [rdx + 0x18], 0x720a50aa
sub qword [rdx + 0x18], 0x688fab5e
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x29]
lea rdx, [rsi + 1]
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.140017bec
mov r8, rax
mov ecx, 0x59e702dd
sub ecx, 0x3af11f38
add ecx, 0x3e8d4e13
mov r9d, 0x7346fd28
sub r9d, 0x354c64
xor r9d, 0x1585232e
sub r9d, 0x669492eb
test rsi, rsi
je 0x1400fce58
mov rdx, rax
sub rbx, rax
mov rdi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
ror ecx, 8
xor ax, word [rbx + rdx - 2]
mov word [rdx - 2], ax
sub rdi, 1
jne 0x1400fce37
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x1400fd313
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x61aeb0df
add edx, 0xaef6f8e
sub edx, 0x661a7ac4
xor edx, 0x683a5a3
mov rcx, r14
call 0x140098d20
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff7b4aef55
xor r15, 0x4e25f786
add r15, 0x7fffffff
add r15, 0x4a90e72d
test rax, rax
je 0x1400fced3
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400fceea
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400fcedb
lea rdi, [rbx + 1]
mov eax, 0x3d2085e9
add eax, 0x2c917712
sub eax, 0x69b1fcf9
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.140097bc0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.140098e70
cmp byte [r13 + 0x884], 0
je 0x1400fcfc7
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400ee600
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400f18fc
cmp eax, dword [rdi]
jle 0x1400fcfc7
mov edx, 0x3257c337
xor edx, 0x3ad60dbf
xor edx, 0x20743d82
xor edx, 0x28f5f32a
mov rcx, rsi
call fcn.140098f80
test rax, rax
jne 0x1400fcfa9
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400fcf8b
cmp rax, 1
jbe 0x1400fd1b5
dec rax
lea rax, [rsi + rax*2]
mov word [rax], bx
sub rax, rsi
sar rax, 1
lea rax, [r14 + rax*2]
mov qword [rbp + 0x6f], rax
cmp byte [r13 + 0x884], bl
jne 0x1400fcf3d
xor r14d, r14d
xorps xmm0, xmm0
lea rax, [rbp - 0x69]
mov qword [rbp - 0x71], rax
mov rdx, r15
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1400fcfe4
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140017bec
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x795c97e4
xor edx, 0x26ef0e8e
sub edx, 0x3bdc5a50
add edx, 0x39abf29e
popf
mov rdi, r14
jbe 0x1400fd070
mov r8, rsi
mov r9d, 0x4d492543
add r9d, 0x3078f55e
sub r9d, 0x7dc219a2
sub r8, rax
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
ror edx, 8
xor cx, word [r8 + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x39]
jb 0x1400fd04b
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400fd1fc
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x1400fd1f3
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140097fa0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400fd16b
nop
movabs rsi, 0xffffffff173e3133
add rsi, 0xb44731f
xor rsi, 0x30826003
add rsi, 0x7fffffff
xor rsi, 0x6dff3b98
lea rbx, [rax + 0x38]
sub rsi, rax
xor r13d, r13d
nop dword [rax]
mov r14, qword [r12]
lea rax, [rbx - 0x30]
mov qword [rbx - 0x38], rax
lea rcx, [rbx - 0x38]
xorps xmm0, xmm0
add r14, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r14 + rbx + 0x38]
mov qword [rbx], rdx
call fcn.140017bec
mov rdi, r13
cmp qword [rbx], r13
jbe 0x1400fd14b
nop word [rax + rax]
mov rcx, qword [r14 + rbx]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx]
jb 0x1400fd133
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x1400fd0ef
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x1400fd1ea
mov rbx, r14
test rcx, rcx
je 0x1400fd1e1
nop
mov rax, qword [r12]
mov rcx, qword [r14 + rax]
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
jne 0x1400fd1c1
xor eax, eax
mov ecx, 0x711249ad
sub ecx, 0x51598d6d
xor ecx, 0x1fb8bc70
rep stosb byte [rdi], al
jmp 0x1400fd1c6
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x1400fcfca
call fcn.140097d00
inc rbx
neg r14
add r14, 0xffffffffffffffc0
neg r14
cmp rbx, qword [r12 + 8]
jb 0x1400fd183
xor r14d, r14d
mov rcx, qword [r12]
call fcn.140097d00
mov qword [r12], r13
jmp 0x1400fd223
mov r13, qword [r12]
jmp 0x1400fd223
mov r13, qword [r12]
test r13, r13
jne 0x1400fd223
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140097fa0
mov r13, rax
mov qword [r12], rax
mov rax, qword [r12 + 8]
xorps xmm0, xmm0
mov rbx, rax
shl rbx, 6
add rbx, r13
inc rax
mov rcx, rbx
mov qword [r12 + 8], rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x38], rax
mov rdx, qword [rbp - 0x39]
call fcn.140017bec
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1400fd297
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x71]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x1400fd27e
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400fd2cc
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x62a177f9
add ecx, 0x1cfe1c66
xor ecx, 0x65f461bf
xor ecx, 0x1a6bf5d0
rep stosb byte [rdi], al
jmp 0x1400fd2d1
call fcn.140097d00
mov rcx, rsi
call fcn.140097bd0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400fd307
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x1400fd307
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400fce79
mov r14, qword [rbp - 0x31]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
lea rax, [rbp - 0x29]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
cmp r14, rax
jne 0x1400fd362
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x2871b1be
add ecx, 0x33b22d3b
sub ecx, 0x5c23dec9
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.140097d00
mov rax, r12
add rsp, 0xd8
pop r14
pop r12
pop rdi
pop rbp
ret