// File: /workspace/github_c_makefile_star2_O0/weaslepalace[P]FreeRTOS_Posix_Sim/FreeRTOS_Kernel/tasks.c
// Function: vTaskList
void vTaskList( signed char *pcWriteBuffer )
	{
	unsigned portBASE_TYPE uxQueue;

		/* This is a VERY costly function that should be used for debug only.
		It leaves interrupts disabled for a LONG time. */

		vTaskSuspendAll();
		{
			/* Run through all the lists that could potentially contain a TCB and
			report the task name, state and stack high water mark. */

			pcWriteBuffer[ 0 ] = ( signed char ) 0x00;
			strcat( ( char * ) pcWriteBuffer, ( const char * ) "\r\n" );

			uxQueue = uxTopUsedPriority + 1;

			do
			{
				uxQueue--;

				if( !listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxQueue ] ) ) )
				{
					prvListTaskWithinSingleList( pcWriteBuffer, ( xList * ) &( pxReadyTasksLists[ uxQueue ] ), tskREADY_CHAR );
				}
			}while( uxQueue > ( unsigned short ) tskIDLE_PRIORITY );

			if( !listLIST_IS_EMPTY( pxDelayedTaskList ) )
			{
				prvListTaskWithinSingleList( pcWriteBuffer, ( xList * ) pxDelayedTaskList, tskBLOCKED_CHAR );
			}

			if( !listLIST_IS_EMPTY( pxOverflowDelayedTaskList ) )
			{
				prvListTaskWithinSingleList( pcWriteBuffer, ( xList * ) pxOverflowDelayedTaskList, tskBLOCKED_CHAR );
			}

			#if( INCLUDE_vTaskDelete == 1 )
			{
				if( !listLIST_IS_EMPTY( &xTasksWaitingTermination ) )
				{
					prvListTaskWithinSingleList( pcWriteBuffer, ( xList * ) &xTasksWaitingTermination, tskDELETED_CHAR );
				}
			}
			#endif

			#if ( INCLUDE_vTaskSuspend == 1 )
			{
				if( !listLIST_IS_EMPTY( &xSuspendedTaskList ) )
				{
					prvListTaskWithinSingleList( pcWriteBuffer, ( xList * ) &xSuspendedTaskList, tskSUSPENDED_CHAR );
				}
			}
			#endif
		}
		xTaskResumeAll();
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
callq 0x4650
movq -0x8(%rbp), %rax
movb $0x0, (%rax)
movq -0x8(%rbp), %rdi
leaq 0x3dde(%rip), %rsi      # 0xb021
callq 0x4680
movq 0x6d69(%rip), %rax      # 0xdfb8
movq (%rax), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x10(%rbp)
movq 0x6ca3(%rip), %rax      # 0xdf10
imulq $0x28, -0x10(%rbp), %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq $0x0, %rax
je 0x729b
movq -0x8(%rbp), %rdi
movq 0x6c87(%rip), %rsi      # 0xdf10
imulq $0x28, -0x10(%rbp), %rax
addq %rax, %rsi
movl $0x52, %edx
callq 0x46e0
jmp 0x729d
cmpq $0x0, -0x10(%rbp)
ja 0x725a
movq 0x6d15(%rip), %rax      # 0xdfc0
movq (%rax), %rax
movq (%rax), %rax
cmpq $0x0, %rax
je 0x72cf
movq -0x8(%rbp), %rdi
movq 0x6cfe(%rip), %rax      # 0xdfc0
movq (%rax), %rsi
movl $0x42, %edx
callq 0x46e0
movq 0x6c8a(%rip), %rax      # 0xdf60
movq (%rax), %rax
movq (%rax), %rax
cmpq $0x0, %rax
je 0x72fa
movq -0x8(%rbp), %rdi
movq 0x6c73(%rip), %rax      # 0xdf60
movq (%rax), %rsi
movl $0x42, %edx
callq 0x46e0
movq 0x6c87(%rip), %rax      # 0xdf88
movq (%rax), %rax
cmpq $0x0, %rax
je 0x731f
movq -0x8(%rbp), %rdi
movq 0x6c73(%rip), %rsi      # 0xdf88
movl $0x44, %edx
callq 0x46e0
movq 0x6be2(%rip), %rax      # 0xdf08
movq (%rax), %rax
cmpq $0x0, %rax
je 0x7344
movq -0x8(%rbp), %rdi
movq 0x6bce(%rip), %rsi      # 0xdf08
movl $0x53, %edx
callq 0x46e0
callq 0x4080
addq $0x10, %rsp
popq %rbp
retq
nop