Function at 0x18009a230
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rdi
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x18014a040]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov ecx, dword [0x18014d05c]
mov rax, qword gs:[0x58]
mov edx, 4
mov qword [rsp + 0xb0], r14
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18015052c], ecx
jle 0x18009a2f5
lea rcx, [0x18015052c]
call fcn.1800cc318
cmp dword [0x18015052c], 0xffffffff
jne 0x18009a2f5
mov r10d, 0xffffffff
lea r9, [0x18012d709]
mov r8d, r10d
lea r11, [0x1800f7020]
mov cl, 0x50
nop word [rax + rax]
cmp cl, 0x23
jne 0x18009a2c2
cmp byte [r9], cl
jne 0x18009a2c2
cmp byte [r9 + 1], cl
cmove r8d, r10d
movzx edx, r8b
movzx eax, cl
movzx ecx, byte [r9]
xor rdx, rax
shr r8d, 8
inc r9
xor r8d, dword [r11 + rdx*4]
test cl, cl
jne 0x18009a2b0
not r8d
lea rcx, [0x18015052c]
mov dword [0x180150528], r8d
call fcn.1800cc2ac
mov r8d, 0x100
lea rdx, [0x18014d63d]
lea rcx, str.Chest_Stealer_Slot_Settings
call fcn.180011250
lea rdx, [0x18014d3e0]
lea rcx, str.show_slot_positions
call fcn.180045e70
xor r8d, r8d
mov qword [rbp - 0x28], 0
lea rdx, [rbp - 0x28]
lea rcx, [0x18012cf54]
call fcn.1800445f0
test al, al
je 0x18009a382
mov rdx, qword [0x18014a610]
cmp rdx, qword [0x18014a618]
je 0x18009a37d
mov qword [rdx], 0xffffffffffffffff
mov dword [rdx + 8], 0xffffff79
mov dword [rdx + 0xc], 0xffffffba
mov dword [rdx + 0x10], 0x23
mov dword [rdx + 0x14], 0x23
add qword [0x18014a610], 0x18
jmp 0x18009a382
call fcn.1800a0430
mov r14, qword [0x18014a610]
lea rax, [rbp - 0x20]
mov rdi, qword [0x18014a608]
xor r15d, r15d
mov qword [rbp - 0x38], rax
mov edx, r15d
mov dword [rbp - 0x20], edx
cmp rdi, r14
je 0x18009a6df
mov rcx, qword [0x18014d0c0]
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], r12
lea r12, [0x1800f6b60]
movaps xmmword [rsp + 0x70], xmm6
movss xmm6, dword [0x1801308dc]
nop word [rax + rax]
mov rbx, qword [rcx + 0x4180]
mov rcx, rbx
call fcn.180015510
add rbx, 0x138
mov esi, eax
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x18009a42c
inc r8d
test ecx, ecx
je 0x18009a415
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18009a41a
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.18002d800
movsxd rcx, dword [rbx]
lea rdx, str._dx_d
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], esi
lea rcx, str.item
inc dword [rbx]
mov r9d, dword [rdi + 4]
mov r8d, dword [rdi]
call fcn.180055ee0
test al, al
je 0x18009a67b
xor r8d, r8d
xor edx, edx
mov ecx, 1
call fcn.180016560
test al, al
je 0x18009a481
xor ecx, ecx
call fcn.180009880
test al, al
je 0x18009a481
lea rcx, [rbp - 0x38]
call fcn.18009a850
lea rax, [rbp - 0x30]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea r8, [rdi + 0x10]
lea rax, [rbp - 0x28]
mov dword [rbp - 0x30], r15d
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp - 0x28], r15d
lea rcx, str.space_x
call fcn.180048cb0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea r8, [rdi + 0x14]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x28], r15d
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp - 0x30], r15d
lea rcx, str.space_y
call fcn.180048cb0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea r8, [rdi + 8]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x28], r15d
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp - 0x30], r15d
lea rcx, str.pos_x
call fcn.180048cb0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea r8, [rdi + 0xc]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x28], r15d
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp - 0x30], r15d
lea rcx, str.pos_y
call fcn.180048cb0
cmp dword [rdi], 0xffffffff
jne 0x18009a56c
cmp dword [rdi + 4], 0xffffffff
jne 0x18009a56c
xor al, al
jmp 0x18009a56e
mov al, 1
lea rdx, [rbp - 0x40]
mov byte [rbp - 0x40], al
lea rcx, str.bind_to_resolution
call fcn.180045e70
test al, al
je 0x18009a59c
cmp byte [rbp - 0x40], r15b
je 0x18009a5ab
mov eax, dword [0x18014a2d0]
mov dword [rdi], eax
mov eax, dword [0x18014a2d4]
mov dword [rdi + 4], eax
cmp dword [rdi], 0xffffffff
je 0x18009a5b2
cmp dword [rdi + 4], 0xffffffff
je 0x18009a5b2
xor ecx, ecx
jmp 0x18009a5b4
mov qword [rdi], 0xffffffffffffffff
mov cl, 1
call fcn.180014f00
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea rcx, str.res_x
lea rax, [rbp - 0x30]
mov dword [rbp - 0x28], r15d
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
mov r8, rdi
mov dword [rbp - 0x30], r15d
mov edx, 4
call fcn.180048cb0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
lea r8, [rdi + 4]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x28], r15d
movaps xmm3, xmm6
mov qword [rsp + 0x20], rax
mov edx, 4
mov dword [rbp - 0x30], r15d
lea rcx, str.res_y
call fcn.180048cb0
mov rdx, qword [0x18014d0c0]
mov eax, dword [rdx + 0x4b0c]
movsxd rcx, dword [rdx + 0x4c78]
dec word [rdx + 0x60c4]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rdx + 0x4c78], eax
mov rax, qword [rdx + 0x4c80]
mov r8d, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4b0c], r8d
je 0x18009a676
test r8b, 4
jne 0x18009a676
mov eax, dword [rdx + 0x60c0]
mov dword [rdx + 0x39f8], eax
call fcn.180056930
xor r8d, r8d
xor edx, edx
mov ecx, 1
call fcn.180016560
test al, al
je 0x18009a6a2
xor ecx, ecx
call fcn.180009880
test al, al
je 0x18009a6a2
lea rcx, [rbp - 0x38]
call fcn.18009a850
inc dword [rbp - 0x20]
add rdi, 0x18
mov rcx, qword [0x18014d0c0]
mov rax, qword [rcx + 0x4180]
dec dword [rax + 0x138]
cmp rdi, r14
je 0x18009a6ca
mov edx, dword [rbp - 0x20]
jmp 0x18009a3e0
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0x70]
mov ecx, dword [0x180150528]
call fcn.1800158e0
mov rbx, qword [0x18014d0c0]
mov r14, qword [rsp + 0xb0]
mov eax, dword [rbx + 0x4ca8]
cmp dword [rbx + 0x4c98], eax
jg 0x18009a713
mov dword [rbx + 0x4b90], r15d
jmp 0x18009a80e
mov rbx, qword [rbx + 0x4180]
lea rcx, str.POPUP_CHESTSTEALER_SLOT
xor edx, edx
movsxd rax, dword [rbx + 0x138]
mov r8, qword [rbx + 0x140]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180005bd0
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x41d4], eax
jne 0x18009a75b
lea r8, str.POPUP_CHESTSTEALER_SLOT
mov edx, 0xb
mov ecx, eax
call fcn.18002bea0
mov edx, 0x141
mov ecx, edi
call fcn.18001a4a0
test al, al
je 0x18009a80e
xor r9d, r9d
lea rcx, str.Delete
call fcn.180058500
test al, al
je 0x18009a7b7
mov eax, dword [0x18014d5c8]
mov r8, qword [0x18014a610]
lea rcx, [rax + rax*2]
mov rax, qword [0x18014a608]
lea rcx, [rax + rcx*8]
lea rdx, [rcx + 0x18]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
sub qword [0x18014a610], 0x18
call fcn.18001a3c0
mov rbx, qword [0x18014d0c0]
mov rcx, qword [rbx + 0x4180]
cmp qword [rbx + 0x4d48], rcx
jne 0x18009a7f2
cmp byte [rbx + 0x4de9], r15b
je 0x18009a7f2
cmp dword [rbx + 0x4d98], r15d
jne 0x18009a7f2
mov eax, dword [rbx + 0x4dec]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4dec], eax
test dword [rcx + 0x14], 0x1000000
je 0x18009a802
mov byte [rbx + 0x40da], 1
call fcn.1800143c0
mov byte [rbx + 0x40da], r15b
mov rax, qword [0x18014d0c0]
mov rcx, qword [rax + 0x4180]
dec dword [rcx + 0x138]
call fcn.1800143c0
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1800cc250
mov rbx, qword [rsp + 0xb8]
add rsp, 0x80
pop r15
pop rdi
pop rbp
ret