// File: Serfati[P]Heroes-of-Might-and-Magic-3/Hero.cpp
// Function: Hero::save()
void Hero::save() {
    ofstream out;
    out.open("Heros/" + getName() + "/Details.txt");
    out << "live|B:W:A:V:Z|type|gold|DG|SA;" << endl;
    out << isAlive << " " << saveArmy() << " " << getType() << " " << gold << " " << gotDG << " " << usedSA;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2a0(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x44e0
movq -0x2a0(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0xf0c0
jmp 0x10d5b
leaq 0x29cf(%rip), %rsi      # 0x13731
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rdx
callq 0xd000
jmp 0x10d77
leaq 0x2892(%rip), %rdx      # 0x13610
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x8920
jmp 0x10d93
leaq -0x208(%rbp), %rdi
leaq -0x228(%rbp), %rsi
movl $0x10, %edx
callq 0x4190
jmp 0x10dad
leaq -0x228(%rbp), %rdi
callq 0x4200
leaq -0x248(%rbp), %rdi
callq 0x4200
leaq -0x268(%rbp), %rdi
callq 0x4200
leaq 0x2845(%rip), %rsi      # 0x1361d
leaq -0x208(%rbp), %rdi
callq 0x4310
movq %rax, -0x2a8(%rbp)
jmp 0x10ded
movq -0x2a8(%rbp), %rdi
movq 0xb1b5(%rip), %rsi      # 0x1bfb0
callq 0x4340
jmp 0x10e02
movq -0x2a0(%rbp), %rax
movzbl 0x3a(%rax), %esi
andl $0x1, %esi
leaq -0x208(%rbp), %rdi
callq 0x4540
movq %rax, -0x2b0(%rbp)
jmp 0x10e25
movq -0x2b0(%rbp), %rdi
leaq 0x297a(%rip), %rsi      # 0x137ad
callq 0x4310
movq %rax, -0x2b8(%rbp)
jmp 0x10e41
movq -0x2a0(%rbp), %rsi
leaq -0x298(%rbp), %rdi
callq 0x115b0
jmp 0x10e56
movq -0x2b8(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x42f0
movq %rax, -0x2c0(%rbp)
jmp 0x10e72
movq -0x2c0(%rbp), %rdi
leaq 0x292d(%rip), %rsi      # 0x137ad
callq 0x4310
movq %rax, -0x2c8(%rbp)
jmp 0x10e8e
movq -0x2a0(%rbp), %rdi
callq 0xf0f0
movl %eax, -0x2cc(%rbp)
jmp 0x10ea2
movl -0x2cc(%rbp), %esi
movq -0x2c8(%rbp), %rdi
callq 0x4510
movq %rax, -0x2d8(%rbp)
jmp 0x10ebd
movq -0x2d8(%rbp), %rdi
leaq 0x28e2(%rip), %rsi      # 0x137ad
callq 0x4310
movq %rax, -0x2e0(%rbp)
jmp 0x10ed9
movq -0x2e0(%rbp), %rdi
movq -0x2a0(%rbp), %rax
movsd 0x30(%rax), %xmm0
callq 0x45a0
movq %rax, -0x2e8(%rbp)
jmp 0x10efa
movq -0x2e8(%rbp), %rdi
leaq 0x28a5(%rip), %rsi      # 0x137ad
callq 0x4310
movq %rax, -0x2f0(%rbp)
jmp 0x10f16
movq -0x2f0(%rbp), %rdi
movq -0x2a0(%rbp), %rax
movzbl 0x38(%rax), %esi
andl $0x1, %esi
callq 0x4540
movq %rax, -0x2f8(%rbp)
jmp 0x10f39
movq -0x2f8(%rbp), %rdi
leaq 0x2866(%rip), %rsi      # 0x137ad
callq 0x4310
movq %rax, -0x300(%rbp)
jmp 0x10f55
movq -0x300(%rbp), %rdi
movq -0x2a0(%rbp), %rax
movzbl 0x39(%rax), %esi
andl $0x1, %esi
callq 0x4540
jmp 0x10f71
leaq -0x298(%rbp), %rdi
callq 0x4200
leaq -0x208(%rbp), %rdi
callq 0x4450
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0x11024
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0x10ff8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
jmp 0x10fec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x4200
leaq -0x248(%rbp), %rdi
callq 0x4200
leaq -0x268(%rbp), %rdi
callq 0x4200
jmp 0x11024
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x270(%rbp)
movl %eax, -0x274(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x4200
leaq -0x208(%rbp), %rdi
callq 0x4450
movq -0x270(%rbp), %rdi
callq 0x4520
nopl (%rax)