Function at 0x1800585e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe8
mov r8, qword [0x1800821d8]
mov rdi, rdx
movaps xmmword [rax - 0x58], xmm7
mov r13, rcx
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [r8 + 0x1a80]
movaps xmmword [rsp + 0x60], xmm13
mov byte [rax + 0x80], 1
mov r14, qword [r8 + 0x1a80]
cmp byte [r14 + 0x83], 0
jne 0x180058a18
mov rsi, qword [0x1800821d8]
mov rdx, rcx
mov rcx, r14
xor r8d, r8d
call fcn.180034d10
movss xmm0, dword [0x180073458]
lea rcx, [rsp + 0x30]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
xor r8d, r8d
mov rdx, r13
mov r15d, eax
call fcn.180031a70
call fcn.180034c50
movss xmm2, dword [rsi + 0x15a4]
xorps xmm13, xmm13
movss xmm1, dword [rsp + 0x30]
addss xmm2, xmm2
comiss xmm1, xmm13
movss xmm11, dword [r14 + 0xd0]
movaps xmm9, xmm0
addss xmm2, dword [rsp + 0x34]
movss xmm7, dword [r14 + 0xd4]
jbe 0x1800586be
addss xmm1, dword [rsi + 0x15b8]
jmp 0x1800586c1
xorps xmm1, xmm1
addss xmm1, xmm9
movss dword [rsp + 0x38], xmm11
addss xmm2, xmm7
movss dword [rbp - 0x7d], xmm7
lea rcx, [rsp + 0x38]
addss xmm1, xmm11
movss dword [rbp - 0x75], xmm2
movss dword [rbp - 0x79], xmm1
movss xmm1, dword [rsi + 0x15a4]
call fcn.180036e90
xor r8d, r8d
lea rcx, [rsp + 0x38]
mov edx, r15d
call fcn.180036bd0
test al, al
je 0x180058a18
mov qword [rsp + 0x120], rbx
lea r9, [rbp + 0x7f]
mov qword [rsp + 0xe0], r12
lea r8, [rbp + 0x77]
movaps xmmword [rsp + 0xd0], xmm6
lea rcx, [rsp + 0x38]
movaps xmmword [rsp + 0xb0], xmm8
xor ebx, ebx
movaps xmmword [rsp + 0x90], xmm10
mov edx, r15d
movaps xmmword [rsp + 0x70], xmm12
mov dword [rsp + 0x20], ebx
call fcn.180057dd0
movzx r12d, al
test al, al
je 0x180058771
cmp byte [rdi], bl
sete cl
mov byte [rdi], cl
mov ecx, r15d
call fcn.1800373c0
movaps xmm8, xmm11
movss dword [rbp - 0x71], xmm11
movaps xmm10, xmm7
movss dword [rbp - 0x6d], xmm7
addss xmm8, xmm9
mov r8d, 1
addss xmm10, xmm9
mov edx, r15d
lea rcx, [rsp + 0x38]
movss dword [rbp - 0x69], xmm8
movss dword [rbp - 0x65], xmm10
call fcn.18003ce00
movss xmm12, dword [rsi + 0x15a8]
movzx eax, byte [rbp + 0x77]
cmp byte [rbp + 0x7f], bl
je 0x1800587ca
test al, al
je 0x1800587ca
mov ecx, 9
jmp 0x1800587d4
test al, al
mov ecx, ebx
setne cl
add ecx, 7
movss xmm6, dword [0x1800733ec]
movaps xmm1, xmm6
call fcn.180034af0
mov rdx, qword [rbp - 0x69]
mov r9b, 1
mov rcx, qword [rbp - 0x71]
mov r8d, eax
movss dword [rsp + 0x20], xmm12
call fcn.18003caf0
movaps xmm1, xmm6
mov ecx, 0x12
call fcn.180034af0
test byte [r14 + 0x1b8], 0x40
mov r8d, eax
movaps xmm12, xmmword [rsp + 0x70]
je 0x180058897
divss xmm9, dword [0x180078e80]
mov dword [rsp + 0x28], 0xf
mov r9d, eax
lea r8, [rbp + 0x77]
lea rdx, [rbp + 0x7f]
movaps xmm1, xmm8
cvttss2si ecx, xmm9
movd xmm0, ecx
mov rcx, qword [r14 + 0x2b0]
cvtdq2ps xmm0, xmm0
maxss xmm6, xmm0
movaps xmm0, xmm6
subss xmm1, xmm6
addss xmm0, xmm11
subss xmm10, xmm6
addss xmm6, xmm7
movss dword [rbp + 0x77], xmm1
movss dword [rbp + 0x7f], xmm0
movss xmm0, dword [rsi + 0x15a8]
movss dword [rsp + 0x20], xmm0
movss dword [rbp + 0x7b], xmm10
movss dword [rbp + 0x83], xmm6
call fcn.180044cd0
jmp 0x1800588e6
cmp byte [rdi], bl
je 0x1800588e6
mov rcx, qword [r14 + 0x2b0]
movaps xmm0, xmm9
divss xmm0, dword [0x18007340c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm6, xmm1
movaps xmm0, xmm6
movaps xmm1, xmm6
addss xmm0, xmm11
addss xmm1, xmm7
addss xmm6, xmm6
unpcklps xmm0, xmm1
subss xmm9, xmm6
movq rdx, xmm0
movaps xmm3, xmm9
call fcn.180049390
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xd0]
cmp byte [rsi + 0x2fc8], bl
je 0x1800589c2
cmp byte [rdi], bl
je 0x180058966
cmp byte [0x18007896f], bl
mov eax, dword [str.iKi5i]
mov dword [rbp + 0x77], eax
je 0x180058960
movabs r8, 0x47ae147ae147ae15
nop dword [rax]
nop word [rax + rax]
mov rax, r8
mul rbx
mov rax, rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x32
xor byte [rbp + rbx + 0x77], al
inc rbx
cmp rbx, 4
jb 0x180058930
lea rdx, [rbp + 0x77]
jmp 0x1800589b5
cmp byte [0x180078973], bl
mov eax, dword [0x180078970]
mov dword [rbp + 0x7f], eax
je 0x1800589b1
movabs r8, 0x47ae147ae147ae15
mov rax, r8
mul rbx
mov rax, rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, bl
sub al, cl
add al, 0x32
xor byte [rbp + rbx + 0x7f], al
inc rbx
cmp rbx, 4
jb 0x180058981
lea rdx, [rbp + 0x7f]
xor r8d, r8d
lea rcx, [rsp + 0x38]
call fcn.180037050
movss xmm0, dword [rsp + 0x30]
comiss xmm0, xmm13
mov rbx, qword [rsp + 0x120]
jbe 0x180058a01
addss xmm8, dword [rsi + 0x15b8]
addss xmm7, dword [rsi + 0x15a4]
mov r9b, 1
xor r8d, r8d
mov rdx, r13
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.18003d0a0
movaps xmm8, xmmword [rsp + 0xb0]
movzx eax, r12b
mov r12, qword [rsp + 0xe0]
jmp 0x180058a1a
xor al, al
movaps xmm13, xmmword [rsp + 0x60]
lea r11, [rsp + 0xe8]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm11, xmmword [r11 - 0x68]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret