Function at 0x180035300
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
mov dword [rsp + 0x30], 0x10
mov rbx, rcx
mov dword [rsp + 0x38], 0xef
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
inc dword [rbx + 0x100]
movsx r8d, dl
and r8d, eax
cmp dword [rbx + 0x100], 1
je 0x180035390
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x38], 1
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
cmp dword [rbx + 0x100], eax
jne 0x18003539d
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x38], 6
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x38]
shl r8d, cl
or dword [rbx + 0xf0], r8d
add rsp, 0x20
pop rbx
ret
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x38], 2
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
cmp dword [rbx + 0x100], eax
jne 0x1800353d9
mov dword [rsp + 0x30], 9
mov dword [rsp + 0x38], 7
jmp 0x18003537b
mov qword [rsp + 0x40], rdi
xor edi, edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x38], 5
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
cmp dword [rbx + 0x100], eax
jbe 0x18003541d
mov dword [rbx + 0xf0], edi
mov dword [rbx + 0x100], edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret
mov dword [rsp + 0x30], 0x15
mov dword [rsp + 0x38], 3
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x38]
movsxd rax, dword [rbx + 0x108]
shl r8d, cl
or r8d, dword [rbx + 0xf0]
mov dword [rbx + rax*4 + 0xf4], r8d
inc dword [rbx + 0x108]
mov dword [rbx + 0xf0], edi
mov dword [rbx + 0x100], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x38], 3
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
cmp dword [rbx + 0x108], eax
jb 0x18003559f
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x38], 2
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
cmp dword [rbx + 0x108], eax
jbe 0x1800354cf
mov dword [rbx + 0x108], edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret
mov dword [rsp + 0x30], 3
lea r8, [rbx + 0xf4]
mov dword [rsp + 0x38], edi
mov r9d, edi
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
nop word [rax + rax]
mov edx, dword [r8]
lea r8, [r8 + 4]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x38], 0xc
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
imul eax, r9d
xor dword [rbx + rax*4 + 0x50], edx
mov edx, dword [r8 - 4]
mov dword [rsp + 0x30], 0xe
mov dword [rsp + 0x38], 2
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
add eax, r9d
inc r9d
xor dword [rbx + rax*4], edx
mov dword [r8 - 4], edi
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x38], edi
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
add ecx, eax
mov dword [rsp + 0x38], ecx
mov eax, dword [rsp + 0x38]
cmp r9d, eax
jb 0x180035500
mov rcx, rbx
call fcn.180034f70
mov dword [rbx + 0x108], edi
mov dword [rbx + 0x100], edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop rbx
ret