// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/apps/grdview/grdview.cpp
// Function: main
int 
main(int argc, char **argv)
{
  // Initialize GLUT
  GLUTInit(&argc, argv);

  // Parse program arguments
  if (!ParseArgs(argc, argv)) exit(-1);

  // Read grid
  grid = ReadGrid(grid_name);
  if (!grid) exit(-1);

  // Create viewer
  viewer = CreateViewer(grid);
  if (!viewer) exit(-1);

  // Run GLUT interface
  GLUTMainLoop();

  // Return success 
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movq %rsi, %rbp
leaq 0x64(%rsp), %rbx
movl %edi, (%rbx)
movq %rbx, %rdi
callq 0x237cc
movl (%rbx), %r12d
cmpl $0x2, %r12d
jne 0x23a5a
movq 0x8(%rbp), %rax
cmpb $0x2d, (%rax)
je 0x24321
cmpl $0x2, %r12d
jl 0x23d7e
leaq 0xa175c(%rip), %rbx     # 0xc51c7
leal -0x1(%r12), %r14d
leaq 0x8(%rbp), %r15
movq 0x8(%rbp), %r13
cmpb $0x2d, (%r13)
jne 0x23b7d
movq %r13, %rdi
movq %rbx, %rsi
callq 0x1fb00
testl %eax, %eax
je 0x23b97
movq %r13, %rdi
leaq 0xa172a(%rip), %rsi     # 0xc51ca
callq 0x1fb00
testl %eax, %eax
je 0x23ba3
movq %r13, %rdi
leaq 0xa1720(%rip), %rsi     # 0xc51d7
callq 0x1fb00
testl %eax, %eax
je 0x23bb2
movq %r13, %rdi
leaq 0xa1714(%rip), %rsi     # 0xc51e2
callq 0x1fb00
testl %eax, %eax
je 0x23bc1
movq %r13, %rdi
leaq 0xa170e(%rip), %rsi     # 0xc51f3
callq 0x1fb00
testl %eax, %eax
je 0x23bd0
movq %r13, %rdi
leaq 0xa1702(%rip), %rsi     # 0xc51fe
callq 0x1fb00
testl %eax, %eax
je 0x23bdf
movq %r13, %rdi
leaq 0xa1701(%rip), %rsi     # 0xc5214
callq 0x1fb00
testl %eax, %eax
je 0x23bee
movq %r13, %rdi
leaq 0xa16fa(%rip), %rsi     # 0xc5224
callq 0x1fb00
testl %eax, %eax
je 0x23c10
movq %r13, %rdi
leaq 0xa16eb(%rip), %rsi     # 0xc522c
callq 0x1fb00
testl %eax, %eax
je 0x23d2d
movq %r13, %rdi
leaq 0xa16e0(%rip), %rsi     # 0xc5238
callq 0x1fb00
testl %eax, %eax
jne 0x242ee
addl $-0x2, %r12d
movq 0x10(%rbp), %rax
addq $0x10, %rbp
movq %rax, 0x103cb8(%rip)    # 0x127830
jmp 0x23d68
cmpq $0x0, 0x103ce3(%rip)    # 0x127868
jne 0x242ee
movq %r13, 0x103cd6(%rip)    # 0x127868
jmp 0x23d6e
movb $0x1, 0x103cd2(%rip)    # 0x127870
jmp 0x23d6e
movl $0x1, 0x103beb(%rip)    # 0x127798
jmp 0x23d6e
movl $0x1, 0x103bec(%rip)    # 0x1277a8
jmp 0x23d6e
movl $0x1, 0xfeca9(%rip)     # 0x122874
jmp 0x23d6e
movl $0x1, 0x103bea(%rip)    # 0x1277c4
jmp 0x23d6e
movl $0x0, 0xfec8b(%rip)     # 0x122874
jmp 0x23d6e
addl $-0x2, %r12d
movq 0x10(%rbp), %rdi
addq $0x10, %rbp
callq 0x1f9a0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xfec65(%rip)    # 0x122870
jmp 0x23d68
movq 0x10(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x8(%rsp)
movq 0x18(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x10(%rsp)
movq 0x20(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x40(%rsp)
movq 0x28(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x48(%rsp)
movq 0x30(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x38(%rsp)
movq 0x38(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x30(%rsp)
movq 0x40(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x28(%rsp)
movq 0x48(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0x20(%rsp)
addl $-0xa, %r12d
movq 0x50(%rbp), %rdi
addq $0x50, %rbp
callq 0x1f9a0
movsd %xmm0, 0x18(%rsp)
leaq 0xf8(%rsp), %r14
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
movsd 0x10(%rsp), %xmm1
movsd 0x40(%rsp), %xmm2
callq 0x41646
leaq 0x103a78(%rip), %rdi    # 0x127740
movq %r14, %rsi
callq 0x419b4
movsd 0x48(%rsp), %xmm0
movsd %xmm0, 0x103a7a(%rip)   # 0x127758
movsd 0x38(%rsp), %xmm0
movsd %xmm0, 0x103a74(%rip)   # 0x127760
movsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x103a6e(%rip)   # 0x127768
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x103a68(%rip)   # 0x127770
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x103a62(%rip)   # 0x127778
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x103a5c(%rip)   # 0x127780
movb $0x1, 0x103b49(%rip)    # 0x127874
jmp 0x23d68
movq 0x10(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0xfeae2(%rip)    # 0x122820
movq 0x18(%rbp), %rdi
callq 0x1f9a0
movsd %xmm0, 0xfeae1(%rip)    # 0x122830
addl $-0x4, %r12d
movq 0x20(%rbp), %rdi
addq $0x20, %rbp
callq 0x1f9a0
movsd %xmm0, 0xfead8(%rip)    # 0x122840
movq %rbp, %r15
movl %r12d, %r14d
movl %r14d, %r12d
movq %r15, %rbp
cmpl $0x1, %r14d
jg 0x23a6b
cmpq $0x0, 0x103ae2(%rip)    # 0x127868
je 0x24309
movq 0x103ad5(%rip), %r14    # 0x127868
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
callq 0x85580
movq %rbx, %rdi
xorl %esi, %esi
callq 0x1fd70
movl $0x250, %edi            # imm = 0x250
callq 0x1f750
movq %rax, %rbx
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x33314
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3a9bc
testl %eax, %eax
je 0x23ff1
cmpb $0x1, 0x103a91(%rip)    # 0x127870
jne 0x24004
leaq 0xa15e4(%rip), %rdi     # 0xc53d0
callq 0x1fca0
leaq 0x50(%rsp), %rdi
callq 0x855e2
leaq 0xa1497(%rip), %rdi     # 0xc5299
movb $0x1, %al
callq 0x1f070
movl 0x238(%rbx), %esi
movl 0x23c(%rbx), %edx
movl 0x240(%rbx), %ecx
leaq 0xa148e(%rip), %rdi     # 0xc52b0
xorl %eax, %eax
callq 0x1f070
leaq 0x98(%rsp), %r14
xorps %xmm0, %xmm0
xorpd %xmm1, %xmm1
xorpd %xmm2, %xmm2
movq %r14, %rdi
callq 0x41646
movl 0x238(%rbx), %eax
decl %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movl 0x23c(%rbx), %eax
decl %eax
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
movl 0x240(%rbx), %eax
decl %eax
xorps %xmm2, %xmm2
cvtsi2sd %eax, %xmm2
leaq 0x80(%rsp), %r15
movq %r15, %rdi
callq 0x41646
movsd (%r14), %xmm0
movsd 0x8(%r14), %xmm1
movsd 0x10(%r14), %xmm2
leaq 0x68(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3a996
movsd (%r15), %xmm0
movsd 0x8(%r15), %xmm1
movsd 0x10(%r15), %xmm2
leaq 0xd0(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3a996
leaq 0xf8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2c10a
movsd 0x8(%r12), %xmm0
movsd 0x10(%r12), %xmm1
movsd 0x18(%r12), %xmm2
movsd 0x20(%r12), %xmm3
movsd 0x28(%r12), %xmm4
movsd 0x30(%r12), %xmm5
leaq 0xa13bc(%rip), %rdi     # 0xc52c9
movb $0x6, %al
callq 0x1f070
movsd 0x228(%rbx), %xmm0
leaq 0xa13cf(%rip), %rdi     # 0xc52f2
movb $0x1, %al
callq 0x1f070
movq %rbx, %rdi
callq 0x33f4e
leaq 0xa13c9(%rip), %rdi     # 0xc5302
movl %eax, %esi
xorl %eax, %eax
callq 0x1f070
movsd 0x228(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
movq %rbx, %rdi
callq 0x33f4e
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd 0x8(%rsp), %xmm1
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
leaq 0xa139e(%rip), %rdi     # 0xc5316
movb $0x1, %al
callq 0x1f070
leaq 0x98(%rsp), %rdi
movq %rbx, %rsi
callq 0x33e90
movsd 0x98(%rsp), %xmm0
leaq 0xa1386(%rip), %rdi     # 0xc5325
movb $0x1, %al
callq 0x1f070
movsd 0xa0(%rsp), %xmm0
leaq 0xa137f(%rip), %rdi     # 0xc5335
movb $0x1, %al
callq 0x1f070
movq %rbx, %rdi
callq 0x33ef6
leaq 0xa1379(%rip), %rdi     # 0xc5345
movb $0x1, %al
callq 0x1f070
movq 0xfdf56(%rip), %rax     # 0x121f30
movq (%rax), %rdi
callq 0x1f8d0
leaq 0xf8(%rsp), %rdi
callq 0x2cf10
jmp 0x24004
leaq 0xa1285(%rip), %rdi     # 0xc527d
xorl %ebx, %ebx
movq %r14, %rsi
xorl %eax, %eax
callq 0x87f4e
movq %rbx, 0x103795(%rip)    # 0x1277a0
testq %rbx, %rbx
je 0x24317
leaq 0x50(%rsp), %r14
movq %r14, %rdi
callq 0x85580
movq %r14, %rdi
xorl %esi, %esi
callq 0x1fd70
movl 0x238(%rbx), %eax
decl %eax
cvtsi2sd %eax, %xmm3
movl 0x23c(%rbx), %eax
decl %eax
cvtsi2sd %eax, %xmm4
movl 0x240(%rbx), %eax
decl %eax
cvtsi2sd %eax, %xmm5
leaq 0x98(%rsp), %rbx
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
xorpd %xmm2, %xmm2
movq %rbx, %rdi
callq 0x2c158
movq %rbx, %rdi
callq 0x2c738
mulsd 0xa0fdd(%rip), %xmm0    # 0xc5058
movsd %xmm0, 0x8(%rsp)
cmpb $0x0, 0x1037ec(%rip)    # 0x127874
jne 0x240ec
leaq 0x80(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x2c8fa
movsd 0xa0fd9(%rip), %xmm0    # 0xc5080
mulsd 0x8(%rsp), %xmm0
leaq 0x1036a4(%rip), %rsi    # 0x127758
leaq 0x68(%rsp), %rdi
callq 0x42aae
leaq 0xf8(%rsp), %rdi
leaq 0x80(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x4206d
leaq 0x103661(%rip), %rdi    # 0x127740
leaq 0xf8(%rsp), %rsi
callq 0x419b4
movsd 0xa0f94(%rip), %xmm2    # 0xc5088
movsd 0x8(%rsp), %xmm3
mulsd %xmm3, %xmm2
mulsd 0xa0f8a(%rip), %xmm3    # 0xc5090
leaq 0x103633(%rip), %rsi    # 0x127740
leaq 0x103644(%rip), %rdx    # 0x127758
leaq 0x103655(%rip), %rcx    # 0x127770
leaq 0xf8(%rsp), %rdi
movsd 0xa0f6d(%rip), %xmm0    # 0xc5098
movapd %xmm0, %xmm1
callq 0x25d44
movl 0xfe742(%rip), %ecx     # 0x12287c
movl 0xfe73f(%rip), %r8d     # 0x122880
leaq 0xe8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x26a7a
movl $0xa8, %edi
callq 0x1f750
movq %rax, %rbx
leaq 0xf8(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
movq %rax, %rdi
callq 0x243f8
cmpb $0x1, 0x1036f2(%rip)    # 0x127870
jne 0x242c1
leaq 0xa1253(%rip), %rdi     # 0xc53de
callq 0x1fca0
leaq 0x50(%rsp), %rdi
callq 0x855e2
leaq 0xa10f8(%rip), %rdi     # 0xc5299
movb $0x1, %al
callq 0x1f070
leaq 0x140(%rsp), %r14
movsd -0x48(%r14), %xmm0
movsd -0x40(%r14), %xmm1
movsd -0x38(%r14), %xmm2
leaq 0xa118b(%rip), %rdi     # 0xc5354
movb $0x3, %al
callq 0x1f070
leaq 0x80(%rsp), %rdi
movq %r14, %rsi
callq 0x42d74
movsd 0x80(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
leaq 0x68(%rsp), %rdi
movq %r14, %rsi
callq 0x42d74
movsd 0x70(%rsp), %xmm0
movsd %xmm0, 0x10(%rsp)
leaq 0xd0(%rsp), %rdi
movq %r14, %rsi
callq 0x42d74
movsd 0xe0(%rsp), %xmm2
leaq 0xa1141(%rip), %rdi     # 0xc5369
movsd 0x8(%rsp), %xmm0
movsd 0x10(%rsp), %xmm1
movb $0x3, %al
callq 0x1f070
movsd 0x128(%rsp), %xmm0
movsd 0x130(%rsp), %xmm1
movsd 0x138(%rsp), %xmm2
leaq 0xa1122(%rip), %rdi     # 0xc537f
movb $0x3, %al
callq 0x1f070
movsd 0x158(%rsp), %xmm0
movsd 0x160(%rsp), %xmm1
leaq 0xa1113(%rip), %rdi     # 0xc5390
movb $0x2, %al
callq 0x1f070
movsd 0x168(%rsp), %xmm0
leaq 0xa110b(%rip), %rdi     # 0xc539f
movb $0x1, %al
callq 0x1f070
movsd 0x170(%rsp), %xmm0
leaq 0xa1101(%rip), %rdi     # 0xc53ac
movb $0x1, %al
callq 0x1f070
movq 0xfdc77(%rip), %rax     # 0x121f30
movq (%rax), %rdi
callq 0x1f8d0
leaq 0x98(%rsp), %rdi
callq 0x2cf10
movq %rbx, 0x1034bb(%rip)    # 0x127790
callq 0x238ff
xorl %eax, %eax
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa0f4a(%rip), %rdi     # 0xc523f
movq %r13, %rsi
xorl %eax, %eax
callq 0x87f4e
movl $0x1, %edi
callq 0x1f930
leaq 0xa0f4c(%rip), %rdi     # 0xc525c
xorl %eax, %eax
callq 0x87f4e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x1f930
leaq 0xa1090(%rip), %rdi     # 0xc53b8
callq 0x1fca0
xorl %edi, %edi
callq 0x1f930
jmp 0x24377
jmp 0x24377
jmp 0x24377
jmp 0x24377
jmp 0x2433e
movq %rax, %r14
leaq 0xf8(%rsp), %rdi
jmp 0x24382
movq %rax, %r14
movl $0xa8, %esi
movq %rbx, %rdi
callq 0x1f770
jmp 0x2437a
jmp 0x24377
jmp 0x24377
jmp 0x24377
movq %rax, %r14
movl $0x250, %esi            # imm = 0x250
movq %rbx, %rdi
callq 0x1f770
jmp 0x24387
jmp 0x24377
movq %rax, %r14
leaq 0x98(%rsp), %rdi
callq 0x2cf10
movq %r14, %rdi
callq 0x1fe30
nop