Function at 0x1400355c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
add rsp, 0x5840f8d9
sub rsp, 0x5840f989
mov edi, dword [rcx + 0x2d8]
mov rbp, rdx
mov r13, rcx
mov ebx, 0x7e5a9d8a
xor ebx, 0x63a874f3
xor ebx, 0x1df2e8e9
test dil, 4
je 0x140035623
mov ebx, 0x1f3e2a67
xor ebx, 0x3e80bbf1
sub ebx, 0x21be90ce
jmp 0x140035688
test dil, 8
je 0x140035649
mov ebx, 0x6cbd072e
sub ebx, 0x5bef8bde
add ebx, 0x4b846ae1
sub ebx, 0x5c51e43d
jmp 0x140035688
test dil, 0x40
je 0x140035669
mov ebx, 0x3a3a6578
sub ebx, 0x1910eff4
xor ebx, 0x212977dc
jmp 0x140035688
test dil, 0x10
pushf
mov eax, 0x38a05be9
sub eax, 0x31d737ba
add eax, 0x2bb2d3e9
sub eax, 0x327bf55c
popf
cmovne ebx, eax
mov r15, qword [r8 + 0x38]
xorps xmm0, xmm0
mov rsi, qword [r8]
mov r14d, edi
shr r14d, 5
and edi, 3
and r14d, 1
mov eax, edi
neg eax
lea rdx, [r15 + 1]
pushf
mov eax, 0x5c1d1b8e
sub eax, 0x57f960c7
add eax, 0x3aadaeca
sub eax, 0x3ed1698c
popf
pushf
mov ecx, 0x1db57004
xor ecx, 0x5f923f76
xor ecx, 0x5e05f69c
sub ecx, 0x1c22b9eb
popf
sbb r12d, r12d
and r12d, 8
test edi, edi
movups xmmword [rsp + 0x78], xmm0
cmovne eax, ecx
lea rcx, [rsp + 0x70]
mov dword [rsp + 0xe0], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x70], rax
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
call fcn.140018ab0
mov edx, 0x36409a3b
add edx, 0x14e758f0
xor edx, 0x634a6d9
test r15, r15
je 0x14003576f
mov rdi, rax
sub rsi, rax
mov r8, r15
mov r9d, 0x6114b3c1
xor r9d, 0x4bd47805
xor r9d, 0x2ac0cb3b
movzx ecx, dx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xor cx, word [rsi + rdi - 2]
mov word [rdi - 2], cx
sub r8, 1
jne 0x14003574e
xor esi, esi
movabs rdi, 0x67d489d620c51b58
sub rdi, 0x1b0d9708
add rdi, 0x7fffffff
xor rdi, 0x1ee179d1
mov word [rax + r15*2], si
xor r9d, r9d
add rdi, qword [0x1404e0790]
movabs rax, 0x4298e2461c61cfdb
xor rax, 0x27834a07
xor rax, 0x25f01c3e
sub rax, 0xd0d9529
mov ecx, dword [r13 + 0x2f0]
xor r8d, r8d
rol rdi, 0x3a
xor ecx, 0x2ed57f6f
not rdi
xor edx, edx
add rdi, rax
movabs rax, 0x861295bc46d72ced
xor rax, 0x5b772433
add rax, 0x46c4e313
not rdi
ror rdi, 1
add rdi, rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x60], 0x72f4a43f
sub dword [rsp + 0x60], 0xb7f0f45
sub dword [rsp + 0x60], 0x501c14f8
sub dword [rsp + 0x60], 0x17598000
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebx
call rdi
mov rcx, qword [rsp + 0x70]
mov rbx, rax
lea rax, [rsp + 0x78]
cmp rcx, rax
jne 0x140035886
lea rdi, [rsp + 0x78]
xor eax, eax
mov ecx, 0x2dd97c72
add ecx, 0x45a66b0d
sub ecx, 0x638d91cf
sub ecx, 0xff25580
rep stosb byte [rdi], al
jmp 0x14003588b
call fcn.1400bc0d0
test rbx, rbx
je 0x140035936
mov rcx, qword [rbp + 0x80]
cmp rcx, 4
jae 0x1400358d8
mov rax, rcx
shl rax, 5
add rax, rbp
inc rcx
mov qword [rbp + 0x80], rcx
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x10], esi
mov qword [rax + 0x18], rsi
test rax, rax
je 0x1400358d8
mov qword [rax], rbx
jmp 0x140035938
mov rax, qword [0x1404e07f8]
movabs rcx, 0x6658240759e35273
sub rcx, 0x24f71793
xor rcx, 0x67a0d0de
sub rcx, 0x1b9f2545
rol rax, 0x13
add rax, rcx
movabs rcx, 0x4c0b877d5a107d45
sub rcx, 0x446ab009
add rcx, 0x7fffffff
xor rcx, 0x477e18d6
rol rax, 0x11
add rax, rcx
mov rcx, rbx
not rax
ror rax, 1
call rax
xor eax, eax
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret