Function at 0x18005a04c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
xor esi, esi
mov rbx, r8
cmp byte [0x1800fb269], sil
mov rdi, rdx
je 0x18005a3e9
xor eax, eax
mov dword [rbp - 0x30], 0xb1b4bf9e
mov byte [rbp - 0x26], al
mov edx, esi
mov dword [rbp - 0x2c], 0x89abb098
mov word [rbp - 0x28], 0x9b95
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xa
jb 0x18005a093
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp - 0x26], sil
mov rdx, qword [rax + 0x18]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call rdx
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.18006c920
mov edx, esi
test rax, rax
je 0x18005a1ab
xor eax, eax
mov dword [rbp - 0x30], 0xa8b4b595
mov byte [rbp - 0x22], al
mov dword [rbp - 0x2c], 0xbfa7b1bf
mov dword [rbp - 0x28], 0x978c8ea2
mov word [rbp - 0x24], 0x8280
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xe
jb 0x18005a0f7
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp - 0x22], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.18006c920
test rax, rax
jne 0x18005a3b0
mov dword [rbp + 0x28], 0xb9a8bb9a
mov edx, esi
mov byte [rbp + 0x2c], al
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx + 0x28], al
cmp edx, 4
jb 0x18005a139
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp + 0x2c], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.18006c920
test rax, rax
jne 0x18005a3b0
mov dword [rbp + 0x28], 0xa8abbb95
mov edx, esi
mov word [rbp + 0x2c], 0xaeb2
mov byte [rbp + 0x2e], al
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx + 0x28], al
cmp edx, 6
jb 0x18005a181
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp + 0x2e], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp + 0x28]
jmp 0x18005a3a3
mov dword [rbp + 0x28], 0xb1b6af9d
mov word [rbp + 0x2c], 0xa4
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx + 0x28], al
cmp edx, 5
jb 0x18005a1b8
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp + 0x2d], sil
mov rdx, qword [rax + 0x18]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call rdx
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.18006c920
mov edx, esi
test rax, rax
je 0x18005a236
mov dword [rbp - 0x30], 0x83ebea8a
mov dword [rbp - 0x2c], 0x8db2ab99
mov word [rbp - 0x28], 0x98
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 9
jb 0x18005a20c
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp - 0x27], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp - 0x30]
jmp 0x18005a3a3
mov dword [rbp - 0x30], 0xb5a8bb9b
mov dword [rbp - 0x2c], 0x94b19bbe
mov dword [rbp - 0x28], 0x9a9688
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 0xb
jb 0x18005a24b
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp - 0x25], sil
mov rdx, qword [rax + 0x18]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call rdx
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.18006c920
test rax, rax
je 0x18005a2fb
movdqa xmm0, xmmword [0x1800a6fe0]
xor eax, eax
movdqu xmmword [rbp - 0x21], xmm0
mov byte [rbp - 0xf], al
mov edx, esi
mov word [rbp - 0x11], 0x8f9f
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x21], al
cmp edx, 0x12
jb 0x18005a2a3
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp - 0xf], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp - 0x21]
mov rcx, rax
call fcn.18006c920
test rax, rax
jne 0x18005a3b0
mov dword [rbp + 0x28], 0xb9a8bbba
mov edx, esi
mov byte [rbp + 0x2c], al
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx + 0x28], al
cmp edx, 4
jb 0x18005a2e5
jmp 0x18005a38f
mov rax, qword [rdi]
mov rcx, rdi
mov rdx, qword [rax + 0x18]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x10]
mov rcx, rax
call rdx
lea rdx, [0x18009de82]
mov rcx, rax
call fcn.18006c920
test rax, rax
je 0x18005a3e9
xor eax, eax
mov dword [rbp - 0x30], 0x83eaea92
mov byte [rbp - 0x28], al
mov edx, esi
mov dword [rbp - 0x2c], 0x8dbaaa94
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx - 0x30], al
cmp edx, 8
jb 0x18005a340
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp - 0x28], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.18006c920
test rax, rax
jne 0x18005a3b0
mov dword [rbp + 0x28], 0xb9a8bbba
mov edx, esi
mov byte [rbp + 0x2c], al
movsxd rcx, edx
lea eax, [rdx - 0x27]
inc edx
xor byte [rbp + rcx + 0x28], al
cmp edx, 4
jb 0x18005a37e
mov rax, qword [rdi]
mov rcx, rdi
mov byte [rbp + 0x2c], sil
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.18006c920
test rax, rax
je 0x18005a3e9
or dword [rbx + 0x24], 0x80018
mov rcx, rbx
movss xmm0, dword [0x1800bf2c4]
mov rax, qword [rbx]
movss xmm3, dword [0x1800bf2c0]
movss xmm2, dword [0x1800bf2bc]
movss xmm1, dword [0x1800bf2b8]
movss dword [rsp + 0x20], xmm0
call qword [rax + 0x160]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret