Function at 0x18000fde0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x28
test rdx, rdx
je 0x18000fdf2
add rsp, 0x28
jmp 0x18000fe00
xor eax, eax
add rsp, 0x28
ret
mov r9d, r8d
mov eax, ecx
mov r8, rdx
lea rdx, [0x180000000]
not eax
test r9d, r9d
je 0x18000fe40
test r8, 3
je 0x18000fe40
mov r10d, eax
movzx ecx, byte [r8]
xor r10, rcx
movzx r11d, r10b
inc r8
shr eax, 8
xor eax, dword [rdx + r11*4 + 0x7a560]
dec r9d
jne 0x18000fe16
cmp r9d, 0x20
jb 0x18001004e
xor eax, dword [r8]
add r9d, 0xffffffe0
movzx r11d, al
mov ecx, eax
shr ecx, 8
mov r10d, dword [rdx + r11*4 + 0x7b160]
movzx r11d, cl
mov ecx, eax
shr ecx, 0x10
shr eax, 0x18
xor r10d, dword [rdx + r11*4 + 0x7ad60]
movzx r11d, cl
xor r10d, dword [rdx + r11*4 + 0x7a960]
xor r10d, dword [rdx + rax*4 + 0x7a560]
xor r10d, dword [r8 + 4]
mov ecx, r10d
shr ecx, 8
movzx eax, r10b
movzx r11d, cl
mov ecx, r10d
shr ecx, 0x10
mov eax, dword [rdx + rax*4 + 0x7b160]
xor eax, dword [rdx + r11*4 + 0x7ad60]
movzx r11d, cl
shr r10d, 0x18
xor eax, dword [rdx + r11*4 + 0x7a960]
xor eax, dword [rdx + r10*4 + 0x7a560]
xor eax, dword [r8 + 8]
mov r11d, eax
shr r11d, 8
movzx ecx, al
movzx r10d, r11b
mov r11d, eax
shr r11d, 0x10
mov ecx, dword [rdx + rcx*4 + 0x7b160]
xor ecx, dword [rdx + r10*4 + 0x7ad60]
movzx r10d, r11b
shr eax, 0x18
xor ecx, dword [rdx + r10*4 + 0x7a960]
xor ecx, dword [rdx + rax*4 + 0x7a560]
xor ecx, dword [r8 + 0xc]
movzx eax, cl
mov r10d, ecx
shr r10d, 8
mov r11d, dword [rdx + rax*4 + 0x7b160]
movzx eax, r10b
mov r10d, ecx
shr r10d, 0x10
shr ecx, 0x18
xor r11d, dword [rdx + rax*4 + 0x7ad60]
movzx eax, r10b
xor r11d, dword [rdx + rax*4 + 0x7a960]
xor r11d, dword [rdx + rcx*4 + 0x7a560]
xor r11d, dword [r8 + 0x10]
movzx eax, r11b
mov ecx, r11d
shr ecx, 8
mov r10d, dword [rdx + rax*4 + 0x7b160]
movzx eax, cl
mov ecx, r11d
shr ecx, 0x10
shr r11d, 0x18
xor r10d, dword [rdx + rax*4 + 0x7ad60]
movzx eax, cl
xor r10d, dword [rdx + rax*4 + 0x7a960]
xor r10d, dword [rdx + r11*4 + 0x7a560]
xor r10d, dword [r8 + 0x14]
mov ecx, r10d
shr ecx, 8
movzx eax, r10b
movzx r11d, cl
mov ecx, r10d
shr ecx, 0x10
mov eax, dword [rdx + rax*4 + 0x7b160]
xor eax, dword [rdx + r11*4 + 0x7ad60]
movzx r11d, cl
shr r10d, 0x18
xor eax, dword [rdx + r11*4 + 0x7a960]
xor eax, dword [rdx + r10*4 + 0x7a560]
xor eax, dword [r8 + 0x18]
mov r11d, eax
shr r11d, 8
movzx ecx, al
movzx r10d, r11b
mov r11d, eax
shr r11d, 0x10
mov ecx, dword [rdx + rcx*4 + 0x7b160]
xor ecx, dword [rdx + r10*4 + 0x7ad60]
movzx r10d, r11b
shr eax, 0x18
xor ecx, dword [rdx + r10*4 + 0x7a960]
xor ecx, dword [rdx + rax*4 + 0x7a560]
xor ecx, dword [r8 + 0x1c]
add r8, 0x20
mov r11d, ecx
shr r11d, 8
movzx eax, cl
movzx r10d, r11b
mov r11d, ecx
shr r11d, 0x10
mov eax, dword [rdx + rax*4 + 0x7b160]
xor eax, dword [rdx + r10*4 + 0x7ad60]
movzx r10d, r11b
shr ecx, 0x18
xor eax, dword [rdx + r10*4 + 0x7a960]
xor eax, dword [rdx + rcx*4 + 0x7a560]
cmp r9d, 0x20
jae 0x18000fe4a
cmp r9d, 4
jb 0x1800100b3
nop dword [rax + rax]
nop dword [rax]
xor eax, dword [r8]
add r9d, 0xfffffffc
add r8, 4
movzx r10d, al
mov r11d, eax
shr r11d, 8
mov ecx, dword [rdx + r10*4 + 0x7b160]
movzx r10d, r11b
mov r11d, eax
shr r11d, 0x10
shr eax, 0x18
xor ecx, dword [rdx + r10*4 + 0x7ad60]
movzx r10d, r11b
xor ecx, dword [rdx + r10*4 + 0x7a960]
mov r10d, eax
mov eax, ecx
xor eax, dword [rdx + r10*4 + 0x7a560]
cmp r9d, 4
jae 0x180010060
test r9d, r9d
je 0x1800100d9
mov r10d, eax
movzx ecx, byte [r8]
xor r10, rcx
movzx r11d, r10b
inc r8
shr eax, 8
xor eax, dword [rdx + r11*4 + 0x7a560]
dec r9d
jne 0x1800100b8
not eax
ret