Function at 0x140014520
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x1c8]
sub rsp, 0x2c0
cmp byte [0x1400cad21], 0
je 0x140014f91
mov qword [rax - 0x10], rbx
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r14
xor r14d, r14d
cmp byte [0x1400cad30], r14b
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
xorps xmm8, xmm8
movaps xmmword [rax - 0x68], xmm9
movss xmm9, dword [0x1400ba2c4]
je 0x140014635
mov rax, qword [0x14011d300]
movss xmm7, dword [rax + 0x10]
movss xmm6, dword [rax + 0x14]
mulss xmm7, xmm9
mulss xmm6, xmm9
call fcn.14001dcd0
movaps xmm0, xmmword [0x1400ba9e0]
lea rcx, [rbp - 0x70]
movups xmmword [rbp - 0x70], xmm0
mov rbx, rax
call fcn.14001b880
movss dword [rbp + 0x1d0], xmm7
mov edi, eax
movss dword [rbp + 0x1d4], xmm6
test eax, 0xff000000
je 0x140014635
movss xmm2, dword [0x1400cad28]
comiss xmm8, xmm2
jae 0x140014635
movss xmm0, dword [0x1400ba37c]
subss xmm2, xmm9
mov dword [rsp + 0x28], 0x17
lea rdx, [rbp + 0x1d0]
xorps xmm3, xmm3
movss dword [rsp + 0x20], xmm0
mov rcx, rbx
call fcn.14003ad70
movss xmm0, dword [0x1400ba32c]
mov r9d, edi
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
mov rdx, qword [rbx + 0x80]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
call fcn.1400393f0
mov dword [rbx + 0x78], r14d
cmp byte [0x1400cad4c], r14b
je 0x140014f57
mov rax, qword [0x14011d2f0]
test rax, rax
jne 0x14001466e
mov ecx, 0x4f0
call fcn.140077490
mov rcx, rax
mov qword [rbp + 0x1d0], rax
call fcn.140015000
mov qword [0x14011d2f0], rax
mov rdi, qword [rax + 0x40]
mov qword [rbp + 0x1d0], r14
call fcn.1400196a0
mov ebx, dword [0x14011d518]
cmp byte [rax], r14b
jne 0x140014690
mov rbx, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 8
lea r8, [rbp + 0x1d0]
mov rdx, rdi
cmp byte [rax], r14b
je 0x1400146b3
mov ecx, ebx
call fcn.1400748a0
jmp 0x1400146c5
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r14
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov rax, qword [rbp + 0x1d0]
test rax, rax
je 0x140014f57
mov qword [rsp + 0x2b0], rsi
lea rdi, [rax + 8]
mov qword [rbp + 0x1d8], r14
call fcn.1400196a0
mov ebx, dword [0x14011d518]
cmp byte [rax], r14b
jne 0x1400146ff
mov rbx, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 8
lea r8, [rbp + 0x1d8]
mov rdx, rdi
cmp byte [rax], r14b
je 0x140014722
mov ecx, ebx
call fcn.1400748a0
jmp 0x140014734
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r14
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov rsi, qword [rbp + 0x1d8]
test rsi, rsi
je 0x140014f4f
mov rax, qword [0x14011d2f0]
test rax, rax
jne 0x140014770
mov ecx, 0x4f0
call fcn.140077490
mov rcx, rax
mov qword [rbp + 0x1d0], rax
call fcn.140015000
mov qword [0x14011d2f0], rax
mov rdi, qword [rax + 0x98]
add rdi, rsi
call fcn.1400196a0
mov ebx, dword [0x14011d518]
cmp byte [rax], r14b
jne 0x140014791
mov rbx, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 0xc
lea r8, [rbp - 0x60]
mov rdx, rdi
cmp byte [rax], r14b
je 0x1400147b1
mov ecx, ebx
call fcn.1400748a0
jmp 0x1400147c3
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r14
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
movaps xmmword [rsp + 0x250], xmm10
mov edi, r14d
movaps xmmword [rsp + 0x240], xmm11
movaps xmmword [rsp + 0x230], xmm12
movaps xmmword [rsp + 0x220], xmm13
movaps xmmword [rsp + 0x210], xmm14
movaps xmmword [rsp + 0x200], xmm15
nop dword [rax]
mov ecx, edi
call fcn.140013dd0
cmp qword [rax], rsi
je 0x140014f0b
mov ecx, edi
call fcn.140013dd0
mov ecx, edi
movsd xmm0, qword [rax + 0x28]
mov eax, dword [rax + 0x30]
movsd qword [rbp - 0x50], xmm0
mov dword [rbp - 0x48], eax
call fcn.140013dd0
movss xmm0, dword [rax + 0x30]
subss xmm0, dword [rbp - 0x58]
movss xmm1, dword [rax + 0x2c]
movss xmm2, dword [rax + 0x28]
subss xmm2, dword [rbp - 0x60]
subss xmm1, dword [rbp - 0x5c]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140014873
xorps xmm12, xmm12
sqrtss xmm12, xmm2
jmp 0x14001487f
movaps xmm0, xmm2
call fcn.1400a61f8
movaps xmm12, xmm0
comiss xmm12, dword [0x1400cadb8]
ja 0x140014f0b
movss xmm10, dword [rbp - 0x50]
ucomiss xmm10, xmm8
jp 0x14001489f
je 0x140014f0b
movss xmm9, dword [rbp - 0x4c]
ucomiss xmm9, xmm8
jp 0x1400148b1
je 0x140014f0b
movss xmm7, dword [rbp - 0x48]
ucomiss xmm7, xmm8
jp 0x1400148c2
je 0x140014f0b
mov ecx, edi
call fcn.140013dd0
mov ecx, edi
movss xmm6, dword [rax + 0x34]
call fcn.140013dd0
movss xmm14, dword [0x1400ba3e8]
movss xmm0, dword [rax + 0x38]
movss dword [rbp + 0x1d8], xmm0
movaps xmm0, xmm8
maxss xmm0, xmm6
minss xmm14, xmm0
ucomiss xmm14, xmm8
jp 0x140014904
je 0x140014f0b
mov ecx, edi
call fcn.140013dd0
movss xmm13, dword [0x1400ba3c8]
lea rdx, [rsp + 0x70]
movaps xmm0, xmm8
movss dword [rbp - 0x40], xmm10
lea rcx, [rbp + 0x60]
movss dword [rbp - 0x3c], xmm9
maxss xmm0, dword [rax + 0x3c]
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x78], r14d
minss xmm13, xmm0
movaps xmm0, xmm7
subss xmm0, dword [0x1400ba314]
addss xmm7, dword [0x1400ba304]
movss dword [rbp + 0x1d0], xmm13
movss dword [rbp + 0x88], xmm0
movaps xmm0, xmm10
mov eax, dword [rbp + 0x88]
unpcklps xmm0, xmm9
movsd qword [rbp + 0x60], xmm0
movss dword [rbp - 0x38], xmm7
mov dword [rbp + 0x68], eax
call fcn.1400141c0
test al, al
jne 0x140014993
movaps xmm7, xmm8
movaps xmm10, xmm8
jmp 0x1400149a0
movss xmm7, dword [rsp + 0x70]
movss xmm10, dword [rsp + 0x74]
movsd xmm0, qword [rbp - 0x40]
lea rdx, [rbp - 0x80]
mov eax, dword [rbp - 0x38]
lea rcx, [rbp + 0x70]
movsd qword [rbp + 0x70], xmm0
mov qword [rbp - 0x80], r14
mov dword [rbp - 0x78], r14d
mov dword [rbp + 0x78], eax
call fcn.1400141c0
test al, al
jne 0x1400149d3
movaps xmm0, xmm8
movaps xmm11, xmm8
jmp 0x1400149de
movss xmm0, dword [rbp - 0x80]
movss xmm11, dword [rbp - 0x7c]
comiss xmm7, xmm8
jbe 0x140014f0b
comiss xmm0, xmm8
jbe 0x140014f0b
cmp byte [0x1400cad4f], r14b
movaps xmm9, xmm10
subss xmm9, xmm11
movaps xmm15, xmm11
subss xmm15, xmm10
divss xmm9, dword [0x1400ba35c]
je 0x140014b13
lea rcx, [0x1400cad78]
call fcn.14001b880
xorps xmm2, xmm2
lea rdx, str._.1f
cvtss2sd xmm2, xmm12
lea rcx, [rbp + 0x90]
mov ebx, eax
movq r8, xmm2
call fcn.140014fa0
call fcn.14001dcd0
movss xmm2, dword [0x1400ba344]
movaps xmm1, xmm9
movss xmm3, dword [0x1400ba3a0]
movaps xmm0, xmm7
mov rdx, rax
divss xmm1, xmm2
subss xmm0, xmm1
movaps xmm1, xmm11
subss xmm1, xmm3
movss dword [rbp + 0x1e0], xmm0
movss dword [rbp + 0x1e4], xmm1
test ebx, 0xff000000
je 0x140014b23
lea rcx, [rbp + 0x90]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r14b
jne 0x140014aa1
lea rcx, [rbp + 0x90]
add rcx, rax
lea rax, [rbp + 0x90]
cmp rax, rcx
je 0x140014b23
mov rax, qword [rdx + 0x38]
lea r9, [rbp + 0x1e0]
movups xmm0, xmmword [rdx + 0x88]
mov byte [rsp + 0x48], r14b
movss xmm2, dword [0x1400ba398]
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax + 8]
movups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x20], ebx
call fcn.14003fc30
movss xmm3, dword [0x1400ba3a0]
movss xmm2, dword [0x1400ba344]
cmp byte [0x1400cad52], r14b
je 0x140014c55
mov rax, qword [0x14011d300]
movaps xmm0, xmm9
divss xmm0, xmm2
mov dword [rsp + 0x50], 0xf9d5b5b6
mov edx, r14d
mov dword [rsp + 0x54], 0xeefcf1fa
mov r8, r14
mov dword [rsp + 0x58], 0xc4f1ebf2
movss xmm12, dword [rax + 0x10]
movaps xmm6, xmm7
movss xmm13, dword [rax + 0x14]
subss xmm6, xmm0
mov rax, qword [rax + 0x40b0]
subss xmm13, xmm3
movups xmm0, xmmword [0x1400cad88]
mulss xmm12, dword [0x1400ba2c4]
mov rcx, qword [rax]
xor eax, eax
movdqa xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x5c], al
nop dword [rax + rax]
lea eax, [rdx - 0x6b]
inc edx
xor byte [rsp + r8 + 0x50], al
movsxd r8, edx
cmp r8, 0xc
jb 0x140014ba0
lea r8, [rsp + 0x50]
mov byte [rsp + 0x5c], r14b
xor edx, edx
call fcn.14001db00
movss xmm1, dword [rsp + 0x64]
mov r10, rax
movss xmm0, dword [rsp + 0x60]
mov rcx, qword [0x14011d300]
movss dword [rbp - 0x6c], xmm1
movss xmm1, dword [rsp + 0x6c]
movss dword [rbp - 0x70], xmm0
mulss xmm1, dword [rcx + 0x37f8]
lea rcx, [rbp - 0x70]
movss xmm0, dword [rsp + 0x68]
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm1
movss dword [rbp + 0x1e8], xmm6
movss dword [rbp + 0x1ec], xmm10
movss dword [rbp - 0x30], xmm12
movss dword [rbp - 0x2c], xmm13
call fcn.14001b880
movss xmm0, dword [0x1400ba314]
lea r8, [rbp + 0x1e8]
mov r9d, eax
movss dword [rsp + 0x20], xmm0
lea rdx, [rbp - 0x30]
mov rcx, r10
call fcn.14003b720
movss xmm13, dword [rbp + 0x1d0]
cmp byte [0x1400cad4d], r14b
je 0x140014d5c
lea rcx, [0x1400cad58]
call fcn.14001b880
mov ebx, eax
call fcn.14001dcd0
movaps xmm6, xmm7
movss dword [rbp - 0x24], xmm11
addss xmm6, xmm9
movss dword [rbp - 0x1c], xmm11
subss xmm7, xmm9
mov r9d, ebx
movss xmm9, dword [0x1400ba32c]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x20]
movss dword [rsp + 0x20], xmm9
mov rcx, rax
movss dword [rbp - 0x28], xmm6
movss dword [rbp - 0x20], xmm7
call fcn.14003b720
call fcn.14001dcd0
mov r9d, ebx
movss dword [rbp - 0x18], xmm7
lea r8, [rbp - 0x18]
movss dword [rbp - 0x14], xmm11
lea rdx, [rbp - 0x10]
movss dword [rbp - 0x10], xmm7
mov rcx, rax
movss dword [rbp - 0xc], xmm10
movss dword [rsp + 0x20], xmm9
call fcn.14003b720
call fcn.14001dcd0
mov r9d, ebx
movss dword [rbp - 8], xmm6
lea r8, [rbp - 8]
movss dword [rbp - 4], xmm11
lea rdx, [rbp]
movss dword [rbp], xmm6
mov rcx, rax
movss dword [rbp + 4], xmm10
movss dword [rsp + 0x20], xmm9
call fcn.14003b720
call fcn.14001dcd0
mov r9d, ebx
movss dword [rbp + 8], xmm6
lea r8, [rbp + 8]
movss dword [rbp + 0xc], xmm10
lea rdx, [rbp + 0x10]
movss dword [rbp + 0x10], xmm7
mov rcx, rax
movss dword [rbp + 0x14], xmm10
movss dword [rsp + 0x20], xmm9
call fcn.14003b720
jmp 0x140014d61
subss xmm7, xmm9
cmp byte [0x1400cad51], r14b
je 0x140014f0b
movaps xmm9, xmm15
divss xmm9, dword [0x1400ba3c8]
call fcn.14001dcd0
lea rcx, [rsp + 0x60]
mov r10, rax
movaps xmm0, xmmword [0x1400ba7a0]
movaps xmm6, xmm7
subss xmm6, dword [0x1400ba378]
movss dword [rbp + 0x1c], xmm11
movss dword [rbp + 0x24], xmm10
movups xmmword [rsp + 0x60], xmm0
movss dword [rbp + 0x18], xmm6
movss dword [rbp + 0x20], xmm6
call fcn.14001b880
movss xmm0, dword [0x1400ba340]
lea r8, [rbp + 0x18]
mov r9d, eax
movss dword [rsp + 0x20], xmm0
lea rdx, [rbp + 0x20]
mov rcx, r10
call fcn.14003b720
call fcn.14001dcd0
mulss xmm14, dword [0x1400ba3c8]
lea rcx, [rsp + 0x60]
mov r10, rax
movaps xmm0, xmmword [0x1400ba7e0]
movaps xmm12, xmm11
subss xmm12, xmm15
movss dword [rbp + 0x28], xmm6
divss xmm14, dword [rbp + 0x1d8]
movss dword [rbp + 0x30], xmm6
mulss xmm14, xmm9
movss dword [rbp + 0x34], xmm10
movups xmmword [rsp + 0x60], xmm0
addss xmm14, xmm12
movss dword [rbp + 0x2c], xmm14
call fcn.14001b880
movss xmm6, dword [0x1400ba340]
lea rdx, [rbp + 0x30]
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea r8, [rbp + 0x28]
mov rcx, r10
call fcn.14003b720
comiss xmm13, xmm8
jbe 0x140014f0b
call fcn.14001dcd0
subss xmm7, dword [0x1400ba388]
movaps xmm0, xmmword [0x1400ba7a0]
lea rcx, [rsp + 0x60]
movss dword [rbp + 0x3c], xmm11
mov r10, rax
movss dword [rbp + 0x44], xmm10
movups xmmword [rsp + 0x60], xmm0
movss dword [rbp + 0x38], xmm7
movss dword [rbp + 0x40], xmm7
call fcn.14001b880
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea rdx, [rbp + 0x40]
mov rcx, r10
lea r8, [rbp + 0x38]
call fcn.14003b720
call fcn.14001dcd0
movaps xmm0, xmmword [0x1400ba9b0]
lea rcx, [rsp + 0x60]
mulss xmm9, xmm13
mov r10, rax
movss dword [rbp + 0x48], xmm7
movss dword [rbp + 0x50], xmm7
addss xmm9, xmm12
movss dword [rbp + 0x54], xmm10
movups xmmword [rsp + 0x60], xmm0
movss dword [rbp + 0x4c], xmm9
call fcn.14001b880
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea rdx, [rbp + 0x50]
mov rcx, r10
lea r8, [rbp + 0x48]
call fcn.14003b720
inc edi
cmp edi, 0x400
jl 0x140014800
movaps xmm15, xmmword [rsp + 0x200]
movaps xmm14, xmmword [rsp + 0x210]
movaps xmm13, xmmword [rsp + 0x220]
movaps xmm12, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm10, xmmword [rsp + 0x250]
mov rsi, qword [rsp + 0x2b0]
movaps xmm7, xmmword [rsp + 0x280]
movaps xmm6, xmmword [rsp + 0x290]
mov r14, qword [rsp + 0x2a0]
mov rdi, qword [rsp + 0x2a8]
movaps xmm8, xmmword [rsp + 0x270]
mov rbx, qword [rsp + 0x2b8]
movaps xmm9, xmmword [rsp + 0x260]
add rsp, 0x2c0
pop rbp
ret