Function at 0x1400257e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x2d0
mov rax, qword [0x14024fa28]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov rax, qword [rcx + 0x10]
mov r9, r8
mov rsi, qword [rcx]
mov r10, rdx
mov r14, qword [rcx + 8]
mov rbp, qword [rcx + 0x20]
mov r12, qword [rcx + 0x28]
mov r13, qword [rcx + 0x30]
mov qword [rsp], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 8], rax
mov rax, qword [rcx + 0x38]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x20], rcx
test r8, r8
je 0x140025e3a
add rdx, 2
mov qword [r11 + 0x10], rbx
lea r8, [rsp + 0x46]
mov qword [r11 + 0x18], rdi
sub r8, r10
mov qword [rsp + 0x18], r8
nop dword [rax]
nop word [rax + rax]
dec r9
mov qword [rsp + 0x28], r9
mov r9d, 2
nop
movzx eax, byte [rdx - 1]
movzx ecx, byte [rdx - 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 1]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 7]
mov qword [rdx + r8 - 8], rcx
movzx ecx, byte [rdx + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 8]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 9]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0xa]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0xb]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0xc]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0xd]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0xf]
mov qword [rdx + r8], rcx
movzx ecx, byte [rdx + 0xe]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x10]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x11]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x12]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x13]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x14]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x15]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x17]
mov qword [rdx + r8 + 8], rcx
movzx ecx, byte [rdx + 0x16]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x18]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x1a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x1b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x1c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x1d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x1f]
mov qword [rdx + r8 + 0x10], rcx
movzx ecx, byte [rdx + 0x1e]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x20]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x21]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x22]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x23]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x24]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x25]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x27]
mov qword [rdx + r8 + 0x18], rcx
movzx ecx, byte [rdx + 0x26]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x28]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x29]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x2a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x2b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x2c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x2d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x2f]
mov qword [rdx + r8 + 0x20], rcx
movzx ecx, byte [rdx + 0x2e]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x30]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x31]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x32]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x33]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x34]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x35]
shl rcx, 8
or rcx, rax
mov qword [rdx + r8 + 0x28], rcx
movzx ecx, byte [rdx + 0x36]
movzx eax, byte [rdx + 0x37]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x38]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x39]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x3a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x3b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x3c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 0x3d]
shl rcx, 8
or rcx, rax
mov qword [rdx + r8 + 0x30], rcx
add rdx, 0x40
sub r9, 1
jne 0x140025880
mov rbx, qword [rsp + 0xb0]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rdx
lea r15d, [r9 + 0x10]
nop word [rax + rax]
mov r10, qword [rax - 0x68]
lea rax, [rax + 0x20]
mov rdx, rbx
mov r9, r10
ror rdx, 0x13
mov rcx, r10
ror rcx, 1
ror r9, 8
xor r9, rcx
mov rcx, r10
shr rcx, 7
xor r9, rcx
mov rcx, rbx
rol rcx, 3
xor rdx, rcx
shr rbx, 6
xor rdx, rbx
add r9, rdx
add r9, qword [rax - 0x90]
add r9, qword [rax - 0x48]
mov qword [rax - 0x10], r9
mov r8, r9
mov rbx, qword [rax - 0x80]
mov rdx, qword [rax - 0x18]
mov r11, rdx
ror r8, 0x13
mov rcx, rdx
ror r11, 0x13
rol rcx, 3
xor r11, rcx
shr rdx, 6
xor r11, rdx
mov rcx, rbx
ror rcx, 1
mov rdx, rbx
ror rdx, 8
xor rdx, rcx
mov rcx, rbx
shr rcx, 7
xor rdx, rcx
mov rcx, r9
add r11, rdx
rol rcx, 3
add r11, qword [rax - 0x40]
xor r8, rcx
shr r9, 6
add r11, r10
xor r8, r9
mov qword [rax - 8], r11
mov rdi, qword [rax - 0x78]
mov r9, r11
ror r9, 0x13
mov rdx, rdi
ror rdx, 8
mov rcx, rdi
ror rcx, 1
xor rdx, rcx
mov rcx, rdi
shr rcx, 7
xor rdx, rcx
mov rcx, r11
add r8, rdx
rol rcx, 3
add r8, qword [rax - 0x38]
xor r9, rcx
add rbx, r8
shr r11, 6
mov qword [rax], rbx
xor r9, r11
mov r8, qword [rax - 0x70]
mov rdx, r8
mov rcx, r8
ror rdx, 8
ror rcx, 1
xor rdx, rcx
shr r8, 7
xor rdx, r8
add r9, rdx
add r9, qword [rax - 0x30]
add r9, rdi
mov qword [rax + 8], r9
sub r15, 1
jne 0x140025b60
mov r15, qword [rsp + 0x20]
xor r10d, r10d
mov r11, qword [rsp + 0x10]
mov rbx, qword [rsp]
mov rdi, qword [rsp + 8]
nop dword [rax + rax]
mov rdx, rsi
mov rax, rsi
ror rax, 0x1c
mov rcx, r14
or rcx, rsi
rol rdx, 0x1e
xor rdx, rax
and rcx, rbx
mov rax, rsi
mov r9, r13
rol rax, 0x19
xor rdx, rax
mov rax, r14
and rax, rsi
or rcx, rax
mov rax, rbp
add rdx, rcx
ror rax, 0x12
mov rcx, rbp
rol rcx, 0x17
xor rcx, rax
mov rax, rbp
ror rax, 0xe
xor rcx, rax
mov rax, r12
xor rax, r13
and rax, rbp
xor rax, r13
mov r13, rbp
add rcx, rax
mov rbp, rbx
mov rbx, rsi
lea rax, [0x1401f1b10]
add rcx, qword [r10 + rax]
add rcx, qword [rsp + r10 + 0x40]
add rcx, r11
mov r11, r12
lea r12, [rdi + rcx]
mov rdi, r14
lea r14, [rcx + rdx]
mov rdx, r14
mov rax, r14
ror rax, 0x1c
mov rcx, r14
or rcx, rsi
rol rdx, 0x1e
xor rdx, rax
and rcx, rdi
and rsi, r14
mov rax, r14
rol rax, 0x19
or rsi, rcx
xor rdx, rax
mov rcx, r12
rol rcx, 0x17
add rsi, rdx
mov rax, r12
ror rax, 0x12
xor rcx, rax
mov rax, r12
ror rax, 0xe
xor rcx, rax
mov rax, r13
xor rax, r11
and rax, r12
xor rax, r11
add rcx, rax
lea rax, [0x1401f1b10]
add rcx, qword [r10 + rax + 8]
add rcx, qword [rsp + r10 + 0x48]
add r10, 0x10
add rcx, r9
add rbp, rcx
add rsi, rcx
cmp r10, 0x280
jb 0x140025ca0
add rbx, qword [r15 + 0x10]
mov eax, 0
add rdi, qword [r15 + 0x18]
add r11, qword [r15 + 0x38]
add rsi, qword [r15]
add r14, qword [r15 + 8]
add rbp, qword [r15 + 0x20]
add r12, qword [r15 + 0x28]
add r13, qword [r15 + 0x30]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov qword [r15], rsi
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], rdi
mov qword [r15 + 0x20], rbp
mov qword [r15 + 0x28], r12
mov qword [r15 + 0x30], r13
mov qword [r15 + 0x38], r11
add qword [r15 + 0x40], 0x400
mov qword [rsp], rbx
sete al
mov qword [rsp + 8], rdi
add qword [r15 + 0x48], rax
add r8, 0xffffffffffffff80
mov qword [rsp + 0x10], r11
mov qword [rsp + 0x18], r8
test r9, r9
jne 0x140025870
mov rdi, qword [rsp + 0x310]
mov rbx, qword [rsp + 0x308]
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.1401c5190
mov rbp, qword [rsp + 0x318]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rsi
ret