// File: /workspace/github_c_makefile_star2_O0/joncampbell123[P]swfhax/c4_swfdump.c
// Function: dump_FILLSTYLE_nr
static int dump_FILLSTYLE_nr(swf_FILLSTYLEARRAY_read *nfo,unsigned int i) {
	printf("      FillStyleType[%u]:    0x%02x %s\n",i,nfo->FillStyleType,nfo->FillStyleType_str);
	switch (nfo->FillStyleType) {
		case swf_fillstyle_solid:
			printf("        Color: %s %u / %u / %u / %u\n",
				nfo->color_rgba ? "RGBA" : "RGB(A)",
				nfo->fsinfo.solid.Color.Red,
				nfo->fsinfo.solid.Color.Green,
				nfo->fsinfo.solid.Color.Blue,
				nfo->fsinfo.solid.Color.Alpha);
			break;
		case swf_fillstyle_linear_gradient_fill:
		case swf_fillstyle_radial_gradient_fill:
		case swf_fillstyle_focal_radial_gradient_fill:
			/* NTS: Reminder: Flash gradients are based on a virtual coordinate system where
			 *      the -16384,-16384 to 16384,16384 represents -1.0 to 1.0 respectively,
			 *      and you scale it to fit an object by scaling it down from 16384 to the
			 *      width of the object. */
			printf("        GradientMatrix: ");
			dump_MATRIX(&nfo->fsinfo.gradient.GradientMatrix);
			printf("\n");
			printf("        Gradient:\n");
			dump_GRADIENT(&nfo->fsinfo.gradient.Gradient);
			break;
		case swf_fillstyle_repeating_bitmap_fill:
		case swf_fillstyle_clipped_bitmap_fill:
		case swf_fillstyle_non_smoothed_repeating_bitmap_fill:
		case swf_fillstyle_non_smoothed_clipped_bitmap_fill:
			printf("        BitmapId: %u\n",nfo->fsinfo.bitmap.BitmapId);
			printf("        BitmapMatrix: ");
			dump_MATRIX(&nfo->fsinfo.bitmap.BitmapMatrix);
			printf("\n");
			break;
		default:
			printf("!!!! FILLSTYLE NOT IMPLEMENTED\n");
			return -1;
	};

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl -0x14(%rbp), %esi
movq -0x10(%rbp), %rax
movzbl 0x4(%rax), %edx
movq 0x8(%rax), %rcx
leaq 0x619e(%rip), %rdi      # 0x8993
xorl %eax, %eax
callq 0x1060
movq -0x10(%rbp), %rax
movzbl 0x4(%rax), %eax
movq %rax, -0x20(%rbp)
subq $0x43, %rax
ja 0x290a
movq -0x20(%rbp), %rax
leaq 0x5953(%rip), %rcx      # 0x8170
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x61ac(%rip), %rsi      # 0x89e4
leaq 0x61a0(%rip), %rax      # 0x89df
cmpl $0x0, %ecx
cmovneq %rax, %rsi
movq -0x10(%rbp), %rax
movzbl 0x10(%rax), %edx
movq -0x10(%rbp), %rax
movzbl 0x11(%rax), %ecx
movq -0x10(%rbp), %rax
movzbl 0x12(%rax), %r8d
movq -0x10(%rbp), %rax
movzbl 0x13(%rax), %r9d
leaq 0x614b(%rip), %rdi      # 0x89ba
movb $0x0, %al
callq 0x1060
jmp 0x2921
leaq 0x6169(%rip), %rdi      # 0x89eb
movb $0x0, %al
callq 0x1060
movq -0x10(%rbp), %rdi
addq $0x10, %rdi
callq 0x24f0
leaq 0x65a1(%rip), %rdi      # 0x8e3e
movb $0x0, %al
callq 0x1060
leaq 0x6159(%rip), %rdi      # 0x8a04
movb $0x0, %al
callq 0x1060
movq -0x10(%rbp), %rdi
addq $0x10, %rdi
addq $0x1c, %rdi
callq 0x2940
jmp 0x2921
movq -0x10(%rbp), %rax
movzwl 0x10(%rax), %esi
leaq 0x6143(%rip), %rdi      # 0x8a17
movb $0x0, %al
callq 0x1060
leaq 0x614b(%rip), %rdi      # 0x8a2d
movb $0x0, %al
callq 0x1060
movq -0x10(%rbp), %rdi
addq $0x10, %rdi
addq $0x4, %rdi
callq 0x24f0
leaq 0x653d(%rip), %rdi      # 0x8e3e
movb $0x0, %al
callq 0x1060
jmp 0x2921
leaq 0x6133(%rip), %rdi      # 0x8a44
movb $0x0, %al
callq 0x1060
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x2928
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)