// File: daklqw[P]beepmania/core.cpp
// Function: gamecore::configtrack(_IO_FILE*)
void gamecore::configtrack(FILE * fin) {
	int tc;
	fscanf(fin, "%d %d", &fpslimit, &tc);
	double spn;
	int C, L, R, dta;
	fscanf(fin, "%lf%d%d%d%d", &spn, &C, &L, &R, &dta);
	tv.clear();
	for (int i = 0; i < tc; ++i) {
		int A, B;
		fscanf(fin, "%d%d", &A, &B);
		binder[A] = i;
		tv.push_back(track());
		tv[i].reset();
		tv[i].setdisplaych(B);
		tv[i].bindscore(&sb);
		tv[i].setspn(spn);
		tv[i].setrange(35000, 80000, 150000, 200000);
		tv[i].setarea(rect(coord(1, R * i + 1), coord(C, R * i + R)));
		tv[i].setdelta(dta);
		tv[i].setlightheight(L);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdx
movq %rdx, -0xe0(%rbp)
movq -0x10(%rbp), %rdi
addq $0x5a8, %rdx            # imm = 0x5A8
leaq 0xdfad(%rip), %rsi      # 0x1107d
leaq -0x14(%rbp), %rcx
movb $0x0, %al
callq 0x2310
movq -0x10(%rbp), %rdi
leaq 0xdf9d(%rip), %rsi      # 0x11083
leaq -0x20(%rbp), %rdx
leaq -0x24(%rbp), %rcx
leaq -0x28(%rbp), %r8
leaq -0x2c(%rbp), %r9
leaq -0x30(%rbp), %rax
movq %rax, (%rsp)
movb $0x0, %al
callq 0x2310
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
callq 0x3ec0
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x3375
movq -0x10(%rbp), %rdi
leaq 0xdf54(%rip), %rsi      # 0x1108a
xorl %eax, %eax
leaq -0x38(%rbp), %rdx
movq %rdx, -0x100(%rbp)
leaq -0x3c(%rbp), %rcx
callq 0x2310
movq -0x100(%rbp), %rsi
movq -0xe0(%rbp), %rdi
movl -0x34(%rbp), %eax
movl %eax, -0xf4(%rbp)
addq $0x4e0, %rdi            # imm = 0x4E0
callq 0x3ee0
movl -0xf4(%rbp), %edx
movq %rax, %rcx
movq -0xe0(%rbp), %rax
movl %edx, (%rcx)
addq $0x4c8, %rax            # imm = 0x4C8
movq %rax, -0xf0(%rbp)
leaq -0xa8(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0xea60
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rsi
callq 0x3fc0
jmp 0x31b6
leaq -0xa8(%rbp), %rdi
callq 0xea90
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, %rdi
callq 0xee10
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, %rdi
movl -0x3c(%rbp), %eax
movsbl %al, %esi
callq 0xed60
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq -0xe0(%rbp), %rsi
movq %rax, %rdi
callq 0xeab0
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, %rdi
movsd -0x20(%rbp), %xmm0
callq 0xed80
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, %rdi
movl $0x88b8, %esi           # imm = 0x88B8
movl $0x13880, %edx          # imm = 0x13880
movl $0x249f0, %ecx          # imm = 0x249F0
movl $0x30d40, %r8d          # imm = 0x30D40
callq 0xeda0
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, -0x108(%rbp)
movl -0x2c(%rbp), %edx
imull -0x34(%rbp), %edx
addl $0x1, %edx
leaq -0xcc(%rbp), %rdi
movl $0x1, %esi
callq 0x102c0
movl -0x24(%rbp), %esi
movl -0x2c(%rbp), %edx
imull -0x34(%rbp), %edx
addl -0x2c(%rbp), %edx
leaq -0xd4(%rbp), %rdi
callq 0x102c0
leaq -0xc4(%rbp), %rdi
leaq -0xcc(%rbp), %rsi
leaq -0xd4(%rbp), %rdx
callq 0x10400
movq -0x108(%rbp), %rdi
leaq -0xc4(%rbp), %rsi
callq 0xead0
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, %rdi
movl -0x30(%rbp), %esi
callq 0xf0e0
movq -0xe0(%rbp), %rdi
addq $0x4c8, %rdi            # imm = 0x4C8
movslq -0x34(%rbp), %rsi
callq 0x3e00
movq %rax, %rdi
movl -0x28(%rbp), %esi
callq 0xf140
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x311f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xea90
jmp 0x337e
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq -0xb0(%rbp), %rdi
callq 0x2300
nopw (%rax,%rax)