// File: Worthy-Wang[P]Warcraft3-StartWar/warcraftWorld.cpp
// Function: warcraft::WarcraftWorld::warriorArriveHeadquarters()
void WarcraftWorld::warriorArriveHeadquarters()
{
    //蓝方基地
    WarriorPtr redWarrior = _citys[GameConfig::getInstance()->getCityNum(_caseNum) + 1]->getRedWarrior();
    if (redWarrior.get())
        cout << "red " << redWarrior->getName() << " " << redWarrior->getId() << " reached blue headquarters with " << redWarrior->getHp() << " elements and force " << GameConfig::getInstance()->getInitWarriorAttack(_caseNum, redWarrior->getType()) << endl;
    //红方基地
    WarriorPtr blueWarrior = _citys[0]->getBlueWarrior();
    if (blueWarrior.get())
        cout << "blue " << blueWarrior->getName() << " " << blueWarrior->getId() << " reached red headquarters with " << blueWarrior->getHp() << " elements and force " << GameConfig::getInstance()->getInitWarriorAttack(_caseNum, blueWarrior->getType()) << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x88(%rbp)
addq $0x10, %rax
movq %rax, -0x80(%rbp)
callq 0x94e0
movq %rax, %rdi
movq -0x88(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0xe480
movq -0x80(%rbp), %rdi
movq %rax, %rsi
addq $0x1, %rsi
callq 0x1c210
movq %rax, %rdi
callq 0x1c230
movq %rax, %rsi
leaq -0x18(%rbp), %rdi
callq 0x1c250
leaq -0x18(%rbp), %rdi
callq 0x5d90
cmpq $0x0, %rax
je 0x1b6ad
movq 0x11ae8(%rip), %rdi     # 0x2cfd0
leaq 0x2b32(%rip), %rsi      # 0x1e021
callq 0x4180
movq %rax, -0x90(%rbp)
jmp 0x1b4fd
leaq -0x18(%rbp), %rdi
callq 0x5db0
movq %rax, %rsi
leaq -0x48(%rbp), %rdi
callq 0x61f0
jmp 0x1b514
movq -0x90(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x4170
movq %rax, -0x98(%rbp)
jmp 0x1b52d
movq -0x98(%rbp), %rdi
leaq 0x3540(%rip), %rsi      # 0x1ea7b
callq 0x4180
movq %rax, -0xa0(%rbp)
jmp 0x1b549
leaq -0x18(%rbp), %rdi
callq 0x5db0
movq %rax, %rdi
callq 0x6220
movq %rax, -0xa8(%rbp)
jmp 0x1b563
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdi
callq 0x4060
movq %rax, -0xb0(%rbp)
jmp 0x1b57f
movq -0xb0(%rbp), %rdi
leaq 0x3455(%rip), %rsi      # 0x1e9e2
callq 0x4180
movq %rax, -0xb8(%rbp)
jmp 0x1b59b
leaq -0x18(%rbp), %rdi
callq 0x5db0
movq %rax, %rdi
callq 0x6440
movl %eax, -0xbc(%rbp)
jmp 0x1b5b4
movl -0xbc(%rbp), %esi
movq -0xb8(%rbp), %rdi
callq 0x42f0
movq %rax, -0xc8(%rbp)
jmp 0x1b5cf
movq -0xc8(%rbp), %rdi
leaq 0x3426(%rip), %rsi      # 0x1ea03
callq 0x4180
movq %rax, -0xd0(%rbp)
jmp 0x1b5eb
callq 0x94e0
movq %rax, -0xd8(%rbp)
jmp 0x1b5f9
movq -0x88(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0xe8(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x5db0
movq %rax, %rdi
callq 0xebc0
movl %eax, -0xdc(%rbp)
jmp 0x1b624
movl -0xdc(%rbp), %edx
movq -0xe8(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x11bf0
movq %rax, -0xf0(%rbp)
jmp 0x1b646
movq -0xf0(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x4060
movq %rax, -0xf8(%rbp)
jmp 0x1b662
movq -0xf8(%rbp), %rdi
movq 0x11948(%rip), %rsi     # 0x2cfb8
callq 0x41c0
jmp 0x1b677
leaq -0x48(%rbp), %rdi
callq 0x40f0
jmp 0x1b6ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1b8d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x40f0
jmp 0x1b8d4
movq -0x88(%rbp), %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1c210
movq %rax, %rdi
callq 0x1c230
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
callq 0x1c280
jmp 0x1b6d7
leaq -0x58(%rbp), %rdi
callq 0x5d90
cmpq $0x0, %rax
je 0x1b8b0
movq 0x118df(%rip), %rdi     # 0x2cfd0
leaq 0x2933(%rip), %rsi      # 0x1e02b
callq 0x4180
movq %rax, -0x100(%rbp)
jmp 0x1b706
leaq -0x58(%rbp), %rdi
callq 0x5db0
movq %rax, %rsi
leaq -0x78(%rbp), %rdi
callq 0x61f0
jmp 0x1b71d
movq -0x100(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x4170
movq %rax, -0x108(%rbp)
jmp 0x1b736
movq -0x108(%rbp), %rdi
leaq 0x3337(%rip), %rsi      # 0x1ea7b
callq 0x4180
movq %rax, -0x110(%rbp)
jmp 0x1b752
leaq -0x58(%rbp), %rdi
callq 0x5db0
movq %rax, %rdi
callq 0x6220
movq %rax, -0x118(%rbp)
jmp 0x1b76c
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdi
callq 0x4060
movq %rax, -0x120(%rbp)
jmp 0x1b788
movq -0x120(%rbp), %rdi
leaq 0x3282(%rip), %rsi      # 0x1ea18
callq 0x4180
movq %rax, -0x128(%rbp)
jmp 0x1b7a4
leaq -0x58(%rbp), %rdi
callq 0x5db0
movq %rax, %rdi
callq 0x6440
movl %eax, -0x12c(%rbp)
jmp 0x1b7bd
movl -0x12c(%rbp), %esi
movq -0x128(%rbp), %rdi
callq 0x42f0
movq %rax, -0x138(%rbp)
jmp 0x1b7d8
movq -0x138(%rbp), %rdi
leaq 0x321d(%rip), %rsi      # 0x1ea03
callq 0x4180
movq %rax, -0x140(%rbp)
jmp 0x1b7f4
callq 0x94e0
movq %rax, -0x148(%rbp)
jmp 0x1b802
movq -0x88(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x158(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5db0
movq %rax, %rdi
callq 0xebc0
movl %eax, -0x14c(%rbp)
jmp 0x1b82d
movl -0x14c(%rbp), %edx
movq -0x158(%rbp), %rsi
movq -0x148(%rbp), %rdi
callq 0x11bf0
movq %rax, -0x160(%rbp)
jmp 0x1b84f
movq -0x160(%rbp), %rsi
movq -0x140(%rbp), %rdi
callq 0x4060
movq %rax, -0x168(%rbp)
jmp 0x1b86b
movq -0x168(%rbp), %rdi
movq 0x1173f(%rip), %rsi     # 0x2cfb8
callq 0x41c0
jmp 0x1b880
leaq -0x78(%rbp), %rdi
callq 0x40f0
jmp 0x1b8b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1b8cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x40f0
jmp 0x1b8cb
leaq -0x58(%rbp), %rdi
callq 0x6670
leaq -0x18(%rbp), %rdi
callq 0x6670
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0x6670
leaq -0x18(%rbp), %rdi
callq 0x6670
movq -0x20(%rbp), %rdi
callq 0x4300
nopw %cs:(%rax,%rax)