// File: negativeview[P]Software-Business-Sim/MasterState.cpp
// Function: MasterState::_createWorkers(int)
void MasterState::_createWorkers(int count) {
	for (int i = 0; i < count; i++) {
		string firstName = this->_names->getFirstName();
		string lastName = this->_names->getLastName();

		int money = rand() % 100000;

		char message[100];
		sprintf(message, "%s %s applied for a job.", firstName.c_str(), lastName.c_str());

		this->addMessage(message);
		Person *p = new Person(firstName, lastName, money);

		for (vector<Platform *>::iterator it = this->_allPlatforms->begin(); it != this->_allPlatforms->end(); ++it) {
			p->setPlatformSkill(*it, rand() % 100);
		}

		for (vector<Language *>::iterator it2 = this->_allLanguages->begin(); it2 != this->_allLanguages->end(); ++it2) {
			p->setLanguageSkill(*it2, rand() % 100);
		}

		this->_allWorkers->push_back(p);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1b0, %rsp            # imm = 0x1B0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x158(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x1347c
movq -0x158(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x6510
movq %rax, -0x168(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0x160(%rbp)
callq 0x35e0
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
leaq -0x30(%rbp), %rdi
callq 0x8730
jmp 0x130b0
leaq -0x31(%rbp), %rdi
callq 0x3400
movq -0x158(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x6560
movq %rax, -0x170(%rbp)
jmp 0x130d2
leaq -0x69(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0x35e0
movq -0x170(%rbp), %rsi
movq -0x178(%rbp), %rdx
leaq -0x68(%rbp), %rdi
callq 0x8730
jmp 0x130fb
leaq -0x69(%rbp), %rdi
callq 0x3400
callq 0x30e0
movslq %eax, %rcx
imulq $0x14f8b589, %rcx, %rcx # imm = 0x14F8B589
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x2d, %rcx
addl %edx, %ecx
imull $0x186a0, %ecx, %ecx    # imm = 0x186A0
subl %ecx, %eax
movl %eax, -0x70(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3180
movq %rax, -0x188(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x3180
movq -0x188(%rbp), %rdx
movq %rax, %rcx
leaq 0x570a(%rip), %rsi      # 0x1885f
xorl %eax, %eax
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x30a0
movq -0x158(%rbp), %rdi
movq -0x180(%rbp), %rsi
callq 0x12d60
jmp 0x1317f
movl $0x80, %edi
callq 0x3370
movq %rax, -0x190(%rbp)
jmp 0x13192
movb $0x1, -0x129(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x3190
jmp 0x131ab
leaq -0x128(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x3190
jmp 0x131bd
movq -0x190(%rbp), %rdi
movl -0x70(%rbp), %ecx
leaq -0x108(%rbp), %rsi
leaq -0x128(%rbp), %rdx
callq 0x100f0
jmp 0x131dc
movb $0x0, -0x129(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x3210
leaq -0x108(%rbp), %rdi
callq 0x3210
movq -0x190(%rbp), %rcx
movq -0x158(%rbp), %rax
movq %rcx, -0xe8(%rbp)
movq 0x30(%rax), %rdi
callq 0x13d10
movq %rax, -0x138(%rbp)
movq -0x158(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x13d80
movq %rax, -0x140(%rbp)
leaq -0x138(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x13d40
testb $0x1, %al
jne 0x13253
jmp 0x13379
movq -0xe8(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x13db0
movq (%rax), %rax
movq %rax, -0x198(%rbp)
callq 0x30e0
movq -0x1a0(%rbp), %rdi
movq -0x198(%rbp), %rsi
movl %eax, %edx
movslq %edx, %rax
imulq $0x51eb851f, %rax, %rax # imm = 0x51EB851F
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x25, %rax
addl %ecx, %eax
imull $0x64, %eax, %eax
subl %eax, %edx
callq 0x10e90
jmp 0x132af
jmp 0x132b1
leaq -0x138(%rbp), %rdi
callq 0x13dd0
jmp 0x13220
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x3400
jmp 0x13485
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x13471
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x69(%rbp), %rdi
callq 0x3400
jmp 0x13471
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x13468
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x13358
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x1334c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x3210
leaq -0x108(%rbp), %rdi
callq 0x3210
testb $0x1, -0x129(%rbp)
jne 0x13363
jmp 0x13374
movq -0x190(%rbp), %rdi
movl $0x80, %esi
callq 0x3390
jmp 0x13468
movq -0x158(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x13df0
movq %rax, -0x148(%rbp)
movq -0x158(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x13e60
movq %rax, -0x150(%rbp)
leaq -0x148(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x13e20
testb $0x1, %al
jne 0x133c0
jmp 0x1342f
movq -0xe8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x13e90
movq (%rax), %rax
movq %rax, -0x1a8(%rbp)
callq 0x30e0
movq -0x1b0(%rbp), %rdi
movq -0x1a8(%rbp), %rsi
movl %eax, %edx
movslq %edx, %rax
imulq $0x51eb851f, %rax, %rax # imm = 0x51EB851F
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x25, %rax
addl %ecx, %eax
imull $0x64, %eax, %eax
subl %eax, %edx
callq 0x10ed0
jmp 0x1341c
jmp 0x1341e
leaq -0x148(%rbp), %rdi
callq 0x13eb0
jmp 0x13390
movq -0x158(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x13ed0
jmp 0x13448
leaq -0x68(%rbp), %rdi
callq 0x3210
leaq -0x30(%rbp), %rdi
callq 0x3210
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x13064
leaq -0x68(%rbp), %rdi
callq 0x3210
leaq -0x30(%rbp), %rdi
callq 0x3210
jmp 0x13485
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x35d0
nop