Function at 0x180033310
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movss xmm0, dword [0x1800b8074]
comiss xmm0, dword [0x1800daed8]
ja 0x180033a08
cmp byte [0x1800daedf], 0
mov qword [rax + 0x18], rsi
lea rsi, str.BaseMelee
mov qword [rax + 0x20], rdi
lea rdi, str.Jackhammer
mov qword [rax - 0x20], r14
mov r14d, 0x84222325
movaps xmmword [rax - 0x48], xmm7
xorps xmm7, xmm7
mov qword [rax + 0x10], rbx
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
je 0x180033683
cmp qword [0x1800b5f70], 0
je 0x180033683
movss xmm0, dword [0x1800b5f60]
ucomiss xmm0, xmm7
jp 0x1800333ca
jne 0x1800333ca
movss xmm0, dword [0x1800b5f64]
ucomiss xmm0, xmm7
jp 0x1800333ca
jne 0x1800333ca
movss xmm0, dword [0x1800b5f68]
ucomiss xmm0, xmm7
jp 0x1800333ca
je 0x180033683
mov rcx, qword [0x1800d82c0]
call fcn.18000de50
mov r13, rax
test rax, rax
je 0x180033683
mov rdx, rdi
mov r15d, r14d
mov cl, 0x4a
nop word [rax + rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r15d
imul r15d, ecx, 0x1b3
movzx ecx, byte [rdx]
test cl, cl
jne 0x1800333f0
mov rcx, rsi
mov ebx, r14d
mov al, 0x42
movsx eax, al
lea rcx, [rcx + 1]
xor eax, ebx
imul ebx, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x180033410
mov rax, qword [r13]
mov r12, qword [rax + 0x10]
mov rcx, r12
call fcn.180032230
cmp eax, ebx
je 0x18003344b
mov rcx, r12
call fcn.180032230
cmp eax, r15d
jne 0x180033683
cmp byte [0x1800daedf], 0
je 0x180033683
mov edx, dword [0x1800b6120]
lea rcx, [rbp + 0x67]
call fcn.180015ef0
test al, al
je 0x180033683
movss xmm0, dword [0x1800b5f60]
movss xmm1, dword [0x1800b5f64]
mov rcx, qword [0x1800d82c0]
movss dword [rbp - 0x59], xmm0
movss xmm0, dword [0x1800b5f68]
movss dword [rbp - 0x51], xmm0
movss dword [rbp - 0x55], xmm1
call fcn.180013d90
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.180018710
movss xmm8, dword [0x1800b5f60]
movss xmm6, dword [0x1800b5f64]
movaps xmm1, xmm8
movss xmm9, dword [0x1800b5f68]
movaps xmm2, xmm6
subss xmm2, dword [rax + 4]
subss xmm1, dword [rax]
movaps xmm0, xmm9
subss xmm0, dword [rax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180033508
xorps xmm10, xmm10
sqrtss xmm10, xmm2
jmp 0x180033514
movaps xmm0, xmm2
call fcn.1800b30c0
movaps xmm10, xmm0
subss xmm6, dword [rbp - 0x55]
subss xmm8, dword [rbp - 0x59]
subss xmm9, dword [rbp - 0x51]
xorps xmm0, xmm0
mulss xmm6, xmm6
mulss xmm8, xmm8
mulss xmm9, xmm9
addss xmm6, xmm8
addss xmm6, xmm9
ucomiss xmm0, xmm6
ja 0x18003354b
sqrtss xmm6, xmm6
jmp 0x180033556
movaps xmm0, xmm6
call fcn.1800b30c0
movaps xmm6, xmm0
addss xmm6, dword [0x1800b7de4]
call fcn.180017e70
call fcn.180018020
call fcn.180017cb0
mov rcx, qword [0x1800d82c0]
call fcn.1800210f0
lea rdx, [rbp - 0x49]
mov rcx, rax
call fcn.18000ed50
movss xmm0, dword [rbp - 0x49]
ucomiss xmm0, xmm7
jp 0x1800335ad
jne 0x1800335ad
movss xmm0, dword [rbp - 0x45]
ucomiss xmm0, xmm7
jp 0x1800335ad
jne 0x1800335ad
movss xmm0, dword [rbp - 0x41]
ucomiss xmm0, xmm7
jp 0x1800335ad
je 0x1800339a5
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a10000
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.1800198c0
test al, al
je 0x180033683
mov rcx, qword [0x1800b5f20]
call fcn.180032c80
movss xmm1, dword [0x1800daed8]
addss xmm1, dword [0x1800b806c]
mulss xmm1, dword [0x1800b7df0]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1800b8080]
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm6
jbe 0x180033683
movss xmm0, dword [0x1800b8094]
comiss xmm0, xmm10
jb 0x180033683
mov rcx, qword [0x1800b5f70]
movsd xmm6, qword [0x1800b5f60]
mov ebx, dword [0x1800b5f68]
call fcn.180013d90
mov ecx, dword [rbp - 0x41]
lea r9, [rbp - 0x29]
movsd xmm0, qword [rbp - 0x49]
mov r8, qword [0x1800b5f70]
mov rdx, qword [0x1800d82c0]
mov dword [rbp - 0x21], ecx
lea rcx, [rbp - 0x39]
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rcx
mov rcx, r13
movsd qword [rbp - 0x39], xmm6
mov dword [rbp - 0x31], ebx
movsd qword [rbp - 0x29], xmm0
mov qword [rsp + 0x20], rax
call fcn.1800211b0
cmp byte [0x1800daede], 0
je 0x1800339a5
cmp qword [0x1800b5f20], 0
je 0x1800339a5
movss xmm0, dword [0x1800b5f10]
ucomiss xmm0, xmm7
jp 0x1800336cf
jne 0x1800336cf
movss xmm0, dword [0x1800b5f14]
ucomiss xmm0, xmm7
jp 0x1800336cf
jne 0x1800336cf
movss xmm0, dword [0x1800b5f18]
ucomiss xmm0, xmm7
jp 0x1800336cf
je 0x1800339a5
mov rcx, qword [0x1800d82c0]
call fcn.18000de50
mov r15, rax
test rax, rax
je 0x1800339a5
mov ebx, r14d
mov cl, 0x4a
nop dword [rax]
movsx ecx, cl
lea rdi, [rdi + 1]
xor ecx, ebx
imul ebx, ecx, 0x1b3
movzx ecx, byte [rdi]
test cl, cl
jne 0x1800336f0
mov al, 0x42
nop dword [rax + rax]
movsx eax, al
lea rsi, [rsi + 1]
xor eax, r14d
imul r14d, eax, 0x1b3
movzx eax, byte [rsi]
test al, al
jne 0x180033710
mov rax, qword [r15]
mov rdi, qword [rax + 0x10]
mov rcx, rdi
call fcn.180032230
cmp eax, r14d
je 0x18003374c
mov rcx, rdi
call fcn.180032230
cmp eax, ebx
jne 0x1800339a5
cmp byte [0x1800daede], 0
je 0x1800339a5
mov edx, dword [0x1800b6120]
lea rcx, [rbp + 0x67]
call fcn.180015ef0
test al, al
je 0x1800339a5
movss xmm0, dword [0x1800b5f10]
movss xmm1, dword [0x1800b5f14]
mov rcx, qword [0x1800d82c0]
movss dword [rbp - 0x49], xmm0
movss xmm0, dword [0x1800b5f18]
movss dword [rbp - 0x41], xmm0
movss dword [rbp - 0x45], xmm1
call fcn.180013d90
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.180018710
movss xmm8, dword [0x1800b5f10]
movss xmm6, dword [0x1800b5f14]
movaps xmm1, xmm8
movss xmm9, dword [0x1800b5f18]
movaps xmm2, xmm6
subss xmm2, dword [rax + 4]
subss xmm1, dword [rax]
movaps xmm0, xmm9
subss xmm0, dword [rax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x180033809
xorps xmm10, xmm10
sqrtss xmm10, xmm2
jmp 0x180033815
movaps xmm0, xmm2
call fcn.1800b30c0
movaps xmm10, xmm0
subss xmm6, dword [rbp - 0x45]
subss xmm8, dword [rbp - 0x49]
subss xmm9, dword [rbp - 0x41]
xorps xmm0, xmm0
mulss xmm6, xmm6
mulss xmm8, xmm8
mulss xmm9, xmm9
addss xmm6, xmm8
addss xmm6, xmm9
ucomiss xmm0, xmm6
ja 0x18003384c
sqrtss xmm6, xmm6
jmp 0x180033857
movaps xmm0, xmm6
call fcn.1800b30c0
movaps xmm6, xmm0
addss xmm6, dword [0x1800b7de4]
call fcn.180017e70
call fcn.180018020
call fcn.180017cb0
mov rcx, qword [0x1800d82c0]
call fcn.1800210f0
lea rdx, [rbp - 0x59]
mov rcx, rax
call fcn.18000ed50
movss xmm0, dword [rbp - 0x59]
ucomiss xmm0, xmm7
jp 0x1800338ae
jne 0x1800338ae
movss xmm0, dword [rbp - 0x55]
ucomiss xmm0, xmm7
jp 0x1800338ae
jne 0x1800338ae
movss xmm0, dword [rbp - 0x51]
ucomiss xmm0, xmm7
jp 0x1800338ae
je 0x1800339a5
movaps xmm3, xmm7
mov qword [rsp + 0x20], 0
mov r8d, 0x48a10000
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x59]
call fcn.1800198c0
test al, al
je 0x1800339a5
mov rcx, qword [0x1800b5f20]
call fcn.180032c80
movss xmm1, dword [0x1800daed8]
addss xmm1, dword [0x1800b806c]
mulss xmm1, dword [0x1800b7df0]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x1800b8080]
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm6
jbe 0x1800339a5
mov rcx, qword [0x1800b5f20]
call fcn.18000e1c0
mov edx, 0x200
mov rcx, rax
call fcn.1800168c0
test al, al
je 0x1800339a5
movss xmm0, dword [0x1800b8090]
comiss xmm0, xmm10
jb 0x1800339a5
mov rcx, qword [0x1800b5f20]
movsd xmm6, qword [0x1800b5f10]
mov ebx, dword [0x1800b5f18]
call fcn.180013d90
mov ecx, dword [rbp - 0x51]
lea r9, [rbp - 0x39]
movsd xmm0, qword [rbp - 0x59]
mov r8, qword [0x1800b5f20]
mov rdx, qword [0x1800d82c0]
mov dword [rbp - 0x31], ecx
lea rcx, [rbp - 0x29]
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rcx
mov rcx, r15
movsd qword [rbp - 0x29], xmm6
mov dword [rbp - 0x21], ebx
movsd qword [rbp - 0x39], xmm0
mov qword [rsp + 0x20], rax
call fcn.1800211b0
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
mov rbx, qword [rsp + 0x108]
movaps xmm6, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0x80]
mov rdi, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x110]
mov r14, qword [rsp + 0xd8]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret