Function at 0x1800eb4a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
xor r11d, r11d
mov qword [rsp + 0x20], rdi
mov rbx, rdx
mov rdi, rcx
mov r9, r11
nop
nop
nop
mov r8d, dword [rdx + r9*4]
inc r9
rol r8d, 0x10
mov ecx, r8d
mov eax, r8d
shl r8d, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, r8d
cmp r9, 2
mov dword [rdx + r9*4 - 4], ecx
jl 0x1800eb4c0
mov r10d, dword [rdi + 0x44]
xor r10d, dword [rdx]
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r9d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r9d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r9d, dword [rdi + rax*4 + 0x848]
add r9d, dword [rdi + rcx*4 + 0xc48]
xor r9d, dword [rdi + 0x40]
xor r9d, dword [rbx + 4]
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x3c]
xor r10d, r8d
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x38]
xor r9d, r8d
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x34]
xor r10d, r8d
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x30]
xor r9d, r8d
mov eax, r9d
shr eax, 0x10
movzx edx, al
mov r8d, dword [rdi + rdx*4 + 0x448]
mov eax, r9d
movzx ecx, r9b
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x2c]
xor r10d, r8d
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x28]
xor r9d, r8d
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x24]
xor r10d, r8d
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x20]
xor r9d, r8d
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x1c]
xor r10d, r8d
mov eax, r10d
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
movzx ecx, r10b
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x18]
xor r9d, r8d
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x14]
xor r10d, r8d
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0x10]
xor r9d, r8d
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 0xc]
xor r10d, r8d
mov eax, r10d
movzx ecx, r10b
shr eax, 0x10
movzx edx, al
mov eax, r10d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r10d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 8]
xor r9d, r8d
mov eax, r9d
movzx ecx, r9b
shr eax, 0x10
movzx edx, al
mov eax, r9d
mov r8d, dword [rdi + rdx*4 + 0x448]
shr eax, 0x18
add r8d, dword [rdi + rax*4 + 0x48]
mov eax, r9d
shr eax, 8
movzx eax, al
xor r8d, dword [rdi + rax*4 + 0x848]
mov eax, dword [rdi]
add r8d, dword [rdi + rcx*4 + 0xc48]
xor r8d, dword [rdi + 4]
xor r10d, r8d
mov rdi, qword [rsp + 0x20]
xor eax, r9d
mov dword [rbx + 4], r10d
mov dword [rbx], eax
nop
nop
mov edx, dword [rbx + r11*4]
inc r11
rol edx, 0x10
mov ecx, edx
mov eax, edx
shl edx, 8
shr ecx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
cmp r11, 2
mov dword [rbx + r11*4 - 4], ecx
jl 0x1800eb910
mov rbx, qword [rsp + 0x18]
ret