Function at 0x18005ba20
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov r10, qword [0x1803a3798]
lea rdx, [0x1801b6a01]
mov dword [rsp + 0x50], 0x43a00000
lea rdi, [0x1801ad630]
mov dword [rsp + 0x54], 0x431d0000
mov r8b, 0x4f
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 [0x1801b9590]
addss xmm0, dword [0x1801b94ec]
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 0x18005bae8
cmp byte [rdx], r8b
jne 0x18005bae8
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 [rdi + rcx*4]
test r8b, r8b
jne 0x18005bad5
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x18005bb22
lea r8, str.Ores
mov edx, 0xb
mov ecx, ebx
call fcn.180080a70
lea r8, [rsp + 0x50]
mov edx, ebx
lea rcx, str.Ores
call fcn.1800585c0
mov rcx, qword [0x1803a3798]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
cmp byte [rax + 0x9b], 0
jne 0x18005bb75
movss xmm1, dword [0x1801b96b8]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], 0
call fcn.1800796c0
cmp byte [0x1803a31ee], 0
lea rax, [0x1801b6a08]
lea rcx, str.Ore_Path
cmovne rcx, rax
lea rdx, [0x1803a3656]
call fcn.1800568e0
cmp byte [0x1803a31ee], 0
lea rax, [0x1801b6a20]
lea rcx, str.Stone
cmovne rcx, rax
lea rdx, [0x1803a36aa]
call fcn.1800568e0
cmp byte [0x1803a31ee], 0
lea rax, [0x1801b6a30]
lea rcx, str.Sulfur
cmovne rcx, rax
lea rdx, [0x1803a3655]
call fcn.1800568e0
cmp byte [0x1803a31ee], 0
lea rax, [0x1801b6a40]
lea rcx, str.Metal
cmovne rcx, rax
lea rdx, [0x1803a3657]
call fcn.1800568e0
xor esi, esi
cmp byte [0x1803a3655], sil
jne 0x18005bc2a
cmp byte [0x1803a36aa], sil
jne 0x18005bc2a
cmp byte [0x1803a3657], sil
je 0x18005bcc6
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6a50]
mov dword [rsp + 0x30], esi
lea rcx, str.Ores_Dist
cmovne rcx, rax
mov qword [rsp + 0x28], rsi
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x43c80000
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r8, [0x180278f34]
mov dword [rsp + 0x58], 0x40a00000
mov edx, 8
call fcn.180057770
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6a80]
lea rcx, str.Show_Collectables
cmovne rcx, rax
lea rdx, [0x1803a36a8]
call fcn.1800568e0
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6aa8]
lea rcx, str.Show_Ore_Distance
cmovne rcx, rax
lea rdx, [0x1803a36a9]
call fcn.1800568e0
call fcn.180073430
mov r10, qword [0x1803a3798]
lea r8, [0x1801b6aed]
mov dword [rsp + 0x50], 0x43a00000
mov dl, 0x57
mov dword [rsp + 0x54], 0x431d0000
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 [0x1801b9618]
addss xmm0, dword [0x1801b94ec]
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]
cmp dl, 0x23
jne 0x18005bd82
cmp byte [r8], dl
jne 0x18005bd82
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 [rdi + rcx*4]
test dl, dl
jne 0x18005bd70
not ebx
cmp dword [r10 + 0x3ed4], ebx
jne 0x18005bdba
lea r8, str.World
mov edx, 0xb
mov ecx, ebx
call fcn.180080a70
lea r8, [rsp + 0x50]
mov edx, ebx
lea rcx, str.World
call fcn.1800585c0
mov rcx, qword [0x1803a3798]
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
cmp byte [rax + 0x9b], sil
jne 0x18005be09
movss xmm1, dword [0x1801b96b8]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], rsi
call fcn.1800796c0
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6af8]
lea rcx, str.Stashes
cmovne rcx, rax
lea rdx, [0x1803a35c8]
call fcn.1800568e0
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6b08]
lea rcx, str.Hemp
cmovne rcx, rax
lea rdx, [0x1803a35c6]
call fcn.1800568e0
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6b18]
lea rcx, str.Berries
cmovne rcx, rax
lea rdx, [0x1803a35ca]
call fcn.1800568e0
cmp byte [0x1803a35c8], sil
jne 0x18005be93
cmp byte [0x1803a35c6], sil
jne 0x18005be93
cmp byte [0x1803a35ca], sil
je 0x18005bf0a
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6b28]
mov dword [rsp + 0x30], esi
lea rcx, str.Important_Dist
cmovne rcx, rax
mov qword [rsp + 0x28], rsi
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 0x43c80000
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r8, [0x180278d5c]
mov dword [rsp + 0x58], 0x40a00000
mov edx, 8
call fcn.180057770
cmp byte [0x1803a31ee], sil
lea rax, [0x1801b6b48]
lea rcx, str.Show_Other_Distance
cmovne rcx, rax
lea rdx, [0x1803a35c9]
call fcn.1800568e0
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
jmp fcn.180073430