Function at 0x18006a8a0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x30
mov eax, dword [0x1801af720]
lea rsi, [0x18012fcd0]
cmp eax, 2
jne 0x18006ad27
mov rcx, qword [0x1801af950]
mov rbx, qword [0x1801af980]
mov qword [rsp + 0x48], rdi
mov rdi, rcx
mov qword [rsp + 0x40], rcx
test rcx, rcx
jne 0x18006a8ff
mov rcx, qword [rbx + 0x68]
mov rdi, rcx
test rcx, rcx
jne 0x18006a8fa
mov rax, qword [rbx + 0x58]
mov rcx, qword [rax + 0x50]
mov rcx, qword [rcx]
mov rdi, rcx
mov qword [rsp + 0x40], rcx
call fcn.180081620
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x4038]
call fcn.180089870
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x3ea0]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x288]
call fcn.18008b670
mov r10, qword [0x1801af980]
lea rdx, [0x180135669]
mov rdi, qword [rsp + 0x48]
mov r8b, 0x50
mov dword [rsp + 0x40], 0x43820000
mov dword [rsp + 0x44], 0x43bf0000
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movss xmm1, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm1, dword [0x180137b6c]
addss xmm0, dword [0x180137b0c]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x18006a9e7
cmp byte [rdx], r8b
jne 0x18006a9e7
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [rsi + rcx*4]
test r8b, r8b
jne 0x18006a9d4
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x18006aa21
lea r8, str.Players
mov edx, 0xb
mov ecx, ebx
call fcn.180089280
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, str.Players
call fcn.18007b690
mov rcx, qword [0x1801af980]
lea rdx, [0x1801af7a1]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
lea rcx, [0x180135554]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm0, dword [0x180137a90]
movss dword [rax + 0xe4], xmm0
call fcn.18007bfa0
cmp byte [0x1801af7a1], 0
je 0x18006aaaf
lea r9, str.None
mov dword [rsp + 0x20], 4
lea rdx, [0x1801af780]
lea rcx, [0x180135da8]
call fcn.180068600
lea rdx, [0x1801af79a]
lea rcx, [0x180135dac]
call fcn.18007bfa0
lea rdx, [0x1801af79b]
lea rcx, [0x180135db8]
call fcn.18007bfa0
lea rdx, [0x1801af74e]
lea rcx, str.Skeleton
call fcn.18007bfa0
lea rdx, [0x1801af74c]
lea rcx, str.HealthBar
call fcn.18007bfa0
lea rdx, [0x1801af74f]
lea rcx, [0x18013553c]
call fcn.18007bfa0
lea rdx, [0x1801af75e]
lea rcx, str.Oof_Arrows
call fcn.18007bfa0
lea rdx, [0x1801af798]
lea rcx, str.Ignore_Sleepers
call fcn.18007bfa0
lea rdx, [0x1801af826]
lea rcx, str.TargetName
call fcn.18007bfa0
call fcn.18007c670
mov r10, qword [0x1801af980]
lea rdx, [0x180135e15]
mov dword [rsp + 0x40], 0x43820000
mov r8b, 0x4e
mov dword [rsp + 0x44], 0x43bf0000
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movss xmm1, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm1, dword [0x180137bc8]
addss xmm0, dword [0x180137b0c]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x18006ac03
cmp byte [rdx], r8b
jne 0x18006ac03
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [rsi + rcx*4]
test r8b, r8b
jne 0x18006abf0
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x18006ac3d
lea r8, [0x180135e14]
mov edx, 0xb
mov ecx, ebx
call fcn.180089280
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, [0x180135e14]
call fcn.18007b690
mov rcx, qword [0x1801af980]
lea rdx, [0x1801af850]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
lea rcx, str.Box
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm0, dword [0x180137a90]
movss dword [rax + 0xe4], xmm0
call fcn.18007bfa0
cmp byte [0x1801af850], 0
je 0x18006accb
lea r9, str.None
mov dword [rsp + 0x20], 3
lea rdx, [0x1801af838]
lea rcx, [0x180135e20]
call fcn.180068600
lea rdx, [0x1801af845]
lea rcx, str.Name
call fcn.18007bfa0
lea rdx, [0x1801af846]
lea rcx, str.Distance
call fcn.18007bfa0
lea rdx, [0x1801af83c]
lea rcx, str.Skeleton
call fcn.18007bfa0
lea rdx, [0x1801af83d]
lea rcx, str.Weapon
call fcn.18007bfa0
call fcn.18007c670
call fcn.1800816c0
mov eax, dword [0x1801af720]
cmp eax, 3
jne 0x18006aea8
mov r10, qword [0x1801af980]
lea r8, [0x180135e51]
mov dword [rsp + 0x40], 0x43820000
mov dl, 0x57
mov dword [rsp + 0x44], 0x43bf0000
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movss xmm1, dword [rax + 0x18]
movss xmm0, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm1, dword [0x180137b6c]
addss xmm0, dword [0x180137b0c]
movss dword [rax + 0xe0], xmm1
movss dword [rax + 0xe4], xmm0
mov rax, qword [r10 + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [r10 + 0x3ea0]
movsxd rcx, dword [rax + 0xd0]
mov rax, qword [rax + 0xd8]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
nop
cmp dl, 0x23
jne 0x18006ade2
cmp byte [r8], dl
jne 0x18006ade2
cmp byte [r8 + 1], dl
cmove ebx, r9d
movzx ecx, bl
movzx eax, dl
movzx edx, byte [r8]
xor rcx, rax
shr ebx, 8
inc r8
xor ebx, dword [rsi + rcx*4]
test dl, dl
jne 0x18006add0
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x18006ae1a
lea r8, str.World_General
mov edx, 0xb
mov ecx, ebx
call fcn.180089280
lea r8, [rsp + 0x40]
mov edx, ebx
lea rcx, str.World_General
call fcn.18007b690
mov rcx, qword [0x1801af980]
lea rdx, [0x1801af8d8]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
lea rcx, str.Stone
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x68]
mov byte [rax + 0x121], 1
addss xmm0, dword [0x180137a90]
movss dword [rax + 0xe4], xmm0
call fcn.18007bfa0
lea rdx, [0x1801af89f]
lea rcx, str.Sulfur
call fcn.18007bfa0
lea rdx, [0x1801af8d9]
lea rcx, str.Metal
call fcn.18007bfa0
call fcn.18007c670
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret