Function at 0x140096b10
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x358
mov rsi, rcx
mov rax, qword [0x1403acd78]
xor rax, rsp
mov qword [rsp + 0x350], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x40], rdx
add rdx, 0x58
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x30], r8
add r8, 0x58
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x20], send
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x30]
call fcn.140096e00
mov rdx, qword [rsp + 0x2f0]
xor eax, eax
mov rcx, qword [rsp + 0x240]
nop
mov r8, qword [rsp + rax*8 + 0x2f8]
shrd rdx, r8, 0x3d
mov r9, qword [rsp + rax*8 + 0x1f0]
mov r10, qword [rsp + rax*8 + 0x248]
shrd rcx, r10, 0x3d
mov r11, qword [rsp + rax*8 + 0x2a0]
xor r11, rcx
xor rcx, r9
xor r9, rdx
and r9, r11
mov qword [rsi + rax*8], r9
xor r11, rdx
or r11, rcx
mov qword [rsi + rax*8 + 0x58], r11
inc rax
mov rcx, r10
mov rdx, r8
cmp rax, 0xb
jne 0x140096bb0
mov rdx, qword [rsi + 0x50]
lea rax, [rdx*8]
sar rax, 0x3f
mov r8, qword [rsi + 0xa8]
lea rcx, [r8*8]
sar rcx, 0x3f
mov r9, qword [rsi + 0x58]
xor r9, rcx
mov r10, qword [rsi]
mov r11, qword [rsi + 8]
mov rdi, r10
xor rdi, rcx
xor r10, rax
or r10, r9
xor r9, rax
and r9, rdi
mov qword [rsi], r9
mov qword [rsi + 0x58], r10
mov r9, qword [rsi + 0x60]
xor r9, rcx
mov r10, r11
xor r10, rcx
xor r11, rax
or r11, r9
xor r9, rax
and r9, r10
mov qword [rsi + 8], r9
mov qword [rsi + 0x60], r11
mov r9, qword [rsi + 0x10]
mov r10, qword [rsi + 0x68]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x10], r10
mov qword [rsi + 0x68], r9
mov r9, qword [rsi + 0x18]
mov r10, qword [rsi + 0x70]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x18], r10
mov qword [rsi + 0x70], r9
mov r9, qword [rsi + 0x20]
mov r10, qword [rsi + 0x78]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x20], r10
mov qword [rsi + 0x78], r9
mov r9, qword [rsi + 0x28]
mov r10, qword [rsi + 0x80]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x28], r10
mov qword [rsi + 0x80], r9
mov r9, qword [rsi + 0x30]
mov r10, qword [rsi + 0x88]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x30], r10
mov qword [rsi + 0x88], r9
mov r9, qword [rsi + 0x38]
mov r10, qword [rsi + 0x90]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x38], r10
mov qword [rsi + 0x90], r9
mov r9, qword [rsi + 0x40]
mov r10, qword [rsi + 0x98]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x40], r10
mov qword [rsi + 0x98], r9
mov r9, qword [rsi + 0x48]
mov r10, qword [rsi + 0xa0]
xor r10, rcx
mov r11, r9
xor r11, rcx
xor r9, rax
or r9, r10
xor r10, rax
and r10, r11
mov qword [rsi + 0x48], r10
mov qword [rsi + 0xa0], r9
xor r8, rcx
xor rcx, rdx
mov r9, r8
xor r9, rax
xor rax, rdx
or rax, r8
movabs rdx, 0x1fffffffffffffff
and rcx, rdx
and rcx, r9
mov qword [rsi + 0x50], rcx
and rax, rdx
mov qword [rsi + 0xa8], rax
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.140279500
nop
add rsp, 0x358
pop rdi
pop rsi
ret