Function at 0x14004c470
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movdqa xmmword [rsp + 0xd0], xmm7
movdqa xmmword [rsp + 0xc0], xmm6
mov r14, rdx
mov rsi, rcx
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0xb8], rax
test r9, r9
je 0x14004c591
xor eax, eax
cmp r9, 0x30
ja 0x14004c796
movups xmm0, xmmword [r14]
movdqu xmm1, xmmword [r14 + 0x10]
movdqu xmm2, xmmword [r14 + 0x20]
movdqa xmmword [rsp + 0x60], xmm2
movdqa xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
cmp r9, 8
jae 0x14004c4f0
xor eax, eax
jmp 0x14004c578
cmp r9, 0x10
jae 0x14004c529
xor eax, eax
mov rcx, rax
mov eax, r9d
and eax, 0x38
nop word cs:[rax + rax]
mov rdx, qword [r8 + rcx]
xor qword [rsp + rcx + 0x40], rdx
add rcx, 8
cmp rax, rcx
jne 0x14004c510
cmp r9, rax
je 0x14004c56b
jmp 0x14004c578
mov eax, r9d
and eax, 0x30
movups xmm0, xmmword [r8]
xorps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
cmp rax, 0x10
je 0x14004c566
movups xmm0, xmmword [r8 + 0x10]
xorps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm0
cmp eax, 0x20
je 0x14004c566
movups xmm0, xmmword [r8 + 0x20]
xorps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x60], xmm0
cmp r9, rax
jne 0x14004c572
lea r14, [rsp + 0x40]
jmp 0x14004c591
test r9b, 8
jne 0x14004c4f8
lea r14, [rsp + 0x40]
nop dword [rax]
movzx ecx, byte [r8 + rax]
xor byte [rsp + rax + 0x40], cl
inc rax
cmp r9, rax
jne 0x14004c580
lea rdi, [rsi + 0x108]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
lea rdx, [rsp + 0x70]
mov rcx, rdi
mov r8, rsi
call qword [rsi + 0xf8]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
lea rdx, [rsp + 0x80]
mov rcx, rdi
mov r8, rsi
call qword [rsi + 0xf8]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
lea rbx, [rsp + 0x90]
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call qword [rsi + 0xf8]
movups xmm0, xmmword [r14]
xorps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [r14 + 0x10]
xorps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x80], xmm0
movdqu xmm0, xmmword [r14 + 0x20]
pxor xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x90], xmm0
mov dword [rsi + 0xf0], send
movdqa xmm7, xmmword [rsp + 0x70]
movdqu xmmword [rsi], xmm7
movdqa xmm6, xmmword [rsp + 0x80]
movdqu xmmword [rsi + 0x10], xmm6
mov r13d, 0x30
lea rbp, [0x14039a4d7]
lea r14, [rsp + 0xa0]
lea r15, [rsp + 0x30]
lea r12, [rsp + 0x20]
nop word cs:[rax + rax]
movdqa xmmword [rsp + 0x30], xmm6
mov rcx, r14
mov rdx, r15
call fcn.140056ca0
movzx eax, byte [rbp]
movd xmm0, eax
pxor xmm0, xmm7
movdqa xmm1, xmmword [rsp + 0xa0]
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm1, xmm0
movdqa xmm0, xmm1
pslldq xmm0, 4
movdqa xmm2, xmm1
pslldq xmm2, 8
pxor xmm2, xmm0
movdqa xmm7, xmm1
pslldq xmm7, 0xc
pxor xmm7, xmm2
pxor xmm7, xmm1
movdqu xmmword [rsi + r13 - 0x10], xmm7
cmp r13, 0xf0
je 0x14004c764
movdqa xmmword [rsp + 0x20], xmm7
mov rcx, r14
mov rdx, r12
call fcn.140056ca0
movdqa xmm0, xmmword [rsp + 0xa0]
psrldq xmm0, 0xc
pxor xmm6, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 4
movdqa xmm1, xmm6
pslldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm0, xmm6
pslldq xmm0, 0xc
pxor xmm0, xmm1
pxor xmm6, xmm0
movdqu xmmword [rsi + r13], xmm6
add r13, 0x20
inc rbp
jmp 0x14004c690
lea rax, [fcn.140021eb0]
mov qword [rsi + 0xf8], rax
lea rax, [0x1400247a0]
mov qword [rsi + 0x100], rax
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
mov qword [rsi + 0x118], 1
mov eax, 1
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x14004c7ce
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14029fd30
int3