Function at 0x1800103e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov dword [rax + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf8]
sub rsp, 0x1c0
mov edi, dword [rbp + 0x100]
mov rsi, r9
movaps xmmword [rax - 0x48], xmm6
mov r11, r8
movaps xmmword [rax - 0x58], xmm7
mov r15, rdx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov eax, ecx
add ecx, 5
mov dword [rsp + 0x30], ecx
cmp eax, ecx
jae 0x180010648
mov r13, qword [rbp + 0x120]
xorps xmm9, xmm9
movss xmm10, dword [0x180084230]
movsd xmm7, qword [0x180084220]
movsd xmm11, qword [0x180084138]
movsd xmm8, qword [rsp + 0x38]
movsd xmm6, qword [rsp + 0x38]
mov r12d, dword [rbp + 0x100]
mov ebx, dword [rbp + 0x100]
nop dword [rax]
sub eax, 0xcf
je 0x1800109f8
sub eax, 1
je 0x180010580
sub eax, 4
je 0x1800109ea
sub eax, 1
je 0x1800105db
cmp eax, 4
jne 0x180010a75
mov r14d, 0x2e
mov eax, r14d
sub eax, 0x2e
je 0x1800104f8
sub eax, 1
je 0x1800104ec
sub eax, 1
je 0x1800104e5
cmp eax, 1
je 0x180010648
jmp 0x18001056f
mov edi, ebx
jmp 0x18001056f
mov rcx, qword [rsp + 0x40]
call fcn.18005f1d8
jmp 0x18001056f
mov rdx, qword [rsi]
lea rcx, [0x180083adc]
xor r9d, r9d
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8d, [r9 + 0x19]
call fcn.180038970
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180010a97
lea rcx, [0x180039d20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rcx
lea rax, [rsp + 0x48]
lea rcx, [fcn.18006018c]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x48], rcx
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x38]
mov r9, rsi
mov edx, 0x2d
call fcn.1800352e0
mov rbx, rax
inc r14d
cmp r14d, 0x32
jb 0x1800104c5
mov ecx, dword [rsp + 0x30]
mov edx, dword [r15]
cmp r12d, edx
jae 0x180010a75
nop dword [rax]
mov eax, r12d
xor r8d, r8d
mov ecx, edx
movss xmm1, dword [rsi + rax*4]
cmp edx, r12d
je 0x1800105cc
lea eax, [r12 + r8]
movaps xmm0, xmm1
mulss xmm0, dword [rsi + rax*4]
addss xmm0, dword [r13 + r8*4]
movss dword [r13 + r8*4], xmm0
inc r8d
mov ecx, dword [r15]
mov eax, ecx
sub eax, r12d
cmp r8d, eax
jb 0x1800105a2
inc r12d
mov edx, ecx
cmp r12d, ecx
jb 0x180010590
jmp 0x180010a71
xor r9d, r9d
cmp dword [r15], r9d
jbe 0x180010a75
nop word [rax + rax]
mov r15d, 0x68
cmp r15d, 0x68
je 0x1800108ec
cmp r15d, 0x109
je 0x1800108db
cmp r15d, 0x1aa
je 0x180010683
cmp r15d, 0x24b
jne 0x1800109b7
ucomisd xmm8, xmm9
movsd qword [r13 + r9*8], xmm8
jp 0x1800109b7
jne 0x1800109b7
mov rcx, qword [rbp + 0x108]
lea eax, [r9 + 1]
mov dword [rcx], eax
mov eax, edi
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x58]
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]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r10d, r9d
xor r8d, r8d
shr r10d, 1
cmp r10d, 4
jb 0x180010777
xor r11d, r11d
lea r14d, [r10 - 3]
nop dword [rax]
movsd xmm1, qword [rsp + r11*8 + 0x60]
mov eax, r9d
sub eax, r8d
movaps xmm0, xmm6
mov edx, eax
add r8d, 4
dec eax
mulsd xmm0, qword [rsp + rax*8 + 0x60]
addsd xmm0, xmm1
mulsd xmm1, xmm6
movsd qword [rsp + r11*8 + 0x60], xmm0
movaps xmm0, xmm6
addsd xmm1, qword [rsp + rax*8 + 0x60]
movsd qword [rsp + rax*8 + 0x60], xmm1
lea eax, [rdx - 2]
mulsd xmm0, qword [rsp + rax*8 + 0x60]
movsd xmm1, qword [rsp + r11*8 + 0x68]
addsd xmm0, xmm1
mulsd xmm1, xmm6
movsd qword [rsp + r11*8 + 0x68], xmm0
movaps xmm0, xmm6
addsd xmm1, qword [rsp + rax*8 + 0x60]
movsd qword [rsp + rax*8 + 0x60], xmm1
lea eax, [rdx - 3]
mulsd xmm0, qword [rsp + rax*8 + 0x60]
movsd xmm2, qword [rsp + r11*8 + 0x70]
addsd xmm0, xmm2
mulsd xmm2, xmm6
movsd qword [rsp + r11*8 + 0x70], xmm0
movaps xmm0, xmm6
addsd xmm2, qword [rsp + rax*8 + 0x60]
movsd qword [rsp + rax*8 + 0x60], xmm2
lea eax, [rdx - 4]
movsd xmm1, qword [rsp + r11*8 + 0x78]
mulsd xmm0, qword [rsp + rax*8 + 0x60]
addsd xmm0, xmm1
mulsd xmm1, xmm6
movsd qword [rsp + r11*8 + 0x78], xmm0
add r11, 4
addsd xmm1, qword [rsp + rax*8 + 0x60]
movsd qword [rsp + rax*8 + 0x60], xmm1
cmp r8d, r14d
jb 0x1800106a0
cmp r8d, r10d
jb 0x18001077f
jmp 0x1800107c1
test r10d, r10d
je 0x1800107c8
xor r11d, r11d
lea rdx, [rsp + 0x60]
lea rdx, [rdx + r11*8]
movsd xmm1, qword [rdx]
mov eax, r9d
sub eax, r8d
movaps xmm0, xmm6
dec eax
inc r8d
mulsd xmm0, qword [rsp + rax*8 + 0x60]
addsd xmm0, xmm1
mulsd xmm1, xmm6
movsd qword [rdx], xmm0
add rdx, 8
addsd xmm1, qword [rsp + rax*8 + 0x60]
movsd qword [rsp + rax*8 + 0x60], xmm1
cmp r8d, r10d
jb 0x180010788
mov r11, qword [rbp + 0x110]
test r9b, 1
je 0x1800107e7
movsd xmm0, qword [rsp + r8*8 + 0x60]
movaps xmm1, xmm0
mulsd xmm1, xmm6
addsd xmm1, xmm0
movsd qword [rsp + r8*8 + 0x60], xmm1
movaps xmm1, xmm6
lea eax, [r9 + 1]
mulsd xmm1, xmm6
movaps xmm0, xmm11
xor r10d, r10d
xor ecx, ecx
subsd xmm0, xmm1
mulsd xmm8, xmm0
cmp eax, 4
jb 0x180010898
mov eax, r9d
lea rdx, [r11 + 8]
shl rax, 7
lea r8d, [r9 + 1]
add rdx, rax
shr r8, 2
lea r10d, [r8*4]
nop dword [rax + rax]
movsd xmm0, qword [rsp + rcx*8 + 0x60]
lea rdx, [rdx + 0x10]
movsd xmm1, qword [rsp + rcx*8 + 0x68]
xorps xmm0, xmm7
movsd xmm2, qword [rsp + rcx*8 + 0x70]
xorps xmm1, xmm7
cvtsd2ss xmm0, xmm0
xorps xmm2, xmm7
movss dword [rdx - 0x18], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movsd xmm1, qword [rsp + rcx*8 + 0x78]
add rcx, 4
movss dword [rdx - 0x14], xmm0
xorps xmm0, xmm0
xorps xmm1, xmm7
cvtsd2ss xmm0, xmm2
movss dword [rdx - 0x10], xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [rdx - 0xc], xmm0
sub r8, 1
jne 0x180010830
cmp r10d, r9d
ja 0x1800109b7
mov eax, r9d
lea rdx, [rsp + 0x60]
shl rax, 5
lea rdx, [rdx + rcx*8]
add rax, rcx
mov r8d, r9d
sub r8d, r10d
inc r8d
lea rcx, [r11 + rax*4]
movsd xmm0, qword [rdx]
lea rcx, [rcx + 4]
lea rdx, [rdx + 8]
xorps xmm0, xmm7
cvtsd2ss xmm0, xmm0
movss dword [rcx - 4], xmm0
sub r8, 1
jne 0x1800108b8
jmp 0x1800109b7
divsd xmm6, xmm8
movsd qword [rsp + r9*8 + 0x60], xmm6
jmp 0x1800109b7
lea eax, [r9 + 1]
xor r8d, r8d
movss xmm0, dword [rsi + rax*4]
xorps xmm6, xmm6
xorps xmm0, xmm10
cvtss2sd xmm6, xmm0
cmp r9d, 4
jb 0x180010984
xor r10d, r10d
lea r11d, [r9 - 3]
mov eax, r9d
sub eax, r8d
add r8d, 4
mov edx, eax
movss xmm0, dword [rsi + rax*4]
dec eax
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rsp + r10*8 + 0x60]
subsd xmm6, xmm0
movss xmm0, dword [rsi + rax*4]
cvtps2pd xmm0, xmm0
lea eax, [rdx - 2]
mulsd xmm0, qword [rsp + r10*8 + 0x68]
subsd xmm6, xmm0
movss xmm0, dword [rsi + rax*4]
cvtps2pd xmm0, xmm0
lea eax, [rdx - 3]
mulsd xmm0, qword [rsp + r10*8 + 0x70]
subsd xmm6, xmm0
movss xmm0, dword [rsi + rax*4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rsp + r10*8 + 0x78]
add r10, 4
subsd xmm6, xmm0
cmp r8d, r11d
jb 0x180010914
cmp r8d, r9d
jb 0x18001098c
jmp 0x1800109b7
test r9d, r9d
je 0x1800109b7
xor r10d, r10d
lea rcx, [rsp + 0x60]
lea rcx, [rcx + r10*8]
mov eax, r9d
sub eax, r8d
inc r8d
movss xmm0, dword [rsi + rax*4]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [rcx]
add rcx, 8
subsd xmm6, xmm0
cmp r8d, r9d
jb 0x180010995
mov r11, qword [rbp + 0x110]
add r15d, 0xa1
cmp r15d, 0x2ec
jb 0x1800105f6
mov r15, qword [rbp + 0x108]
inc r9d
cmp r9d, dword [r15]
jb 0x1800105f0
jmp 0x180010a71
movss xmm8, dword [rsi]
cvtps2pd xmm8, xmm8
jmp 0x180010a75
mov eax, dword [r11]
xor ecx, ecx
mov r10d, dword [r15]
sub r10d, eax
test eax, eax
je 0x180010a22
nop word [rax + rax]
mov dword [r13 + rcx*4], 0
inc ecx
mov eax, dword [r11]
cmp ecx, eax
jb 0x180010a10
xor r12d, r12d
mov r9, rsi
nop dword [rax + rax]
movss xmm1, dword [r9]
xor r8d, r8d
test eax, eax
je 0x180010a65
nop dword [rax]
lea eax, [r12 + r8]
movaps xmm0, xmm1
mulss xmm0, dword [rsi + rax*4]
addss xmm0, dword [r13 + r8*4]
movss dword [r13 + r8*4], xmm0
inc r8d
mov eax, dword [r11]
cmp r8d, eax
jb 0x180010a40
inc r12d
add r9, 4
cmp r12d, r10d
jbe 0x180010a30
mov ecx, dword [rsp + 0x30]
mov eax, dword [rbp + 0x100]
inc eax
mov dword [rbp + 0x100], eax
cmp eax, ecx
jae 0x180010648
mov r11, qword [rbp + 0x110]
jmp 0x180010490
mov dword [rsi + 0x24], 2
xor eax, eax
jmp 0x18001064a