Function at 0x180087320
Capabilities:
Hash data with crc32

Disassembly:
push rbx
push rdi
push r13
sub rsp, 0x90
mov rax, qword [0x180117040]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea rcx, str.steal_button
mov qword [rsp + 0xb0], rbp
call fcn.180043ca0
movss xmm1, dword [0x1800ffe98]
xorps xmm0, xmm0
call fcn.180018c00
call fcn.18007de30
lea rdx, [0x18011a33d]
lea rcx, str.set_slot_positions
call fcn.180045e70
lea rax, [0x1800c99e0]
mov dword [rsp + 0x60], 0xc8
xor r13d, r13d
mov dword [rsp + 0x50], 0xa
mov dword [rsp + 0x30], r13d
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r8, [0x1801172d8]
lea rax, [rsp + 0x60]
mov edx, 4
lea rcx, str.delay_ms
mov qword [rsp + 0x20], rax
call fcn.180049b00
mov ecx, dword [0x180119d7c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x18011cf78], ecx
jle 0x180087458
lea rcx, [0x18011cf78]
call fcn.1800bc008
cmp dword [0x18011cf78], 0xffffffff
jne 0x180087458
mov r10d, 0xffffffff
lea r9, [0x1800fc651]
mov r8d, r10d
lea r11, [0x1800c9ea0]
mov cl, 0x50
cmp cl, 0x23
jne 0x180087425
cmp byte [r9], cl
jne 0x180087425
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 0x180087413
not r8d
lea rcx, [0x18011cf78]
mov dword [0x18011cf7c], r8d
call fcn.1800bbf9c
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], r13
lea rbx, [0x18011cf80]
mov dword [rsp + 0x28], 0x40
lea rcx, [0x1800fc660]
mov r8, rbx
mov qword [rsp + 0x20], rax
mov r9d, 0x40
mov qword [rsp + 0x50], r13
xor edx, edx
call fcn.18004d620
test al, al
je 0x1800874a0
call fcn.180087a10
movss xmm1, dword [0x1800ffe98]
xorps xmm0, xmm0
call fcn.180018c00
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r13b
jne 0x1800874b7
test rax, rax
sete cl
call fcn.180014f00
xor r8d, r8d
mov qword [rsp + 0x50], r13
lea rdx, [rsp + 0x50]
lea rcx, [0x1800fc55c]
call fcn.1800445f0
test al, al
je 0x1800874ed
call fcn.180087a10
mov rbx, qword [0x180119de0]
mov eax, dword [rbx + 0x4b0c]
movsxd rcx, dword [rbx + 0x4c78]
dec word [rbx + 0x60c4]
shr eax, 2
test al, 1
lea eax, [rcx - 1]
mov dword [rbx + 0x4c78], eax
mov rax, qword [rbx + 0x4c80]
mov edx, dword [rax + rcx*4 - 8]
mov dword [rbx + 0x4b0c], edx
je 0x18008753a
test dl, 4
jne 0x18008753a
mov eax, dword [rbx + 0x60c0]
mov dword [rbx + 0x39f8], eax
mov rax, qword [rbx + 0x4180]
lea rcx, str.Items
xor edx, edx
mov qword [rsp + 0x50], r13
mov byte [rax + 0x101], 1
mov rbx, qword [rbx + 0x4180]
movsxd rax, dword [rbx + 0x138]
mov r8, qword [rbx + 0x140]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.180005bd0
mov rdx, qword [rbx]
mov edi, eax
cmp dword [rdx + 0x41d4], eax
jne 0x180087595
lea r8, str.Items
mov edx, 0xb
mov ecx, eax
call fcn.18002bea0
mov r9d, 1
mov qword [rsp + 0xb8], rsi
lea r8, [rsp + 0x50]
mov dword [rsp + 0x20], r13d
mov edx, edi
lea rcx, str.Items
call fcn.18000da80
mov rax, qword [0x1801175f8]
mov rbp, r13
mov rcx, qword [0x1801175f0]
sub rax, rcx
sar rax, 5
test rax, rax
je 0x180087829
mov qword [rsp + 0xc0], r12
lea r12, [0x18011cfc0]
mov qword [rsp + 0x80], r15
mov r15, r13
mov qword [rsp + 0x88], r14
nop
movsxd rax, dword [0x18011739c]
lea rdi, [r15 + rcx]
cmp rbp, rax
jne 0x1800876a0
cmp byte [0x18011a33c], r13b
je 0x1800876a0
mov qword [rsp + 0x38], r13
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], r13
lea rcx, [0x1800fc660]
mov dword [rsp + 0x28], 0x40
mov r9d, 0x40
mov r8, r12
mov qword [rsp + 0x20], rax
xor edx, edx
mov qword [rsp + 0x50], r13
call fcn.18004d620
test al, al
je 0x1800876c1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r12 + r8], r13b
jne 0x180087664
mov rdx, r12
mov rcx, rdi
call fcn.180069560
xorps xmm0, xmm0
mov byte [0x18011a33c], r13b
movups xmmword [0x18011cfc0], xmm0
movups xmmword [0x18011cfd0], xmm0
movups xmmword [0x18011cfe0], xmm0
movups xmmword [0x18011cff0], xmm0
jmp 0x1800876c1
cmp qword [rdi + 0x18], 0xf
mov rcx, rdi
mov qword [rsp + 0x60], r13
jbe 0x1800876b2
mov rcx, qword [rdi]
lea r9, [rsp + 0x60]
xor r8d, r8d
xor edx, edx
call fcn.180056ab0
xor r8d, r8d
xor edx, edx
mov ecx, 1
call fcn.180016560
test al, al
je 0x18008779f
xor ecx, ecx
call fcn.180009880
test al, al
je 0x18008779f
mov ecx, dword [0x18011cf7c]
call fcn.1800158e0
mov r14, qword [0x180119de0]
lea rcx, str.POPUP_CS_ITEMS
xor edx, edx
mov rbx, qword [r14 + 0x4180]
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 esi, eax
cmp dword [rcx + 0x41d4], eax
jne 0x180087741
lea r8, str.POPUP_CS_ITEMS
mov edx, 0xb
mov ecx, eax
call fcn.18002bea0
test byte [r14 + 0x62bc], 4
je 0x180087761
mov r8d, esi
lea rdx, str.POPUP_CS_ITEMS
lea rcx, str._popup__OpenPopup___s_____0x_08X__n
call fcn.18002ba90
xor edx, edx
mov ecx, esi
call fcn.180019f20
mov rax, qword [0x180119de0]
mov r8, rdi
mov dword [0x18011739c], ebp
mov rcx, qword [rax + 0x4180]
dec dword [rcx + 0x138]
cmp qword [rdi + 0x18], 0xf
jbe 0x180087791
mov r8, qword [rdi]
mov edx, 0x40
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
xor ecx, ecx
call fcn.180009880
test al, al
je 0x1800877ec
mov rax, qword [0x180119de0]
cmp word [rax + 0x2b32], 2
jne 0x1800877ec
cmp byte [rax + 0x4920], r13b
jne 0x1800877ec
cmp qword [rdi + 0x18], 0xf
mov dword [0x18011739c], ebp
jbe 0x1800877d4
mov rdi, qword [rdi]
mov r8, rdi
mov edx, 0x40
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov byte [0x18011a33c], 1
mov rax, qword [0x1801175f8]
inc rbp
mov rcx, qword [0x1801175f0]
add r15, 0x20
sub rax, rcx
sar rax, 5
cmp rbp, rax
jb 0x180087600
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0xc0]
call fcn.18000dde0
mov ecx, dword [0x18011cf7c]
call fcn.1800158e0
mov rbx, qword [0x180119de0]
mov rbp, qword [rsp + 0xb0]
mov eax, dword [rbx + 0x4ca8]
cmp dword [rbx + 0x4c98], eax
jg 0x180087862
mov dword [rbx + 0x4b90], r13d
jmp 0x180087994
mov rbx, qword [rbx + 0x4180]
lea rcx, str.POPUP_CS_ITEMS
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 0x1800878aa
lea r8, str.POPUP_CS_ITEMS
mov edx, 0xb
mov ecx, eax
call fcn.18002bea0
mov edx, 0x141
mov ecx, edi
call fcn.18001a4a0
test al, al
je 0x180087994
xor r9d, r9d
lea rcx, str.Delete
call fcn.180058500
test al, al
je 0x180087923
movsxd rdi, dword [0x18011739c]
mov rsi, qword [0x1801175f8]
shl rdi, 5
add rdi, qword [0x1801175f0]
lea rbx, [rdi + 0x20]
cmp rbx, rsi
je 0x180087912
mov rdx, rbx
mov rcx, rdi
call fcn.180066e00
add rdi, 0x20
add rbx, 0x20
cmp rbx, rsi
jne 0x1800878f3
mov rsi, qword [0x1801175f8]
lea rcx, [rsi - 0x20]
call fcn.180066eb0
sub qword [0x1801175f8], 0x20
xor r9d, r9d
lea rcx, str.Rename
call fcn.180058500
test al, al
je 0x18008793d
mov byte [0x18011a33c], 1
mov rbx, qword [0x180119de0]
mov rcx, qword [rbx + 0x4180]
cmp qword [rbx + 0x4d48], rcx
jne 0x180087978
cmp byte [rbx + 0x4de9], r13b
je 0x180087978
cmp dword [rbx + 0x4d98], r13d
jne 0x180087978
mov eax, dword [rbx + 0x4dec]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4dec], eax
test dword [rcx + 0x14], 0x1000000
je 0x180087988
mov byte [rbx + 0x40da], 1
call fcn.1800143c0
mov byte [rbx + 0x40da], r13b
mov rax, qword [0x180119de0]
lea rdx, [rsp + 0x50]
movdqa xmm0, xmmword [0x180100090]
mov qword [rsp + 0x58], 0x43
movups xmmword [rsp + 0x60], xmm0
mov rcx, qword [rax + 0x4180]
lea rax, str.This_feature_is_WIP.__n_only_works_on_small_chests.__n_Or_not_at_all.
mov qword [rsp + 0x50], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
dec dword [rcx + 0x138]
lea rcx, [rsp + 0x60]
call fcn.18007e040
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1800bbf40
add rsp, 0x90
pop r13
pop rdi
pop rbx
ret
jmp 0x180087320