// File: /workspace/github_cpp_makefile_star2_O3/MichaelXanth[P]RPG_Game/Living/Heroes/Warrior.cpp
// Function: Warrior::~Warrior()
Warrior::~Warrior()
{
    for(int i = iceSpellsArray.size(); !iceSpellsArray.empty(); i--)
    {
        delete iceSpellsArray[i - 1];
        iceSpellsArray.erase(iceSpellsArray.begin() + i - 1);
    }

    for(int i = fireSpellsArray.size(); !fireSpellsArray.empty(); i--)
    {
        delete fireSpellsArray[i - 1];
        fireSpellsArray.erase(fireSpellsArray.begin() + i - 1);
    }

    for(int i = lightingSpellsArray.size(); !lightingSpellsArray.empty(); i--)
    {
        delete lightingSpellsArray[i - 1];
        lightingSpellsArray.erase(lightingSpellsArray.begin() + i - 1);
    }

    for(int i = weaponsArray.size(); !weaponsArray.empty(); i--)
    {
        delete weaponsArray[i - 1];
        weaponsArray.erase(weaponsArray.begin() + i - 1);
    }

    for(int i = armorsArray.size(); !armorsArray.empty(); i--)
    {
        delete armorsArray[i - 1];
        armorsArray.erase(armorsArray.begin() + i - 1);
    }

    for(int i = potionsArray.size(); !potionsArray.empty(); i--)
    {
        delete potionsArray[i - 1];
        potionsArray.erase(potionsArray.begin() + i - 1);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x16745(%rip), %rax     # 0x2e980
movq %rax, (%rdi)
movq 0x68(%rdi), %rax
movq 0x70(%rdi), %rdx
cmpq %rdx, %rax
je 0x182b3
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %r14
shlq $0x3, %r14
movq %r14, %r15
negq %r15
movq -0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x1827a
movq (%rdi), %rax
callq *0x60(%rax)
movq 0x68(%rbx), %rax
movq 0x70(%rbx), %rdx
leaq (%rax,%r14), %rsi
cmpq %rdx, %rsi
je 0x1829e
leaq (%rax,%r14), %rdi
addq $-0x8, %rdi
subq %rax, %rdx
addq %r15, %rdx
callq 0x32b0
movq 0x68(%rbx), %rax
movq 0x70(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x70(%rbx)
addq $-0x8, %r14
addq $0x8, %r15
cmpq %rdx, %rax
jne 0x18262
movq 0x50(%rbx), %rax
movq 0x58(%rbx), %rdx
cmpq %rdx, %rax
je 0x18328
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %r14
shlq $0x3, %r14
movq %r14, %r15
negq %r15
movq -0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x182ef
movq (%rdi), %rax
callq *0x60(%rax)
movq 0x50(%rbx), %rax
movq 0x58(%rbx), %rdx
leaq (%rax,%r14), %rsi
cmpq %rdx, %rsi
je 0x18313
leaq (%rax,%r14), %rdi
addq $-0x8, %rdi
subq %rax, %rdx
addq %r15, %rdx
callq 0x32b0
movq 0x50(%rbx), %rax
movq 0x58(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x58(%rbx)
addq $-0x8, %r14
addq $0x8, %r15
cmpq %rdx, %rax
jne 0x182d7
movq 0x38(%rbx), %rax
movq 0x40(%rbx), %rdx
cmpq %rdx, %rax
je 0x1839d
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %r14
shlq $0x3, %r14
movq %r14, %r15
negq %r15
movq -0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x18364
movq (%rdi), %rax
callq *0x60(%rax)
movq 0x38(%rbx), %rax
movq 0x40(%rbx), %rdx
leaq (%rax,%r14), %rsi
cmpq %rdx, %rsi
je 0x18388
leaq (%rax,%r14), %rdi
addq $-0x8, %rdi
subq %rax, %rdx
addq %r15, %rdx
callq 0x32b0
movq 0x38(%rbx), %rax
movq 0x40(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x40(%rbx)
addq $-0x8, %r14
addq $0x8, %r15
cmpq %rdx, %rax
jne 0x1834c
movq 0x80(%rbx), %rax
movq 0x88(%rbx), %rdx
cmpq %rdx, %rax
je 0x18427
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %r14
shlq $0x3, %r14
movq %r14, %r15
negq %r15
movq -0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x183e5
movq (%rdi), %rax
callq *0x20(%rax)
movq 0x80(%rbx), %rax
movq 0x88(%rbx), %rdx
leaq (%rax,%r14), %rsi
cmpq %rdx, %rsi
je 0x1840f
leaq (%rax,%r14), %rdi
addq $-0x8, %rdi
subq %rax, %rdx
addq %r15, %rdx
callq 0x32b0
movq 0x80(%rbx), %rax
movq 0x88(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0x88(%rbx)
addq $-0x8, %r14
addq $0x8, %r15
cmpq %rdx, %rax
jne 0x183c7
movq 0xb0(%rbx), %rax
movq 0xb8(%rbx), %rdx
cmpq %rdx, %rax
je 0x184b1
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %r14
shlq $0x3, %r14
movq %r14, %r15
negq %r15
movq -0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x1846f
movq (%rdi), %rax
callq *0x20(%rax)
movq 0xb0(%rbx), %rax
movq 0xb8(%rbx), %rdx
leaq (%rax,%r14), %rsi
cmpq %rdx, %rsi
je 0x18499
leaq (%rax,%r14), %rdi
addq $-0x8, %rdi
subq %rax, %rdx
addq %r15, %rdx
callq 0x32b0
movq 0xb0(%rbx), %rax
movq 0xb8(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0xb8(%rbx)
addq $-0x8, %r14
addq $0x8, %r15
cmpq %rdx, %rax
jne 0x18451
movq 0x98(%rbx), %rax
movq 0xa0(%rbx), %rdx
cmpq %rdx, %rax
je 0x1853b
movq %rdx, %rcx
subq %rax, %rcx
shrq $0x3, %rcx
movslq %ecx, %r14
shlq $0x3, %r14
movq %r14, %r15
negq %r15
movq -0x8(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x184f9
movq (%rdi), %rax
callq *0x20(%rax)
movq 0x98(%rbx), %rax
movq 0xa0(%rbx), %rdx
leaq (%rax,%r14), %rsi
cmpq %rdx, %rsi
je 0x18523
leaq (%rax,%r14), %rdi
addq $-0x8, %rdi
subq %rax, %rdx
addq %r15, %rdx
callq 0x32b0
movq 0x98(%rbx), %rax
movq 0xa0(%rbx), %rdx
addq $-0x8, %rdx
movq %rdx, 0xa0(%rbx)
addq $-0x8, %r14
addq $0x8, %r15
cmpq %rdx, %rax
jne 0x184db
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x1092e