Function at 0x18002eed0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov ebx, dword [rdx]
mov rdi, r8
mov r11d, dword [r8]
mov rsi, rdx
test r9d, r9d
je 0x18002f30f
xor ebx, dword [rcx + 0x44]
mov eax, ebx
shr rax, 0x10
movzx r9d, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + r9*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x40]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x3c]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x38]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x34]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x30]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x2c]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x28]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x24]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x20]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x1c]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
xor r8d, dword [rcx + rdx*4 + 0x848]
movzx eax, bl
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x18]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x14]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0x10]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 0xc]
xor ebx, r8d
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 8]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + 4]
xor ebx, r8d
xor r11d, dword [rcx]
jmp 0x18002f3b5
xor ebx, dword [rcx]
mov r10d, 1
nop word [rax + rax]
mov eax, ebx
shr rax, 0x10
movzx edx, al
mov eax, ebx
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, ebx
shr rax, 8
movzx edx, al
movzx eax, bl
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + r10*4]
xor r11d, r8d
mov eax, r11d
shr rax, 0x10
movzx edx, al
mov eax, r11d
shr rax, 0x18
mov r8d, dword [rcx + rdx*4 + 0x448]
add r8d, dword [rcx + rax*4 + 0x48]
mov eax, r11d
shr rax, 8
movzx edx, al
movzx eax, r11b
xor r8d, dword [rcx + rdx*4 + 0x848]
add r8d, dword [rcx + rax*4 + 0xc48]
xor r8d, dword [rcx + r10*4 + 4]
add r10, 2
xor ebx, r8d
cmp r10, 0x11
jl 0x18002f320
xor r11d, dword [rcx + 0x44]
mov dword [rsi], r11d
mov rsi, qword [rsp + 0x10]
mov dword [rdi], ebx
mov rbx, qword [rsp + 8]
mov rdi, qword [rsp + 0x18]
ret