Function at 0x14010ede0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0xb0
mov r10d, r8d
lea rax, [0x1401a3540]
xor r9d, r9d
shl r10d, 9
movaps xmmword [rsp + 0x40], xmm10
mov rsi, rdx
xorps xmm10, xmm10
add r10, rax
mov rbx, rcx
mov dword [rsp + 0xe0], 0
mov qword [rcx + 0xc8], r10
mov r14d, dword [rcx + 0xe8]
xor r10d, r10d
test r14d, r14d
je 0x14010eea1
mov ebp, dword [rcx + 0xec]
test ebp, ebp
je 0x14010ee7c
mov r11d, dword [rbx + 0xf8]
mov rdi, qword [rbx + 0xd8]
mov ecx, r9d
mov r8, rbp
nop word [rax + rax]
mov eax, ecx
mov eax, dword [rdi + rax*4]
cdq
xor eax, edx
sub eax, edx
cmp r10d, eax
cmovg eax, r10d
add ecx, r11d
mov r10d, eax
dec r8
jne 0x14010ee60
inc r9d
cmp r9d, r14d
jb 0x14010ee42
test r10d, r10d
je 0x14010eea1
xor eax, eax
cmp r10d, 1
jle 0x14010ee9c
sar r10d, 1
inc eax
cmp r10d, 1
jg 0x14010ee91
add eax, 0xfffffffb
jmp 0x14010eea3
xor eax, eax
mov dword [rsi + 0x28], eax
test eax, eax
jne 0x14010eeb2
mov dword [rsi + 0x3c], eax
jmp 0x14010f287
mov rcx, rbx
lea ebp, [rax - 1]
mov r14d, 2
call fcn.140110dd0
lea r9d, [r14 + 0x2c]
lea edx, [r14 + 0x10]
xor r8d, r8d
mov rcx, rbx
call fcn.140110f20
lea r9d, [r14 + 1]
lea edx, [r14 + 0xf]
xor r8d, r8d
mov rcx, rbx
call fcn.140110f20
lea r9d, [r14 + 2]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140110f20
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.140110c50
xor edx, edx
mov dword [rsp + 0x30], edx
test ebp, ebp
js 0x14010f1ec
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x98], r15
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm7
movsd xmm7, qword [0x140161178]
mov r15d, dword [rsp + 0x118]
mov ecx, ebp
mov eax, 1
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x50], xmm9
movsd xmm8, qword [rsp + 0x110]
movsd xmm9, qword [0x1401a4430]
rol eax, cl
mov dword [rsp + 0xe8], eax
mov eax, r15d
and eax, r14d
mov dword [rsp + 0x34], eax
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsi + 0x28]
mov r12, qword [rsi + 0x10]
lea r13, [rdx + rdx*2]
sub eax, 4
cmp ebp, eax
jge 0x14010efb3
cmp r14d, 2
jae 0x14010efb3
test r15b, 1
je 0x14010efb3
mov dil, 1
jmp 0x14010efb6
xor dil, dil
test edx, edx
je 0x14010efde
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
test byte [r12 + rax*8 + 0x14], 1
je 0x14010efde
mov rcx, rbx
cmp dil, 1
jne 0x14010efd9
call fcn.1401107f0
jmp 0x14010efde
call fcn.140110e20
mov eax, r14d
test r14d, r14d
je 0x14010f02b
dec eax
je 0x14010f013
dec eax
jne 0x14010f046
lea r8, [rsp + 0xe0]
mov r9d, r15d
mov edx, ebp
mov rcx, rbx
call fcn.14010d610
test r15b, 0x20
je 0x14010f046
mov rcx, rbx
call fcn.140110e50
jmp 0x14010f046
lea r8, [rsp + 0xe0]
movzx r9d, dil
mov edx, ebp
mov rcx, rbx
call fcn.14010dbc0
jmp 0x14010f046
lea r8, [rsp + 0xe0]
movzx r9d, dil
mov edx, ebp
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.14010e220
mov rcx, qword [rsp + 0x130]
movaps xmm6, xmm7
test rcx, rcx
je 0x14010f06b
mov eax, dword [rsp + 0xf8]
cmp eax, dword [rsp + 0x138]
jae 0x14010f06b
movsd xmm6, qword [rcx + rax*8]
cmp dword [rsp + 0x108], 1
mov edx, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0x100]
jne 0x14010f08a
call fcn.1400f98d0
jmp 0x14010f08f
call fcn.1400f9910
mov rax, qword [rsp + 0x128]
movd xmm1, dword [rsp + 0xe0]
movaps xmm2, xmm0
movd xmm0, dword [rsp + 0xe8]
mulsd xmm2, xmm6
mulsd xmm2, xmm8
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm2, xmm0
mulsd xmm1, xmm2
mulsd xmm1, xmm9
mulsd xmm1, xmm2
addsd xmm10, xmm1
addsd xmm1, qword [rax + 0x28]
movsd qword [rax + 0x28], xmm1
movsd qword [r12 + r13*8 + 8], xmm10
cmp r14d, 2
jne 0x14010f0ee
test ebp, ebp
je 0x14010f142
test r15b, 4
jne 0x14010f142
test r15b, 1
je 0x14010f113
mov eax, dword [rsi + 0x28]
add eax, 0xfffffffc
cmp ebp, eax
jne 0x14010f10c
cmp r14d, 2
je 0x14010f142
cmp ebp, eax
jge 0x14010f113
test r14d, r14d
jne 0x14010f142
cmp dil, 1
jne 0x14010f12b
mov edx, r15d
mov rcx, rbx
and edx, 0x10
call fcn.1401107c0
mov edi, eax
jmp 0x14010f130
mov edi, 3
and dword [r12 + r13*8 + 0x14], 0xfffffffe
mov rcx, rbx
call fcn.140110c80
add eax, edi
jmp 0x14010f178
mov rcx, rbx
cmp dil, 1
jne 0x14010f158
mov edx, r15d
and edx, 0x10
call fcn.140110730
jmp 0x14010f16a
test r15b, 0x10
je 0x14010f165
call fcn.140110a20
jmp 0x14010f16a
call fcn.140110b00
or dword [r12 + r13*8 + 0x14], 1
mov rcx, rbx
call fcn.140110c80
inc r14d
mov dword [r12 + r13*8], eax
cmp r14d, 3
jne 0x14010f19a
mov edi, dword [rsp + 0xe8]
xor r14d, r14d
dec ebp
ror edi, 1
mov dword [rsp + 0xe8], edi
cmp dword [rsp + 0x34], 0
je 0x14010f1a9
mov rcx, rbx
call fcn.140110d60
mov edx, dword [rsp + 0x30]
inc edx
mov dword [rsp + 0x30], edx
test ebp, ebp
jns 0x14010ef90
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
mov r15, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
movaps xmm6, xmmword [rsp + 0x80]
mov dword [rsi + 0x3c], edx
test edx, edx
je 0x14010f231
mov rcx, rbx
call fcn.140110c80
mov r8d, dword [rsi + 0x3c]
test r8d, r8d
je 0x14010f231
lea rdx, [r8 + r8*2]
shl rdx, 3
nop dword [rax]
mov rcx, qword [rsi + 0x10]
lea rdx, [rdx - 0x18]
dec r8d
mov r9d, dword [rdx + rcx]
cmp r9d, eax
jbe 0x14010f229
mov dword [rdx + rcx], eax
jmp 0x14010f22c
mov eax, r9d
test r8d, r8d
jne 0x14010f210
xor r8d, r8d
cmp dword [rsi + 0x3c], r8d
jbe 0x14010f287
nop word [rax + rax]
mov r10, qword [rsi + 0x10]
mov rax, qword [rsi]
lea r9, [r8 + r8*2]
mov edx, dword [r10 + r9*8]
dec edx
cmp byte [rdx + rax], 0xff
jne 0x14010f25b
mov dword [r10 + r9*8], edx
test r8d, r8d
jne 0x14010f264
xor ecx, ecx
jmp 0x14010f273
lea eax, [r8 - 1]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x10]
mov ecx, dword [rax + rdx*8]
mov eax, dword [r10 + r9*8]
inc r8d
sub eax, ecx
mov dword [r10 + r9*8 + 0x10], eax
cmp r8d, dword [rsi + 0x3c]
jb 0x14010f240
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0xb0
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret