Function at 0x14003527c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov dword [rsp - 0x20], esp
mov qword [rsp + 0x20], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r14
mov dword [rsp - 0x40], ebx
push rcx
mov qword [rsp], r15
add rsp, 0xffffffffffffffd0
mov dword [rcx + 8], 0x3dfdf400
xor dword [rcx + 8], 0x7a9295ad
add dword [rcx + 8], 0x2aaee5fe
sub dword [rcx + 8], 0x6862ebad
xor dword [rcx + 8], 0x9bb5bff
lea r14, [rcx + 0x298]
xorps xmm0, xmm0
lea rax, [0x140003c18]
mov dword [rsp - 0x38], edi
xchg r9, rax
mov qword [rcx], r9
xchg r9, rax
xchg rbp, r14
mov r14, rdx
xchg rbp, r14
lea rax, [r14 + 8]
xchg rcx, r13
mov rbx, r13
xchg r13, rcx
mov qword [r14], rax
mov rsi, rsi
xor edi, edi
xchg r8, rdi
mov qword [rcx + 0x290], r8
xchg r8, rdi
xchg r8, rdi
mov rsi, rdi
xchg rdi, r8
movups xmmword [rax], xmm0
mov dword [rsp - 0x34], 0x3930e6b1
xchg rbx, rcx
mov rbx, r14
xchg rbx, rcx
xchg r14, rax
movups xmmword [r14 + 0x10], xmm0
xchg r14, rax
xchg rdi, rax
movups xmmword [rdi + 0x20], xmm0
xchg rdi, rax
mov rdx, qword [r8 + 0x38]
xchg rdi, rdi
xchg rdx, r13
mov qword [r14 + 0x38], r13
xchg rdx, r13
call fcn.14001653c
xchg r14, r14
mov r8d, edi
cmp qword [r14 + 0x38], rdi
jbe 0x14003538d
mov r9, r9
mov rcx, qword [rsi]
movzx edx, word [rcx + r8*2]
mov word [rax + r8*2], dx
mov dword [rsp - 0x28], 0x753badd6
inc r8
cmp r8, qword [r14 + 0x38]
jb 0x140035368
mov rdx, rdx
mov ecx, dword [rsi + 0x40]
mov edx, 0x1be6b03f
sub edx, 0x6022fde
add edx, 0x6ef53ac
xor edx, 0x7255503f
xor edx, 0x393cf4b1
mov qword [rbx + 0x2e0], rdi
bts ecx, 0xe
mov dword [rbx + 0x2d8], ecx
xchg rsi, rsi
mov r15d, 0x79e92e5
xor r15d, 0x597be073
sub r15d, 0x46a1bad8
xor r15d, 0x1c0d81ac
mov eax, dword [rsi + 0x54]
and ecx, 0x2000
mov rdi, rdi
xor eax, edx
mov dword [rbx + 0x2e8], eax
mov eax, dword [rsi + 0x58]
mov r9, r9
xor eax, edx
mov dword [rbx + 0x2ec], eax
mov eax, dword [rsi + 0x44]
xor eax, edx
mov r13, r13
mov dword [rbx + 0x2f0], eax
mov eax, dword [rsi + 0x48]
xor eax, edx
mov dword [rsp - 0x2c], esi
mov dword [rbx + 0x2f4], eax
xchg r15, rax
mov r15, qword [rsi + 0x60]
xchg r15, rax
mov qword [rbx + 0x2f8], rax
mov eax, dword [rsi + 0x4c]
xor eax, r15d
mov dword [rsp - 0x30], 0x558eeaa4
mov dword [rbx + 0x308], eax
mov eax, dword [rsi + 0x50]
xor eax, edx
mov byte [rbx + 0x310], dil
mov rsi, rsi
neg ecx
mov dword [rbx + 0x30c], eax
pushf
mov edx, 0x2f33a1b9
add edx, 0x1d049bdd
xor edx, 0x6b5e77e1
sub edx, 0x25dc3833
xor edx, 0x18a1254
popf
xchg rbp, r8
mov qword [rbx + 0x318], r8
xchg r8, rbp
sbb r14, r14
and r14, 0xffffffffffff0100
xchg rbp, rbp
add r14, 0xffff
mov rcx, r14
shl rcx, 3
shl rcx, 1
call fcn.140077bd0
mov rdx, rdx
xchg r12, rcx
mov r12, rax
xchg r12, rcx
mov rdx, r14
mov dword [rsp - 0x20], 0x3cf7b636
movaps xmm0, xmmword [0x1400c9ff0]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
xchg rdi, rdi
sub rdx, 1
jne 0x1400354bd
mov qword [rbx + 0x300], rax
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
mov rax, qword [rsi + 0x68]
mov r12, r12
inc rdi
mov ecx, dword [rax + rdx]
xor ecx, r15d
mov dword [rsp + 0x50], ecx
xchg rdx, rdx
movss xmm0, dword [rsp + 0x50]
mov rax, qword [rsi + 0x68]
movss dword [rsp + 0x20], xmm0
mov ecx, dword [rax + rdx + 4]
mov dword [rsp - 0x30], 0x23f13b3
xor ecx, r15d
mov dword [rsp + 0x50], ecx
xchg rsp, r8
movss xmm0, dword [r8 + 0x50]
xchg r8, rsp
xchg r15, rax
mov r15, qword [rsi + 0x68]
xchg r15, rax
xchg rdi, rsp
movss dword [rdi + 0x24], xmm0
xchg rsp, rdi
mov ecx, dword [rax + rdx + 8]
mov r8, r8
xor ecx, r15d
mov dword [rsp + 0x50], ecx
xchg rsp, r12
movss xmm0, dword [r12 + 0x50]
xchg rsp, r12
mov rax, qword [rsi + 0x68]
mov r14, r14
xchg r14, rsp
movss dword [r14 + 0x28], xmm0
xchg r14, rsp
mov ecx, dword [rax + rdx + 0xc]
mov dword [rsp - 0x30], 0x180bf37c
xor ecx, r15d
mov dword [rsp + 0x50], ecx
movss xmm0, dword [rsp + 0x50]
mov dword [rsp - 0x38], 0xa496c02
mov rax, qword [rbx + 0x300]
xchg r12, rsp
movss dword [r12 + 0x2c], xmm0
xchg rsp, r12
xchg rsp, r10
movups xmm1, xmmword [r10 + 0x20]
xchg rsp, r10
xorps xmm1, xmmword [0x1400c9ff0]
movups xmmword [rdx + rax], xmm1
mov dword [rsp - 0x3c], 0x76a10403
lea rdx, [rdx + 0x10]
cmp rdi, r14
jl 0x1400354e8
lea rcx, [rbp + 0xa0]
mov r13, r13
mov qword [rsp + 0x50], rbx
lea rdx, [rsp + 0x50]
call fcn.140034cc8
xchg r11, r11
xchg rbp, rbx
mov rbx, qword [rsp + 0x60]
xchg rbp, rbx
xchg r10, rbx
mov rax, r10
xchg rbx, r10
xchg rbx, r8
mov r8, qword [rsp + 0x58]
xchg rbx, r8
mov rsi, qword [rsp + 0x68]
sub rsp, 0xffffffffffffffd0
mov dword [rsp - 0x24], 0x681dc7b9
nop
mov r15, qword [rsp]
add rsp, 8
pop r14
mov dword [rsp - 0x40], 0x6de8d31d
pop rdi
ret