// File: negativeview[P]Software-Business-Sim/MasterState.cpp
// Function: MasterState::MasterState()
MasterState::MasterState() {
	this->_playerCompany = new Company("Testing Corp", 100000);
	this->_allCompanies = new list<Company *>();
	this->_allCompanies->push_back(this->_playerCompany);
	this->_allWorkers = new list<Person *>();
	this->_allConsumers = new list<Person *>();
	this->_time = 0;

	this->_commandList = new CommandList(this);

	this->_messages = new vector<char *>();
	this->_names = new NameContainer();

	this->_allMarkets = new vector<Market *>();

	Market *oldPeopleMarket = new Market("Old People");
	oldPeopleMarket->addRequirement("stability", 10);
	this->_allMarkets->push_back(oldPeopleMarket);

	this->_setupPlatforms();
	this->_setupLanguages();
	this->_setupConsumers();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movl $0x38, %edi
callq 0x3370
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x50(%rbp)
leaq 0x7042(%rip), %rsi      # 0x187e4
movl $0x186a0, %edx          # imm = 0x186A0
callq 0xb4d0
jmp 0x117ae
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rcx
movq %rcx, (%rax)
movl $0x18, %edi
movq %rdi, -0x88(%rbp)
callq 0x3370
movq %rax, %rdi
movq %rdi, -0x98(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x80(%rbp)
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x13790
movq -0x98(%rbp), %rax
movq -0x58(%rbp), %rsi
movq %rax, 0x8(%rsi)
movq 0x8(%rsi), %rdi
callq 0x137b0
movq -0x88(%rbp), %rdi
callq 0x3370
movaps -0x80(%rbp), %xmm0
movq %rax, %rdi
movq %rdi, -0x90(%rbp)
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x137f0
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rdi
movq -0x58(%rbp), %rax
movq %rcx, 0x10(%rax)
callq 0x3370
movaps -0x80(%rbp), %xmm0
movq %rax, %rdi
movq %rdi, -0x68(%rbp)
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x137f0
movq -0x68(%rbp), %rcx
movq -0x58(%rbp), %rax
movq %rcx, 0x18(%rax)
movl $0x0, 0x20(%rax)
movl $0x8, %edi
callq 0x3370
movq -0x58(%rbp), %rsi
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x60(%rbp)
callq 0x6fe0
jmp 0x11895
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, 0x50(%rax)
movl $0x18, %edi
callq 0x3370
movq %rax, %rdi
movq %rdi, -0xa8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x13810
movq -0xa8(%rbp), %rcx
movq -0x58(%rbp), %rax
movq %rcx, 0x48(%rax)
movl $0x10, %edi
callq 0x3370
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xa0(%rbp)
callq 0x57e0
jmp 0x118f5
movq -0x58(%rbp), %rax
movq -0xa0(%rbp), %rcx
movq %rcx, 0x28(%rax)
movl $0x18, %edi
callq 0x3370
movq %rax, %rdi
movq %rdi, -0xb8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x13830
movq -0xb8(%rbp), %rcx
movq -0x58(%rbp), %rax
movq %rcx, 0x40(%rax)
movl $0x20, %edi
callq 0x3370
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xb0(%rbp)
leaq 0x6e99(%rip), %rsi      # 0x187f1
callq 0x56a0
jmp 0x1195f
movq -0xb0(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0x41(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x35e0
movq -0xc0(%rbp), %rdx
leaq 0x6e69(%rip), %rsi      # 0x187fc
leaq -0x40(%rbp), %rdi
callq 0x8730
jmp 0x1199e
movq -0xc8(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movl $0xa, %edx
callq 0x4160
jmp 0x119b5
leaq -0x40(%rbp), %rdi
callq 0x3210
leaq -0x41(%rbp), %rdi
callq 0x3400
movq -0x58(%rbp), %rax
movq 0x40(%rax), %rdi
leaq -0x20(%rbp), %rsi
callq 0x13850
movq -0x58(%rbp), %rdi
callq 0x11ab0
movq -0x58(%rbp), %rdi
callq 0x12080
movq -0x58(%rbp), %rdi
callq 0x128b0
addq $0xd0, %rsp
popq %rbp
retq
movq -0x50(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x38, %esi
callq 0x3390
jmp 0x11aa1
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x8, %esi
callq 0x3390
jmp 0x11aa1
movq -0xa0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x10, %esi
callq 0x3390
jmp 0x11aa1
movq -0xb0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
movl $0x20, %esi
callq 0x3390
jmp 0x11aa1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
jmp 0x11a98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x3210
leaq -0x41(%rbp), %rdi
callq 0x3400
movq -0x10(%rbp), %rdi
callq 0x35d0
nopw (%rax,%rax)