Function at 0x14000e850
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
lea rbp, [r11 - 0x58]
sub rsp, 0x138
mov rax, qword [0x140067010]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov rsi, qword [0x1400694a0]
mov qword [r11 + 8], r12
mov qword [r11 + 0x10], r13
mov qword [r11 + 0x18], r14
mov eax, dword [rsi + 0x1c90]
movaps xmmword [r11 - 0x68], xmm9
movaps xmmword [r11 - 0x78], xmm10
movaps xmmword [r11 - 0x88], xmm11
cmp dword [rsi + 0x1c94], eax
je 0x14000e8ae
call fcn.14000e2e0
mov eax, dword [rsi + 0x1c90]
xor ebx, ebx
mov dword [rsi + 0x1c9c], eax
mov edi, ebx
mov dword [rsi + 0x3a8], ebx
cmp dword [rsi + 0x3240], ebx
jle 0x14000e8ff
mov r14d, ebx
nop dword [rax]
mov rax, qword [rsi + 0x3248]
cmp dword [rax + r14 + 4], 4
jne 0x14000e8f1
movsxd rdx, edi
mov rcx, rsi
shl rdx, 5
add rdx, rax
call qword [rax + r14 + 0x10]
inc edi
add r14, 0x20
cmp edi, dword [rsi + 0x3240]
jl 0x14000e8d0
mov r12d, ebx
mov qword [rsp + 0x130], r15
mov r13d, 2
cmp dword [rsi + 0x1ef0], ebx
je 0x14000ea67
mov rcx, rbx
mov qword [rsp + 0x70], rbx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi + 0x1ef8]
mov r14d, 2
mov r13, qword [rcx + rax]
lea r15, [r13 + 0xe0]
mov rdi, r15
nop dword [rax + rax]
mov ecx, dword [rdi + 4]
test ecx, ecx
jns 0x14000e96f
mov eax, ecx
cdq
sub eax, edx
mov edx, ebx
sar eax, 1
add eax, ecx
mov rcx, rdi
test eax, eax
cmovg edx, eax
call fcn.1400277f0
mov dword [rdi], ebx
add rdi, 0x10
sub r14, 1
jne 0x14000e950
cmp qword [r13 + 0x98], rbx
je 0x14000ea43
mov dword [rsp + 0x50], 0xfad8babb
mov rdx, rbx
mov dword [rsp + 0x54], 0xedf9f6ff
mov dword [rsp + 0x58], 0xc7ccd4cf
mov word [rsp + 0x5c], 0x100
nop word [rax + rax]
lea eax, [rdx - 0x68]
xor byte [rsp + rdx + 0x50], al
inc rdx
cmp rdx, 0xc
jb 0x14000e9b0
lea r8, [rsp + 0x50]
mov byte [rsp + 0x5d], bl
xor edx, edx
mov rcx, r13
call fcn.14000a2c0
mov rdi, rax
movsxd rcx, dword [rax]
test ecx, ecx
je 0x14000ea43
imul rdx, rcx, 0x38
lea eax, [rcx - 1]
mov rcx, qword [rdi + 8]
cmp dword [rdx + rcx - 0x18], ebx
jne 0x14000e9fd
cmp qword [rdx + rcx - 0x10], rbx
jne 0x14000e9fd
mov dword [rdi], eax
mov ecx, eax
test eax, eax
je 0x14000ea43
mov ecx, dword [r15 + 4]
mov eax, dword [r15]
cmp eax, ecx
jne 0x14000ea35
lea r8d, [rax + 1]
test ecx, ecx
je 0x14000ea1b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14000ea20
mov eax, 8
cmp eax, r8d
mov rcx, r15
cmovg r8d, eax
mov edx, r8d
call fcn.1400277f0
mov eax, dword [r15]
movsxd rcx, eax
mov rax, qword [r15 + 8]
mov qword [rax + rcx*8], rdi
inc dword [r15]
mov rcx, qword [rsp + 0x70]
inc r12d
add rcx, 8
mov qword [rsp + 0x70], rcx
cmp r12d, dword [rsi + 0x1ef0]
jne 0x14000e930
mov r13d, 2
mov rax, qword [rsi + 0x2080]
test rax, rax
je 0x14000ea91
test dword [rax + 0xc], 0x2000
jne 0x14000ea91
mov r15, qword [rax + 0x3d8]
mov r12, qword [rsi + 0x2090]
mov qword [rsp + 0x40], r15
jmp 0x14000eaaa
mov qword [rsp + 0x40], rbx
mov r15, rbx
test rax, rax
je 0x14000eaa7
mov r12, qword [rsi + 0x2090]
jmp 0x14000eaaa
mov r12, rbx
mov edi, ebx
mov qword [rsp + 0x48], r12
cmp dword [rsi + 0x1cb8], ebx
je 0x14000eb07
mov r14, rbx
nop dword [rax]
mov rax, qword [rsi + 0x1cc0]
mov rcx, qword [r14 + rax]
cmp byte [rcx + 0xcf], bl
je 0x14000eaf9
cmp byte [rcx + 0xd6], bl
jne 0x14000eaf9
mov edx, dword [rcx + 0xc]
bt edx, 0x18
jb 0x14000eaf9
cmp rcx, r15
je 0x14000eaf9
cmp rcx, r12
je 0x14000eaf9
shr edx, 0x19
and edx, 1
call fcn.14000dae0
inc edi
add r14, 8
cmp edi, dword [rsi + 0x1cb8]
jne 0x14000eac0
lea rdi, [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000eb36
cmp byte [rcx + 0xcf], bl
je 0x14000eb36
cmp byte [rcx + 0xd6], bl
jne 0x14000eb36
mov edx, dword [rcx + 0xc]
shr edx, 0x19
and edx, 1
call fcn.14000dae0
add rdi, 8
sub r13, 1
jne 0x14000eb10
xorps xmm9, xmm9
lea rdi, [rbp - 0x68]
xorps xmm11, xmm11
lea r14d, [r13 + 4]
xorps xmm10, xmm10
mov rcx, rdi
call fcn.140005e40
add rdi, 8
sub r14, 1
jne 0x14000eb54
cmp byte [rsi + 0xcf], bl
je 0x14000ec6b
movsxd rax, dword [rsi + 0x20d0]
cmp eax, 0xffffffff
je 0x14000ec6b
cmp eax, 8
ja 0x14000ec6b
mov r8, qword [rsi + 0xa8]
test byte [r8], 2
jne 0x14000ec6b
movsxd rcx, dword [r8 + 0x484]
lea rdx, [rax + rax*2]
lea r9, [0x140067140]
shl rcx, 5
add rcx, qword [r8 + 0x60]
movss xmm10, dword [r9 + rdx*8 + 8]
movss xmm11, dword [r9 + rdx*8 + 0xc]
movaps xmm2, xmm11
movzx eax, word [rcx + 4]
movd xmm4, eax
movzx eax, word [rcx + 6]
cvtdq2ps xmm4, xmm4
movd xmm3, eax
addss xmm4, dword [r9 + rdx*8]
cvtdq2ps xmm3, xmm3
movaps xmm1, xmm4
mulss xmm1, dword [r8 + 0x38]
addss xmm3, dword [r9 + rdx*8 + 4]
movaps xmm0, xmm3
addss xmm2, xmm3
mulss xmm0, dword [r8 + 0x3c]
movss dword [rbp - 0x68], xmm1
movaps xmm1, xmm10
addss xmm1, xmm4
addss xmm4, dword [0x14005b994]
movss dword [rbp - 0x64], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [r8 + 0x3c]
mulss xmm1, dword [r8 + 0x38]
movss dword [rbp - 0x5c], xmm0
movaps xmm0, xmm4
movss dword [rbp - 0x60], xmm1
mulss xmm0, dword [r8 + 0x38]
mulss xmm3, dword [r8 + 0x3c]
movss dword [rbp - 0x58], xmm0
movaps xmm0, xmm10
addss xmm0, xmm4
movss dword [rbp - 0x54], xmm3
mulss xmm2, dword [r8 + 0x3c]
mulss xmm0, dword [r8 + 0x38]
movss dword [rbp - 0x4c], xmm2
movss dword [rbp - 0x50], xmm0
mov qword [rsi + 0x3a0], rbx
mov dword [rsp + 0x70], ebx
cmp dword [rsi + 0x1ef0], ebx
jle 0x14000f028
movaps xmmword [rsp + 0xc0], xmm12
mov rcx, rbx
movss xmm12, dword [0x14005b93c]
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm8
mov qword [rbp - 0x78], rbx
mov rax, qword [rsi + 0x1ef8]
mov r14, qword [rcx + rax]
lea rdi, [r14 + 0xe0]
movsxd r13, dword [rdi]
mov r12d, dword [rdi + 0x10]
mov ecx, dword [rdi + 4]
add r12d, r13d
cmp r12d, ecx
jle 0x14000ecfd
test ecx, ecx
je 0x14000ece7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14000ecec
mov eax, 8
cmp eax, r12d
mov edx, r12d
mov rcx, rdi
cmovg edx, eax
call fcn.1400277f0
mov dword [rdi], r12d
movsxd rax, dword [rdi + 0x10]
test eax, eax
je 0x14000ed43
mov rdx, qword [rdi + 0x18]
mov r8, rax
mov rax, qword [rdi + 8]
shl r8, 3
lea rcx, [rax + r13*8]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rdi + 0x14]
test ecx, ecx
jns 0x14000ed40
mov eax, ecx
cdq
sub eax, edx
mov edx, ebx
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x10]
test eax, eax
cmovg edx, eax
call fcn.1400277f0
mov dword [rdi + 0x10], ebx
comiss xmm10, xmm9
jbe 0x14000ee49
comiss xmm11, xmm9
jbe 0x14000ee49
movss xmm5, dword [rsi + 0x124]
movaps xmm2, xmm10
movss xmm6, dword [rsi + 0x16ec]
addss xmm2, xmm12
mulss xmm6, dword [r14 + 0x28]
movaps xmm1, xmm11
movss xmm7, dword [r14 + 0xc]
addss xmm1, xmm12
movss xmm8, dword [r14 + 8]
movaps xmm0, xmm7
addss xmm0, dword [r14 + 0x14]
movss xmm3, dword [rsi + 0x120]
movaps xmm4, xmm8
addss xmm4, dword [r14 + 0x10]
mulss xmm2, xmm6
comiss xmm0, xmm5
mulss xmm1, xmm6
addss xmm2, xmm3
addss xmm1, xmm5
jbe 0x14000ee49
comiss xmm1, xmm7
jbe 0x14000ee49
comiss xmm4, xmm3
jbe 0x14000ee49
comiss xmm2, xmm8
jbe 0x14000ee49
mov r15d, dword [rsi + 0x20d0]
mov rcx, rbx
movss dword [rsp + 0x78], xmm3
movss dword [rsp + 0x7c], xmm5
mov dword [rsp + 0x60], 0xf4dcbabb
mov dword [rsp + 0x64], 0xedf9f8ee
mov dword [rsp + 0x68], 0xc7ccd4cf
mov word [rsp + 0x6c], 0x100
nop dword [rax + rax]
lea eax, [rcx - 0x68]
xor byte [rsp + rcx + 0x60], al
inc rcx
cmp rcx, 0xc
jb 0x14000ee10
lea r8, [rsp + 0x60]
mov byte [rsp + 0x6d], bl
mov edx, 1
mov rcx, r14
call fcn.14000a2c0
mov rdx, qword [rsp + 0x78]
mov r9d, r15d
movaps xmm2, xmm6
mov rcx, rax
call fcn.140036f20
cmp qword [r14 + 0xa0], rbx
je 0x14000ef13
mov dword [rsp + 0x40], 0xf4dcbabb
mov rcx, rbx
mov dword [rsp + 0x44], 0xedf9f8ee
mov dword [rsp + 0x48], 0xc7ccd4cf
mov word [rsp + 0x4c], 0x100
nop dword [rax + rax]
lea eax, [rcx - 0x68]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xc
jb 0x14000ee80
lea r8, [rsp + 0x40]
mov byte [rsp + 0x4d], bl
mov edx, 1
mov rcx, r14
call fcn.14000a2c0
mov r15, rax
movsxd rcx, dword [rax]
test ecx, ecx
je 0x14000ef13
imul rdx, rcx, 0x38
lea eax, [rcx - 1]
mov rcx, qword [r15 + 8]
cmp dword [rdx + rcx - 0x18], ebx
jne 0x14000eed1
cmp qword [rdx + rcx - 0x10], rbx
jne 0x14000eed1
mov dword [r15], eax
mov ecx, eax
test eax, eax
je 0x14000ef13
mov ecx, dword [rdi + 4]
mov eax, dword [rdi]
cmp eax, ecx
jne 0x14000ef06
lea r8d, [rax + 1]
test ecx, ecx
je 0x14000eeed
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14000eef2
mov eax, 8
cmp eax, r8d
mov rcx, rdi
cmovg r8d, eax
mov edx, r8d
call fcn.1400277f0
mov eax, dword [rdi]
movsxd rcx, eax
mov rax, qword [rdi + 8]
mov qword [rax + rcx*8], r15
inc dword [rdi]
mov ecx, dword [r14 + 4]
lea rdx, [r14 + 0xa8]
mov r8, qword [0x1400694a0]
shr ecx, 0xa
mov qword [r14 + 0x30], rdx
and cl, 1
mov byte [rdx], 1
cmp dword [rdi], ebx
jle 0x14000ef3c
mov rax, qword [rdi + 8]
jmp 0x14000ef3f
mov rax, rbx
mov qword [rdx + 0x10], rax
mov eax, dword [rdi]
mov dword [rdx + 4], eax
mov qword [rdx + 8], rbx
movsd xmm0, qword [r14 + 8]
movsd qword [rdx + 0x18], xmm0
test cl, cl
je 0x14000ef65
mov qword [rbp - 0x80], rbx
lea rax, [rbp - 0x80]
jmp 0x14000ef74
movsd xmm0, qword [r14 + 0x10]
lea rax, [rbp - 0x70]
movsd qword [rbp - 0x70], xmm0
movsd xmm0, qword [rax]
mov r11d, ebx
movsd qword [rdx + 0x20], xmm0
movsd xmm1, qword [r8 + 0xc0]
movsd qword [rdx + 0x28], xmm1
mov qword [rdx + 0x30], r14
cmp dword [rdi], ebx
jle 0x14000efce
mov r9d, ebx
mov r10d, ebx
mov r8, rbx
nop
mov rax, qword [rdi + 8]
lea r8, [r8 + 8]
inc r11d
mov rcx, qword [r8 + rax - 8]
add r10d, dword [rcx + 0x20]
mov dword [rdx + 0xc], r10d
mov rax, qword [rdi + 8]
mov rcx, qword [r8 + rax - 8]
add r9d, dword [rcx + 0x10]
mov dword [rdx + 8], r9d
cmp r11d, dword [rdi]
jl 0x14000efa0
mov rcx, qword [r14 + 0x30]
mov edx, dword [rsp + 0x70]
inc edx
mov dword [rsp + 0x70], edx
mov eax, dword [rcx + 0xc]
add dword [rsi + 0x3a0], eax
mov eax, dword [rcx + 8]
mov rcx, qword [rbp - 0x78]
add dword [rsi + 0x3a4], eax
add rcx, 8
mov qword [rbp - 0x78], rcx
cmp edx, dword [rsi + 0x1ef0]
jl 0x14000ecb4
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
mov r15, qword [rsp + 0x130]
mov r14, qword [rsp + 0x170]
mov r13, qword [rsp + 0x168]
mov r12, qword [rsp + 0x160]
cmp dword [rsi + 0x3240], ebx
jle 0x14000f09d
mov rdi, rbx
nop
mov rax, qword [rsi + 0x3248]
cmp dword [rax + rdi + 4], 5
jne 0x14000f08f
movsxd rdx, ebx
mov rcx, rsi
shl rdx, 5
add rdx, rax
call qword [rax + rdi + 0x10]
inc ebx
add rdi, 0x20
cmp ebx, dword [rsi + 0x3240]
jl 0x14000f070
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.140052570
add rsp, 0x138
pop rdi
pop rsi
pop rbx
pop rbp
ret