// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/lang.c
// Function: read_array_from_userfile
void read_array_from_userfile(char* name, char* varname, int size)
{
 /*!Last Changed 03.01.2006*/
 /*!Last Changed 15.12.2004*/
 VARIABLE_TYPE variabletype;
 int tmp, i;
	double tmpf;
	char message[READLINELENGTH];
	variableptr myvar, myvar2;
 myvar = get_and_check_variable_type(name, 4, "file");
	if (!myvar)
			return;
	myvar2 = get_variable(varname);
	if (myvar2->arraysize != 0)
			variabletype = myvar2->value.array[0].type;
	else
	  return;
	if (myvar->userfile)
			switch (variabletype)
			 {
				 case INTEGER_TYPE:for (i = 0; i < size; i++)
													           {
								                 fscanf(myvar->userfile, "%d", &tmp);
														           myvar2->value.array[i].value.intvalue = tmp;
													           }
								               break;
				 case REAL_TYPE   :for (i = 0; i < size; i++)
													           {
								                 fscanf(myvar->userfile, "%lf", &tmpf);
														           myvar2->value.array[i].value.floatvalue = tmpf;
													           }
								               break;
				 case STRING_TYPE :for (i = 0; i < size; i++)
													           {
								                 fscanf(myvar->userfile, "%s", message);
														           if (myvar2->value.array[i].value.stringvalue)
																           safe_free(myvar2->value.array[i].value.stringvalue);
                         myvar2->value.array[i].value.stringvalue = strcopy(myvar2->value.array[i].value.stringvalue, message);
													           }
								               break;
     default          :printf(m1245);
                       break;
			 }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7a170, %rsp          # imm = 0x7A170
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl $0x4, %esi
leaq 0xa3124(%rip), %rdx     # 0xee4da
callq 0x4b280
movq %rax, -0x7a158(%rbp)
cmpq $0x0, -0x7a158(%rbp)
jne 0x4b3d1
jmp 0x4b5cd
movq -0x10(%rbp), %rdi
callq 0x4b5e0
movq %rax, -0x7a160(%rbp)
movq -0x7a160(%rbp), %rax
cmpl $0x0, 0x20(%rax)
je 0x4b400
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movl (%rax), %eax
movl %eax, -0x18(%rbp)
jmp 0x4b405
jmp 0x4b5cd
movq -0x7a158(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x4b5cd
movl -0x18(%rbp), %eax
movl %eax, -0x7a164(%rbp)
testl %eax, %eax
je 0x4b447
jmp 0x4b426
movl -0x7a164(%rbp), %eax
subl $0x1, %eax
je 0x4b49f
jmp 0x4b433
movl -0x7a164(%rbp), %eax
subl $0x2, %eax
je 0x4b4fb
jmp 0x4b5bd
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x4b49a
movq -0x7a158(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0xa1dfd(%rip), %rsi     # 0xed265
leaq -0x1c(%rbp), %rdx
movb $0x0, %al
callq 0x4070
movl -0x1c(%rbp), %ecx
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x20(%rbp), %rdx
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movl %ecx, 0x28(%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x4b44e
jmp 0x4b5cb
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x4b4f6
movq -0x7a158(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x9b308(%rip), %rsi     # 0xe67c8
leaq -0x28(%rbp), %rdx
movb $0x0, %al
callq 0x4070
movsd -0x28(%rbp), %xmm0
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x4b4a6
jmp 0x4b5cb
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x4b5bb
movq -0x7a158(%rbp), %rax
movq 0x10(%rax), %rdi
leaq -0x7a150(%rbp), %rdx
leaq 0x99571(%rip), %rsi     # 0xe4a98
movb $0x0, %al
callq 0x4070
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
cmpq $0x0, 0x28(%rax)
je 0x4b56a
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rdi
callq 0x52e80
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x20(%rbp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rdi
leaq -0x7a150(%rbp), %rsi
callq 0x54ba0
movq %rax, %rcx
movq -0x7a160(%rbp), %rax
movq 0x28(%rax), %rax
movslq -0x20(%rbp), %rdx
imulq $0x30, %rdx, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x4b502
jmp 0x4b5cb
leaq 0x9abb9(%rip), %rdi     # 0xe617d
movb $0x0, %al
callq 0x4030
jmp 0x4b5cd
addq $0x7a170, %rsp          # imm = 0x7A170
popq %rbp
retq
nopw %cs:(%rax,%rax)