// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movl %esi, -0x2c(%rbp)
testl %esi, %esi
jle 0x9e80
movq %rdi, %r14
leaq -0xa0(%rbp), %r12
leaq -0x120(%rbp), %r13
xorl %ebx, %ebx
movl %ebx, -0x30(%rbp)
movq 0x28(%r14), %rdi
callq 0x4c2e
leaq -0x70(%rbp), %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0xa110
movq 0x28(%r14), %rdi
callq 0x4c62
leaq -0x50(%rbp), %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0xa110
callq 0x30c0
movl %eax, %r15d
movq -0x70(%rbp), %rdx
movq -0x50(%rbp), %rcx
movq %r13, %rdi
leaq 0x1bb6(%rip), %rsi      # 0xb86f
xorl %eax, %eax
callq 0x3080
movq %r14, %rdi
movq %r13, %rsi
callq 0x9adc
movl $0x80, %edi
callq 0x3300
movq %rax, %r13
movq %r12, -0xb0(%rbp)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
addq %rsi, %rdx
leaq -0xb0(%rbp), %rdi
callq 0x420c
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
callq 0x420c
movslq %r15d, %rcx
imulq $0x14f8b589, %rcx, %rax # imm = 0x14F8B589
movq %rax, %rdx
shrq $0x3f, %rdx
sarq $0x2d, %rax
addl %edx, %eax
imull $0x186a0, %eax, %eax    # imm = 0x186A0
subl %eax, %ecx
movq %r13, %rdi
leaq -0xb0(%rbp), %rsi
movq %rbx, %rdx
callq 0x817c
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x9d68
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0xb0(%rbp), %rdi
cmpq %r12, %rdi
je 0x9d83
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x3320
movq 0x30(%r14), %rax
movq (%rax), %r12
cmpq 0x8(%rax), %r12
je 0x9dca
movq (%r12), %r15
callq 0x30c0
movslq %eax, %rdx
imulq $0x51eb851f, %rdx, %rax # imm = 0x51EB851F
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x25, %rax
addl %ecx, %eax
imull $0x64, %eax, %eax
subl %eax, %edx
movq %r13, %rdi
movq %r15, %rsi
callq 0x8b52
addq $0x8, %r12
movq 0x30(%r14), %rax
jmp 0x9d8a
movq 0x38(%r14), %rax
movq (%rax), %r12
cmpq 0x8(%rax), %r12
je 0x9e11
movq (%r12), %r15
callq 0x30c0
movslq %eax, %rdx
imulq $0x51eb851f, %rdx, %rax # imm = 0x51EB851F
movq %rax, %rcx
shrq $0x3f, %rcx
sarq $0x25, %rax
addl %ecx, %eax
imull $0x64, %eax, %eax
subl %eax, %edx
movq %r13, %rdi
movq %r15, %rsi
callq 0x8b76
addq $0x8, %r12
movq 0x38(%r14), %rax
jmp 0x9dd1
movq 0x10(%r14), %r15
movl $0x18, %edi
callq 0x3300
leaq -0xa0(%rbp), %r12
movq %r13, 0x10(%rax)
movq %rax, %rdi
movq %r15, %rsi
callq 0x3040
incq 0x10(%r15)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x9e52
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
leaq -0x120(%rbp), %r13
movl -0x30(%rbp), %ebx
je 0x9e75
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3320
incl %ebx
cmpl -0x2c(%rbp), %ebx
jne 0x9c6c
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9e94
movq %rax, %rbx
jmp 0x9f0e
jmp 0x9ef2
movq %rax, %rbx
jmp 0x9edf
movq %rax, %rbx
jmp 0x9ec4
movq %rax, %rbx
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x9ec4
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0xb0(%rbp), %rdi
cmpq %r12, %rdi
je 0x9edf
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x3320
movl $0x80, %esi
movq %r13, %rdi
callq 0x3320
jmp 0x9ef5
jmp 0x9ef2
jmp 0x9ef2
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x9f0e
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x9f27
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3320
movq %rbx, %rdi
callq 0x3500
nop