Function at 0x18002f570
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
mov rdi, qword [0x1800801d0]
movzx ebx, r9b
mov r12d, dword [rbp + 0xa0]
mov r14d, edx
movaps xmmword [rax - 0x38], xmm6
mov r13, qword [rdi + 0x1a80]
mov eax, dword [r13 + 0xc]
movss xmm3, dword [r13 + 0x270]
and eax, 4
movss xmm5, dword [r13 + 0x274]
or eax, 0x1000103
or r12d, eax
cmp qword [r13 + 0x1a0], 0
je 0x18002f5e7
movss xmm3, dword [r13 + 0x250]
cvttss2si eax, dword [r8]
subss xmm3, dword [r13 + 0xd0]
subss xmm5, dword [r13 + 0xd4]
xorps xmm4, xmm4
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm4
cvtdq2ps xmm0, xmm0
jp 0x18002f623
jne 0x18002f623
mov eax, 1
jmp 0x18002f625
xor eax, eax
ucomiss xmm0, xmm4
jp 0x18002f634
jne 0x18002f634
mov r15d, 2
jmp 0x18002f637
xor r15d, r15d
movss xmm2, dword [0x180071cf0]
or r15d, eax
comiss xmm4, xmm1
jb 0x18002f653
addss xmm1, xmm3
comiss xmm1, xmm2
jae 0x18002f653
movaps xmm1, xmm2
comiss xmm4, xmm0
jb 0x18002f664
addss xmm0, xmm5
comiss xmm0, xmm2
jae 0x18002f664
movaps xmm0, xmm2
or dword [rdi + 0x1b20], 2
movss dword [rdi + 0x1b40], xmm1
movss dword [rdi + 0x1b44], xmm0
mov dword [rdi + 0x1b28], 1
mov r9, qword [r13]
test rcx, rcx
je 0x18002f707
movzx eax, word [0x180071b00]
lea r8, [rsp + 0x30]
movsd xmm0, qword [0x180071af8]
mov edx, 0x100
movsd qword [rsp + 0x30], xmm0
xor byte [rsp + 0x31], 0x32
xor byte [rsp + 0x32], 0x33
xor byte [rsp + 0x33], 0x34
xor byte [rsp + 0x34], 0x35
xor byte [rsp + 0x35], 0x36
xor byte [rsp + 0x36], 0x37
xor byte [rsp + 0x37], 0x38
mov word [rsp + 0x38], ax
movzx eax, byte [0x180071b02]
xor byte [rsp + 0x38], 0x39
xor al, 0x3b
xor byte [rsp + 0x39], 0x3a
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
mov byte [rsp + 0x3a], al
mov byte [rsp + 0x30], 0x25
call fcn.180034360
jmp 0x18002f780
cmp byte [0x180071b0f], 0
mov rax, qword [0x180071b08]
mov qword [rbp + 0x80], rax
je 0x18002f765
xor r8d, r8d
movabs r10, 0x47ae147ae147ae15
nop dword [rax + rax]
mov rax, r10
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 + 0x80], al
inc r8
cmp r8, 8
jb 0x18002f730
lea r8, [rbp + 0x80]
mov dword [rsp + 0x20], r14d
mov edx, 0x100
lea rcx, [rsp + 0x40]
call fcn.180034360
movss xmm6, dword [rdi + 0x1594]
test bl, bl
jne 0x18002f796
mov dword [rdi + 0x1594], 0
mov r8d, r12d
lea rcx, [rsp + 0x40]
xor edx, edx
call fcn.18002d340
mov rbx, qword [rdi + 0x1a80]
movzx esi, al
movss dword [rdi + 0x1594], xmm6
cmp word [rbx + 0x8a], 1
mov dword [rbx + 0x50], r14d
mov byte [rbx + 0x96], r15b
jne 0x18002f7da
movsd xmm0, qword [rbx + 0x10]
movsd qword [r13 + 0xd0], xmm0
cmp dword [rdi + 0x1c08], r14d
jne 0x18002f828
bt r12d, 0x17
jb 0x18002f828
cmp dword [rbx + 0x144], 0
jne 0x18002f7fc
cmp byte [rbx + 0x151], 0
je 0x18002f828
mov rcx, rbx
call fcn.1800332e0
xor edx, edx
mov rcx, rbx
call fcn.180036250
lea ecx, [r14 + 1]
mov rdx, rbx
call fcn.18003dcc0
movzx eax, sil
mov dword [rdi + 0x1b00], 2
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret