Function at 0x14002585c
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, 0x63062b01
add rsp, 0x63062a29
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], 0x5b43099a
add qword [rdx + 0x18], 0xe68276b
xor qword [rdx + 0x18], 0x5fc00da4
sub qword [rdx + 0x18], 0x366b3ca0
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.140010f10
mov r8, rax
mov ecx, 0x28334ac3
add ecx, 0x33b2a906
sub ecx, 0x2ab5c642
mov r9d, 0x66b9f029
sub r9d, 0x62b7fbf5
add r9d, 0x2b8d0283
sub r9d, 0x2f8ef5b8
test rsi, rsi
je 0x140025937
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 0x140025916
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140025de3
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x64c5bcb5
xor edx, 0x16c89dd3
sub edx, 0x720d215c
mov rcx, r14
call 0x1400b8000
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff5d584748
sub r15, 0x24b05ffc
add r15, 0x7fffffff
xor r15, 0x475818b4
test rax, rax
je 0x1400259ac
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x1400259c3
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x1400259b4
lea rdi, [rbx + 1]
mov eax, 0x7b0e6f4d
xor eax, 0xf87763d
sub eax, 0x3c2828d0
xor eax, 0x3860f0a2
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400b6e40
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400b8170
cmp byte [r13 + 0x884], 0
je 0x140025aa5
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.1400413b0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.14002e870
cmp eax, dword [rdi]
jle 0x140025aa5
mov edx, 0x69d8d262
sub edx, 0xc93ce20
sub edx, 0x52501cf4
xor edx, 0xaf4e76e
mov rcx, rsi
call fcn.1400b8290
test rax, rax
jne 0x140025a87
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x140025a69
cmp rax, 1
jbe 0x140025c86
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 0x140025a1b
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 0x140025ac2
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.140010f10
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x79e23549
xor edx, 0x240b4382
xor edx, 0x6cd95b4c
popf
mov rdi, r14
jbe 0x140025b48
mov r8, rsi
mov r9d, 0x134a9c6d
xor r9d, 0x3a7da36b
sub r9d, 0x29373e07
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 0x140025b23
mov rax, qword [r12 + 8]
test rax, rax
je 0x140025cd2
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140025cc9
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400b71e0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x140025c3c
nop
movabs rsi, 0xffffffff48fd98d9
sub rsi, 0x2adae237
add rsi, 0x7fffffff
xor rsi, 0x61dd4969
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.140010f10
mov rdi, r13
cmp qword [rbx], r13
jbe 0x140025c1c
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 0x140025c04
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x140025bc0
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140025cbd
test rcx, rcx
je 0x140025cb4
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x140025c92
xor eax, eax
mov ecx, 0x5e99a5d7
sub ecx, 0x23ef10b0
sub ecx, 0x3aaa94f7
rep stosb byte [rdi], al
jmp 0x140025c97
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x140025aa8
call fcn.1400b6f90
inc r14
nop
sub rbx, 0x442449af
add rbx, 0x442449ef
cmp r14, qword [r12 + 8]
jb 0x140025c54
mov rcx, qword [r12]
call fcn.1400b6f90
mov qword [r12], r13
xor r14d, r14d
jmp 0x140025cf9
mov r13, qword [r12]
jmp 0x140025cf9
mov r13, qword [r12]
test r13, r13
jne 0x140025cf9
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400b71e0
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.140010f10
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140025d6d
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 0x140025d54
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140025d9c
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x3d10d2e7
xor ecx, 0xb1c3896
sub ecx, 0x360cea41
rep stosb byte [rdi], al
jmp 0x140025da1
call fcn.1400b6f90
mov rcx, rsi
call fcn.1400b6e50
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140025dd7
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x140025dd7
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x140025958
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 0x140025e38
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x68231bc4
add ecx, 0x7d8308f
add ecx, 0x52f0b2c
sub ecx, 0x752a574f
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.1400b6f90
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret