Function at 0x1401db290
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x270
movaps xmmword [rsp + 0x260], xmm6
mov rax, qword [0x1405a5840]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r12, qword [rsp + 0x2d0]
lea rcx, [rsp + 0x40]
mov ebx, r8d
mov rdi, rdx
xor edx, edx
mov r8d, 0x208
mov r15, r9
call fcn.1403df320
mov r8d, 0x104
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebp, dword [rbx + rdi - 4]
lea r14d, [rbx - 4]
add rbx, 0xfffffffffffffffc
mov rcx, rbx
movd xmm6, ebp
pshufd xmm6, xmm6, 0
call fcn.140057b84
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rsi, rax
call fcn.1403df320
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call fcn.1403df6e0
xor ebx, ebx
mov edx, ebx
test r14d, r14d
jle 0x1401db3de
cmp r14d, 0x10
jb 0x1401db3de
mov ecx, r14d
and ecx, 0x8000000f
jge 0x1401db356
dec ecx
or ecx, 0xfffffff0
inc ecx
andps xmm6, xmmword [0x140433a30]
mov eax, r14d
sub eax, ecx
packuswb xmm6, xmm6
packuswb xmm6, xmm6
mov r8, rsi
movdqa xmmword [rsp + 0x30], xmm6
mov r9, rsi
mov ecx, dword [rsp + 0x30]
movsxd r10, eax
mov rax, rbx
movd xmm1, dword [rsi + rax]
lea r8, [r8 + 0x10]
movd xmm0, ecx
lea r9, [r9 + 0x10]
xorps xmm1, xmm0
add edx, 0x10
movd dword [rsi + rax], xmm1
movd xmm2, dword [r8 - 0xc]
movd xmm0, ecx
xorps xmm2, xmm0
movd xmm1, ecx
movd dword [r9 - 0xc], xmm2
movd xmm0, dword [rsi + rax + 8]
xorps xmm1, xmm0
movd xmm0, ecx
movd dword [rsi + rax + 8], xmm1
movd xmm1, dword [rsi + rax + 0xc]
xorps xmm1, xmm0
movd dword [rsi + rax + 0xc], xmm1
add rax, 0x10
cmp rax, r10
jl 0x1401db380
movsxd rdx, edx
movsxd rcx, r14d
cmp rdx, rcx
jge 0x1401db3fd
lea rax, [rdx + rsi]
sub rcx, rdx
xor byte [rax], bpl
lea rax, [rax + 1]
sub rcx, 1
jne 0x1401db3f0
mov eax, dword [rsi]
mov ecx, eax
mov dword [rsp + 0x20], eax
call fcn.140057b84
mov r8d, dword [rsp + 0x20]
xor edx, edx
mov rcx, rax
mov rdi, rax
call fcn.1403df320
lea rcx, [rsi + 4]
mov r8, rdi
lea r9, [rsp + 0x20]
mov edx, r14d
call fcn.1401d9fc0
test eax, eax
jne 0x1401db5a6
movsxd rax, dword [rsp + 0x20]
mov edx, ebx
mov r8, rax
test eax, eax
jle 0x1401db4d8
cmp r8d, 0x40
jb 0x1401db4d8
mov ecx, r8d
and ecx, 0x8000003f
jge 0x1401db466
dec ecx
or ecx, 0xffffffc0
inc ecx
movdqa xmm2, xmmword [0x140433a40]
sub eax, ecx
movsxd r9, eax
mov rcx, rdi
mov rax, rdi
nop dword [rax]
movdqu xmm0, xmmword [rdi + rbx]
lea rax, [rax + 0x40]
add edx, 0x40
movdqa xmm1, xmm2
lea rcx, [rcx + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rdi + rbx], xmm1
movdqu xmm0, xmmword [rax - 0x30]
movdqa xmm1, xmm2
xorps xmm0, xmm2
movdqu xmmword [rcx - 0x30], xmm0
movdqu xmm0, xmmword [rdi + rbx + 0x20]
xorps xmm0, xmm2
movdqu xmmword [rdi + rbx + 0x20], xmm0
movdqu xmm0, xmmword [rdi + rbx + 0x30]
xorps xmm1, xmm0
movdqu xmmword [rdi + rbx + 0x30], xmm1
add rbx, 0x40
cmp rbx, r9
jl 0x1401db480
mov eax, dword [rsp + 0x20]
movsxd r9, edx
mov rcx, r8
cmp r9, r8
jge 0x1401db501
lea rax, [r9 + rdi]
sub rcx, r9
nop word [rax + rax]
xor byte [rax], 0xd6
lea rax, [rax + 1]
sub rcx, 1
jne 0x1401db4f0
mov eax, dword [rsp + 0x20]
test r15, r15
je 0x1401db59d
mov r8d, eax
mov rdx, rdi
mov rcx, r15
mov ebx, eax
call fcn.1403df6e0
mov dword [rbx + r15], 0x208
lea rax, [rsp + 0x40]
mov edx, dword [rsp + 0x20]
mov ecx, 4
add rdx, 4
add rdx, r15
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rdx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x10], xmm1
sub rcx, 1
jne 0x1401db540
mov rcx, qword [rax]
mov qword [rdx], rcx
mov eax, dword [rsp + 0x20]
add eax, 0x20c
mov dword [r12], eax
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1401d80d0
movaps xmm6, xmmword [rsp + 0x260]
add rsp, 0x270
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret