Function at 0x180004590
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xf0
movaps xmmword [rax - 0x38], xmm6
mov r10, r8
movaps xmmword [rax - 0x48], xmm7
xor edi, edi
movaps xmmword [rax - 0x58], xmm8
mov rsi, r9
mov rbx, rdx
mov dword [rbp + 0x5f], 0xa3f0ac80
mov dword [rbp + 0x63], 0xed18ed18
xor r9d, r9d
mov rax, qword [rbp + 0x5f]
xor edx, edx
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x40], rax
mov rax, qword [r8]
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x71], rdi
mov rcx, qword [rax + 0x130]
lea rax, [rsp + 0x40]
mov qword [rbp - 0x79], rcx
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.180029d80
mov dword [rbp + 0x5f], 0xa3f0ac80
xor r9d, r9d
mov dword [rbp + 0x63], 0xed18ed18
xor r8d, r8d
mov qword [rsp + 0x28], rdi
xor edx, edx
movss xmm6, dword [rax]
movss xmm7, dword [rax + 4]
movss xmm8, dword [rax + 8]
mov rax, qword [rbp + 0x5f]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx]
mov qword [rbp - 0x71], rdi
mov rcx, qword [rax + 0x130]
lea rax, [rsp + 0x40]
mov qword [rbp - 0x79], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180029d80
xor edx, edx
mov cl, 0x47
movss xmm1, dword [rax]
movss xmm2, dword [rax + 4]
subss xmm1, xmm6
movss xmm0, dword [rax + 8]
subss xmm2, xmm7
subss xmm0, xmm8
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
sqrtss xmm0, xmm2
cvttss2si r9d, xmm0
call fcn.180001060
lea edx, [rdi + 1]
mov byte [rsp + 0x40], al
mov cl, 0x4d
call fcn.180001060
lea edx, [rdi + 2]
mov byte [rbp - 0x80], al
mov cl, 0x4e
call fcn.180001060
lea edx, [rdi + 3]
mov byte [rbp - 0x7f], al
mov cl, 0x6f
call fcn.180001060
lea edx, [rdi + 4]
mov byte [rbp - 0x7e], al
mov cl, 0x74
call fcn.180001060
lea edx, [rdi + 5]
mov byte [rbp - 0x7d], al
mov cl, 0x65
call fcn.180001060
mov byte [rbp - 0x7c], al
lea edx, [rdi + 6]
mov cl, 0x20
call fcn.180001060
lea edx, [rdi + 7]
mov byte [rbp - 0x7b], al
mov cl, 0x5b
call fcn.180001060
lea edx, [rdi + 8]
mov byte [rbp - 0x7a], al
mov cl, 0x25
call fcn.180001060
lea edx, [rdi + 9]
mov byte [rbp - 0x79], al
mov cl, 0x64
call fcn.180001060
lea edx, [rdi + 0xa]
mov byte [rbp - 0x78], al
mov cl, 0x20
call fcn.180001060
lea edx, [rdi + 0xb]
mov byte [rbp - 0x77], al
mov cl, 0x6d
call fcn.180001060
lea edx, [rdi + 0xc]
mov byte [rbp - 0x76], al
mov cl, 0x5d
call fcn.180001060
mov byte [rbp - 0x75], al
mov edx, edi
xor eax, eax
mov byte [rbp - 0x74], al
movsxd rcx, edx
lea eax, [rdx + 0x13]
inc edx
xor byte [rsp + rcx + 0x40], al
cmp edx, 0xd
jb 0x18000475f
lea r8, [rsp + 0x40]
mov byte [rbp - 0x74], dil
mov edx, 0x41
lea rcx, [rbp - 0x51]
call fcn.1800296d8
and dword [rbp - 0x61], edi
xor r9d, r9d
and dword [rbp - 0x5d], edi
xor r8d, r8d
and dword [rbp - 0x59], edi
xor edx, edx
mov dword [rbp + 0x5f], 0xa3f0ac80
mov dword [rbp + 0x63], 0xed18ed18
mov rax, qword [rbp + 0x5f]
xor rax, qword [0x18004c2e0]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx]
mov qword [rsp + 0x28], rdi
mov qword [rbp - 0x71], rdi
mov rcx, qword [rax + 0x130]
lea rax, [rsp + 0x40]
mov qword [rbp - 0x79], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180029d80
lea rdx, [rbp - 0x61]
mov rcx, rax
call fcn.1800087ac
test al, al
je 0x1800048a2
lea rcx, [rbp - 0x51]
call fcn.180029620
mov rbx, qword [rbp + 0x7f]
lea r8, [rbp - 0x51]
mov r9d, eax
mov rdi, rax
mov rdx, qword [rbx + 0x10]
movss xmm1, dword [rbx + 8]
mov rcx, qword [rbx]
call rdx
movss xmm3, dword [0x18004c01c]
movaps xmm6, xmm0
movss xmm0, dword [0x18004c010]
movss xmm2, dword [0x18004c018]
movss xmm1, dword [0x18004c014]
call fcn.18000902c
movss xmm1, dword [rbp - 0x61]
lea r8, [rbp - 0x51]
mulss xmm6, dword [0x18004a814]
lea rdx, [rsp + 0x40]
mov r9d, edi
mov dword [rbp - 0x79], 0x42c80000
movss xmm0, dword [rbp - 0x5d]
mov rcx, rsi
movss dword [rbp - 0x7d], xmm0
subss xmm1, xmm6
mov dword [rbp - 0x75], 0x42c80000
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
subss xmm1, dword [0x18004a820]
movss dword [rsp + 0x40], xmm1
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm1
call fcn.18000a468
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret