Function at 0x1401dfc20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov r15d, dword [rcx + 4]
lea r10, [rcx + 8]
mov r12d, r15d
mov dword [rbp + 0x7f], r15d
mov eax, r15d
lea rsi, [0x1405fe800]
imul eax, dword [rcx]
mov rbx, rcx
neg r12d
sub rbx, r10
xor r9d, r9d
mov r13, rcx
mov edi, 2
nop dword [rax + rax]
mov r11d, r9d
test eax, eax
jle 0x1401dfd6a
mov r8, r9
nop
mov rdx, qword [r10]
inc r11d
movzx eax, word [rdx + r9]
cvttss2si eax, dword [rsi + rax*4]
movzx ecx, ax
movzx eax, word [rdx + r9 + 2]
movd xmm4, ecx
cvttss2si eax, dword [rsi + rax*4]
cvtdq2ps xmm4, xmm4
movzx ecx, ax
movzx eax, word [rdx + r9 + 4]
add r9, 6
movd xmm5, ecx
cvttss2si eax, dword [rsi + rax*4]
cvtdq2ps xmm5, xmm5
movzx ecx, ax
mov rax, qword [rbx + r10 + 0x18]
movd xmm3, ecx
movaps xmm0, xmm4
mulss xmm0, dword [r13 + 0x50]
movaps xmm2, xmm5
mulss xmm2, dword [r13 + 0x54]
cvtdq2ps xmm3, xmm3
addss xmm2, xmm0
movaps xmm0, xmm4
movaps xmm1, xmm3
mulss xmm1, dword [r13 + 0x58]
addss xmm2, xmm1
movaps xmm1, xmm3
cvttss2si ecx, xmm2
movaps xmm2, xmm5
mov dword [r8 + rax], ecx
mulss xmm2, dword [r13 + 0x60]
mov rax, qword [rbx + r10 + 0x18]
mulss xmm0, dword [r13 + 0x5c]
mulss xmm1, dword [r13 + 0x64]
addss xmm2, xmm0
addss xmm2, xmm1
cvttss2si ecx, xmm2
mov dword [r8 + rax + 4], ecx
mulss xmm5, dword [r13 + 0x6c]
mov rax, qword [rbx + r10 + 0x18]
mulss xmm4, dword [r13 + 0x68]
mulss xmm3, dword [r13 + 0x70]
addss xmm5, xmm4
addss xmm5, xmm3
cvttss2si ecx, xmm5
mov dword [r8 + rax + 8], ecx
add r8, 0xc
mov eax, dword [r13]
imul eax, dword [r13 + 4]
cmp r11d, eax
jl 0x1401dfc80
xor r9d, r9d
add r10, 8
sub rdi, 1
jne 0x1401dfc70
mov rcx, qword [r13 + 0x78]
mov r8d, r9d
mov qword [rsp + 0x98], r14
mov dword [rbp + 0x77], r9d
cmp r9w, word [rcx + 0x1c]
jae 0x1401e01da
mov rdx, rcx
nop dword [rax]
lea ebx, [r8 + 4]
mov dword [rbp + 0x6f], r9d
imul ebx, dword [r13 + 4]
mov rcx, rdx
add ebx, 4
cmp r9w, word [rdx + 0x1e]
jae 0x1401e01c3
movsxd rax, r12d
movsxd rcx, ebx
lea r14, [rax + rax*2]
movsxd rax, r15d
mov qword [rbp - 0x39], r14
lea rdx, [rax + rax*2]
lea rax, [r13 + 0x30]
mov qword [rbp - 0x61], rdx
mov qword [rbp - 0x71], rax
lea rdx, [r13 + 0x18]
lea rax, [rcx + rcx*2]
shl rax, 2
mov qword [rbp - 0x79], rax
nop
mov r13, qword [rbp - 0x79]
mov rsi, rdx
mov r15, qword [rbp - 0x61]
mov rdi, r9
nop
mov r9, qword [rsi]
lea rsi, [rsi + 8]
add r9, r13
mov r8d, dword [r9]
mov edx, r8d
sub edx, dword [r9 - 0xc]
mov r11d, dword [r9 + 8]
mov ecx, edx
mov r10d, dword [r9 + 4]
sar ecx, 0x1f
mov eax, ecx
xor eax, edx
mov edx, r8d
sub eax, ecx
sub edx, dword [r9 + 0xc]
mov ecx, r11d
sub ecx, dword [r9 - 4]
imul ecx, ecx
movd xmm0, eax
mov eax, r10d
sub eax, dword [r9 - 8]
imul eax, eax
cvtdq2ps xmm0, xmm0
add ecx, eax
mov dword [rbp + rdi - 0x11], ecx
mov ecx, edx
sar ecx, 0x1f
mov eax, ecx
movss dword [rbp + rdi - 0x31], xmm0
xor eax, edx
sub eax, ecx
mov ecx, r11d
sub ecx, dword [r9 + 0x14]
imul ecx, ecx
movd xmm0, eax
mov eax, r10d
sub eax, dword [r9 + 0x10]
imul eax, eax
cvtdq2ps xmm0, xmm0
add ecx, eax
mov dword [rbp + rdi - 0xd], ecx
mov ecx, r8d
sub ecx, dword [r9 + r14*4]
sub r8d, dword [r9 + r15*4]
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
movss dword [rbp + rdi - 0x2d], xmm0
sub ecx, eax
mov eax, r10d
sub eax, dword [r9 + r14*4 + 4]
sub r10d, dword [r9 + r15*4 + 4]
imul eax, eax
movd xmm0, ecx
mov ecx, r11d
sub r11d, dword [r9 + r15*4 + 8]
sub ecx, dword [r9 + r14*4 + 8]
cvtdq2ps xmm0, xmm0
imul ecx, ecx
movss dword [rbp + rdi - 0x29], xmm0
imul r11d, r11d
imul r10d, r10d
add eax, ecx
mov dword [rbp + rdi - 9], eax
mov eax, r8d
sar eax, 0x1f
xor r8d, eax
add r11d, r10d
sub r8d, eax
mov dword [rbp + rdi - 5], r11d
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rbp + rdi - 0x25], xmm0
add rdi, 0x10
cmp rdi, 0x20
jl 0x1401dfe00
movss xmm1, dword [rbp - 0x31]
movss xmm0, dword [rbp - 0x19]
maxss xmm1, dword [rbp - 0x2d]
maxss xmm0, dword [rbp - 0x15]
comiss xmm0, xmm1
ja 0x1401dff22
movaps xmm1, xmm0
mov r10d, dword [rbp - 0xd]
mov ecx, r10d
mov edx, dword [rbp - 0x11]
cmp edx, r10d
mov r8d, dword [rbp + 0xb]
mov eax, r8d
mov r9d, dword [rbp + 7]
cmovg ecx, edx
cmp r9d, r8d
cmovg eax, r9d
cmp ecx, eax
jge 0x1401dff51
cmp edx, r10d
cmovg r10d, edx
jmp 0x1401dff5b
cmp r9d, r8d
mov r10d, r8d
cmovg r10d, r9d
mov r8, qword [rbp - 0x71]
xor r14d, r14d
mov r15d, dword [rbp + 0x7f]
xor esi, esi
mov r13, qword [rbp + 0x67]
nop dword [rax]
mov rdx, qword [rbp - 0x79]
add rdx, qword [r8 - 0x18]
comiss xmm1, dword [rbp + rsi - 0x31]
jb 0x1401dfff8
cmp dword [rbp + rsi - 0x11], r10d
jg 0x1401dfff8
mov rax, qword [r8]
movsxd rcx, ebx
inc byte [rcx + rax - 1]
test r14d, r14d
jne 0x1401dfff8
mov r11d, 2
nop dword [rax + rax]
mov ecx, dword [rdx]
mov r9d, r11d
neg r9d
movsxd rax, r9d
lea rdi, [rax + rax*2]
sub ecx, dword [rdx + rdi*4]
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1401dfff8
mov ecx, dword [rdx + 8]
sub ecx, dword [rdx + rdi*4 + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + rdi*4 + 4]
imul eax, eax
imul ecx, ecx
add eax, ecx
cmp eax, r10d
jge 0x1401dfff8
lea eax, [r9 + rbx]
inc r11d
movsxd rcx, eax
mov rax, qword [r8]
inc byte [rcx + rax]
cmp r11d, 4
jl 0x1401dffa0
comiss xmm1, dword [rbp + rsi - 0x2d]
mov edi, 2
jb 0x1401e0075
cmp dword [rbp + rsi - 0xd], r10d
jg 0x1401e0075
mov rax, qword [r8]
movsxd rcx, ebx
inc byte [rcx + rax + 1]
test r14d, r14d
jne 0x1401e0075
mov r9d, edi
nop dword [rax]
mov ecx, dword [rdx]
mov eax, r9d
lea r11, [rax + rax*2]
sub ecx, dword [rdx + r11*4]
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1401e0075
mov ecx, dword [rdx + 8]
sub ecx, dword [rdx + r11*4 + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + r11*4 + 4]
imul eax, eax
imul ecx, ecx
add eax, ecx
cmp eax, r10d
jge 0x1401e0075
lea eax, [r9 + rbx]
inc r9d
movsxd rcx, eax
mov rax, qword [r8]
inc byte [rcx + rax]
cmp r9d, 4
jl 0x1401e0020
comiss xmm1, dword [rbp + rsi - 0x29]
jb 0x1401e00f9
cmp dword [rbp + rsi - 9], r10d
jg 0x1401e00f9
lea eax, [rbx + r12]
movsxd rcx, eax
mov rax, qword [r8]
inc byte [rcx + rax]
cmp r14d, 1
jne 0x1401e00f9
mov r11d, edi
nop dword [rax]
mov ecx, dword [rdx]
mov r9d, r11d
imul r9d, r12d
movsxd rax, r9d
lea rdi, [rax + rax*2]
sub ecx, dword [rdx + rdi*4]
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1401e00f9
mov ecx, dword [rdx + 8]
sub ecx, dword [rdx + rdi*4 + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + rdi*4 + 4]
imul eax, eax
imul ecx, ecx
add eax, ecx
cmp eax, r10d
jge 0x1401e00f9
lea eax, [r9 + rbx]
inc r11d
movsxd rcx, eax
mov rax, qword [r8]
inc byte [rcx + rax]
cmp r11d, 4
jl 0x1401e00a0
comiss xmm1, dword [rbp + rsi - 0x25]
jb 0x1401e0179
cmp dword [rbp + rsi - 5], r10d
jg 0x1401e0179
lea eax, [rbx + r15]
movsxd rcx, eax
mov rax, qword [r8]
inc byte [rcx + rax]
cmp r14d, 1
jne 0x1401e0179
mov r11d, 2
mov ecx, dword [rdx]
mov r9d, r11d
imul r9d, r15d
movsxd rax, r9d
lea rdi, [rax + rax*2]
sub ecx, dword [rdx + rdi*4]
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1401e0179
mov ecx, dword [rdx + 8]
sub ecx, dword [rdx + rdi*4 + 8]
mov eax, dword [rdx + 4]
sub eax, dword [rdx + rdi*4 + 4]
imul eax, eax
imul ecx, ecx
add eax, ecx
cmp eax, r10d
jge 0x1401e0179
lea eax, [r9 + rbx]
inc r11d
movsxd rcx, eax
mov rax, qword [r8]
inc byte [rcx + rax]
cmp r11d, 4
jl 0x1401e0120
inc r14d
add rsi, 0x10
add r8, 8
cmp r14d, 2
jl 0x1401dff70
mov r8d, dword [rbp + 0x6f]
lea rdx, [r13 + 0x18]
mov rcx, qword [r13 + 0x78]
inc r8d
add qword [rbp - 0x79], 0xc
inc ebx
mov r14, qword [rbp - 0x39]
mov r9d, 0
mov dword [rbp + 0x6f], r8d
movzx eax, word [rcx + 0x1e]
cmp r8d, eax
jl 0x1401dfdf0
mov r8d, dword [rbp + 0x77]
movzx eax, word [rcx + 0x1c]
inc r8d
mov dword [rbp + 0x77], r8d
mov rdx, rcx
cmp r8d, eax
jl 0x1401dfda0
mov r8d, r9d
mov dword [rbp - 0x69], r9d
cmp r9w, word [rcx + 0x1c]
jae 0x1401e0559
mov r12d, 5
nop dword [rax]
nop word [rax + rax]
lea r14d, [r8 + 4]
mov dword [rbp + 0x77], r9d
imul r14d, dword [r13 + 4]
mov rdx, rcx
add r14d, 4
mov dword [rbp + 0x7f], r14d
cmp r9w, word [rcx + 0x1e]
jae 0x1401e0542
movsxd rcx, r14d
lea rax, [r13 + 0x30]
mov qword [rbp - 0x61], rcx
lea r15, [rcx + rcx*2]
shl r15, 2
mov qword [rbp - 0x71], r15
nop word [rax + rax]
movsxd rbx, dword [r13 + 4]
mov rdi, r9
mov rsi, rax
nop word [rax + rax]
mov r11, qword [rsi]
mov r8d, 0xffffffff
add r11, rcx
xor r10d, r10d
lea r9, [r11 - 1]
nop dword [rax]
nop word [rax + rax]
mov eax, r8d
lea r9, [r9 + 1]
sub eax, ebx
movsxd rdx, eax
lea eax, [r8 + rbx]
movsxd rcx, eax
inc r8d
movzx eax, byte [rdx + r11]
add al, byte [rcx + r11]
add al, byte [r9 - 1]
add r10b, al
cmp r8d, 2
jl 0x1401e0270
mov rcx, qword [rbp - 0x61]
add rsi, 8
mov byte [rbp + rdi + 0x6f], r10b
inc rdi
cmp rdi, 2
jl 0x1401e0250
movzx eax, word [rbp + 0x6f]
cmp al, byte [rbp + 0x70]
je 0x1401e02c9
mov edx, 3
cmovl edx, r12d
jmp 0x1401e04f7
mov rsi, qword [r13 + 0x18]
lea rcx, [rbx + rbx*2]
mov r8, qword [r13 + 0x20]
lea r9, [rcx*4]
mov ecx, dword [r8 + r15 + 8]
lea rdx, [r8 + r15]
mov rax, rdx
add ecx, ecx
sub ecx, dword [r9 + rdx + 8]
sub rax, r9
sub ecx, dword [rax + 8]
mov dword [rbp - 0x49], ecx
mov ecx, dword [rdx + 4]
add ecx, ecx
sub ecx, dword [r9 + rdx + 4]
sub ecx, dword [rax + 4]
mov dword [rbp - 0x45], ecx
mov ecx, dword [rdx]
add ecx, ecx
sub ecx, dword [r9 + rdx]
sub ecx, dword [rax]
mov eax, r14d
sub eax, ebx
mov dword [rbp - 0x41], ecx
cdqe
lea rcx, [rax + rax*2]
mov edx, dword [r8 + rcx*4 + 8]
lea rax, [r8 + rcx*4]
add edx, edx
mov rcx, rax
sub edx, dword [r9 + rax + 8]
sub rcx, r9
sub edx, dword [rcx + 8]
mov dword [rbp - 0x55], edx
mov edx, dword [rax + 4]
add edx, edx
sub edx, dword [r9 + rax + 4]
sub edx, dword [rcx + 4]
mov dword [rbp - 0x51], edx
mov edx, dword [rax]
add edx, edx
sub edx, dword [r9 + rax]
lea eax, [rbx + r14]
sub edx, dword [rcx]
movsxd rcx, eax
mov dword [rbp - 0x4d], edx
lea rax, [rcx + rcx*2]
mov edx, dword [r8 + rax*4 + 8]
lea rcx, [r8 + rax*4]
mov r8, qword [rbp - 0x71]
add edx, edx
sub edx, dword [r9 + rcx + 8]
mov rax, rcx
mov r12d, dword [rcx + 4]
sub rax, r9
mov r15d, dword [rcx]
add r12d, r12d
sub r12d, dword [r9 + rcx + 4]
add r15d, r15d
sub r15d, dword [r9 + rcx]
sub edx, dword [rax + 8]
sub r12d, dword [rax + 4]
sub r15d, dword [rax]
mov edi, dword [rsi + r8 + 8]
mov ebx, dword [rsi + r8 + 4]
mov r11d, dword [rsi + r8 + 0x14]
mov ecx, dword [rsi + r8 - 8]
mov r9d, dword [rsi + r8 + 0x10]
lea eax, [rdi + rdi]
mov r10d, dword [rsi + r8]
mov dword [rbp - 0x59], edx
mov edx, dword [rsi + r8 - 4]
sub eax, edx
sub eax, r11d
mov dword [rbp - 0x79], eax
lea eax, [rbx + rbx]
sub eax, ecx
sub eax, r9d
mov dword [rbp - 0x39], eax
mov eax, dword [rsi + r8 - 0xc]
mov r8d, dword [rsi + r8 + 0xc]
lea r13d, [rdx + rdx]
imul r12d, r12d
mov rdx, qword [rbp - 0x71]
lea r14d, [r10 + r10]
sub r14d, r8d
imul r15d, r15d
sub r14d, eax
add ecx, ecx
mov dword [rbp - 0x3d], r14d
add r9d, r9d
sub ecx, dword [rsi + rdx - 0x14]
lea r14d, [rax + rax]
sub r14d, dword [rsi + rdx - 0x18]
sub ecx, ebx
sub r9d, dword [rsi + rdx + 0x1c]
sub r14d, r10d
sub r13d, dword [rsi + rdx - 0x10]
add r8d, r8d
sub r8d, dword [rsi + rdx + 0x18]
add r11d, r11d
sub r11d, dword [rsi + rdx + 0x20]
sub r8d, r10d
mov eax, dword [rbp - 0x59]
sub r9d, ebx
imul eax, eax
sub r13d, edi
imul ecx, ecx
sub r11d, edi
imul r14d, r14d
imul r13d, r13d
imul r8d, r8d
add eax, r12d
imul r9d, r9d
add eax, r15d
imul r11d, r11d
cdq
sub eax, edx
mov edx, dword [rbp - 0x51]
sar eax, 1
mov r10d, eax
imul edx, edx
mov eax, dword [rbp - 0x55]
imul eax, eax
add eax, edx
mov edx, dword [rbp - 0x4d]
imul edx, edx
add eax, edx
cdq
sub eax, edx
sar eax, 1
add r10d, eax
mov eax, dword [rbp - 0x49]
imul eax, eax
add r10d, eax
mov eax, dword [rbp - 0x45]
imul eax, eax
add r10d, eax
mov eax, dword [rbp - 0x41]
imul eax, eax
add r10d, eax
lea eax, [rcx + r14]
add eax, r13d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
lea eax, [r9 + r8]
add eax, r11d
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov eax, dword [rbp - 0x3d]
imul eax, eax
add ecx, eax
mov eax, dword [rbp - 0x39]
imul eax, eax
add ecx, eax
mov eax, dword [rbp - 0x79]
imul eax, eax
add ecx, eax
mov r13, qword [rbp + 0x67]
cmp r10d, ecx
mov r14d, dword [rbp + 0x7f]
mov ecx, 2
mov r15, qword [rbp - 0x71]
mov edx, 4
cmovg edx, ecx
lea r12d, [rcx + 3]
mov rax, qword [r13 + 0x28]
inc r14d
mov rcx, qword [rbp - 0x61]
add r15, 0xc
mov r8d, dword [rbp + 0x77]
mov r9d, 0
inc r8d
mov dword [rbp + 0x7f], r14d
mov dword [rbp + 0x77], r8d
or byte [rax + rcx], dl
inc rcx
mov rdx, qword [r13 + 0x78]
mov qword [rbp - 0x61], rcx
mov qword [rbp - 0x71], r15
movzx eax, word [rdx + 0x1e]
cmp r8d, eax
lea rax, [r13 + 0x30]
jl 0x1401e0240
mov r8d, dword [rbp - 0x69]
movzx eax, word [rdx + 0x1c]
inc r8d
mov dword [rbp - 0x69], r8d
mov rcx, rdx
cmp r8d, eax
jl 0x1401e0200
mov r14, qword [rsp + 0x98]
add rsp, 0xa0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret