Function at 0x180034cc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov dword [rsp + 0x78], 4
lea rdi, [rsp]
mov dword [rsp + 0x70], 0xf
xor esi, esi
mov edx, dword [rsp + 0x70]
mov rbx, rcx
mov eax, dword [rsp + 0x78]
mov r8d, esi
add edx, eax
mov dword [rsp + 0x70], edx
mov eax, dword [rsp + 0x70]
nop word [rax + rax]
mov dword [rsp + 0x78], 5
lea r11d, [r8 + 1]
mov dword [rsp + 0x70], 2
lea rdi, [rdi + 4]
mov ecx, dword [rsp + 0x70]
xor edx, edx
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x70], 0xe
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x70], ecx
mov eax, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x70]
imul eax, r8d
mov dword [rsp + 0x78], 3
mov dword [rsp + 0x70], 0x1d
div ecx
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x70], ecx
mov eax, r11d
mov ecx, dword [rsp + 0x70]
imul eax, r8d
mov dword [rsp + 0x78], 9
mov dword [rsp + 0x70], 0xa
movsxd r10, edx
cdq
sub eax, edx
xor edx, edx
sar eax, 1
div ecx
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
mov r9d, edx
add ecx, eax
xor edx, edx
mov dword [rsp + 0x80], ecx
mov dword [rsp + 0x78], 6
mov dword [rsp + 0x70], 0xd
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x70], ecx
lea eax, [r10 + 2]
mov ecx, dword [rsp + 0x70]
div ecx
mov ecx, dword [rsp + 0x80]
lea eax, [r10 + 1]
mov r8d, dword [rbx + rdx*4]
xor edx, edx
div ecx
not r8d
mov edx, dword [rbx + rdx*4]
or edx, r8d
mov r8d, dword [rbx + r10*4]
mov dword [rsp + 0x78], 0x1d
xor r8d, edx
mov dword [rsp + 0x70], 3
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x70], ecx
mov eax, r8d
mov ecx, dword [rsp + 0x70]
sub ecx, r9d
shl eax, cl
mov ecx, r9d
shr r8d, cl
or eax, r8d
mov r8d, r11d
mov dword [rdi - 4], eax
mov dword [rsp + 0x78], 4
mov dword [rsp + 0x70], 0xf
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x70], ecx
mov eax, dword [rsp + 0x70]
cmp r11d, eax
jb 0x180034d00
mov dword [rsp + 0x78], 3
lea rdi, [rsp]
mov dword [rsp + 0x70], 0x10
mov r11d, esi
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add ecx, eax
mov dword [rsp + 0x70], ecx
sub rdi, rbx
mov eax, dword [rsp + 0x70]
mov rcx, rbx
nop
mov dword [rsp + 0x78], 0xa
lea r10d, [r11 + 1]
mov dword [rsp + 0x70], 9
lea rcx, [rcx + 4]
mov edx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add edx, eax
mov dword [rsp + 0x70], edx
mov eax, r10d
mov r8d, dword [rsp + 0x70]
xor edx, edx
div r8d
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x70], 4
mov r8d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add r8d, eax
mov dword [rsp + 0x80], r8d
mov dword [rsp + 0x78], 0xa
mov dword [rsp + 0x70], 9
mov r8d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add r8d, eax
mov dword [rsp + 0x70], r8d
mov eax, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x70]
add eax, r11d
movsxd r9, edx
mov r11d, r10d
xor edx, edx
div r8d
movsxd r8, edx
mov edx, dword [rsp + r8*4]
xor edx, dword [rsp + r9*4]
xor edx, dword [rdi + rcx - 4]
mov dword [rcx - 4], edx
mov dword [rsp + 0x78], 3
mov dword [rsp + 0x70], 0x10
mov edx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x78]
add edx, eax
mov dword [rsp + 0x70], edx
mov eax, dword [rsp + 0x70]
cmp r10d, eax
jb 0x180034e90
xor dword [rbx], 1
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret