Function at 0x14004b600
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x58
mov rax, qword [0x1400d20f0]
xor rax, rsp
mov qword [rsp + 0x50], rax
cmp dword [0x1400d69a8], 0
je 0x14004b64d
mov rdx, rcx
add rdx, 0x40
je 0x14004b64d
mov rax, qword [0x1400d69b8]
mov rcx, qword [rax]
mov qword [rsp + 0x20], 0
lea r8, [0x1400d7ff0]
mov r9d, 0x1c
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movups xmm0, xmmword [0x1400d7ff0]
movaps xmmword [rsp + 0x30], xmm0
movdqu xmm0, xmmword [0x1400d7ffc]
movdqu xmmword [rsp + 0x3c], xmm0
xor esi, esi
cmp byte [rsp + 0x30], 0
je 0x14004b95c
movzx r8d, byte [rsp + 0x32]
cmp r8, 4
ja 0x14004b95c
movzx eax, byte [rsp + 0x31]
cmp eax, 4
ja 0x14004b95c
movzx edx, byte [rsp + 0x38]
mov esi, dword [rsp + rdx*4 + 0x3c]
mov dword [rsp + 0x2c], esi
mov edx, dword [rsp + 0x34]
mov dword [rsp + 0x28], edx
test eax, eax
je 0x14004b79d
lea edi, [rax + 3]
and edi, 0xfffffffc
add eax, 0xffffffff
movd xmm3, eax
movd xmm0, esi
movd xmm1, edx
pshufd xmm1, xmm1, 0
add edi, 0xfffffffc
mov eax, edi
shr eax, 2
add eax, 1
mov ecx, eax
and ecx, 7
cmp edi, 0x1c
jae 0x14004b6e2
xor edx, edx
jmp 0x14004b711
and eax, 0xfffffff8
neg eax
xor edx, edx
nop dword [rax]
add edx, 0xffffffe0
add eax, 8
jne 0x14004b6f0
movdqa xmm4, xmm1
pxor xmm4, xmm0
pcmpeqd xmm2, xmm2
pxor xmm2, xmm4
mov edi, 0xfffffffc
sub edi, edx
neg edx
pshufd xmm3, xmm3, 0
test ecx, ecx
je 0x14004b750
shl ecx, 2
xor eax, eax
pcmpeqd xmm4, xmm4
nop word cs:[rax + rax]
nop dword [rax]
movdqa xmm2, xmm0
movdqa xmm0, xmm1
pxor xmm0, xmm2
pxor xmm0, xmm4
add eax, 0xfffffffc
mov esi, ecx
add esi, eax
jne 0x14004b730
sub edx, eax
add edx, 0xfffffffc
mov edi, edx
movd xmm1, edi
pshufd xmm1, xmm1, 0
por xmm1, xmmword [0x1400b2540]
movdqa xmm4, xmmword [0x1400aad00]
pxor xmm3, xmm4
pxor xmm1, xmm4
pcmpgtd xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
pshufd xmm0, xmm1, 0xee
pxor xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pxor xmm1, xmm0
movd esi, xmm1
movd dword [rsp + 0x2c], xmm1
test r8, r8
je 0x14004b95c
mov r10d, 4
sub r10, r8
cmp r10, 4
mov r11d, 3
cmovae r11, r10
add r8, r11
add r8, 0xfffffffffffffffd
cmp r8, 8
jae 0x14004b7d2
mov rax, r10
jmp 0x14004b934
cmp r8, 0x20
jae 0x14004b7df
xor edx, edx
jmp 0x14004b8e3
mov rdx, r8
and rdx, 0xffffffffffffffe0
lea rax, [rdx - 0x20]
mov r9, rax
shr r9, 5
add r9, 1
test rax, rax
je 0x14004b891
lea rsi, [rsp + r10]
add rsi, 0x5c
lea rax, [rsp + r10]
add rax, 0x58
mov rdi, r9
and rdi, 0xfffffffffffffffe
neg rdi
xor ecx, ecx
pcmpeqd xmm0, xmm0
nop
movdqu xmm1, xmmword [rax + rcx - 0x30]
movdqu xmm2, xmmword [rax + rcx - 0x20]
movdqu xmm3, xmmword [rsi + rcx - 0x30]
pxor xmm3, xmm1
movdqu xmm1, xmmword [rsi + rcx - 0x20]
pxor xmm1, xmm2
movdqu xmm2, xmmword [rsi + rcx - 0x10]
movdqu xmm4, xmmword [rsi + rcx]
pxor xmm3, xmm0
pxor xmm1, xmm0
movdqu xmmword [rsi + rcx - 0x30], xmm3
movdqu xmmword [rsi + rcx - 0x20], xmm1
movdqu xmm1, xmmword [rax + rcx - 0x10]
pxor xmm1, xmm2
movdqu xmm2, xmmword [rax + rcx]
pxor xmm2, xmm4
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [rsi + rcx - 0x10], xmm1
movdqu xmmword [rsi + rcx], xmm2
add rcx, 0x40
add rdi, 2
jne 0x14004b820
jmp 0x14004b893
xor ecx, ecx
test r9b, 1
je 0x14004b8d4
add rcx, r10
movdqu xmm0, xmmword [rsp + rcx + 0x28]
movdqu xmm1, xmmword [rsp + rcx + 0x38]
movdqu xmm2, xmmword [rsp + rcx + 0x2c]
pxor xmm2, xmm0
movdqu xmm0, xmmword [rsp + rcx + 0x3c]
pxor xmm0, xmm1
pcmpeqd xmm1, xmm1
pxor xmm2, xmm1
pxor xmm0, xmm1
movdqu xmmword [rsp + rcx + 0x2c], xmm2
movdqu xmmword [rsp + rcx + 0x3c], xmm0
cmp r8, rdx
je 0x14004b958
test r8b, 0x18
je 0x14004b978
mov rcx, r8
and rcx, 0xfffffffffffffff8
lea rax, [r10 + rcx]
lea r9, [rsp + r10]
add r9, 0x28
lea rsi, [rsp + r10]
add rsi, 0x2c
pcmpeqd xmm0, xmm0
nop word cs:[rax + rax]
nop dword [rax]
mov rdi, qword [r9 + rdx]
xor rdi, qword [rsi + rdx]
movq xmm1, rdi
pxor xmm1, xmm0
movq qword [rsi + rdx], xmm1
add rdx, 8
cmp rcx, rdx
jne 0x14004b910
cmp r8, rcx
je 0x14004b958
add r11, 1
nop dword [rax + rax]
movzx ecx, byte [rsp + rax + 0x28]
xor cl, byte [rsp + rax + 0x2c]
not cl
mov byte [rsp + rax + 0x2c], cl
add rax, 1
cmp r11, rax
jne 0x14004b940
mov esi, dword [rsp + 0x2c]
shr esi, 0xc
and esi, 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400a7f70
mov eax, esi
add rsp, 0x58
pop rdi
pop rsi
ret
add r10, rdx
jmp 0x14004b7ca