Function at 0x180035fbc
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov rcx, qword [0x1800ed760]
mov rdi, r8
movaps xmmword [rax - 0x48], xmm6
add rcx, r8
movaps xmmword [rax - 0x58], xmm7
mov r15, rdx
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rsp + 0x60], xmm10
call fcn.18002c658
mov rcx, qword [0x1800edb50]
movaps xmm6, xmm0
call fcn.1800e73b4
call rax
comiss xmm6, xmm0
jae 0x180036426
mov rcx, qword [0x1800ed770]
add rcx, rdi
call fcn.18002c658
mov rcx, qword [0x1800ed6e8]
movaps xmm6, xmm0
add rcx, rdi
call fcn.18002c658
comiss xmm0, xmm6
ja 0x180036426
mov rcx, qword [0x1800edca8]
mov rbx, qword [0x1800f2348]
call fcn.1800e73b4
mov rcx, rbx
call rax
mov rcx, qword [0x1800ed108]
mov r14, rax
movabs r12, 0x7ffffffdfffe
cmp rax, rcx
jbe 0x180036087
add rcx, qword [0x1800ed110]
cmp rax, rcx
jb 0x180036096
add rax, 0xffffffffffff0000
cmp rax, r12
ja 0x180036426
mov rcx, qword [0x1800ed880]
add rcx, r15
call fcn.18002c680
mov rbx, rax
mov rax, qword [0x1800ed108]
cmp rbx, rax
jbe 0x1800360c3
mov rdx, qword [0x1800ed110]
add rdx, rax
cmp rbx, rdx
jb 0x1800360d3
lea rcx, [rbx - 0x10000]
cmp rcx, r12
ja 0x180036426
mov rcx, qword [0x1800edff8]
call fcn.1800e73b4
mov rcx, rbx
call rax
test al, al
je 0x1800360fb
mov rcx, qword [0x1800edca8]
call fcn.1800e73b4
mov rcx, r15
call rax
jmp 0x180036108
mov edx, 0x2f
mov rcx, r15
call fcn.180034020
mov rcx, qword [0x1800ed108]
mov rbx, rax
cmp rax, rcx
jbe 0x180036123
add rcx, qword [0x1800ed110]
cmp rax, rcx
jb 0x180036133
lea rax, [rbx - 0x10000]
cmp rax, r12
ja 0x180036426
xor r8d, r8d
mov dword [rbp + 0x7f], 0x60475b79
mov dword [rbp + 0x83], 0x38434550
lea r9, [rbp + 0x7f]
lea r13d, [r8 + 8]
mov eax, 0x2f684bdb
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, 0x31
xor byte [r9], al
inc r9
cmp r8d, r13d
jl 0x18003614f
lea rdx, [rbp + 0x7f]
mov byte [rbp + 0x77], 0
lea rcx, [rbp + 0x77]
call fcn.180096e20
mov rdx, qword [0x1800ed108]
mov rsi, rax
mov rax, qword [0x1800ed110]
cmp rsi, rdx
jbe 0x1800361ae
lea rcx, [rax + rdx]
cmp rsi, rcx
jb 0x1800361be
lea rcx, [rsi - 0x10000]
cmp rcx, r12
jbe 0x1800361be
xor esi, esi
jmp 0x1800361e0
mov rcx, qword [0x1800ed390]
call fcn.1800e73b4
mov rcx, rsi
call rax
mov rdx, qword [0x1800ed108]
mov rsi, rax
mov rax, qword [0x1800ed110]
cmp rsi, rdx
jbe 0x1800361ee
lea rcx, [rax + rdx]
cmp rsi, rcx
jb 0x1800361fe
lea rcx, [rsi - 0x10000]
cmp rcx, r12
ja 0x180036426
lea rdx, [rbp - 0x69]
mov rcx, rbx
call fcn.18008d1c4
movsd xmm0, qword [rbp - 0x69]
lea r8, [rbp - 0x59]
mov r12d, dword [rbp - 0x61]
lea rdx, [rbp - 0x39]
mov rcx, rbx
movsd qword [rbp - 0x59], xmm0
mov dword [rbp - 0x51], r12d
call fcn.1800871f8
mov rcx, qword [0x1800ed6f0]
add rcx, rdi
cmp byte [0x1800f1ee0], 0
je 0x18003624e
call fcn.18002c658
addss xmm0, dword [0x1800f1f10]
jmp 0x180036253
call fcn.18002c658
mov rcx, qword [0x1800ed520]
lea rdx, [rbp + 0x77]
add rcx, rsi
movss dword [rbp + 0x77], xmm0
mov r8d, 4
call fcn.1800e7228
mov rcx, qword [0x1800ed530]
lea rdx, [rbp + 0x77]
add rcx, rsi
mov qword [rbp + 0x77], rbx
mov r8, r13
call fcn.1800e7228
lea rdx, [rbp - 0x59]
mov rcx, r14
call fcn.18008d1c4
movss xmm8, dword [rbp - 0x69]
subss xmm8, dword [rbp - 0x59]
movss xmm10, dword [rbp - 0x65]
movss xmm7, dword [rbp - 0x55]
movss xmm6, dword [rbp - 0x51]
subss xmm10, xmm7
movd xmm9, r12d
subss xmm9, xmm6
movaps xmm1, xmm8
mulss xmm1, xmm8
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm2, xmm9
mulss xmm2, xmm9
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1800e682c
movss xmm1, dword [rbp - 0x59]
lea rdx, [rbp - 0x59]
mov rcx, qword [0x1800ed4f8]
mov r8d, 0x18
divss xmm8, xmm0
add rcx, rsi
unpcklps xmm1, xmm7
movsd qword [rbp - 0x59], xmm1
divss xmm10, xmm0
divss xmm9, xmm0
movss dword [rbp - 0x4d], xmm8
movaps xmm1, xmm10
movss dword [rbp - 0x51], xmm6
movups xmm0, xmmword [rbp - 0x59]
unpcklps xmm1, xmm9
movaps xmmword [rbp - 0x59], xmm0
movsd qword [rbp - 0x49], xmm1
call fcn.1800e7228
mov rcx, qword [0x1800ed4c0]
lea rdx, [rbp + 0x77]
add rcx, rsi
mov byte [rbp + 0x77], 1
mov r8d, 1
call fcn.1800e7228
mov rcx, qword [0x1800ed4f0]
lea rdx, [rbp + 0x77]
add rcx, rsi
mov qword [rbp + 0x77], r15
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed4e0]
lea rdx, [rbp - 0x59]
movsd xmm0, qword [rbp - 0x39]
mov ebx, 0xc
mov eax, dword [rbp - 0x31]
add rcx, rsi
mov r8d, ebx
movsd qword [rbp - 0x59], xmm0
mov dword [rbp - 0x51], eax
call fcn.1800e7228
mov rcx, qword [0x1800ed4e8]
lea rdx, [rbp - 0x59]
and dword [rbp - 0x59], 0
add rcx, rsi
and dword [rbp - 0x55], 0
mov r8d, ebx
and dword [rbp - 0x51], 0
call fcn.1800e7228
mov rcx, qword [0x1800ed768]
add rcx, rdi
call fcn.18002c680
mov rcx, qword [0x1800ed538]
lea rdx, [rbp + 0x77]
add rcx, rsi
mov qword [rbp + 0x77], rax
mov r8, r13
call fcn.1800e7228
mov rcx, qword [0x1800ed6e0]
add rcx, rdi
call fcn.18002c658
mov rcx, qword [0x1800edfd8]
movaps xmm6, xmm0
call fcn.1800e73b4
movaps xmm1, xmm6
mov rcx, rdi
call rax
mov rcx, qword [0x1800edfb0]
call fcn.1800e73b4
mov rdx, rsi
mov rcx, rdi
call rax
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret