Function at 0x18005d010
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 [0x180147368]
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 0x18005d448
mov rsi, qword [0x180147368]
mov rdx, rcx
mov rcx, r14
xor r8d, r8d
call fcn.180048210
movss xmm0, dword [0x180004ce4]
lea rcx, [rsp + 0x30]
mov r9b, 1
movss dword [rsp + 0x20], xmm0
xor r8d, r8d
mov rdx, r13
mov r15d, eax
call fcn.180044f90
call fcn.180048150
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 0x18005d0ee
addss xmm1, dword [rsi + 0x15b8]
jmp 0x18005d0f1
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.18004a510
xor r8d, r8d
lea rcx, [rsp + 0x38]
mov edx, r15d
call fcn.18004a250
test al, al
je 0x18005d448
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.18005c800
movzx r12d, al
test al, al
je 0x18005d1a1
cmp byte [rdi], bl
sete cl
mov byte [rdi], cl
mov ecx, r15d
call fcn.18004aa60
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.1800503f0
movss xmm12, dword [rsi + 0x15a8]
movzx eax, byte [rbp + 0x77]
cmp byte [rbp + 0x7f], bl
je 0x18005d1fa
test al, al
je 0x18005d1fa
mov ecx, 9
jmp 0x18005d204
test al, al
mov ecx, ebx
setne cl
add ecx, 7
movss xmm6, dword [0x180004c54]
movaps xmm1, xmm6
call fcn.180048020
mov rdx, qword [rbp - 0x69]
mov r9b, 1
mov rcx, qword [rbp - 0x71]
mov r8d, eax
movss dword [rsp + 0x20], xmm12
call fcn.1800500e0
movaps xmm1, xmm6
mov ecx, 0x12
call fcn.180048020
test byte [r14 + 0x1b8], 0x40
mov r8d, eax
movaps xmm12, xmmword [rsp + 0x70]
je 0x18005d2c7
divss xmm9, dword [0x180006298]
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.18006fa40
jmp 0x18005d316
cmp byte [rdi], bl
je 0x18005d316
mov rcx, qword [r14 + 0x2b0]
movaps xmm0, xmm9
divss xmm0, dword [0x180005d00]
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.1800741d0
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xd0]
cmp byte [rsi + 0x2fc8], bl
je 0x18005d3f2
cmp byte [rdi], bl
je 0x18005d396
cmp byte [0x180005d9f], bl
mov eax, dword [0x180005d9c]
mov dword [rbp + 0x77], eax
je 0x18005d390
movabs r8, 0x29e4129e4129e413
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, 0x37
movzx eax, bl
sub al, cl
add al, 0x31
xor byte [rbp + rbx + 0x77], al
inc rbx
cmp rbx, 4
jb 0x18005d360
lea rdx, [rbp + 0x77]
jmp 0x18005d3e5
cmp byte [0x180005da3], bl
mov eax, dword [0x180005da0]
mov dword [rbp + 0x7f], eax
je 0x18005d3e1
movabs r8, 0x29e4129e4129e413
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, 0x37
movzx eax, bl
sub al, cl
add al, 0x31
xor byte [rbp + rbx + 0x7f], al
inc rbx
cmp rbx, 4
jb 0x18005d3b1
lea rdx, [rbp + 0x7f]
xor r8d, r8d
lea rcx, [rsp + 0x38]
call fcn.18004a6d0
movss xmm0, dword [rsp + 0x30]
comiss xmm0, xmm13
mov rbx, qword [rsp + 0x120]
jbe 0x18005d431
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.180050690
movaps xmm8, xmmword [rsp + 0xb0]
movzx eax, r12b
mov r12, qword [rsp + 0xe0]
jmp 0x18005d44a
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