Function at 0x1800690a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
mov rsi, rcx
mov eax, r8d
shr rax, 1
movabs rcx, 0x5555555555555555
and rax, rcx
mov r10d, r8d
sub r10, rax
mov ebx, r8d
movabs rax, 0x3333333333333333
mov r9, r10
and r10, rax
shr r9, 2
and r9, rax
movabs rcx, 0xf0f0f0f0f0f0f0f
add r9, r10
mov rdi, rdx
mov rax, r9
shr rax, 4
add rax, r9
and rax, rcx
movabs rcx, 0x101010101010101
imul rax, rcx
shr rax, 0x38
cmp al, 1
je 0x180069149
mov r9, qword [rsp + 0x38]
lea rax, [0x1800e6974]
mov r8d, 0x18d
mov qword [rsp + 0x20], rax
lea rdx, str.C:BuildAgent2work78a794e88763017dUE4EngineSourceRuntimeSignalProcessingPrivateAudioFFT.cpp
lea rcx, str.FMath::CountBits_NumSamples___1
call qword [sym.imp.FactoryGameEGS_Core.dll_public:_static_bool___cdecl_FDebug::CheckVerifyFailedImpl_char_const____ptr64__char_const____ptr64__int__void____ptr64__wchar_t_const____ptr64_]
test al, al
je 0x180069149
nop
int3
bsf eax, ebx
mov ecx, 0x20
mov edx, ecx
cmovne edx, eax
xor r8d, r8d
cmp ebx, 4
jb 0x180069331
mov qword [rsp + 0x40], rbp
lea r11d, [rbx - 3]
lea r9d, [r11 - 1]
mov qword [rsp + 0x48], r14
shr r9d, 2
lea ebp, [r8 + 2]
sub ecx, edx
lea r14, [rsi + 8]
inc r9d
mov r10d, ecx
shl r9, 2
nop dword [rax]
mov ecx, r8d
bswap ecx
mov eax, ecx
mov edx, ecx
shr edx, 4
shl ecx, 4
shl eax, 4
xor edx, eax
and edx, 0xf0f0f0f
xor edx, ecx
mov ecx, edx
shr ecx, 2
lea eax, [rdx*4]
xor ecx, eax
lea eax, [rdx*4]
and ecx, 0x33333333
xor ecx, eax
mov edx, ecx
shr rdx, 1
lea eax, [rcx + rcx]
add ecx, ecx
xor rdx, rax
mov eax, dword [r14 - 8]
and edx, 0x55555555
xor rdx, rcx
mov rcx, r10
shr rdx, cl
lea ecx, [rbp - 1]
bswap ecx
mov dword [rdi + rdx*4], eax
mov eax, ecx
mov edx, ecx
shl eax, 4
shl ecx, 4
shr edx, 4
xor edx, eax
and edx, 0xf0f0f0f
xor edx, ecx
mov ecx, edx
shr ecx, 2
lea eax, [rdx*4]
xor ecx, eax
lea eax, [rdx*4]
and ecx, 0x33333333
xor ecx, eax
mov edx, ecx
shr rdx, 1
lea eax, [rcx + rcx]
add ecx, ecx
xor rdx, rax
mov eax, dword [r14 - 4]
and edx, 0x55555555
xor rdx, rcx
mov rcx, r10
shr rdx, cl
mov ecx, ebp
bswap ecx
mov dword [rdi + rdx*4], eax
mov edx, ecx
mov eax, ecx
shr edx, 4
shl ecx, 4
shl eax, 4
xor edx, eax
and edx, 0xf0f0f0f
xor edx, ecx
mov ecx, edx
shr ecx, 2
lea eax, [rdx*4]
xor ecx, eax
lea eax, [rdx*4]
and ecx, 0x33333333
xor ecx, eax
mov edx, ecx
shr rdx, 1
lea eax, [rcx + rcx]
add ecx, ecx
xor rdx, rax
and edx, 0x55555555
xor rdx, rcx
mov rcx, r10
mov eax, dword [r14]
lea r14, [r14 + 0x10]
shr rdx, cl
add r8d, 4
lea ecx, [rbp + 1]
add ebp, 4
bswap ecx
mov dword [rdi + rdx*4], eax
mov edx, ecx
mov eax, ecx
shr edx, 4
shl ecx, 4
shl eax, 4
xor edx, eax
and edx, 0xf0f0f0f
xor edx, ecx
mov ecx, edx
shr ecx, 2
lea eax, [rdx*4]
xor ecx, eax
lea eax, [rdx*4]
and ecx, 0x33333333
xor ecx, eax
mov edx, ecx
shr rdx, 1
lea eax, [rcx + rcx]
add ecx, ecx
xor rdx, rax
mov eax, dword [r14 - 0xc]
and edx, 0x55555555
xor rdx, rcx
mov rcx, r10
shr rdx, cl
mov dword [rdi + rdx*4], eax
cmp r8d, r11d
jb 0x180069190
mov r14, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
cmp r8d, ebx
jb 0x18006933d
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
test ebx, ebx
je 0x1800693a9
sub ecx, edx
mov r9, r8
mov r10d, ecx
lea r9, [rsi + r9*4]
mov ecx, r8d
lea r9, [r9 + 4]
bswap ecx
mov edx, ecx
mov eax, ecx
shr edx, 4
inc r8d
shl ecx, 4
shl eax, 4
xor edx, eax
and edx, 0xf0f0f0f
xor edx, ecx
mov ecx, edx
shr ecx, 2
lea eax, [rdx*4]
xor ecx, eax
lea eax, [rdx*4]
and ecx, 0x33333333
xor ecx, eax
mov edx, ecx
shr rdx, 1
lea eax, [rcx + rcx]
add ecx, ecx
xor rdx, rax
mov eax, dword [r9 - 4]
and edx, 0x55555555
xor rdx, rcx
mov rcx, r10
shr rdx, cl
mov dword [rdi + rdx*4], eax
cmp r8d, ebx
jb 0x180069341
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret