Function at 0x1800286a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x18007f060]
xor rax, rsp
mov qword [rbp + 7], rax
mov rsi, rdx
mov r14, rcx
xor ebx, ebx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 9], rbx
mov qword [rbp - 1], 0xf
mov byte [rbp - 0x19], bl
add rdx, 0xc
lea r8, [rbp - 0x19]
call fcn.18002cdc0
test al, al
je 0x180028fdf
mov rcx, qword [0x180080e18]
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
sub rax, rcx
mov rdx, qword [rbp - 9]
cmp rax, rdx
jb 0x180029058
lea r9, [0x180080e08]
cmp qword [0x180080e20], 0x10
cmovae r9, qword [0x180080e08]
lea rax, [rbp - 0x19]
cmp qword [rbp - 1], 0x10
cmovae rax, qword [rbp - 0x19]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x39]
call fcn.18001a4e0
nop
mov eax, dword [rsi]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
xorps xmm8, xmm8
movss xmm7, dword [0x180074be8]
ucomiss xmm6, xmm8
jne 0x180028786
movaps xmm6, xmm7
mov rcx, qword [0x180080cd8]
mov rax, rdi
mov rdx, qword [rbp - 0x29]
sub rax, rdx
cmp rax, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080cc8]
cmp qword [0x180080ce0], 0x10
cmovae rax, qword [0x180080cc8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r8, [rbp - 0x59]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r8, r9
mov ecx, ebx
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x18002881c
nop
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180028800
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + r8*4]
movss dword [rax + r8*4], xmm6
cmp r11, 0x10
jb 0x180028898
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180028890
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi + 4]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
ucomiss xmm6, xmm8
jne 0x1800288ac
movaps xmm6, xmm7
mov rcx, qword [0x180080458]
mov rax, rdi
mov rdx, qword [rbp - 0x29]
sub rax, rdx
cmp rax, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080448]
cmp qword [0x180080460], 0x10
cmovae rax, qword [0x180080448]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r8, [rbp - 0x59]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r8, r9
mov ecx, ebx
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x18002894c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180028930
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + r8*4]
movss dword [rax + r8*4], xmm6
cmp r11, 0x10
jb 0x1800289c8
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800289c0
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r9
call fcn.180034ec0
movzx eax, word [rsi + 8]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
ucomiss xmm6, xmm8
jne 0x1800289dc
movaps xmm6, xmm7
mov rcx, qword [0x180080298]
mov rax, rdi
mov rdx, qword [rbp - 0x29]
sub rax, rdx
cmp rax, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080288]
cmp qword [0x1800802a0], 0x10
cmovae rax, qword [0x180080288]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r8, [rbp - 0x59]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r8, r9
mov ecx, ebx
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x180028a7c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180028a60
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + r8*4]
movss dword [rax + r8*4], xmm6
cmp r11, 0x10
jb 0x180028af8
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180028af0
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r9
call fcn.180034ec0
movzx eax, word [rsi + 0xa]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
ucomiss xmm6, xmm8
jne 0x180028b0c
movaps xmm6, xmm7
mov rcx, qword [0x180080138]
mov rax, rdi
mov rdx, qword [rbp - 0x29]
sub rax, rdx
cmp rax, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080128]
cmp qword [0x180080140], 0x10
cmovae rax, qword [0x180080128]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r8, [rbp - 0x59]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r8, r9
mov ecx, ebx
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x180028bac
nop word [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180028b90
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + r8*4]
movss dword [rax + r8*4], xmm6
cmp r11, 0x10
jb 0x180028c28
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180028c20
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi + 0x10]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
ucomiss xmm6, xmm8
jne 0x180028c3c
movaps xmm6, xmm7
mov rcx, qword [0x180080998]
mov rax, rdi
mov rdx, qword [rbp - 0x29]
sub rax, rdx
cmp rax, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080988]
cmp qword [0x1800809a0], 0x10
cmovae rax, qword [0x180080988]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r8, [rbp - 0x59]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r8, r9
mov ecx, ebx
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x180028cdc
nop word [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180028cc0
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + r8*4]
movss dword [rax + r8*4], xmm6
cmp r11, 0x10
jb 0x180028d58
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180028d50
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi + 0x14]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
ucomiss xmm6, xmm8
jne 0x180028d6c
movaps xmm6, xmm7
mov rcx, qword [0x180080238]
mov rax, rdi
mov rdx, qword [rbp - 0x29]
sub rax, rdx
cmp rax, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080228]
cmp qword [0x180080240], 0x10
cmovae rax, qword [0x180080228]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r8, [rbp - 0x59]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r8, r9
mov ecx, ebx
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x180028e0c
nop word [rax + rax]
movzx eax, byte [rdx + r8]
add ecx, eax
imul ecx, ecx, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
inc rdx
cmp rdx, r10
jne 0x180028df0
lea ecx, [rcx + rcx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul r8d, ecx, 0x8001
mov eax, 0x446f8657
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub r8d, eax
add r8d, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + r8*4]
movss dword [rax + r8*4], xmm6
cmp r11, 0x10
jb 0x180028e88
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x180028e80
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r9
call fcn.180034ec0
mov eax, dword [rsi + 0x18]
xorps xmm6, xmm6
cvtsi2ss xmm6, rax
ucomiss xmm6, xmm8
jne 0x180028e9c
movaps xmm6, xmm7
mov rcx, qword [0x180080d58]
mov rdx, qword [rbp - 0x29]
sub rdi, rdx
cmp rdi, rcx
jb 0x180029052
lea r9, [rbp - 0x39]
cmp qword [rbp - 0x21], 0x10
cmovae r9, qword [rbp - 0x39]
lea rax, [0x180080d48]
cmp qword [0x180080d60], 0x10
cmovae rax, qword [0x180080d48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x59]
call fcn.18001a4e0
lea r9, [rbp - 0x59]
mov r8, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
cmp r11, 0x10
cmovae r9, r8
mov rdx, rbx
mov r10, qword [rbp - 0x49]
test r10, r10
je 0x180028f2c
movzx ecx, byte [rdx + r9]
add ecx, ebx
imul ebx, ecx, 0x401
mov ecx, ebx
shr ecx, 6
xor ebx, ecx
inc rdx
cmp rdx, r10
jne 0x180028f10
lea edx, [rbx + rbx*8]
mov ecx, edx
shr ecx, 0xb
xor edx, ecx
imul ecx, edx, 0x8001
mov eax, 0x446f8657
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xca
sub ecx, eax
add ecx, 0x36
mov rax, qword [r14 + 0x278]
addss xmm6, dword [rax + rcx*4]
movss dword [rax + rcx*4], xmm6
cmp r11, 0x10
jb 0x180028fa1
lea rdx, [r11 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x180028f99
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002905e
mov rcx, r8
call fcn.180034ec0
mov bl, 1
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x180028fdf
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180028fd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029064
call fcn.180034ec0
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x180029016
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002904c
call fcn.180034ec0
movzx eax, bl
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.180034ea0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.18003b6f4
nop
call fcn.180005f70
nop
call fcn.180005f70
nop
call fcn.18003b6f4
nop
call fcn.18003b6f4
int3