Function at 0x14010e6d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x238]
sub rsp, 0x310
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov r13, rcx
xor r14d, r14d
mov dword [rbp + 0x248], r14d
call fcn.14008e7c0
mov r8, rax
mov dword [rsp + 0x30], 0x888996b1
mov dword [rsp + 0x34], 0x9b8d8989
mov dword [rsp + 0x38], 0x998586b9
mov word [rsp + 0x3c], 0x8b
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x1e]
xor byte [rsp + rcx + 0x30], al
inc edx
cmp edx, 0xd
jb 0x14010e750
mov byte [rsp + 0x3d], r14b
lea rdx, [rsp + 0x30]
mov rcx, r8
call fcn.14008cd80
mov r12d, eax
cmp eax, 0xffffffff
je 0x14010ee75
xorps xmm8, xmm8
xorps xmm1, xmm1
mov ecx, eax
call fcn.140103b10
test al, al
je 0x14010ee75
call fcn.14008e7c0
mov rbx, rax
mov rcx, rax
call fcn.14008bca0
test al, al
jne 0x14010ee75
mov rcx, rbx
call fcn.14008bd30
test al, al
jne 0x14010ee75
movsd xmm0, qword [0x1404df708]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x1404df710]
mov dword [rsp + 0x68], eax
lea r9, [rsp + 0x60]
mov r8d, 1
movss xmm1, dword [0x14030f608]
lea rcx, [rbp - 0x28]
call fcn.1400c68e0
nop
mov rsi, qword [rbp - 0x28]
mov r15, qword [rbp - 0x20]
cmp rsi, r15
je 0x14010ea46
movss xmm9, dword [0x14030f800]
movss xmm10, dword [0x14030f660]
mov rbx, qword [rsi]
mov rcx, rbx
call fcn.1400881d0
movaps xmm6, xmm0
call fcn.14010e5f0
comiss xmm0, xmm6
jb 0x14010ea39
lea rcx, [rsp + 0x30]
call fcn.1401f3f30
movsd xmm0, qword [rax]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x68], eax
lea r9, [rsp + 0x60]
movaps xmm1, xmm9
mov rcx, rbx
call fcn.14008c500
test al, al
je 0x14010ea39
mov rcx, rbx
call fcn.14008b870
test al, al
jne 0x14010e8e0
mov rax, qword [r13 + 0x50]
cmp byte [rax + 0x108], 0
je 0x14010e8c6
lea rcx, [rbp - 0x50]
call fcn.1401f3f30
movsd xmm0, qword [rax]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [rax + 8]
mov dword [rbp - 0x68], eax
lea r9, [rbp - 0x70]
mov r8d, 1
movaps xmm1, xmm10
lea rcx, [rbp - 0x40]
call fcn.1400c8b30
or r14d, 1
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 3
xor eax, eax
test rcx, rcx
setne al
jmp 0x14010e8cb
mov eax, 1
test eax, eax
je 0x14010e8db
mov rcx, rbx
call fcn.14008b7f0
test al, al
jne 0x14010e8e0
xor dil, dil
jmp 0x14010e8e3
mov dil, 1
test r14b, 1
je 0x14010e8f6
and r14d, 0xfffffffe
lea rcx, [rbp - 0x40]
call fcn.140023e80
test dil, dil
je 0x14010ea39
lea rdx, [rbx + 0x280]
test rdx, rdx
je 0x14010e94d
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], 0
mov r9d, 0xc
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x14010eb60
call fcn.1401f46d0
test eax, eax
jns 0x14010eb6e
lea rcx, [rsp + 0x70]
call fcn.1401f3f30
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.1400c2b00
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x78], eax
lea rcx, [rbp - 0x80]
call fcn.1400c2230
test al, al
jne 0x14010ea39
movss xmm7, dword [rsp + 0x50]
ucomiss xmm7, xmm8
jp 0x14010e99b
je 0x14010ea39
movss xmm6, dword [rsp + 0x54]
ucomiss xmm6, xmm8
jp 0x14010e9ad
je 0x14010ea39
call fcn.140082ee0
subss xmm0, dword [0x1404ddeb0]
comiss xmm0, dword [0x140430e10]
jbe 0x14010ea39
lea rcx, [0x1404decd0]
call 0x140740f7f
int3
add rsi, 8
cmp rsi, r15
jne 0x14010e815
movaps xmm1, xmm8
mov ecx, r12d
call fcn.140103b10
test al, al
je 0x14010ee6c
mov rax, qword [r13 + 0x48]
cmp byte [rax + 0x108], 0
je 0x14010ee6c
mov rsi, qword [0x1404df7b0]
mov r14, qword [0x1404df7b8]
cmp rsi, r14
je 0x14010ee6c
movabs r13, 0xb04cd66925165980
movss xmm6, dword [0x14030f5ec]
movsd xmm7, qword [0x14030f1f8]
movsd xmm8, qword [0x14030f258]
nop word [rax + rax]
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.1400904e0
nop
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x14010ee2c
cmp dword [0x1404ded54], 1
jne 0x14010ee2c
call fcn.14008e7c0
lea ecx, [r12*8]
movsxd rcx, ecx
add rax, 0x3108
add rcx, rax
call fcn.140082c90
mov rcx, rax
call fcn.140081c20
mov rbx, rax
mov r8d, 0x1000
mov rcx, rdi
call fcn.14008bb10
test al, al
je 0x14010ec39
call fcn.14008e7c0
lea rdx, [rax + 0x280]
test rdx, rdx
je 0x14010eba5
lea rcx, [rsp + 0x50]
call fcn.1401f3f30
xor r15d, r15d
lea r9d, [r15 + 0xc]
lea r8, [rsp + 0x50]
mov rcx, qword [0x1404dded0]
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], r15b
jne 0x14010eb87
call fcn.1401f46d0
test eax, eax
jns 0x14010eb91
jmp 0x14010eba8
call 0x140c2f4d0
int3
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x78], eax
jmp 0x14010e957
call 0x140800113
int3
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x68], eax
jmp 0x14010ebb1
xor r15d, r15d
lea rcx, [rbp - 0x70]
call fcn.1401f3f30
lea rdx, [rdi + 0x280]
test rdx, rdx
je 0x14010ebfb
lea rcx, [rsp + 0x40]
call fcn.1401f3f30
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rsp + 0x40]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x14010ec97
call fcn.1401f46d0
test eax, eax
jns 0x14010eca5
lea rcx, [rbp - 0x60]
call fcn.1401f3f30
mov eax, dword [rbp - 0x58]
movsd xmm0, qword [rbp - 0x60]
movsd qword [rbp - 0x50], xmm0
mov dword [rbp - 0x48], eax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x70]
call fcn.1401f4220
comiss xmm6, xmm0
jb 0x14010ec39
cmp rbx, r13
jne 0x14010ec39
xor r8d, r8d
mov rdx, rdi
mov ecx, r12d
call fcn.140108110
mov r8d, 0x1000
mov rcx, rdi
call fcn.14008bb10
test al, al
je 0x14010ee2c
call fcn.14008e7c0
lea rdx, [rax + 0x280]
test rdx, rdx
je 0x14010ecda
lea rcx, [rbp - 0x40]
call fcn.1401f3f30
xor r15d, r15d
lea r9d, [r15 + 0xc]
lea r8, [rbp - 0x40]
mov rcx, qword [0x1404dded0]
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], r15b
jne 0x14010ecbc
call fcn.1401f46d0
test eax, eax
jns 0x14010ecc6
jmp 0x14010ecdd
call 0x1409d1f21
int3
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbp - 0x60], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x58], eax
jmp 0x14010ec0c
call 0x1408b0771
int3
movsd xmm0, qword [rbp - 0x40]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rbp - 0x38]
mov dword [rsp + 0x68], eax
jmp 0x14010ece7
xor r15d, r15d
lea rcx, [rsp + 0x60]
call fcn.1401f3f30
lea rdx, [rdi + 0x280]
test rdx, rdx
je 0x14010ed2f
lea rcx, [rbp - 0x80]
call fcn.1401f3f30
mov qword [rsp + 0x20], r15
mov r9d, 0xc
lea r8, [rbp - 0x80]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x14010edbf
call fcn.1401f46d0
test eax, eax
jns 0x14010edcd
lea rcx, [rsp + 0x70]
call fcn.1401f3f30
mov eax, dword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.1401f4220
comiss xmm6, xmm0
jb 0x14010ee2c
movabs rax, 0xdd99c4dafcc858fd
cmp rbx, rax
jne 0x14010ee2c
call fcn.14008e7c0
lea rdx, [rax + 0x4048]
test rdx, rdx
je 0x14010edf4
mov qword [rsp + 0x20], r15
mov r9d, 4
lea r8, [rbp + 0x248]
mov rcx, qword [0x1404dded0]
mov rcx, qword [rcx]
cmp byte [0x1404dcc79], 0
jne 0x14010ede4
call fcn.1401f46d0
test eax, eax
js 0x14010edf4
mov ebx, dword [rbp + 0x248]
jmp 0x14010edf7
push rbx
call 0x1407c6b04
test eax, eax
je 0x14010ed2f
movsd xmm0, qword [rbp - 0x80]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x78], eax
jmp 0x14010ed43
call 0x140c42c48
int3
mov ebx, r15d
mov rcx, rdi
call fcn.1400881d0
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm7
addsd xmm1, xmm8
comisd xmm1, xmm2
jb 0x14010ee2c
xor r8d, r8d
mov rdx, rdi
mov ecx, r12d
call fcn.140108110
nop
lea rcx, [rbp + 0x170]
call fcn.1400166a0
lea rcx, [rbp + 0x150]
call fcn.1400166a0
lea rcx, [rbp + 0xb0]
call fcn.1400166a0
lea rcx, [rbp + 0x90]
call fcn.140029210
add rsi, 0x1d0
cmp rsi, r14
jne 0x14010eab0
lea rcx, [rbp - 0x28]
call fcn.140023e80
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret