Function at 0x22d9f2ee0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov eax, r8d
shr eax, 3
lea eax, [rax + rax + 6]
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x10
mov dword [rcx + 0x1e0], eax
mov qword [rbp + 0x10], rcx
mov ecx, dword [rdx]
mov rax, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x10]
mov dword [rbp + 0x20], r8d
bswap ecx
cmp dword [rbp + 0x20], 0x10
mov dword [rax], ecx
mov r8d, dword [rdx + 4]
bswap r8d
mov dword [rax + 4], r8d
mov r9d, dword [rdx + 8]
bswap r9d
mov dword [rax + 8], r9d
mov eax, dword [rdx + 0xc]
bswap eax
mov dword [rsi + 0xc], eax
je 0x22d9f32d8
cmp dword [rbp + 0x20], 0x18
je 0x22d9f3210
cmp dword [rbp + 0x20], 0x20
jne 0x22d9f337c
mov r11d, dword [rdx + 0x10]
mov rsi, qword [rbp + 0x10]
lea rdi, [0x22da18c20]
lea r14, [0x22da15980]
lea r13, [0x22da15580]
lea r12, [0x22da16180]
bswap r11d
mov dword [rsi + 0x10], r11d
mov r11d, dword [rdx + 0x14]
lea r15, [0x22da15d80]
bswap r11d
mov dword [rsi + 0x14], r11d
mov r11d, dword [rdx + 0x18]
bswap r11d
mov dword [rsi + 0x18], r11d
mov edx, dword [rdx + 0x1c]
lea r11, [rsi + 0x20]
bswap edx
mov dword [rsi + 0x1c], edx
jmp 0x22d9f3020
mov r10d, eax
ror r10d, 8
mov esi, r10d
movzx edx, r10b
shr esi, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r13 + rsi*4]
mov esi, r10d
xor edx, dword [r11 - 0x30]
shr esi, 0x10
movzx esi, sil
xor edx, dword [r12 + rsi*4]
mov dword [rsp + 0xc], edx
mov edx, r10d
mov r10d, dword [r11 - 0x28]
movzx esi, dh
mov edx, dword [rsp + 0xc]
xor edx, dword [r15 + rsi*4]
mov esi, dword [r11 - 0x2c]
movd xmm0, edx
xor esi, edx
xor r10d, esi
movd xmm5, esi
xor ebx, r10d
movd xmm1, r10d
punpckldq xmm0, xmm5
movd xmm4, ebx
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [r11 - 0x10], xmm0
mov ebx, dword [r11 - 4]
add rdi, 4
add r11, 0x20
mov r10d, ebx
movzx edx, bl
movzx esi, bh
shr r10d, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r13 + r10*4]
mov r10d, ebx
xor edx, dword [rdi - 4]
shr r10d, 0x10
movzx r10d, r10b
xor edx, dword [r12 + r10*4]
xor edx, dword [r15 + rsi*4]
lea rsi, [0x22da18c3c]
xor ecx, edx
xor r8d, ecx
movd xmm0, ecx
xor r9d, r8d
movd xmm5, r8d
xor eax, r9d
movd xmm1, r9d
punpckldq xmm0, xmm5
movd xmm4, eax
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [r11 - 0x20], xmm0
cmp rdi, rsi
jne 0x22d9f2fb0
mov rax, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x10]
lea rcx, [rax + 0xf0]
mov eax, dword [rbp + 0x20]
mov rbx, rsi
add eax, 0x1c
cmp dword [rsi + 0x1e0], 1
lea rdx, [rsi + rax*4 - 0x10]
mov eax, dword [rdx]
mov dword [rsi + 0xf0], eax
mov eax, dword [rdx + 4]
mov dword [rsi + 0xf4], eax
mov eax, dword [rdx + 8]
mov dword [rsi + 0xf8], eax
mov eax, dword [rdx + 0xc]
mov dword [rsi + 0xfc], eax
jbe 0x22d9f31e3
mov esi, 1
lea r14, [0x22da16580]
lea r11, [0x22da17180]
mov r10, rbx
lea r9, [0x22da16980]
lea r8, [0x22da16d80]
nop word [rax + rax]
mov edi, dword [rdx - 0x10]
add rcx, 0x10
sub rdx, 0x10
add esi, 1
mov eax, edi
movzx r12d, dil
mov ebx, edi
shr eax, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r11 + r12*4]
mov r12d, edi
movzx edi, bh
shr r12d, 0x10
movzx r12d, r12b
xor eax, dword [r9 + r12*4]
xor eax, dword [r8 + rdi*4]
mov dword [rcx], eax
mov edi, dword [rdx + 4]
mov eax, edi
movzx r12d, dil
mov ebx, edi
shr eax, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r11 + r12*4]
mov r12d, edi
movzx edi, bh
shr r12d, 0x10
movzx r12d, r12b
xor eax, dword [r9 + r12*4]
xor eax, dword [r8 + rdi*4]
mov dword [rcx + 4], eax
mov edi, dword [rdx + 8]
mov eax, edi
movzx r12d, dil
mov ebx, edi
shr eax, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r11 + r12*4]
mov r12d, edi
movzx edi, bh
shr r12d, 0x10
movzx r12d, r12b
xor eax, dword [r9 + r12*4]
xor eax, dword [r8 + rdi*4]
mov dword [rcx + 8], eax
mov edi, dword [rdx + 0xc]
mov eax, edi
movzx r12d, dil
mov ebx, edi
shr eax, 0x18
mov eax, dword [r14 + rax*4]
xor eax, dword [r11 + r12*4]
mov r12d, edi
movzx edi, bh
shr r12d, 0x10
movzx r12d, r12b
xor eax, dword [r9 + r12*4]
xor eax, dword [r8 + rdi*4]
mov dword [rcx + 0xc], eax
cmp esi, dword [r10 + 0x1e0]
jb 0x22d9f3110
mov eax, dword [rdx - 0x10]
mov dword [rcx + 0x10], eax
mov eax, dword [rdx - 0xc]
mov dword [rcx + 0x14], eax
mov eax, dword [rdx - 8]
mov dword [rcx + 0x18], eax
mov eax, dword [rdx - 4]
mov dword [rcx + 0x1c], eax
xor eax, eax
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r11d, dword [rdx + 0x10]
mov rsi, qword [rbp + 0x10]
lea r14, [0x22da15980]
lea r13, [0x22da15580]
lea r12, [0x22da16180]
lea r15, [0x22da15d80]
bswap r11d
mov dword [rsi + 0x10], r11d
mov edx, dword [rdx + 0x14]
lea r11, [rsi + 0x18]
bswap edx
mov dword [rsi + 0x14], edx
lea rsi, [0x22da18c20]
lea r10, [rsi + 0x20]
jmp 0x22d9f3268
mov edx, dword [r11 - 0x20]
xor edx, eax
mov dword [r11 - 8], edx
xor edx, ebx
mov dword [r11 - 4], edx
mov ebx, dword [r11 - 4]
add rsi, 4
add r11, 0x18
mov edi, ebx
movzx edx, bl
shr edi, 0x18
mov edx, dword [r14 + rdx*4]
xor edx, dword [r13 + rdi*4]
mov edi, ebx
xor edx, dword [rsi - 4]
shr edi, 0x10
movzx edi, dil
xor edx, dword [r12 + rdi*4]
movzx edi, bh
xor edx, dword [r15 + rdi*4]
xor ecx, edx
xor r8d, ecx
movd xmm0, ecx
xor r9d, r8d
movd xmm3, r8d
xor eax, r9d
movd xmm1, r9d
punpckldq xmm0, xmm3
movd xmm2, eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [r11 - 0x18], xmm0
cmp r10, rsi
jne 0x22d9f3258
jmp 0x22d9f3096
mov rbx, rsi
lea r11, [0x22da18c20]
lea r14, [0x22da15980]
add rbx, 0x10
lea rsi, [r11 + 0x28]
lea r13, [0x22da15580]
lea r12, [0x22da16180]
lea r15, [0x22da15d80]
nop word cs:[rax + rax]
mov r10d, eax
movzx edx, al
movzx edi, ah
add r11, 4
shr r10d, 0x18
mov edx, dword [r14 + rdx*4]
add rbx, 0x10
xor edx, dword [r13 + r10*4]
mov r10d, eax
shr r10d, 0x10
movzx r10d, r10b
xor edx, dword [r12 + r10*4]
xor edx, dword [r15 + rdi*4]
xor edx, dword [r11 - 4]
xor ecx, edx
xor r8d, ecx
movd xmm0, ecx
xor r9d, r8d
movd xmm3, r8d
xor eax, r9d
movd xmm1, r9d
punpckldq xmm0, xmm3
movd xmm2, eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [rbx - 0x10], xmm0
cmp r11, rsi
jne 0x22d9f3310
jmp 0x22d9f3096
mov eax, 0xffffffff
jmp 0x22d9f31fd