Function at 0x1801097a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x20
lea rcx, str.Models
mov qword [rsp + 0x30], rsi
call fcn.18010c2b0
lea rcx, str.Plastic_Bag__2.5k_
call fcn.18010b700
mov ecx, dword [0x180343e74]
test al, al
mov edx, 0x9ca6f755
cmovne ecx, edx
mov dword [0x180343e74], ecx
lea rcx, str.Money_Bag
call fcn.18010b700
xor ebx, ebx
lea rbp, [0x180000000]
test al, al
je 0x18010983b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b01d8]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x11
jb 0x180109800
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Alien_Egg
call fcn.18010b700
test al, al
je 0x18010988b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b01f0]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x11
jb 0x180109850
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Dildo
call fcn.18010b700
test al, al
je 0x1801098db
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0208]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x10
jb 0x1801098a0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Xmas_Tree
call fcn.18010b700
test al, al
je 0x18010992b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0230]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x12
jb 0x1801098f0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Armor
call fcn.18010b700
test al, al
je 0x18010997b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0248]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x12
jb 0x180109940
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Med_Bag
call fcn.18010b700
test al, al
je 0x1801099cb
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0260]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0xf
jb 0x180109990
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Handbag
call fcn.18010b700
test al, al
je 0x180109a1b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0270]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0xf
jb 0x1801099e0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Gun_Case
call fcn.18010b700
test al, al
je 0x180109a6b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0290]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x10
jb 0x180109a30
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Golf_Bag
call fcn.18010b700
test al, al
je 0x180109abb
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b02b8]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x10
jb 0x180109a80
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Whiskey_Bottle
call fcn.18010b700
test al, al
je 0x180109b0b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b02e0]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x16
jb 0x180109ad0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Toaster
call fcn.18010b700
test al, al
je 0x180109b5b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0300]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0xf
jb 0x180109b20
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Plane
call fcn.18010b700
test al, al
je 0x180109bab
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0310]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x10
jb 0x180109b70
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Bottle
call fcn.18010b700
test al, al
je 0x180109bfb
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0328]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x13
jb 0x180109bc0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Weight
call fcn.18010b700
test al, al
je 0x180109c4b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0348]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x11
jb 0x180109c10
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Guitar
call fcn.18010b700
test al, al
je 0x180109c9b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0360]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x12
jb 0x180109c60
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Safe
call fcn.18010b700
test al, al
je 0x180109ceb
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0378]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x13
jb 0x180109cb0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Medkit
call fcn.18010b700
test al, al
je 0x180109d3b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0398]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x13
jb 0x180109d00
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Purse
call fcn.18010b700
test al, al
je 0x180109d8b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b03b8]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x10
jb 0x180109d50
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Bin_Bag
call fcn.18010b700
test al, al
je 0x180109ddb
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b03d8]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x15
jb 0x180109da0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Suitcase
call fcn.18010b700
test al, al
je 0x180109e2b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0400]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x13
jb 0x180109df0
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Shoe
call fcn.18010b700
test al, al
je 0x180109e7b
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0420]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0xf
jb 0x180109e40
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Megaphone
call fcn.18010b700
test al, al
je 0x180109ecb
mov esi, ebx
mov edi, ebx
nop
mov eax, esi
movsx ecx, byte [rax + rbp + 0x2b0440]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp esi, 0x11
jb 0x180109e90
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
lea rcx, str.Minigun
call fcn.18010b700
mov rsi, qword [rsp + 0x30]
test al, al
je 0x180109f1b
mov edi, ebx
movsx ecx, byte [rbx + rbp + 0x2b0458]
call fcn.18022e718
add eax, edi
inc ebx
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
cmp ebx, 0xf
jb 0x180109ee2
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [0x180343e74], eax
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret