Function at 0x1801260d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xa0], rbx
movaps xmmword [rbp + 0x50], xmm6
mov rax, qword [0x18025cbc0]
xor rax, rbp
mov qword [rbp + 0x48], rax
movsxd r13, dword [rbp + 0xc0]
mov r15, rdx
mov r12, qword [rbp + 0xc8]
mov dword [rbp], r9d
mov qword [rbp + 8], r8
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], r12
test r13b, 3
je 0x180126149
mov r8d, 0xda
lea rdx, str.D:_aMilodyMilodyextopusceltcelt_lpc.c
lea rcx, str.assertion_failed:__ord3_0
call fcn.18011ba50
mov r9d, dword [rbp]
lea rax, [r13*4]
mov rbx, r13
lea rcx, [rax + 0xf]
movabs rdx, 0xffffffffffffff0
cmp rcx, rax
ja 0x18012616a
mov rcx, rdx
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1801518f0
sub rsp, rcx
lea eax, [r9 + r13]
movsxd rcx, eax
shl rcx, 2
lea r14, [rsp + 0x20]
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x180126195
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1801518f0
sub rsp, rax
xor edi, edi
mov r8d, edi
lea rsi, [rsp + 0x20]
cmp rbx, 4
jl 0x1801261f6
lea r9, [r13 - 4]
shr r9, 2
lea rcx, [r13 - 2]
inc r9
lea rdx, [r14 + 8]
lea rcx, [r15 + rcx*4]
lea r8, [r9*4]
mov eax, dword [rcx + 4]
lea rcx, [rcx - 0x10]
mov dword [rdx - 8], eax
lea rdx, [rdx + 0x10]
mov eax, dword [rcx + 0x10]
mov dword [rdx - 0x14], eax
mov eax, dword [rcx + 0xc]
mov dword [rdx - 0x10], eax
mov eax, dword [rcx + 8]
mov dword [rdx - 0xc], eax
sub r9, 1
jne 0x1801261d0
cmp r8, rbx
jge 0x18012621a
mov rcx, rbx
sub rcx, r8
dec rcx
lea rcx, [r15 + rcx*4]
mov eax, dword [rcx]
lea rcx, [rcx - 4]
mov dword [r14 + r8*4], eax
inc r8
cmp r8, rbx
jl 0x180126208
movss xmm6, dword [0x18017cfe0]
mov r9d, edi
mov r8, rdi
cmp rbx, 4
jl 0x1801262a2
lea rax, [r13 - 4]
shr rax, 2
lea rcx, [r12 - 8]
inc rax
lea rdx, [rsi + 8]
lea rcx, [rcx + r13*4]
lea r9d, [rax*4]
lea r8, [rax*4]
nop word [rax + rax]
movss xmm0, dword [rcx + 4]
lea rdx, [rdx + 0x10]
lea rcx, [rcx - 0x10]
xorps xmm0, xmm6
movss dword [rdx - 0x18], xmm0
movss xmm1, dword [rcx + 0x10]
xorps xmm1, xmm6
movss dword [rdx - 0x14], xmm1
movss xmm0, dword [rcx + 0xc]
xorps xmm0, xmm6
movss dword [rdx - 0x10], xmm0
movss xmm1, dword [rcx + 8]
xorps xmm1, xmm6
movss dword [rdx - 0xc], xmm1
sub rax, 1
jne 0x180126260
cmp r8, rbx
jge 0x1801262d2
mov rax, rbx
lea rcx, [r12 - 4]
sub rax, r8
add r9d, eax
lea rcx, [rcx + rax*4]
movss xmm0, dword [rcx]
lea rcx, [rcx - 4]
xorps xmm0, xmm6
movss dword [rsi + r8*4], xmm0
inc r8
cmp r8, rbx
jl 0x1801262b9
mov r15d, dword [rbp]
lea eax, [r15 + r13]
cmp r9d, eax
jge 0x1801262f7
sub eax, r9d
xor edx, edx
movsxd r8, eax
movsxd rax, r9d
shl r8, 2
lea rcx, [rsi + rax*4]
call sub.VCRUNTIME140.dll_memset
lea eax, [r15 - 3]
mov ecx, edi
test eax, eax
jle 0x180126436
mov rcx, qword [rbp + 0x28]
mov rdx, rsi
mov r12, qword [rbp + 8]
sub r12, rcx
mov qword [rbp + 0x18], rdi
mov rdi, qword [rbp + 0x38]
dec eax
shr eax, 2
lea r15, [rcx + 8]
inc eax
mov qword [rbp + 0x10], rdx
mov ecx, eax
mov qword [rbp + 0x20], rcx
lea eax, [rax*4]
mov dword [rbp + 4], eax
nop word [rax + rax]
movups xmm0, xmmword [r15 - 8]
mov r9d, r13d
lea r8, [rbp + 0x38]
mov rcx, r14
movups xmmword [rbp + 0x38], xmm0
call fcn.180127730
mov rcx, qword [rbp + 0x18]
movss xmm1, dword [rbp + 0x38]
mov rdx, qword [rbp + 0x10]
movaps xmm0, xmm1
xorps xmm0, xmm6
add rdx, 0x10
lea rax, [rcx + r13]
mov qword [rbp + 0x10], rdx
movss dword [rsi + rax*4], xmm0
add rcx, 4
movss dword [r12 + r15 - 8], xmm1
movss xmm0, dword [rdi]
mulss xmm0, dword [rsi + rax*4]
mov qword [rbp + 0x18], rcx
movss xmm1, dword [rbp + 0x3c]
addss xmm1, xmm0
movaps xmm0, xmm1
xorps xmm0, xmm6
movss dword [rsi + rax*4 + 4], xmm0
movss dword [r12 + r15 - 4], xmm1
movss xmm2, dword [rdi]
mulss xmm2, dword [rsi + rax*4 + 4]
movss xmm0, dword [rsi + rax*4]
mulss xmm0, dword [rdi + 4]
addss xmm2, dword [rbp + 0x40]
addss xmm2, xmm0
movaps xmm0, xmm2
xorps xmm0, xmm6
movss dword [rsi + rax*4 + 8], xmm0
movss dword [r12 + r15], xmm2
movss xmm3, dword [rdi]
mulss xmm3, dword [rsi + rax*4 + 8]
movss xmm0, dword [rsi + rax*4 + 4]
mulss xmm0, dword [rdi + 4]
addss xmm3, dword [rbp + 0x44]
movss xmm1, dword [rsi + rax*4]
mulss xmm1, dword [rdi + 8]
addss xmm3, xmm0
addss xmm3, xmm1
movaps xmm0, xmm3
xorps xmm0, xmm6
movss dword [rsi + rax*4 + 0xc], xmm0
movss dword [r12 + r15 + 4], xmm3
add r15, 0x10
sub qword [rbp + 0x20], 1
jne 0x180126340
mov ecx, dword [rbp + 4]
xor edi, edi
mov r15d, dword [rbp]
mov r13, qword [rbp + 8]
movsxd r9, ecx
movsxd r12, r15d
cmp r9, r12
jge 0x180126531
lea rax, [r9*4]
mov rdx, r14
sub rdx, rax
mov r8, rax
sub r8, r14
sub rdx, rsi
mov r15, r14
mov r11, r13
sub r15, rsi
add r8, rsi
add r15, qword [rbp + 0x28]
add rdx, 4
sub r11, rsi
add r11, r14
nop word [rax + rax]
movss xmm2, dword [r15 + r8]
mov rcx, rdi
cmp rbx, 4
jl 0x1801264e7
lea rax, [r14 + 8]
add rax, r8
lea r10, [rbx - 3]
nop word [rax + rax]
movss xmm0, dword [rax + rdx - 0xc]
add rcx, 4
mulss xmm0, dword [rax - 8]
movss xmm1, dword [rax + rdx - 8]
mulss xmm1, dword [rax - 4]
subss xmm2, xmm0
movss xmm0, dword [rax + rdx - 4]
mulss xmm0, dword [rax]
subss xmm2, xmm1
movss xmm1, dword [rax + 4]
mulss xmm1, dword [rax + rdx]
add rax, 0x10
subss xmm2, xmm0
subss xmm2, xmm1
cmp rcx, r10
jl 0x1801264a0
cmp rcx, rbx
jge 0x18012650a
lea rax, [r14 + rcx*4]
movss xmm0, dword [r8 + rax]
inc rcx
mulss xmm0, dword [rax]
add rax, 4
subss xmm2, xmm0
cmp rcx, rbx
jl 0x1801264f0
lea rax, [rbx + r9]
sub rdx, 4
movss dword [rsi + rax*4], xmm2
inc r9
movss dword [r11 + r8], xmm2
add r8, 4
cmp r9, r12
jl 0x180126480
mov r15d, dword [rbp]
mov r9, qword [rbp + 0x30]
cmp rbx, 4
jl 0x180126578
lea rcx, [r12*4 - 8]
add rcx, r13
lea rdx, [r9 + 8]
lea r8, [rbx - 3]
nop
mov eax, dword [rcx + 4]
add rdi, 4
mov dword [rdx - 8], eax
lea rdx, [rdx + 0x10]
mov eax, dword [rcx]
lea rcx, [rcx - 0x10]
mov dword [rdx - 0x14], eax
mov eax, dword [rcx + 0xc]
mov dword [rdx - 0x10], eax
mov eax, dword [rcx + 8]
mov dword [rdx - 0xc], eax
cmp rdi, r8
jl 0x180126550
cmp rdi, rbx
jge 0x1801265a0
movsxd rax, r15d
sub rax, rdi
lea rcx, [rax*4 - 4]
add rcx, r13
mov eax, dword [rcx]
lea rcx, [rcx - 4]
mov dword [r9 + rdi*4], eax
inc rdi
cmp rdi, rbx
jl 0x18012658e
mov rcx, qword [rbp + 0x48]
xor rcx, rbp
call fcn.180151320
mov rbx, qword [rbp + 0xa0]
movaps xmm6, xmmword [rbp + 0x50]
lea rsp, [rbp + 0x60]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret