// File: /workspace/github_cpp_makefile_star2_O3/chulchultrain[P]FactoryHead/BattleEvaluator/BattleEvaluator.cpp
// Function: BattleEvaluator::Evaluate(int, int)
void BattleEvaluator::Evaluate(int i, int j) {

		
	for(int x = 0; x < 4; x++) {
		res[i][j][x].damage = participants[i].getMoveDamageRange(participants[j],x);
		res[i][j][x].participants = make_pair(participants[i].getName(),participants[j].getName() );
		res[i][j][x].moveName = participants[i].getMove(x).name;
	}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movq %rdi, -0x30(%rbp)
movslq %esi, %rax
movslq %edx, %rcx
leaq -0x50(%rbp), %r12
imulq $0x68, %rax, %r14
imulq $0x68, %rcx, %rdx
movq %rdx, -0x98(%rbp)
leaq (%rax,%rax,2), %rax
movq %rax, -0x40(%rbp)
leaq (%rcx,%rcx,2), %rax
movq %rax, -0x38(%rbp)
xorl %r13d, %r13d
xorl %edx, %edx
movq %r14, -0x90(%rbp)
movq -0x30(%rbp), %r15
movq %r12, %rbx
movq 0x1b8(%r15), %rsi
leaq (%rsi,%r14), %rdi
movq -0x98(%rbp), %r12
addq %r12, %rsi
movq %rdx, -0x68(%rbp)
callq 0xc87c
movq 0x1d0(%r15), %rcx
movq -0x40(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq -0x38(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq %rax, 0x60(%rcx,%r13)
movq 0x1b8(%r15), %rsi
addq %r14, %rsi
leaq -0x60(%rbp), %rdi
callq 0xc582
movq 0x1b8(%r15), %rsi
addq %r12, %rsi
leaq -0x88(%rbp), %rdi
callq 0xc582
leaq -0x110(%rbp), %rcx
movq %rcx, -0x120(%rbp)
movq -0x60(%rbp), %rax
cmpq %rbx, %rax
je 0x12e6e
movq %rax, -0x120(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x110(%rbp)
jmp 0x12e74
movups (%rbx), %xmm0
movups %xmm0, (%rcx)
movq -0x58(%rbp), %rax
movq %rax, -0x118(%rbp)
movq %rbx, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movb $0x0, -0x50(%rbp)
leaq -0xf0(%rbp), %r14
movq %r14, -0x100(%rbp)
movq -0x88(%rbp), %rax
leaq -0x78(%rbp), %rcx
cmpq %rcx, %rax
je 0x12ec1
movq %rax, -0x100(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0xf0(%rbp)
jmp 0x12ec8
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq -0x80(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq %rcx, -0x88(%rbp)
movq $0x0, -0x80(%rbp)
movb $0x0, -0x78(%rbp)
movq -0x30(%rbp), %rax
movq 0x1d0(%rax), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %r12
leaq (%r12,%r13), %rdi
leaq -0x120(%rbp), %rsi
callq 0x2210
leaq (%r12,%r13), %rdi
addq $0x20, %rdi
leaq -0x100(%rbp), %rsi
callq 0x2210
movq -0x100(%rbp), %rdi
cmpq %r14, %rdi
je 0x12f40
movq -0xf0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
leaq -0x50(%rbp), %r12
movq -0x90(%rbp), %r14
je 0x12f6d
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x12f89
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x60(%rbp), %rdi
cmpq %r12, %rdi
je 0x12f9e
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x30(%rbp), %rbx
movq 0x1b8(%rbx), %rsi
addq %r14, %rsi
leaq -0x120(%rbp), %rdi
movq -0x68(%rbp), %rdx
callq 0xc5ae
movq 0x1d0(%rbx), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rax
leaq (%rax,%r13), %rdi
addq $0x40, %rdi
leaq -0x100(%rbp), %rsi
callq 0x2210
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x13009
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x1302b
movq -0xd0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x1304d
movq -0xf0(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x1306f
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x21b0
movq -0x68(%rbp), %rdx
incq %rdx
addq $0x68, %r13
cmpq $0x4, %rdx
jne 0x12ddd
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x130ae
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x21b0
movq %r14, %rdi
callq 0x22d0