Function at 0x18000162c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
xor edi, edi
mov r12d, ecx
mov r13, r9
movzx r15d, r8w
mov r10, rdx
mov ebx, 0x3655
cmp dword [rsp + 0x68], edi
jle 0x1800018f0
mov r14, qword [rsp + 0x60]
mov eax, ebx
movzx ecx, r8w
sub r13, r14
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rax, r14
neg rax
mov qword [rsp], rax
mov rbp, qword [r10 + 0xe8]
mov eax, dword [rbp + 0x290]
xor eax, 0x7e2
cmp eax, 0x338c
jbe 0x1800016ba
mov rcx, qword [r10 + 0x380]
mov rax, r12
xor rax, rcx
sub rcx, rax
mov qword [r10 + 0x380], rcx
movzx ecx, r15w
cmp qword [r10 + 0x360], 0x37b1
jne 0x1800016d8
mov rax, qword [r10 + 0x2c0]
or rax, rcx
or qword [r10 + 0x170], rax
mov r11, qword [r10 + 0x128]
mov edx, dword [r10 + 0x280]
mov sil, byte [r14 + r13]
add edx, 0x139
movsxd rax, edx
imul ecx, dword [r11 + 0x4f8], 0xd403cab6
cmp rax, rcx
jae 0x180001731
mov r8, qword [r10 + 0x210]
lea r9, [r10 + 0x118]
imul r8, r9
inc edx
mov qword [r10 + 0x210], r8
imul ecx, dword [r11 + 0x4f8], 0xd403cab6
movsxd rax, edx
cmp rax, rcx
jb 0x180001711
cmp byte [rsp + 0x70], dil
je 0x1800017c2
mov rdx, qword [r10 + 0x190]
mov r8d, ebx
mov eax, dword [rdx + 0x168]
xor eax, 0x7d8
cmp eax, ebx
jbe 0x18000177b
inc r8d
mov rax, r12
or rax, qword [rdx + 0x340]
mov qword [r10 + 0x28], rax
mov ecx, dword [rdx + 0x168]
xor rcx, 0x7d8
movsxd rax, r8d
cmp rax, rcx
jb 0x180001755
lea eax, [rsi - 0x41]
cmp al, 0x19
ja 0x1800017b1
mov rcx, qword [r10 + 0x340]
lea rax, [r10 + 0x90]
imul rcx, rax
imul rax, qword [r10 + 0x2e0], 0x3053
add sil, 0x20
mov qword [r10 + 0x340], rcx
sub qword [r10 + 0x260], rax
movzx eax, r15w
or rax, 0x3a05
mov qword [r10 + 0x340], rax
mov rax, qword [rsp + 0x48]
mov r11d, 0x33a3
mov qword [r10 + 0x170], rax
mov r8d, r11d
mov eax, dword [rbp + 0x168]
add eax, 0x216
cmp eax, r11d
jb 0x180001821
mov rax, qword [r10 + 0x128]
inc r8d
mov rcx, qword [r10 + 0x380]
add rcx, 0x3053
mov qword [rax + 0xa0], rcx
mov rax, qword [r10 + 0xe8]
mov edx, dword [rax + 0x168]
add edx, 0x216
movsxd rax, r8d
cmp rax, rdx
jbe 0x1800017e7
cmp sil, byte [r14]
jne 0x1800018eb
mov r8, qword [r10 + 0x118]
mov r11d, 0x3182
mov r9d, r11d
imul eax, dword [r8 + 0x328], 0x1e12c821
cmp eax, r11d
jbe 0x18000187b
mov rdx, qword [r10 + 0x210]
mov rax, qword [r10 + 0x4e8]
inc r9d
xor rax, r12
xor rdx, rax
movsxd rax, r9d
mov qword [r10 + 0x210], rdx
imul ecx, dword [r8 + 0x328], 0x1e12c821
cmp rax, rcx
jb 0x180001851
mov eax, dword [r10 + 0x290]
mov r8d, 0x38e3
xor eax, 0x8b7
mov edx, r8d
cmp eax, r8d
je 0x1800018cd
movzx ecx, byte [0x1801aeb09]
inc edx
mov rax, qword [r10 + 0xf8]
xor rcx, 0x3a6b
imul rax, rcx
mov qword [r10 + 0xf8], rax
mov ecx, dword [r10 + 0x290]
xor rcx, 0x8b7
movsxd rax, edx
cmp rax, rcx
jne 0x180001895
movsxd rcx, dword [rsp + 0x68]
inc r14
mov rax, qword [rsp]
add rax, r14
cmp rax, rcx
movzx ecx, r15w
jl 0x180001686
jmp 0x1800018f0
mov edi, 1
mov r11, qword [r10 + 0x118]
mov esi, 0x605
movzx ecx, r15w
imul rax, rcx, 0x3a05
sub qword [r10 + 0x28], rax
mov eax, dword [r11 + 0x290]
xor eax, esi
cmp eax, ebx
jb 0x18000193f
mov rdx, qword [r10 + 0xd8]
mov r9, qword [r10]
or rdx, rcx
sub r9, rdx
inc ebx
mov qword [r10], r9
mov ecx, dword [r11 + 0x290]
xor rcx, rsi
movsxd rax, ebx
cmp rax, rcx
jbe 0x180001925
mov rcx, qword [r10 + 0x510]
imul ecx, dword [rcx + 0x280], 0xe3617cc4
cmp rcx, qword [r10 + 0x380]
jae 0x180001961
or qword [r10 + 0x28], 0x540
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
ret