Function at 0x140009c50
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x20], xmm6
movaps xmmword [rsp + 0x30], xmm7
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x60], xmm10
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x80], xmm12
movaps xmmword [rsp + 0x90], xmm13
mov rbx, rcx
mov rsi, rdx
test rcx, rcx
je 0x14000a28a
cmp qword [rcx + 8], 0
mov rdi, qword [rcx]
js 0x140009ce5
mov eax, 7
cmp rdi, rax
cmovl rdi, rax
lea rcx, [rdi + 0x11]
call fcn.140006140
lea rdx, [rbx + 0x10]
mov qword [rax], 0
mov rbp, rax
lea rcx, [rax + 0x10]
mov qword [rax + 8], rdi
mov rdi, qword [rbx]
mov rbx, rbp
mov qword [rax], rdi
lea r8, [rdi + 1]
call sub.ucrtbase.dll_memcpy
test rdi, rdi
jle 0x14000a240
lea rax, [rdi - 1]
cmp rax, 0xe
jbe 0x14000a283
lea rax, [rsi + 1]
movq xmm6, rsi
mov rdx, rdi
movdqa xmm5, xmmword [0x14001a680]
movq xmm7, rax
and rdx, 0xfffffffffffffff0
mov rax, rbx
movdqa xmm4, xmmword [0x14001a690]
punpcklqdq xmm6, xmm7
movdqa xmm7, xmmword [0x14001a670]
add rdx, rbx
nop dword [rax + rax]
movdqa xmm0, xmm6
add rax, 0x10
paddq xmm6, xmm7
movdqa xmm8, xmm0
paddq xmm8, xmm5
movdqa xmm10, xmm8
shufps xmm0, xmm8, 0x88
paddq xmm10, xmm5
movdqa xmm3, xmm10
paddq xmm3, xmm5
movdqa xmm1, xmm3
shufps xmm10, xmm3, 0x88
movdqa xmm3, xmm0
movdqa xmm12, xmm10
paddq xmm1, xmm5
psrad xmm12, 0x10
punpckhwd xmm3, xmm10
movdqa xmm2, xmm1
paddq xmm2, xmm5
movdqa xmm9, xmm2
shufps xmm1, xmm2, 0x88
movdqa xmm11, xmm1
paddq xmm9, xmm5
movdqa xmm2, xmm9
paddq xmm2, xmm5
shufps xmm9, xmm2, 0x88
movdqa xmm2, xmm0
punpcklwd xmm11, xmm9
movdqa xmm13, xmm9
punpcklwd xmm2, xmm10
psrad xmm13, 0x10
movdqa xmm8, xmm2
psrad xmm10, 0x18
punpcklwd xmm2, xmm3
punpckhwd xmm8, xmm3
movdqa xmm3, xmm1
punpckhwd xmm3, xmm9
psrad xmm9, 0x18
punpcklwd xmm2, xmm8
movdqa xmm8, xmm11
punpcklwd xmm11, xmm3
punpckhwd xmm8, xmm3
punpcklwd xmm11, xmm8
movdqa xmm8, xmm0
psrad xmm8, 0x10
psrad xmm0, 0x18
movdqa xmm3, xmm8
punpcklwd xmm8, xmm12
punpckhwd xmm3, xmm12
movdqa xmm12, xmm8
punpckhwd xmm12, xmm3
punpcklwd xmm8, xmm3
movdqa xmm3, xmm1
psrad xmm3, 0x10
psrad xmm1, 0x18
punpcklwd xmm8, xmm12
movdqa xmm12, xmm3
punpcklwd xmm3, xmm13
pand xmm8, xmm4
punpckhwd xmm12, xmm13
movdqa xmm13, xmm3
punpckhwd xmm13, xmm12
punpcklwd xmm3, xmm12
movdqa xmm12, xmm11
punpcklwd xmm3, xmm13
psraw xmm12, 8
pand xmm3, xmm4
pand xmm12, xmm4
packuswb xmm8, xmm3
movdqa xmm3, xmm2
pand xmm2, xmm4
psraw xmm3, 8
pand xmm3, xmm4
packuswb xmm3, xmm12
pxor xmm8, xmm3
movdqa xmm3, xmm11
pand xmm3, xmm4
packuswb xmm2, xmm3
movdqu xmm3, xmmword [rax]
pxor xmm2, xmm3
pxor xmm8, xmm2
movdqa xmm2, xmm0
punpcklwd xmm0, xmm10
punpckhwd xmm2, xmm10
movdqa xmm3, xmm0
punpckhwd xmm3, xmm2
punpcklwd xmm0, xmm2
movdqa xmm2, xmm1
punpcklwd xmm1, xmm9
punpcklwd xmm0, xmm3
punpckhwd xmm2, xmm9
movdqa xmm3, xmm1
punpcklwd xmm1, xmm2
pand xmm0, xmm4
punpckhwd xmm3, xmm2
punpcklwd xmm1, xmm3
pand xmm1, xmm4
packuswb xmm0, xmm1
pxor xmm8, xmm0
movups xmmword [rax], xmm8
cmp rdx, rax
jne 0x140009d38
mov rax, rdi
and rax, 0xfffffffffffffff0
add rsi, rax
cmp rdi, rax
je 0x14000a240
movzx edx, byte [rbx + rax + 0x10]
mov rcx, rsi
lea r8, [rax + 1]
sar rcx, 8
xor edx, esi
xor edx, ecx
mov rcx, rsi
sar rcx, 0x10
xor edx, ecx
mov rcx, rsi
sar rcx, 0x18
xor edx, ecx
lea rcx, [rsi + 1]
mov byte [rbx + rax + 0x10], dl
cmp r8, rdi
jge 0x14000a240
movzx edx, byte [rbx + rax + 0x11]
mov r9, rcx
lea r8, [rax + 2]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 2]
mov byte [rbx + rax + 0x11], dl
cmp r8, rdi
jge 0x14000a240
movzx edx, byte [rbx + rax + 0x12]
mov r9, rcx
lea r8, [rax + 3]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 3]
mov byte [rbx + rax + 0x12], dl
cmp r8, rdi
jge 0x14000a240
movzx edx, byte [rbx + rax + 0x13]
mov r9, rcx
lea r8, [rax + 4]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 4]
mov byte [rbx + rax + 0x13], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x14]
mov r9, rcx
lea r8, [rax + 5]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 5]
mov byte [rbx + rax + 0x14], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x15]
mov r9, rcx
lea r8, [rax + 6]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 6]
mov byte [rbx + rax + 0x15], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x16]
mov r9, rcx
lea r8, [rax + 7]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 7]
mov byte [rbx + rax + 0x16], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x17]
mov r9, rcx
lea r8, [rax + 8]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 8]
mov byte [rbx + rax + 0x17], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x18]
mov r9, rcx
lea r8, [rax + 9]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 9]
mov byte [rbx + rax + 0x18], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x19]
mov r9, rcx
lea r8, [rax + 0xa]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 0xa]
mov byte [rbx + rax + 0x19], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x1a]
mov r9, rcx
lea r8, [rax + 0xb]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 0xb]
mov byte [rbx + rax + 0x1a], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x1b]
mov r9, rcx
lea r8, [rax + 0xc]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 0xc]
mov byte [rbx + rax + 0x1b], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x1c]
mov r9, rcx
lea r8, [rax + 0xd]
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
lea rcx, [rsi + 0xd]
mov byte [rbx + rax + 0x1c], dl
cmp rdi, r8
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x1d]
mov r9, rcx
add rsi, 0xe
sar r9, 8
xor edx, ecx
xor edx, r9d
mov r9, rcx
sar rcx, 0x18
sar r9, 0x10
xor edx, r9d
xor edx, ecx
mov byte [rbx + rax + 0x1d], dl
add rax, 0xe
cmp rdi, rax
jle 0x14000a240
movzx edx, byte [rbx + rax + 0x10]
mov rcx, rsi
sar rcx, 8
xor edx, esi
xor edx, ecx
mov rcx, rsi
sar rsi, 0x18
sar rcx, 0x10
xor edx, ecx
xor edx, esi
mov byte [rbx + rax + 0x10], dl
nop dword [rax]
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x60]
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
ret
xor eax, eax
jmp 0x140009f29
xor eax, eax
jmp 0x14000a243