Function at 0x180035a50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
movzx eax, word [rsp + 0x10]
lea esi, [rcx - 4]
mov r10d, ecx
cmp ecx, esi
jbe 0x180035cac
movzx r11d, byte [rsp + 0x10]
lea r14, [0x1800a6800]
mov ecx, r10d
sub ecx, 0x11c
je 0x180035cac
sub ecx, 1
je 0x180035c92
sub ecx, 3
je 0x180035af4
cmp ecx, 1
jne 0x180035ca0
mov ecx, dword [rdx + 0x60]
movzx r11d, byte [rdx + 0x5c]
test ecx, ecx
jle 0x180035ae4
mov r9d, dword [rdx + 0x288]
mov ebx, ecx
nop dword [rax]
mov r8d, r9d
mov ecx, r9d
shr r8, 0x18
xor r8, r11
shl ecx, 8
mov r9d, dword [r14 + r8*4]
xor r9d, ecx
mov dword [rdx + 0x288], r9d
sub rbx, 1
jne 0x180035ac0
mov ecx, dword [rdx + 0x5c]
mov byte [rcx + rdx + 0x80], 1
jmp 0x180035ca0
mov r8d, dword [rdx + 0x60]
sub r8d, 1
je 0x180035c7b
sub r8d, 1
je 0x180035b13
cmp r8d, 1
je 0x180035b6c
jmp 0x180035bcf
mov r9d, 0xb6
nop dword [rax]
mov ecx, r9d
sub ecx, 0xb6
je 0x180035b54
sub ecx, 1
je 0x180035b3b
cmp ecx, 1
je 0x180035c8a
jmp 0x180035b60
movsxd r8, dword [rdx + 0x6c]
lea ecx, [r8 + 1]
mov dword [rdx + 0x6c], ecx
mov rcx, qword [rdx + 0x40]
mov byte [rcx + r8 + 1], r11b
inc dword [rdx + 0x6c]
jmp 0x180035b60
movsxd r8, dword [rdx + 0x6c]
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx], r11b
inc r9d
cmp r9d, 0xb9
jb 0x180035b20
mov r9d, 0x6a
mov ecx, r9d
sub ecx, 0x6a
je 0x180035bb3
sub ecx, 0x3c
je 0x180035ba5
sub ecx, 0x3c
je 0x180035b8f
cmp ecx, 0x3c
je 0x180035c8a
jmp 0x180035bc2
movsxd r8, dword [rdx + 0x6c]
lea ecx, [r8 + 1]
mov dword [rdx + 0x6c], ecx
mov rcx, qword [rdx + 0x40]
mov byte [rcx + r8 + 1], r11b
jmp 0x180035bbf
movsxd r8, dword [rdx + 0x6c]
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx], r11b
jmp 0x180035bc2
movsxd r8, dword [rdx + 0x6c]
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx], r11b
inc dword [rdx + 0x6c]
add r9d, 0x3c
cmp r9d, 0x15a
jb 0x180035b72
mov r10d, 0xb8
mov ecx, r10d
sub ecx, 0xb8
je 0x180035c39
sub ecx, 0x17
je 0x180035c20
sub ecx, 0x17
je 0x180035bf5
cmp ecx, 0x17
je 0x180035c87
jmp 0x180035c62
movsxd r8, dword [rdx + 0x6c]
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx], r11b
movsxd r8, dword [rdx + 0x6c]
movzx r9d, byte [rdx + 0x60]
sub r9b, 4
lea ecx, [r8 + 1]
mov dword [rdx + 0x6c], ecx
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx + 1], r9b
jmp 0x180035c62
movsxd r8, dword [rdx + 0x6c]
lea ecx, [r8 + 1]
mov dword [rdx + 0x6c], ecx
mov rcx, qword [rdx + 0x40]
mov byte [rcx + r8 + 1], r11b
inc dword [rdx + 0x6c]
jmp 0x180035c62
movsxd rcx, dword [rdx + 0x60]
mov byte [rcx + rdx + 0x7c], 1
movsxd r8, dword [rdx + 0x6c]
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx], r11b
movsxd r8, dword [rdx + 0x6c]
lea ecx, [r8 + 1]
mov dword [rdx + 0x6c], ecx
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx + 1], r11b
add r10d, 0x17
cmp r10d, 0x114
jb 0x180035bd5
mov r10d, 0x120
jmp 0x180035ca0
movsxd r8, dword [rdx + 0x6c]
mov rcx, qword [rdx + 0x40]
mov byte [r8 + rcx], r11b
inc dword [rdx + 0x6c]
mov r10d, 0x120
jmp 0x180035ca0
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
shl ax, 8
or ax, cx
dec r10d
cmp r10d, esi
ja 0x180035a81
mov rbx, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret