// File: tomfunkhouser[P]gaps/pkgs/R3Shapes/R3Frustum.cpp
// Function: gaps::R3Frustum::Draw(gaps::RNFlags) const
void R3Frustum::
Draw(const R3DrawFlags draw_flags) const
{
  // Draw quads
  RNGrfxBegin(RN_GRFX_QUADS);
  R3LoadPoint(Corner(0,0,0));  // Front
  R3LoadPoint(Corner(1,0,0));
  R3LoadPoint(Corner(1,1,0));
  R3LoadPoint(Corner(0,1,0));
  R3LoadPoint(Corner(0,0,1));  // Back
  R3LoadPoint(Corner(0,1,1));
  R3LoadPoint(Corner(1,1,1));
  R3LoadPoint(Corner(1,0,1));
  R3LoadPoint(Corner(1,0,0)); // Right
  R3LoadPoint(Corner(1,0,1));
  R3LoadPoint(Corner(1,1,1));
  R3LoadPoint(Corner(1,1,0));
  R3LoadPoint(Corner(0,0,0));  // Left
  R3LoadPoint(Corner(0,0,1));
  R3LoadPoint(Corner(0,1,1));
  R3LoadPoint(Corner(0,1,0));
  R3LoadPoint(Corner(0,1,0));  // Top
  R3LoadPoint(Corner(1,1,0));
  R3LoadPoint(Corner(1,1,1));
  R3LoadPoint(Corner(0,1,1));
  R3LoadPoint(Corner(0,0,0));  // Bottom
  R3LoadPoint(Corner(0,0,1));
  R3LoadPoint(Corner(1,0,1));
  R3LoadPoint(Corner(1,0,0));
  RNGrfxEnd();
}

// Assembly:
subq $0x258, %rsp            # imm = 0x258
movq %rsi, 0x250(%rsp)
movq %rdi, 0x248(%rsp)
movq 0x248(%rsp), %rax
movq %rax, (%rsp)
movl $0x7, %edi
callq 0x4ff50
movq (%rsp), %rsi
leaq 0x230(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x230(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x218(%rsp), %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x218(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x200(%rsp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x200(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x1e8(%rsp), %rdi
xorl %r8d, %r8d
movl $0x1, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x1e8(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x1d0(%rsp), %rdi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x1d0(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x1b8(%rsp), %rdi
xorl %edx, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x1b8(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x1a0(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x1a0(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x188(%rsp), %rdi
movl $0x1, %r8d
xorl %ecx, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x188(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x170(%rsp), %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x170(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x158(%rsp), %rdi
movl $0x1, %r8d
xorl %ecx, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x158(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x140(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x140(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x128(%rsp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x128(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x110(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x110(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0xf8(%rsp), %rdi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0xf8(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0xe0(%rsp), %rdi
xorl %edx, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0xe0(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0xc8(%rsp), %rdi
xorl %r8d, %r8d
movl $0x1, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0xc8(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0xb0(%rsp), %rdi
xorl %r8d, %r8d
movl $0x1, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0xb0(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x98(%rsp), %rdi
movl $0x1, %ecx
xorl %r8d, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x98(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x80(%rsp), %rdi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x80(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x68(%rsp), %rdi
xorl %edx, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x68(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x50(%rsp), %rdi
xorl %r8d, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc6160
leaq 0x50(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x38(%rsp), %rdi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0xc6160
leaq 0x38(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x20(%rsp), %rdi
movl $0x1, %r8d
xorl %ecx, %ecx
movl %r8d, %edx
callq 0xc6160
leaq 0x20(%rsp), %rdi
callq 0x50050
movq (%rsp), %rsi
leaq 0x8(%rsp), %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0xc6160
leaq 0x8(%rsp), %rdi
callq 0x50050
callq 0x50070
addq $0x258, %rsp            # imm = 0x258
retq
nopl (%rax,%rax)