Function at 0x18000266c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x60
xor edi, edi
mov rbx, rcx
mov qword [rcx], rdi
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdi
lea esi, [rdi + 1]
mov qword [rcx + 0x18], rdi
lea r8d, [rdi + 2]
cmp edx, esi
jne 0x18000283d
cmp word [0x180019dc6], di
mov r11d, 0x2f684bdb
mov rax, qword [0x180019dc0]
mov qword [rbp + 0x20], rax
jne 0x1800026f0
mov r9d, edi
lea r10, [rbp + 0x20]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x1800026bf
cmp word [rbp + 0x26], di
je 0x18000272e
mov r9d, edi
lea r10, [rbp + 0x20]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x1800026fd
mov ecx, edi
cmp word [rbp + 0x20], di
je 0x180002746
lea rax, [rbp + 0x20]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x18000273a
inc ecx
test ecx, ecx
mov dword [rbp - 0x28], ecx
lea rax, [rbp + 0x20]
mov dword [rbp - 0x24], ecx
cmove rax, rdi
cmp word [0x180019dbe], di
mov qword [rbp - 0x30], rax
mov rax, qword [0x180019db8]
mov qword [rbp + 0x30], rax
jne 0x1800027a6
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002775
cmp word [rbp + 0x36], di
je 0x1800027e4
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x1800027b3
mov ecx, edi
cmp word [rbp + 0x30], di
je 0x1800027fc
lea rax, [rbp + 0x30]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x1800027f0
inc ecx
test ecx, ecx
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x34], ecx
lea rax, [rbp + 0x30]
cmove rax, rdi
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x20]
call fcn.1800102ac
movups xmm0, xmmword [rax]
mov eax, 0x3f800000
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], eax
mov qword [rbx + 0x14], 0x3f0c8c8d
jmp 0x180003110
cmp edx, r8d
jne 0x1800029e4
cmp word [0x180019dd6], di
mov r11d, 0x2f684bdb
mov rax, qword [str.ovv9fbji:]
mov qword [rbp + 0x20], rax
jne 0x180002898
mov r9d, edi
lea r10, [rbp + 0x20]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002867
cmp word [rbp + 0x26], di
je 0x1800028d6
mov r9d, edi
lea r10, [rbp + 0x20]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x1800028a5
mov ecx, edi
cmp word [rbp + 0x20], di
je 0x1800028ee
lea rax, [rbp + 0x20]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x1800028e2
inc ecx
test ecx, ecx
mov dword [rbp - 0x28], ecx
lea rax, [rbp + 0x20]
mov dword [rbp - 0x24], ecx
cmove rax, rdi
cmp word [0x180019dca], di
mov qword [rbp - 0x30], rax
mov eax, dword [0x180019dc8]
mov dword [rbp + 0x28], eax
jne 0x18000294b
mov r9d, edi
lea r10, [rbp + 0x28]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, r8d
jl 0x18000291b
cmp word [rbp + 0x2a], di
je 0x180002988
mov r9d, edi
lea r10, [rbp + 0x28]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, r8d
jl 0x180002958
cmp word [rbp + 0x28], di
je 0x1800029a3
lea rcx, [rbp + 0x28]
mov eax, edi
add rcx, r8
add eax, esi
cmp word [rcx], di
jne 0x180002994
lea ecx, [rax + 1]
jmp 0x1800029a5
mov ecx, edi
test ecx, ecx
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x34], ecx
lea rax, [rbp + 0x28]
cmove rax, rdi
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x20]
call fcn.1800102ac
movups xmm0, xmmword [rax]
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], 0x3c40c0c2
mov dword [rbx + 0x14], 0x3f7cfcfe
jmp 0x180002b19
cmp edx, 3
jne 0x180002b25
mov eax, dword [0x180019de4]
lea r10, [rbp + 0x20]
mov dword [rbp + 0x20], eax
mov r9d, edi
movzx eax, word [0x180019de8]
mov r11d, 0x2f684bdb
mov word [rbp + 0x24], ax
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 3
jl 0x180002a0e
mov qword [rbp - 0x30], rdi
cmp word [rbp + 0x20], di
je 0x180002a5e
lea rax, [rbp + 0x20]
mov ecx, edi
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180002a4f
lea eax, [rcx + 1]
jmp 0x180002a60
mov eax, edi
movsd xmm0, qword [0x180019dd8]
movsd qword [rbp - 0x40], xmm0
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x24], eax
test eax, eax
je 0x180002a7f
lea rax, [rbp + 0x20]
mov qword [rbp - 0x30], rax
movzx eax, word [0x180019de0]
lea r10, [rbp - 0x40]
mov word [rbp - 0x38], ax
mov r9d, edi
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 5
jl 0x180002a91
cmp word [rbp - 0x40], di
je 0x180002add
lea rcx, [rbp - 0x40]
mov eax, edi
add rcx, r8
add eax, esi
cmp word [rcx], di
jne 0x180002ace
lea ecx, [rax + 1]
jmp 0x180002adf
mov ecx, edi
test ecx, ecx
mov dword [rbp - 0x18], ecx
mov dword [rbp - 0x14], ecx
lea rax, [rbp - 0x40]
cmove rax, rdi
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x10]
call fcn.1800102ac
movups xmm0, xmmword [rax]
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], 0x3f29a9aa
mov dword [rbx + 0x14], 0x3c40c0c2
mov dword [rbx + 0x18], 0x3f7cfcfe
jmp 0x180002cd2
cmp edx, 4
jne 0x180002cde
cmp word [0x180019dfe], di
mov r11d, 0x2f684bdb
mov rax, qword [0x180019df8]
mov qword [rbp + 0x20], rax
jne 0x180002b80
mov r9d, edi
lea r10, [rbp + 0x20]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002b4f
cmp word [rbp + 0x26], di
je 0x180002bbe
mov r9d, edi
lea r10, [rbp + 0x20]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002b8d
mov ecx, edi
cmp word [rbp + 0x20], di
je 0x180002bd6
lea rax, [rbp + 0x20]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180002bca
inc ecx
test ecx, ecx
mov dword [rbp - 0x18], ecx
lea rax, [rbp + 0x20]
mov dword [rbp - 0x14], ecx
cmove rax, rdi
cmp word [0x180019df6], di
mov qword [rbp - 0x20], rax
mov rax, qword [str.ort9zxo9qe9sy8]
mov qword [rbp + 0x30], rax
jne 0x180002c36
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002c05
cmp word [rbp + 0x36], di
je 0x180002c74
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002c43
cmp word [rbp + 0x30], di
je 0x180002c8f
lea rcx, [rbp + 0x30]
mov eax, edi
add rcx, r8
add eax, esi
cmp word [rcx], di
jne 0x180002c80
lea ecx, [rax + 1]
jmp 0x180002c91
mov ecx, edi
test ecx, ecx
mov dword [rbp - 0x28], ecx
mov dword [rbp - 0x24], ecx
lea rax, [rbp + 0x30]
cmove rax, rdi
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x10]
call fcn.1800102ac
movups xmm0, xmmword [rax]
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], 0x3f7cfcfe
mov dword [rbx + 0x14], 0x3f6bebed
mov dword [rbx + 0x18], 0x3c40c0c2
mov dword [rbx + 0x1c], 0x3f800000
jmp 0x180003113
cmp edx, 5
jne 0x180002e44
mov eax, dword [0x180019e08]
lea r10, [rbp + 0x20]
mov dword [rbp + 0x20], eax
mov r9d, edi
movzx eax, word [0x180019e0c]
mov r11d, 0x2f684bdb
mov word [rbp + 0x24], ax
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 3
jl 0x180002d08
mov ecx, edi
cmp word [rbp + 0x20], di
je 0x180002d51
lea rax, [rbp + 0x20]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180002d45
inc ecx
test ecx, ecx
mov dword [rbp - 0x18], ecx
lea rax, [rbp + 0x20]
mov dword [rbp - 0x14], ecx
cmove rax, rdi
cmp word [0x180019e06], di
mov qword [rbp - 0x20], rax
mov rax, qword [0x180019e00]
mov qword [rbp + 0x30], rax
jne 0x180002db1
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002d80
cmp word [rbp + 0x36], di
je 0x180002def
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x180002dbe
mov ecx, edi
cmp word [rbp + 0x30], di
je 0x180002e07
lea rax, [rbp + 0x30]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180002dfb
inc ecx
test ecx, ecx
mov dword [rbp - 0x28], ecx
mov dword [rbp - 0x24], ecx
lea rax, [rbp + 0x30]
cmove rax, rdi
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x10]
call fcn.1800102ac
movups xmm0, xmmword [rax]
mov eax, 0x3f800000
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], edi
mov qword [rbx + 0x14], rax
jmp 0x180003110
cmp edx, 6
jne 0x180002fad
cmp word [0x180019e1a], di
mov r11d, 0x2f684bdb
mov eax, dword [0x180019e18]
mov dword [rbp + 0x28], eax
jne 0x180002e9c
mov r9d, edi
lea r10, [rbp + 0x28]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, r8d
jl 0x180002e6c
cmp word [rbp + 0x2a], di
je 0x180002ed9
mov r9d, edi
lea r10, [rbp + 0x28]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, r8d
jl 0x180002ea9
mov qword [rbp - 0x30], rdi
cmp word [rbp + 0x28], di
je 0x180002ef8
lea rax, [rbp + 0x28]
mov ecx, edi
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180002ee9
lea eax, [rcx + 1]
jmp 0x180002efa
mov eax, edi
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x24], eax
test eax, eax
je 0x180002f0c
lea rax, [rbp + 0x28]
mov qword [rbp - 0x30], rax
mov eax, dword [0x180019e10]
lea r10, [rbp + 0x20]
mov dword [rbp + 0x20], eax
mov r9d, edi
movzx eax, word [0x180019e14]
mov word [rbp + 0x24], ax
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 3
jl 0x180002f27
mov ecx, edi
cmp word [rbp + 0x20], di
je 0x180002f70
lea rax, [rbp + 0x20]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180002f64
inc ecx
test ecx, ecx
mov dword [rbp - 0x18], ecx
mov dword [rbp - 0x14], ecx
lea rax, [rbp + 0x20]
cmove rax, rdi
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x10]
call fcn.1800102ac
movups xmm0, xmmword [rax]
mov eax, 0x3f800000
movdqu xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], edi
jmp 0x180003110
cmp edx, 7
jne 0x180003113
mov eax, dword [0x180019e28]
lea r10, [rbp + 0x20]
mov dword [rbp + 0x20], eax
mov r9d, edi
movzx eax, word [0x180019e2c]
mov r11d, 0x2f684bdb
mov word [rbp + 0x24], ax
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 3
jl 0x180002fd7
mov ecx, edi
cmp word [rbp + 0x20], di
je 0x180003020
lea rax, [rbp + 0x20]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x180003014
inc ecx
test ecx, ecx
mov dword [rbp - 0x18], ecx
lea rax, [rbp + 0x20]
mov dword [rbp - 0x14], ecx
cmove rax, rdi
cmp word [0x180019e26], di
mov qword [rbp - 0x20], rax
mov rax, qword [0x180019e20]
mov qword [rbp + 0x30], rax
jne 0x180003080
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x18000304f
cmp word [rbp + 0x36], di
je 0x1800030be
mov r9d, edi
lea r10, [rbp + 0x30]
mov ecx, r9d
mov eax, r11d
mul r9d
mov eax, esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
sub ax, cx
movzx eax, ax
imul ecx, eax, 0x36
add cx, r9w
add r9d, esi
xor word [r10], cx
add r10, r8
cmp r9d, 4
jl 0x18000308d
mov ecx, edi
cmp word [rbp + 0x30], di
je 0x1800030d6
lea rax, [rbp + 0x30]
add rax, r8
add ecx, esi
cmp word [rax], di
jne 0x1800030ca
inc ecx
test ecx, ecx
mov dword [rbp - 0x28], ecx
mov dword [rbp - 0x24], ecx
lea rax, [rbp + 0x30]
cmove rax, rdi
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x10]
call fcn.1800102ac
movups xmm0, xmmword [rax]
mov eax, 0x3f800000
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], eax
mov dword [rbx + 0x14], eax
mov dword [rbx + 0x18], eax
mov dword [rbx + 0x1c], eax
mov rax, rbx
mov rbx, qword [rsp + 0x98]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret