Function at 0x14000996c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rsi
sub rsp, 0x310
mov rax, qword [0x1400e0920]
xor rax, rsp
mov qword [rsp + 0x300], rax
xor r8d, r8d
lea edx, [r8 + 1]
lea eax, [r8 + 0xff]
mov byte [rsp + r8 + 0x100], dl
mov byte [rsp + rax + 0x100], dl
mov eax, edx
mov byte [rsp + rax], r8b
mov eax, edx
inc r8d
and al, 0x80
neg al
lea eax, [rdx + rdx]
sbb ecx, ecx
and ecx, 0x11b
xor ecx, eax
xor edx, ecx
cmp edx, 1
jne 0x140009992
mov eax, edx
mov r8d, 0xa
lea rdx, [0x1400e2f30]
mov dword [rdx], eax
test eax, eax
je 0x1400099ee
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x1400099f0
xor eax, eax
add rdx, 4
sub r8, 1
jne 0x1400099da
xor r9d, r9d
lea rsi, [0x140000000]
xor ebx, ebx
test r9b, r9b
je 0x140009a23
movzx eax, r9b
movzx ecx, byte [rsp + rax]
lea rax, [rsp + 0x1ff]
sub rax, rcx
movzx ecx, byte [rax]
jmp 0x140009a25
xor ecx, ecx
lea eax, [rcx + rcx]
xor eax, ecx
add eax, eax
xor eax, ecx
add eax, eax
xor eax, ecx
add eax, eax
xor ecx, eax
mov edx, ecx
shr edx, 8
xor dl, cl
xor dl, 0x63
je 0x140009a54
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r8d, byte [rsp + rcx + 0x101]
jmp 0x140009a57
xor r8d, r8d
test dl, dl
je 0x140009a6c
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x119]
jmp 0x140009a6e
xor eax, eax
shl r8d, 8
movzx ecx, dl
or r8d, ecx
mov dword [rbx + rsi + 0xe2f60], ecx
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, eax
mov eax, r8d
mov dword [rbx + rsi + 0xe3f60], r8d
rol eax, 8
mov dword [rbx + rsi + 0xe4360], eax
mov eax, r8d
rol eax, 0x10
ror r8d, 8
mov dword [rbx + rsi + 0xe4760], eax
mov eax, ecx
mov dword [rbx + rsi + 0xe4b60], r8d
rol eax, 8
movzx r8d, r9b
mov dword [rbx + rsi + 0xe3360], eax
mov eax, ecx
rol eax, 0x10
ror ecx, 8
mov dword [rbx + rsi + 0xe3760], eax
mov dword [rbx + rsi + 0xe3b60], ecx
mov eax, r8d
shl eax, 3
xor eax, r8d
shl eax, 2
xor eax, r8d
add eax, eax
mov ecx, eax
shr ecx, 8
xor cl, al
xor cl, 5
je 0x140009b34
mov edx, r8d
shl edx, 3
xor edx, r8d
shl edx, 2
xor edx, r8d
add edx, edx
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor rcx, rax
xor rcx, 5
movzx eax, byte [rsp + rcx]
lea rcx, [rsp + 0x1ff]
sub rcx, rax
mov dl, byte [rcx]
jmp 0x140009b36
xor dl, dl
test dl, dl
je 0x140009b4c
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r8d, byte [rsp + rcx + 0x168]
jmp 0x140009b4f
xor r8d, r8d
test dl, dl
je 0x140009b65
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r11d, byte [rsp + rcx + 0x1ee]
jmp 0x140009b68
xor r11d, r11d
test dl, dl
je 0x140009b7e
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx r10d, byte [rsp + rcx + 0x1c7]
jmp 0x140009b81
xor r10d, r10d
test dl, dl
je 0x140009b96
movzx eax, dl
movzx ecx, byte [rsp + rax]
movzx eax, byte [rsp + rcx + 0x1df]
jmp 0x140009b98
xor eax, eax
shl r8d, 8
movzx ecx, dl
inc r9d
or r8d, r11d
add rbx, 4
shl r8d, 8
or r8d, r10d
shl r8d, 8
or r8d, eax
mov eax, r8d
mov dword [rsi + rcx*4 + 0xe1f30], r8d
rol eax, 8
mov dword [rsi + rcx*4 + 0xe2330], eax
mov eax, r8d
rol eax, 0x10
ror r8d, 8
mov dword [rsi + rcx*4 + 0xe2b30], r8d
mov dword [rsi + rcx*4 + 0xe2730], eax
cmp r9d, 0x100
jb 0x140009a06
mov byte [0x1400e4f60], 1
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400a8530
mov rbx, qword [rsp + 0x320]
add rsp, 0x310
pop rsi
ret