Function at 0x18002b660
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xf8
movss xmm0, dword [0x1800a6da4]
comiss xmm0, dword [0x1800c6798]
ja 0x18002ba55
cmp byte [0x1800c679d], 0
je 0x18002ba55
cmp qword [0x1800a4e50], 0
je 0x18002ba55
movss xmm0, dword [0x1800a4e40]
movaps xmmword [rsp + 0xc0], xmm8
xorps xmm8, xmm8
ucomiss xmm0, xmm8
jp 0x18002b6d8
jne 0x18002b6d8
movss xmm0, dword [0x1800a4e44]
ucomiss xmm0, xmm8
jp 0x18002b6d8
jne 0x18002b6d8
movss xmm0, dword [0x1800a4e48]
ucomiss xmm0, xmm8
jp 0x18002b6d8
je 0x18002ba4c
mov rcx, qword [0x1800c3c50]
mov qword [rsp + 0x118], rsi
call fcn.18000d410
mov rsi, rax
test rax, rax
je 0x18002ba44
mov qword [rsp + 0x108], rbx
lea rdx, str.Jackhammer
mov qword [rsp + 0x110], rbp
mov ebx, 0x84222325
mov qword [rsp + 0xf0], rdi
mov cl, 0x4a
mov edi, ebx
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1b3
movzx ecx, byte [rdx]
test cl, cl
jne 0x18002b720
lea rcx, str.BaseMelee
mov al, 0x42
nop
movsx eax, al
lea rcx, [rcx + 1]
xor eax, ebx
imul ebx, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x18002b740
mov rax, qword [rsi]
mov rbp, qword [rax + 0x10]
mov rcx, rbp
call fcn.18002a6b0
cmp eax, ebx
je 0x18002b779
mov rcx, rbp
call fcn.18002a6b0
cmp eax, edi
jne 0x18002ba2c
cmp byte [0x1800c679d], 0
je 0x18002ba2c
mov edx, dword [0x1800a4fa0]
lea rcx, [rsp + 0x100]
call fcn.180012fd0
test al, al
je 0x18002ba2c
movss xmm0, dword [0x1800a4e40]
movss xmm1, dword [0x1800a4e44]
mov rcx, qword [0x1800c3c50]
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm10
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x1800a4e48]
movaps xmmword [rsp + 0x90], xmm11
movss dword [rsp + 0x48], xmm0
movaps xmmword [rsp + 0x80], xmm12
movss dword [rsp + 0x44], xmm1
call fcn.180012040
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180014f00
movss xmm7, dword [0x1800a4e40]
movss xmm11, dword [0x1800a4e44]
movaps xmm6, xmm7
movss xmm12, dword [0x1800a4e48]
movaps xmm9, xmm11
subss xmm6, dword [rax]
subss xmm9, dword [rax + 4]
subss xmm7, dword [rsp + 0x40]
subss xmm11, dword [rsp + 0x44]
movaps xmm10, xmm12
subss xmm10, dword [rax + 8]
subss xmm12, dword [rsp + 0x48]
call fcn.180014840
call fcn.1800149f0
call fcn.180014680
mov rcx, qword [0x1800c3c50]
call fcn.18002af10
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18000e000
movaps xmm3, xmm8
mov qword [rsp + 0x20], 0
mov r8d, 0x48a10000
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.180015d40
test al, al
je 0x18002b9f8
mulss xmm7, xmm7
xorps xmm0, xmm0
mulss xmm11, xmm11
mulss xmm12, xmm12
addss xmm7, xmm11
addss xmm7, xmm12
ucomiss xmm0, xmm7
ja 0x18002b8d9
sqrtss xmm7, xmm7
jmp 0x18002b8e4
movaps xmm0, xmm7
call fcn.1800a27c0
movaps xmm7, xmm0
mov rcx, qword [0x1800a4e50]
addss xmm7, dword [0x1800a6ba4]
call fcn.18002afd0
movss xmm1, dword [0x1800c6798]
addss xmm1, dword [0x1800a6da0]
mulss xmm1, dword [0x1800a6bb0]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1800a6da8]
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm7
jbe 0x18002b9f8
mov rcx, qword [0x1800a4e50]
call fcn.18000d470
mov edx, 0x200
mov rcx, rax
call fcn.1800139a0
test al, al
je 0x18002b9f8
mulss xmm6, xmm6
xorps xmm0, xmm0
mulss xmm9, xmm9
mulss xmm10, xmm10
addss xmm6, xmm9
addss xmm6, xmm10
ucomiss xmm0, xmm6
ja 0x18002b977
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x18002b97f
movaps xmm0, xmm6
call fcn.1800a27c0
movss xmm1, dword [0x1800a6db4]
comiss xmm1, xmm0
jb 0x18002b9f8
mov rcx, qword [0x1800a4e50]
movsd xmm6, qword [0x1800a4e40]
mov ebx, dword [0x1800a4e48]
call fcn.180012040
mov ecx, dword [rsp + 0x58]
lea r9, [rsp + 0x70]
movsd xmm0, qword [rsp + 0x50]
mov r8, qword [0x1800a4e50]
mov rdx, qword [0x1800c3c50]
mov dword [rsp + 0x78], ecx
lea rcx, [rsp + 0x60]
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rcx
mov rcx, rsi
movsd qword [rsp + 0x60], xmm6
mov dword [rsp + 0x68], ebx
movsd qword [rsp + 0x70], xmm0
mov qword [rsp + 0x20], rax
call fcn.18001bc20
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm12, xmmword [rsp + 0x80]
mov rdi, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x118]
movaps xmm8, xmmword [rsp + 0xc0]
add rsp, 0xf8
ret