// File: /workspace/github_cpp_makefile_star2_O3/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 0x9de2
movq %rdi, %r14
leaq -0xa0(%rbp), %r12
leaq -0x120(%rbp), %r13
xorl %ebx, %ebx
movl %ebx, -0x30(%rbp)
movq 0x28(%r14), %rdi
callq 0x4c1a
leaq -0x70(%rbp), %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0xa084
movq 0x28(%r14), %rdi
callq 0x4c4e
leaq -0x50(%rbp), %rdi
movq %rax, %rsi
movq %r13, %rdx
callq 0xa084
callq 0x30c0
movl %eax, %r15d
movq -0x70(%rbp), %rdx
movq -0x50(%rbp), %rcx
movq %r13, %rdi
leaq 0x1c54(%rip), %rsi      # 0xb86f
xorl %eax, %eax
callq 0x3080
movq %r14, %rdi
movq %r13, %rsi
callq 0x9a3e
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 0x41fc
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 0x41fc
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 0x810c
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x9cca
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0xb0(%rbp), %rdi
cmpq %r12, %rdi
je 0x9ce5
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x3320
movq 0x30(%r14), %rax
movq (%rax), %r12
cmpq 0x8(%rax), %r12
je 0x9d2c
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 0x8ace
addq $0x8, %r12
movq 0x30(%r14), %rax
jmp 0x9cec
movq 0x38(%r14), %rax
movq (%rax), %r12
cmpq 0x8(%rax), %r12
je 0x9d73
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 0x8af2
addq $0x8, %r12
movq 0x38(%r14), %rax
jmp 0x9d33
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 0x9db4
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 0x9dd7
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3320
incl %ebx
cmpl -0x2c(%rbp), %ebx
jne 0x9bce
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9df6
movq %rax, %rbx
jmp 0x9e70
jmp 0x9e54
movq %rax, %rbx
jmp 0x9e41
movq %rax, %rbx
jmp 0x9e26
movq %rax, %rbx
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x9e26
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0xb0(%rbp), %rdi
cmpq %r12, %rdi
je 0x9e41
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x3320
movl $0x80, %esi
movq %r13, %rdi
callq 0x3320
jmp 0x9e57
jmp 0x9e54
jmp 0x9e54
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x9e70
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x3320
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x9e89
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3320
movq %rbx, %rdi
callq 0x3500
nop