Function at 0x1400970d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x148
mov rax, qword [0x1400d20f0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rdx, qword [0x1400d0ef0]
add rdx, qword [0x1400d69b0]
je 0x140097198
mov rax, qword [0x1400d69b8]
mov rcx, qword [rax]
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0xc0]
mov r9d, 0x80
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
js 0x140097198
movups xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xe0]
movups xmm3, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x40], xmm1
jmp 0x1400971c7
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [0x1400d6d98], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [0x1400d6d88], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [0x1400d6d78], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [0x1400d6d68], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmm1, xmmword [rsp + 0x40]
movdqa xmm2, xmmword [rsp + 0x50]
movdqa xmm3, xmmword [rsp + 0x60]
movdqu xmmword [0x1400d6d58], xmm3
movdqu xmmword [0x1400d6d48], xmm2
movdqu xmmword [0x1400d6d38], xmm1
movups xmmword [0x1400d6d28], xmm0
call fcn.140048810
mov rcx, rax
call fcn.1400481b0
cmp dword [0x1400d69a8], 0
je 0x140097287
mov rdx, qword [0x1400d0fa0]
add rdx, qword [0x1400d6cf0]
je 0x140097287
mov rax, qword [0x1400d69b8]
mov rcx, qword [rax]
mov qword [rsp + 0x20], 0
lea r8, [0x1400d8040]
mov r9d, 0x38
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movups xmm0, xmmword [0x1400d8040]
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [0x1400d8070]
mov qword [rsp + 0xf0], rax
movups xmm0, xmmword [0x1400d8060]
movaps xmmword [rsp + 0xe0], xmm0
movdqu xmm0, xmmword [0x1400d8050]
movdqa xmmword [rsp + 0xd0], xmm0
cmp byte [rsp + 0xc0], 0
je 0x1400972ef
movzx r9d, byte [rsp + 0xc2]
cmp r9, 8
ja 0x1400972ef
movzx eax, byte [rsp + 0xc1]
cmp eax, 8
jbe 0x1400973da
xor edx, edx
cmp dword [0x1400d69a8], 0
je 0x140097326
add rdx, 0x10
je 0x140097326
mov rax, qword [0x1400d69b8]
mov rcx, qword [rax]
mov qword [rsp + 0x20], 0
lea r8, [0x1400d8078]
mov r9d, 8
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov edx, 0x2bc
add rdx, qword [0x1400d8078]
mov rax, qword [0x1400d69b8]
mov rcx, qword [rax]
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0xc0]
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
setns al
and al, byte [rsp + 0xc0]
movzx edx, al
movaps xmm0, xmmword [0x1400b3a90]
movaps xmmword [rsp + 0xc0], xmm0
lea rcx, [rsp + 0xc0]
call fcn.14002f940
call fcn.140033b70
mov rsi, qword [0x1400d7fc8]
mov rdi, qword [0x1400d7fd0]
cmp rsi, rdi
je 0x1400973b2
nop dword [rax]
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax + 8]
add rsi, 8
cmp rsi, rdi
jne 0x1400973a0
call fcn.140048810
mov rcx, rax
call fcn.140048270
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1400a7f70
nop
add rsp, 0x148
pop rdi
pop rsi
ret
movzx ecx, byte [rsp + 0xd0]
mov rdx, qword [rsp + rcx*8 + 0xd8]
mov qword [rsp + 0x30], rdx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rcx
test eax, eax
je 0x140097503
lea edi, [rax + 1]
and edi, 0xfffffffe
add eax, 0xffffffff
movd xmm3, eax
movq xmm0, rdx
movq xmm1, rcx
pshufd xmm1, xmm1, 0x44
add edi, 0xfffffffe
mov ecx, edi
shr ecx, 1
add ecx, 1
mov esi, ecx
and esi, 7
cmp edi, 0xe
jae 0x14009743b
xor edx, edx
jmp 0x140097473
and ecx, 0xfffffff8
neg ecx
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
add edx, 0xfffffff0
add ecx, 8
jne 0x140097450
movdqa xmm4, xmm1
pxor xmm4, xmm0
pcmpeqd xmm2, xmm2
pxor xmm2, xmm4
mov r8d, 0xfffffffe
sub r8d, edx
neg edx
pshufd xmm3, xmm3, 0x50
test esi, esi
je 0x1400974b1
add esi, esi
xor ecx, ecx
pcmpeqd xmm4, xmm4
nop word cs:[rax + rax]
nop
movdqa xmm2, xmm0
movdqa xmm0, xmm1
pxor xmm0, xmm2
pxor xmm0, xmm4
add ecx, 0xfffffffe
mov eax, esi
add eax, ecx
jne 0x140097490
sub edx, ecx
add edx, 0xfffffffe
mov r8d, edx
movd xmm1, r8d
pshufd xmm1, xmm1, 0x50
por xmm1, xmmword [0x1400aad70]
movdqa xmm4, xmmword [0x1400aad00]
pxor xmm3, xmm4
pxor xmm1, xmm4
pcmpgtd xmm1, xmm3
pxor xmm3, xmm3
pcmpgtd xmm3, xmm1
punpckldq xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
pshufd xmm0, xmm1, 0xee
pxor xmm0, xmm1
movq rdx, xmm0
movq qword [rsp + 0x30], xmm0
test r9, r9
je 0x1400972f1
cmp r9b, 8
ja 0x1400972f1
mov eax, 8
sub rax, r9
cmp rax, 8
mov ecx, 7
cmovae rcx, rax
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, 7
jae 0x14009761b
mov eax, 9
sub rax, r9
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, rcx
je 0x14009761b
mov eax, 0xa
sub rax, r9
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, rcx
je 0x14009761b
mov eax, 0xb
sub rax, r9
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, rcx
je 0x14009761b
mov eax, 0xc
sub rax, r9
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, rcx
je 0x14009761b
mov eax, 0xd
sub rax, r9
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, rcx
je 0x14009761b
mov eax, 0xe
sub rax, r9
mov dl, byte [rsp + rax + 0xb8]
xor dl, byte [rsp + rax + 0x30]
not dl
mov byte [rsp + rax + 0x30], dl
cmp rax, rcx
je 0x14009761b
mov eax, 0xf
sub rax, r9
mov cl, byte [rsp + rax + 0xb8]
xor cl, byte [rsp + rax + 0x30]
not cl
mov byte [rsp + rax + 0x30], cl
mov rdx, qword [rsp + 0x30]
jmp 0x1400972f1