Function at 0x18000a624
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm15
movaps xmmword [rsp + 0x270], xmm14
movaps xmmword [rsp + 0x260], xmm13
movaps xmmword [rsp + 0x250], xmm12
movaps xmmword [rsp + 0x240], xmm11
movaps xmmword [rsp + 0x230], xmm10
movaps xmmword [rsp + 0x220], xmm9
movaps xmmword [rsp + 0x210], xmm8
movaps xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm6
movss xmm6, dword [0x1800190f0]
addss xmm6, dword [0x180015a54]
divss xmm6, dword [0x180015a58]
addss xmm6, dword [0x18001582c]
movapd xmm7, xmmword [0x1800190d0]
addpd xmm7, xmmword [0x180015a60]
movapd xmm8, xmmword [0x180015a70]
addpd xmm8, xmm7
movapd xmmword [rsp + 0x170], xmm8
xorps xmm0, xmm0
movhps xmm0, qword [0x180015a80]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [0x180019e48]
lea rdx, [rsp + 0x6c]
lea r8, [rsp + 0x68]
call fcn.18000fc2e
cmp dword [0x18001a0dc], 0
je 0x18000a711
movaps xmm0, xmmword [0x180015160]
jmp 0x18000a718
movaps xmm0, xmmword [0x1800190e0]
movaps xmm1, xmmword [0x180015780]
movaps xmmword [rsp + 0x160], xmm1
lea rax, [rsp + 0x1b0]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x1a0]
movapd xmmword [rdx], xmm8
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
movss xmm3, dword [0x180015a88]
movaps xmm2, xmm6
call fcn.1800030e0
mov rbx, qword [0x180019e18]
movaps xmm0, xmmword [0x180015a20]
movaps xmmword [rsp + 0x140], xmm0
lea rsi, [rsp + 0x72]
movaps xmm0, xmmword [0x180015a90]
movaps xmmword [rsi - 2], xmm0
mov word [rsi + 0x1a], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 6
inc rax
cmp rax, 0xe
jne 0x18000a78a
mov word [rsp + 0x8c], 0
xorps xmm9, xmm9
movaps xmmword [rsp + 0xe0], xmm9
cmp word [rsp + 0x72], 0
je 0x18000a7d9
mov rcx, rsi
call fcn.180013270
inc eax
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], eax
je 0x18000a7d9
mov qword [rsp + 0xe0], rsi
mov r8, qword [0x180019e28]
lea r13, [rsp + 0x140]
mov qword [rsp + 0x20], r13
lea r14, [rsp + 0x1e0]
lea rdi, [rsp + 0xe0]
mov rcx, rbx
mov rdx, r14
mov r9, rdi
call fcn.18000f2c8
movss xmm0, dword [0x1800151b0]
mulss xmm0, xmm6
cvtss2sd xmm10, xmm0
movapd xmm0, xmm8
addsd xmm0, xmm10
movsd xmm1, qword [r14]
mulsd xmm1, qword [0x1800150c0]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
mov r14, qword [0x180019e18]
movaps xmm13, xmmword [0x1800150d0]
movaps xmmword [r13], xmm13
movaps xmmword [rdi], xmm9
movaps xmmword [rsp + 0x110], xmm13
movapd xmm14, xmm8
unpckhpd xmm14, xmm8
movapd xmm12, xmm14
addsd xmm12, qword [0x180015aa0]
movaps xmm1, xmmword [0x180015a20]
movaps xmmword [rsp + 0xc0], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0xb0], xmm0
movsd qword [rsp + 0xb8], xmm12
movaps xmm0, xmmword [0x180015ab0]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x8c], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x48
inc rax
cmp rax, 0xe
jne 0x18000a8b8
mov word [rsp + 0x8c], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
cmp word [rsp + 0x72], 0
je 0x18000a905
mov rcx, rsi
call fcn.180013270
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000a905
mov qword [rsp + 0xa0], rsi
mov rdx, qword [0x180019e28]
mov qword [rsp + 0x60], r13
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], rdi
lea rdi, [rsp + 0x110]
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x160]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0x3f800000
lea rbx, [rsp + 0xa0]
lea r9, [rsp + 0xb0]
mov rcx, r14
mov r8, rbx
call fcn.18000f3f2
movss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x6c]
cvtss2sd xmm3, xmm6
cvtsd2ss xmm9, xmm14
movapd xmm2, xmmword [0x180015ac0]
movaps xmmword [rsp + 0x130], xmm3
movsd xmm2, xmm3
movapd xmm3, xmm8
addpd xmm3, xmm2
cvtpd2ps xmm11, xmm3
movaps xmm2, xmm0
unpcklps xmm2, xmm1
cmpltps xmm2, xmm11
unpcklps xmm2, xmm2
movmskpd eax, xmm2
test al, 2
movss dword [rsp + 0x9c], xmm9
je 0x18000aa1f
ucomiss xmm1, xmm9
jbe 0x18000aa1f
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x18000aa1f
test al, 1
je 0x18000aa1f
mov rcx, qword [0x180019e48]
lea rdx, [0x18001927c]
call fcn.18000f8fe
test al, al
je 0x18000aa1f
mov dword [0x18001a0dc], 0
movss xmm0, dword [0x1800151f0]
addss xmm0, xmm6
cvtss2sd xmm15, xmm0
movsd qword [rsp + 0xf0], xmm15
addsd xmm8, xmm15
jmp 0x18000aa53
mov eax, dword [0x18001a0dc]
movss xmm0, dword [0x1800151f0]
addss xmm0, xmm6
cvtss2sd xmm15, xmm0
movsd qword [rsp + 0xf0], xmm15
addsd xmm8, xmm15
cmp eax, 1
jne 0x18000aa53
movaps xmm0, xmmword [0x1800190e0]
jmp 0x18000aa5a
movaps xmm0, xmmword [0x180015160]
movaps xmm1, xmmword [0x180015780]
movaps xmmword [rsp + 0x140], xmm1
lea rax, [rsp + 0x190]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x1d0]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0x70]
movss xmm3, dword [0x180015a88]
mov rcx, r14
movaps xmm2, xmm6
call fcn.1800030e0
mov r15, qword [0x180019e18]
movaps xmm0, xmmword [0x180015a20]
movaps xmmword [rsp + 0x110], xmm0
movaps xmm0, xmmword [str.e3_60__6:lsiovi]
movaps xmmword [r14], xmm0
mov word [r14 + 0x10], 0x65
mov word [r14 + 0x20], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x65
inc rax
cmp rax, 0x10
jne 0x18000aad8
mov word [rsp + 0x90], 0
xorps xmm9, xmm9
movaps xmmword [rsp + 0xc0], xmm9
cmp word [rsp + 0x72], 0
je 0x18000ab27
mov rcx, rsi
call fcn.180013270
inc eax
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcc], eax
je 0x18000ab27
mov qword [rsp + 0xc0], rsi
mov r8, qword [0x180019e28]
mov qword [rsp + 0x20], rdi
lea r12, [rsp + 0xe0]
lea r14, [rsp + 0xc0]
mov rcx, r15
mov rdx, r12
mov r9, r14
call fcn.18000f2c8
movapd xmm0, xmm8
addsd xmm0, xmm10
movsd xmm1, qword [r12]
mulsd xmm1, qword [0x1800150c0]
addsd xmm1, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
mov r15, qword [0x180019e18]
movaps xmmword [rsp + 0x110], xmm13
movaps xmmword [r14], xmm9
movaps xmmword [rsp + 0xb0], xmm13
movaps xmm1, xmmword [0x180015a20]
movaps xmmword [rsp + 0xa0], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x120], xmm0
movsd qword [rsp + 0x128], xmm12
movaps xmm0, xmmword [0x180015ae0]
movaps xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x80], 0x3a
mov word [rsp + 0x90], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x3a
inc rax
cmp rax, 0x10
jne 0x18000abdc
mov word [rsp + 0x90], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
cmp word [rsp + 0x72], 0
je 0x18000ac29
mov rcx, rsi
call fcn.180013270
inc eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xdc], eax
je 0x18000ac29
mov qword [rsp + 0xd0], rsi
mov rdx, qword [0x180019e28]
mov qword [rsp + 0x60], rdi
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x30], 0x3f800000
lea rbx, [rsp + 0xd0]
lea r14, [rsp + 0x120]
mov rcx, r15
mov r8, rbx
mov r9, r14
call fcn.18000f3f2
movss xmm0, dword [rsp + 0x68]
shufps xmm11, xmm11, 0x55
ucomiss xmm11, xmm0
jbe 0x18000ad06
ucomiss xmm0, dword [rsp + 0x9c]
jbe 0x18000ad06
movss xmm0, dword [rsp + 0x6c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x18000ad06
movapd xmm1, xmm8
addsd xmm1, qword [rsp + 0x130]
cvtsd2ss xmm1, xmm1
ucomiss xmm1, xmm0
jbe 0x18000ad06
mov rcx, qword [0x180019e48]
lea rdx, [0x18001927c]
call fcn.18000f8fe
test al, al
je 0x18000ad06
mov dword [0x18001a0dc], 1
movapd xmm9, xmm15
addsd xmm9, xmm15
movsd qword [rsp + 0xf0], xmm9
addsd xmm8, xmm15
jmp 0x18000ad33
mov eax, dword [0x18001a0dc]
movapd xmm9, xmm15
addsd xmm9, xmm15
movsd qword [rsp + 0xf0], xmm9
addsd xmm8, xmm15
cmp eax, 2
jne 0x18000ad33
movaps xmm0, xmmword [0x1800190e0]
jmp 0x18000ad3a
movaps xmm0, xmmword [0x180015160]
movaps xmm1, xmmword [0x180015780]
movaps xmmword [rsp + 0x110], xmm1
lea rax, [rsp + 0x180]
movaps xmmword [rax], xmm0
lea rdx, [rsp + 0x1c0]
movsd qword [rdx], xmm8
movsd qword [rdx + 8], xmm14
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0x70]
movss xmm3, dword [0x180015a88]
mov rcx, r15
movaps xmm2, xmm6
call fcn.1800030e0
mov r13, qword [0x180019e18]
movaps xmm0, xmmword [0x180015a20]
movaps xmmword [rsp + 0xb0], xmm0
movabs rax, 0x1e00040000004d
mov qword [r15], rax
mov dword [r15 + 8], 0x4d000e
mov word [r15 + 0x14], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x4d
inc rax
cmp rax, 0xa
jne 0x18000adbb
mov word [rsp + 0x84], 0
xorps xmm6, xmm6
movaps xmmword [rsp + 0xa0], xmm6
cmp word [rsp + 0x72], 0
je 0x18000ae08
mov rcx, rsi
call fcn.180013270
inc eax
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xac], eax
je 0x18000ae08
mov qword [rsp + 0xa0], rsi
mov r8, qword [0x180019e28]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
lea rbp, [rsp + 0xc0]
lea r12, [rsp + 0xa0]
mov rcx, r13
mov rdx, rbp
mov r9, r12
call fcn.18000f2c8
addsd xmm10, xmm8
movsd xmm0, qword [rbp]
mulsd xmm0, qword [0x1800150c0]
addsd xmm0, xmm10
cvtsd2ss xmm0, xmm0
mov r13, qword [0x180019e18]
movaps xmmword [rsp + 0xb0], xmm13
movaps xmmword [r12], xmm6
movaps xmmword [rsp + 0x120], xmm13
movaps xmm1, xmmword [0x180015a20]
movaps xmmword [rsp + 0xd0], xmm1
cvtss2sd xmm0, xmm0
movsd qword [rsp + 0x150], xmm0
movsd qword [rsp + 0x158], xmm12
movabs rax, 0x61007b007f0032
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x320071
mov word [rsp + 0x84], 0
mov eax, 1
xor byte [rsp + rax*2 + 0x70], 0x32
inc rax
cmp rax, 0xa
jne 0x18000aebf
mov word [rsp + 0x84], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
cmp word [rsp + 0x72], 0
je 0x18000af0c
mov rcx, rsi
call fcn.180013270
inc eax
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x10c], eax
je 0x18000af0c
mov qword [rsp + 0x100], rsi
mov rdx, qword [0x180019e28]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x60], rax
xor eax, eax
mov byte [rsp + 0x58], al
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x30], 0x3f800000
lea r8, [rsp + 0x100]
lea r9, [rsp + 0x150]
mov rcx, r13
call fcn.18000f3f2
movss xmm0, dword [rsp + 0x68]
ucomiss xmm11, xmm0
jbe 0x18000afc3
ucomiss xmm0, dword [rsp + 0x9c]
jbe 0x18000afc3
movss xmm0, dword [rsp + 0x6c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm0, xmm1
jbe 0x18000afc3
addsd xmm8, qword [rsp + 0x130]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm8
ucomiss xmm1, xmm0
jbe 0x18000afc3
mov rcx, qword [0x180019e48]
lea rdx, [0x18001927c]
call fcn.18000f8fe
test al, al
je 0x18000afc3
mov dword [0x18001a0dc], 2
addsd xmm9, xmm15
lea rsi, [rsp + 0xf0]
movsd qword [rsi], xmm9
mov rcx, qword [0x180019e18]
movaps xmm0, xmmword [0x180015a00]
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x20], r15
lea rdi, [rsp + 0x170]
movss xmm3, dword [0x1800151b4]
mov rdx, rdi
mov r8, rsi
call fcn.18000efac
movaps xmm0, xmmword [rdi]
movups xmmword [0x18001a0b0], xmm0
movaps xmm0, xmmword [rsi]
movups xmmword [0x18001a0c0], xmm0
movapd xmm0, xmm7
unpckhpd xmm0, xmm7
addsd xmm0, qword [0x180015af0]
movlpd qword [0x18001a0e0], xmm7
movsd qword [0x18001a0e8], xmm0
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm12, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret