Function at 0x18002bc30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xf8
movss xmm0, dword [0x1800a5e28]
comiss xmm0, dword [0x1800c54b8]
ja 0x18002c025
cmp byte [0x1800c54bd], 0
je 0x18002c025
cmp qword [0x1800a3e60], 0
je 0x18002c025
movss xmm0, dword [0x1800a3e50]
movaps xmmword [rsp + 0xc0], xmm8
xorps xmm8, xmm8
ucomiss xmm0, xmm8
jp 0x18002bca8
jne 0x18002bca8
movss xmm0, dword [0x1800a3e54]
ucomiss xmm0, xmm8
jp 0x18002bca8
jne 0x18002bca8
movss xmm0, dword [0x1800a3e58]
ucomiss xmm0, xmm8
jp 0x18002bca8
je 0x18002c01c
mov rcx, qword [0x1800c2970]
mov qword [rsp + 0x118], rsi
call fcn.18000d130
mov rsi, rax
test rax, rax
je 0x18002c014
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 0x18002bcf0
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 0x18002bd10
mov rax, qword [rsi]
mov rbp, qword [rax + 0x10]
mov rcx, rbp
call fcn.18002ac80
cmp eax, ebx
je 0x18002bd49
mov rcx, rbp
call fcn.18002ac80
cmp eax, edi
jne 0x18002bffc
cmp byte [0x1800c54bd], 0
je 0x18002bffc
mov edx, dword [0x1800a3fb0]
lea rcx, [rsp + 0x100]
call fcn.180012f60
test al, al
je 0x18002bffc
movss xmm0, dword [0x1800a3e50]
movss xmm1, dword [0x1800a3e54]
mov rcx, qword [0x1800c2970]
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 [0x1800a3e58]
movaps xmmword [rsp + 0x90], xmm11
movss dword [rsp + 0x48], xmm0
movaps xmmword [rsp + 0x80], xmm12
movss dword [rsp + 0x44], xmm1
call fcn.180011fd0
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180015310
movss xmm7, dword [0x1800a3e50]
movss xmm11, dword [0x1800a3e54]
movaps xmm6, xmm7
movss xmm12, dword [0x1800a3e58]
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.180014c50
call fcn.180014e00
call fcn.180014a90
mov rcx, qword [0x1800c2970]
call fcn.18002b4e0
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.18000df70
movaps xmm3, xmm8
mov qword [rsp + 0x20], 0
mov r8d, 0x48a10000
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.180016310
test al, al
je 0x18002bfc8
mulss xmm7, xmm7
xorps xmm0, xmm0
mulss xmm11, xmm11
mulss xmm12, xmm12
addss xmm7, xmm11
addss xmm7, xmm12
ucomiss xmm0, xmm7
ja 0x18002bea9
sqrtss xmm7, xmm7
jmp 0x18002beb4
movaps xmm0, xmm7
call fcn.1800a12b0
movaps xmm7, xmm0
mov rcx, qword [0x1800a3e60]
addss xmm7, dword [0x1800a5c24]
call fcn.18002b5a0
movss xmm1, dword [0x1800c54b8]
addss xmm1, dword [0x1800a5e20]
mulss xmm1, dword [0x1800a5c30]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1800a5e30]
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm7
jbe 0x18002bfc8
mov rcx, qword [0x1800a3e60]
call fcn.18000d3e0
mov edx, 0x200
mov rcx, rax
call fcn.180013930
test al, al
je 0x18002bfc8
mulss xmm6, xmm6
xorps xmm0, xmm0
mulss xmm9, xmm9
mulss xmm10, xmm10
addss xmm6, xmm9
addss xmm6, xmm10
ucomiss xmm0, xmm6
ja 0x18002bf47
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x18002bf4f
movaps xmm0, xmm6
call fcn.1800a12b0
movss xmm1, dword [0x1800a5e40]
comiss xmm1, xmm0
jb 0x18002bfc8
mov rcx, qword [0x1800a3e60]
movsd xmm6, qword [0x1800a3e50]
mov ebx, dword [0x1800a3e58]
call fcn.180011fd0
mov ecx, dword [rsp + 0x58]
lea r9, [rsp + 0x70]
movsd xmm0, qword [rsp + 0x50]
mov r8, qword [0x1800a3e60]
mov rdx, qword [0x1800c2970]
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.18001c1f0
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