
nq:     file format elf64-x86-64


Disassembly of section .init:

0000000000400bb8 <_init>:
  400bb8:	sub    $0x8,%rsp
  400bbc:	callq  400d4c <call_gmon_start>
  400bc1:	callq  400e60 <frame_dummy>
  400bc6:	callq  401450 <__do_global_ctors_aux>
  400bcb:	add    $0x8,%rsp
  400bcf:	retq   

Disassembly of section .plt:

0000000000400bd0 <_ZNSolsEi@plt-0x10>:
  400bd0:	pushq  0x200cfa(%rip)        # 6018d0 <_GLOBAL_OFFSET_TABLE_+0x8>
  400bd6:	jmpq   *0x200cfc(%rip)        # 6018d8 <_GLOBAL_OFFSET_TABLE_+0x10>
  400bdc:	nopl   0x0(%rax)

0000000000400be0 <_ZNSolsEi@plt>:
  400be0:	jmpq   *0x200cfa(%rip)        # 6018e0 <_GLOBAL_OFFSET_TABLE_+0x18>
  400be6:	pushq  $0x0
  400beb:	jmpq   400bd0 <_init+0x18>

0000000000400bf0 <_ZNSi10_M_extractImEERSiRT_@plt>:
  400bf0:	jmpq   *0x200cf2(%rip)        # 6018e8 <_GLOBAL_OFFSET_TABLE_+0x20>
  400bf6:	pushq  $0x1
  400bfb:	jmpq   400bd0 <_init+0x18>

0000000000400c00 <memset@plt>:
  400c00:	jmpq   *0x200cea(%rip)        # 6018f0 <_GLOBAL_OFFSET_TABLE_+0x28>
  400c06:	pushq  $0x2
  400c0b:	jmpq   400bd0 <_init+0x18>

0000000000400c10 <_Znam@plt>:
  400c10:	jmpq   *0x200ce2(%rip)        # 6018f8 <_GLOBAL_OFFSET_TABLE_+0x30>
  400c16:	pushq  $0x3
  400c1b:	jmpq   400bd0 <_init+0x18>

0000000000400c20 <_ZdlPv@plt>:
  400c20:	jmpq   *0x200cda(%rip)        # 601900 <_GLOBAL_OFFSET_TABLE_+0x38>
  400c26:	pushq  $0x4
  400c2b:	jmpq   400bd0 <_init+0x18>

0000000000400c30 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@plt>:
  400c30:	jmpq   *0x200cd2(%rip)        # 601908 <_GLOBAL_OFFSET_TABLE_+0x40>
  400c36:	pushq  $0x5
  400c3b:	jmpq   400bd0 <_init+0x18>

0000000000400c40 <_ZNSt8ios_base4InitC1Ev@plt>:
  400c40:	jmpq   *0x200cca(%rip)        # 601910 <_GLOBAL_OFFSET_TABLE_+0x48>
  400c46:	pushq  $0x6
  400c4b:	jmpq   400bd0 <_init+0x18>

0000000000400c50 <__libc_start_main@plt>:
  400c50:	jmpq   *0x200cc2(%rip)        # 601918 <_GLOBAL_OFFSET_TABLE_+0x50>
  400c56:	pushq  $0x7
  400c5b:	jmpq   400bd0 <_init+0x18>

0000000000400c60 <_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@plt>:
  400c60:	jmpq   *0x200cba(%rip)        # 601920 <_GLOBAL_OFFSET_TABLE_+0x58>
  400c66:	pushq  $0x8
  400c6b:	jmpq   400bd0 <_init+0x18>

0000000000400c70 <__cxa_atexit@plt>:
  400c70:	jmpq   *0x200cb2(%rip)        # 601928 <_GLOBAL_OFFSET_TABLE_+0x60>
  400c76:	pushq  $0x9
  400c7b:	jmpq   400bd0 <_init+0x18>

0000000000400c80 <_ZNSt8ios_base4InitD1Ev@plt>:
  400c80:	jmpq   *0x200caa(%rip)        # 601930 <_GLOBAL_OFFSET_TABLE_+0x68>
  400c86:	pushq  $0xa
  400c8b:	jmpq   400bd0 <_init+0x18>

0000000000400c90 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>:
  400c90:	jmpq   *0x200ca2(%rip)        # 601938 <_GLOBAL_OFFSET_TABLE_+0x70>
  400c96:	pushq  $0xb
  400c9b:	jmpq   400bd0 <_init+0x18>

0000000000400ca0 <memcpy@plt>:
  400ca0:	jmpq   *0x200c9a(%rip)        # 601940 <_GLOBAL_OFFSET_TABLE_+0x78>
  400ca6:	pushq  $0xc
  400cab:	jmpq   400bd0 <_init+0x18>

0000000000400cb0 <_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@plt>:
  400cb0:	jmpq   *0x200c92(%rip)        # 601948 <_GLOBAL_OFFSET_TABLE_+0x80>
  400cb6:	pushq  $0xd
  400cbb:	jmpq   400bd0 <_init+0x18>

0000000000400cc0 <_ZSt19__throw_logic_errorPKc@plt>:
  400cc0:	jmpq   *0x200c8a(%rip)        # 601950 <_GLOBAL_OFFSET_TABLE_+0x88>
  400cc6:	pushq  $0xe
  400ccb:	jmpq   400bd0 <_init+0x18>

0000000000400cd0 <_ZdaPv@plt>:
  400cd0:	jmpq   *0x200c82(%rip)        # 601958 <_GLOBAL_OFFSET_TABLE_+0x90>
  400cd6:	pushq  $0xf
  400cdb:	jmpq   400bd0 <_init+0x18>

0000000000400ce0 <_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@plt>:
  400ce0:	jmpq   *0x200c7a(%rip)        # 601960 <_GLOBAL_OFFSET_TABLE_+0x98>
  400ce6:	pushq  $0x10
  400ceb:	jmpq   400bd0 <_init+0x18>

0000000000400cf0 <_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@plt>:
  400cf0:	jmpq   *0x200c72(%rip)        # 601968 <_GLOBAL_OFFSET_TABLE_+0xa0>
  400cf6:	pushq  $0x11
  400cfb:	jmpq   400bd0 <_init+0x18>

0000000000400d00 <__gxx_personality_v0@plt>:
  400d00:	jmpq   *0x200c6a(%rip)        # 601970 <_GLOBAL_OFFSET_TABLE_+0xa8>
  400d06:	pushq  $0x12
  400d0b:	jmpq   400bd0 <_init+0x18>

0000000000400d10 <_Unwind_Resume@plt>:
  400d10:	jmpq   *0x200c62(%rip)        # 601978 <_GLOBAL_OFFSET_TABLE_+0xb0>
  400d16:	pushq  $0x13
  400d1b:	jmpq   400bd0 <_init+0x18>

Disassembly of section .text:

0000000000400d20 <_start>:
  400d20:	xor    %ebp,%ebp
  400d22:	mov    %rdx,%r9
  400d25:	pop    %rsi
  400d26:	mov    %rsp,%rdx
  400d29:	and    $0xfffffffffffffff0,%rsp
  400d2d:	push   %rax
  400d2e:	push   %rsp
  400d2f:	mov    $0x4013b0,%r8
  400d36:	mov    $0x4013c0,%rcx
  400d3d:	mov    $0x400e70,%rdi
  400d44:	callq  400c50 <__libc_start_main@plt>
  400d49:	hlt    
  400d4a:	nop
  400d4b:	nop

0000000000400d4c <call_gmon_start>:
  400d4c:	sub    $0x8,%rsp
  400d50:	mov    0x200b69(%rip),%rax        # 6018c0 <_DYNAMIC+0x1c0>
  400d57:	test   %rax,%rax
  400d5a:	je     400d5e <call_gmon_start+0x12>
  400d5c:	callq  *%rax
  400d5e:	add    $0x8,%rsp
  400d62:	retq   
  400d63:	nop
  400d64:	nop
  400d65:	nop
  400d66:	nop
  400d67:	nop
  400d68:	nop
  400d69:	nop
  400d6a:	nop
  400d6b:	nop
  400d6c:	nop
  400d6d:	nop
  400d6e:	nop
  400d6f:	nop

0000000000400d70 <deregister_tm_clones>:
  400d70:	push   %rbp
  400d71:	mov    $0x601990,%eax
  400d76:	cmp    $0x601990,%rax
  400d7c:	mov    %rsp,%rbp
  400d7f:	je     400d98 <deregister_tm_clones+0x28>
  400d81:	mov    $0x0,%eax
  400d86:	test   %rax,%rax
  400d89:	je     400d98 <deregister_tm_clones+0x28>
  400d8b:	pop    %rbp
  400d8c:	mov    $0x601990,%edi
  400d91:	jmpq   *%rax
  400d93:	nopl   0x0(%rax,%rax,1)
  400d98:	pop    %rbp
  400d99:	retq   
  400d9a:	nopw   0x0(%rax,%rax,1)

0000000000400da0 <register_tm_clones>:
  400da0:	mov    $0x601990,%esi
  400da5:	push   %rbp
  400da6:	sub    $0x601990,%rsi
  400dad:	mov    %rsp,%rbp
  400db0:	sar    $0x3,%rsi
  400db4:	mov    %rsi,%rax
  400db7:	shr    $0x3f,%rax
  400dbb:	add    %rax,%rsi
  400dbe:	sar    %rsi
  400dc1:	je     400dd8 <register_tm_clones+0x38>
  400dc3:	mov    $0x0,%eax
  400dc8:	test   %rax,%rax
  400dcb:	je     400dd8 <register_tm_clones+0x38>
  400dcd:	pop    %rbp
  400dce:	mov    $0x601990,%edi
  400dd3:	jmpq   *%rax
  400dd5:	nopl   (%rax)
  400dd8:	pop    %rbp
  400dd9:	retq   
  400dda:	nopw   0x0(%rax,%rax,1)

0000000000400de0 <__do_global_dtors_aux>:
  400de0:	cmpb   $0x0,0x200de9(%rip)        # 601bd0 <completed.6863>
  400de7:	jne    400e50 <__do_global_dtors_aux+0x70>
  400de9:	push   %rbp
  400dea:	mov    0x200de7(%rip),%rax        # 601bd8 <dtor_idx.6865>
  400df1:	mov    %rsp,%rbp
  400df4:	push   %r12
  400df6:	push   %rbx
  400df7:	mov    $0x6016f8,%ebx
  400dfc:	mov    $0x6016f0,%r12d
  400e02:	sub    $0x6016f0,%rbx
  400e09:	sar    $0x3,%rbx
  400e0d:	sub    $0x1,%rbx
  400e11:	cmp    %rbx,%rax
  400e14:	jae    400e3b <__do_global_dtors_aux+0x5b>
  400e16:	nopw   %cs:0x0(%rax,%rax,1)
  400e20:	add    $0x1,%rax
  400e24:	mov    %rax,0x200dad(%rip)        # 601bd8 <dtor_idx.6865>
  400e2b:	callq  *(%r12,%rax,8)
  400e2f:	mov    0x200da2(%rip),%rax        # 601bd8 <dtor_idx.6865>
  400e36:	cmp    %rbx,%rax
  400e39:	jb     400e20 <__do_global_dtors_aux+0x40>
  400e3b:	callq  400d70 <deregister_tm_clones>
  400e40:	pop    %rbx
  400e41:	movb   $0x1,0x200d88(%rip)        # 601bd0 <completed.6863>
  400e48:	pop    %r12
  400e4a:	pop    %rbp
  400e4b:	retq   
  400e4c:	nopl   0x0(%rax)
  400e50:	repz retq 
  400e52:	nopw   %cs:0x0(%rax,%rax,1)

0000000000400e60 <frame_dummy>:
  400e60:	push   %rbp
  400e61:	mov    %rsp,%rbp
  400e64:	pop    %rbp
  400e65:	jmpq   400da0 <register_tm_clones>
  400e6a:	nop
  400e6b:	nop
  400e6c:	nop
  400e6d:	nop
  400e6e:	nop
  400e6f:	nop

0000000000400e70 <main>:
  400e70:	push   %r12
  400e72:	push   %rbp
  400e73:	push   %rbx
  400e74:	mov    %rsi,%rbx
  400e77:	sub    $0x1a0,%rsp
  400e7e:	cmp    $0x2,%edi
  400e81:	je     400ec4 <main+0x54>
  400e83:	mov    $0x7,%edx
  400e88:	mov    $0x4014ac,%esi
  400e8d:	mov    $0x6019a0,%edi
  400e92:	callq  400cb0 <_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@plt>
  400e97:	mov    (%rbx),%rsi
  400e9a:	mov    $0x6019a0,%edi
  400e9f:	mov    $0x1,%ebx
  400ea4:	callq  400c90 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
  400ea9:	mov    $0x4014b4,%esi
  400eae:	mov    %rax,%rdi
  400eb1:	callq  400c90 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
  400eb6:	add    $0x1a0,%rsp
  400ebd:	mov    %ebx,%eax
  400ebf:	pop    %rbx
  400ec0:	pop    %rbp
  400ec1:	pop    %r12
  400ec3:	retq   
  400ec4:	mov    0x8(%rsi),%r12
  400ec8:	lea    0x10(%rsp),%rdx
  400ecd:	mov    %rdx,(%rsp)
  400ed1:	test   %r12,%r12
  400ed4:	je     401001 <main+0x191>
  400eda:	or     $0xffffffffffffffff,%rcx
  400ede:	xor    %eax,%eax
  400ee0:	mov    %r12,%rdi
  400ee3:	repnz scas %es:(%rdi),%al
  400ee5:	not    %rcx
  400ee8:	lea    -0x1(%rcx),%rbx
  400eec:	mov    %rbx,0x20(%rsp)
  400ef1:	cmp    $0xf,%rbx
  400ef5:	ja     400fad <main+0x13d>
  400efb:	cmp    $0x1,%rbx
  400eff:	jne    400f7e <main+0x10e>
  400f01:	movzbl (%r12),%eax
  400f06:	lea    0x20(%rsp),%rbp
  400f0b:	mov    %al,0x10(%rsp)
  400f0f:	mov    0x20(%rsp),%rax
  400f14:	mov    %rsp,%rsi
  400f17:	mov    %rbp,%rdi
  400f1a:	mov    (%rsp),%rdx
  400f1e:	mov    %rax,0x8(%rsp)
  400f23:	movb   $0x0,(%rdx,%rax,1)
  400f27:	mov    $0x8,%edx
  400f2c:	callq  400ce0 <_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@plt>
  400f31:	mov    (%rsp),%rdi
  400f35:	lea    0x10(%rsp),%rax
  400f3a:	cmp    %rax,%rdi
  400f3d:	je     400f44 <main+0xd4>
  400f3f:	callq  400c20 <_ZdlPv@plt>
  400f44:	mov    %rsp,%rsi
  400f47:	mov    %rbp,%rdi
  400f4a:	callq  400bf0 <_ZNSi10_M_extractImEERSiRT_@plt>
  400f4f:	mov    (%rax),%rdx
  400f52:	mov    -0x18(%rdx),%rdx
  400f56:	testb  $0x5,0x20(%rax,%rdx,1)
  400f5b:	je     400f8d <main+0x11d>
  400f5d:	mov    $0x4014b8,%esi
  400f62:	mov    $0x6019a0,%edi
  400f67:	callq  400c90 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
  400f6c:	mov    $0x1,%ebx
  400f71:	mov    %rbp,%rdi
  400f74:	callq  400c60 <_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@plt>
  400f79:	jmpq   400eb6 <main+0x46>
  400f7e:	lea    0x20(%rsp),%rbp
  400f83:	test   %rbx,%rbx
  400f86:	je     400f0f <main+0x9f>
  400f88:	mov    %rdx,%rax
  400f8b:	jmp    400fcd <main+0x15d>
  400f8d:	mov    (%rsp),%edi
  400f90:	callq  4012f0 <_Z5solvei>
  400f95:	mov    %eax,%esi
  400f97:	mov    $0x601ac0,%edi
  400f9c:	callq  400be0 <_ZNSolsEi@plt>
  400fa1:	mov    %rax,%rdi
  400fa4:	callq  400cf0 <_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@plt>
  400fa9:	xor    %ebx,%ebx
  400fab:	jmp    400f71 <main+0x101>
  400fad:	lea    0x20(%rsp),%rbp
  400fb2:	xor    %edx,%edx
  400fb4:	mov    %rsp,%rdi
  400fb7:	mov    %rbp,%rsi
  400fba:	callq  400c30 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@plt>
  400fbf:	mov    0x20(%rsp),%rdx
  400fc4:	mov    %rax,(%rsp)
  400fc8:	mov    %rdx,0x10(%rsp)
  400fcd:	mov    %rbx,%rdx
  400fd0:	mov    %r12,%rsi
  400fd3:	mov    %rax,%rdi
  400fd6:	callq  400ca0 <memcpy@plt>
  400fdb:	jmpq   400f0f <main+0x9f>
  400fe0:	mov    (%rsp),%rdi
  400fe4:	lea    0x10(%rsp),%rdx
  400fe9:	mov    %rax,%rbx
  400fec:	cmp    %rdx,%rdi
  400fef:	je     40100b <main+0x19b>
  400ff1:	vzeroupper 
  400ff4:	callq  400c20 <_ZdlPv@plt>
  400ff9:	mov    %rbx,%rdi
  400ffc:	callq  400d10 <_Unwind_Resume@plt>
  401001:	mov    $0x4014c8,%edi
  401006:	callq  400cc0 <_ZSt19__throw_logic_errorPKc@plt>
  40100b:	vzeroupper 
  40100e:	jmp    400ff9 <main+0x189>
  401010:	mov    %rax,%rbx
  401013:	mov    %rbp,%rdi
  401016:	vzeroupper 
  401019:	callq  400c60 <_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@plt>
  40101e:	jmp    400ff9 <main+0x189>

0000000000401020 <_GLOBAL__sub_I_main>:
  401020:	sub    $0x8,%rsp
  401024:	mov    $0x601be0,%edi
  401029:	callq  400c40 <_ZNSt8ios_base4InitC1Ev@plt>
  40102e:	mov    $0x601988,%edx
  401033:	mov    $0x601be0,%esi
  401038:	mov    $0x400c80,%edi
  40103d:	add    $0x8,%rsp
  401041:	jmpq   400c70 <__cxa_atexit@plt>
  401046:	nop
  401047:	nop
  401048:	nop
  401049:	nop
  40104a:	nop
  40104b:	nop
  40104c:	nop
  40104d:	nop
  40104e:	nop
  40104f:	nop

0000000000401050 <_ZL14find_solutionsR5boardiii>:
  401050:	push   %r15
  401052:	push   %r14
  401054:	mov    %rdi,%r14
  401057:	push   %r13
  401059:	push   %r12
  40105b:	push   %rbp
  40105c:	push   %rbx
  40105d:	sub    $0x48,%rsp
  401061:	mov    (%rdi),%ebx
  401063:	test   %esi,%esi
  401065:	je     401120 <_ZL14find_solutionsR5boardiii+0xd0>
  40106b:	mov    %edx,%r15d
  40106e:	xor    %r13d,%r13d
  401071:	cmp    %ebx,%edx
  401073:	jge    4010ce <_ZL14find_solutionsR5boardiii+0x7e>
  401075:	lea    -0x1(%rsi),%eax
  401078:	mov    %r13d,%r8d
  40107b:	mov    %edx,%r12d
  40107e:	mov    %eax,0x10(%rsp)
  401082:	mov    %ecx,%r13d
  401085:	cmp    %r12d,%r15d
  401088:	mov    $0x0,%ebp
  40108d:	cmove  %r13d,%ebp
  401091:	cmp    %ebx,%ebp
  401093:	jge    4010c2 <_ZL14find_solutionsR5boardiii+0x72>
  401095:	mov    0x8(%r14),%rdx
  401099:	mov    %ebx,%eax
  40109b:	imul   %r12d,%ebx
  40109f:	add    %ebp,%ebx
  4010a1:	movslq %ebx,%rbx
  4010a4:	add    %rdx,%rbx
  4010a7:	cmpb   $0x0,(%rbx)
  4010aa:	je     4010e0 <_ZL14find_solutionsR5boardiii+0x90>
  4010ac:	add    $0x1,%ebp
  4010af:	cmp    %eax,%ebp
  4010b1:	jge    4010c0 <_ZL14find_solutionsR5boardiii+0x70>
  4010b3:	mov    %eax,%ebx
  4010b5:	jmp    40109b <_ZL14find_solutionsR5boardiii+0x4b>
  4010b7:	nopw   0x0(%rax,%rax,1)
  4010c0:	mov    %eax,%ebx
  4010c2:	add    $0x1,%r12d
  4010c6:	cmp    %ebx,%r12d
  4010c9:	jl     401085 <_ZL14find_solutionsR5boardiii+0x35>
  4010cb:	mov    %r8d,%r13d
  4010ce:	add    $0x48,%rsp
  4010d2:	mov    %r13d,%eax
  4010d5:	pop    %rbx
  4010d6:	pop    %rbp
  4010d7:	pop    %r12
  4010d9:	pop    %r13
  4010db:	pop    %r14
  4010dd:	pop    %r15
  4010df:	retq   
  4010e0:	mov    0x10(%rsp),%esi
  4010e4:	mov    %ebp,%ecx
  4010e6:	movb   $0x1,(%rbx)
  4010e9:	mov    %r12d,%edx
  4010ec:	mov    %r14,%rdi
  4010ef:	mov    %r8d,0x8(%rsp)
  4010f4:	add    $0x1,%ebp
  4010f7:	callq  401050 <_ZL14find_solutionsR5boardiii>
  4010fc:	mov    0x8(%rsp),%r8d
  401101:	movb   $0x0,(%rbx)
  401104:	add    %eax,%r8d
  401107:	mov    (%r14),%eax
  40110a:	cmp    %ebp,%eax
  40110c:	jle    4010c0 <_ZL14find_solutionsR5boardiii+0x70>
  40110e:	mov    0x8(%r14),%rdx
  401112:	mov    %eax,%ebx
  401114:	jmp    40109b <_ZL14find_solutionsR5boardiii+0x4b>
  401116:	nopw   %cs:0x0(%rax,%rax,1)
  401120:	mov    %ebx,%r12d
  401123:	imul   %ebx,%r12d
  401127:	movslq %r12d,%r12
  40112a:	mov    %r12,%rdi
  40112d:	callq  400c10 <_Znam@plt>
  401132:	lea    (%rax,%r12,1),%rdx
  401136:	mov    %rax,%rbp
  401139:	cmp    %rdx,%rax
  40113c:	je     40114b <_ZL14find_solutionsR5boardiii+0xfb>
  40113e:	sub    %rax,%rdx
  401141:	xor    %esi,%esi
  401143:	mov    %rax,%rdi
  401146:	callq  400c00 <memset@plt>
  40114b:	test   %ebx,%ebx
  40114d:	jle    4012c8 <_ZL14find_solutionsR5boardiii+0x278>
  401153:	movslq (%r14),%rax
  401156:	mov    %ebx,%esi
  401158:	movl   $0x0,0x18(%rsp)
  401160:	lea    0x1(%rbx),%r15d
  401164:	mov    %rax,0x38(%rsp)
  401169:	mov    0x8(%r14),%rax
  40116d:	movslq %ebx,%r14
  401170:	mov    %rax,0x8(%rsp)
  401175:	mov    %ebx,%eax
  401177:	neg    %eax
  401179:	mov    %eax,0x1c(%rsp)
  40117d:	mov    %ebx,%eax
  40117f:	imul   %ebx,%eax
  401182:	sub    %eax,%esi
  401184:	neg    %eax
  401186:	sub    %ebx,%eax
  401188:	mov    %esi,0x20(%rsp)
  40118c:	mov    %eax,0x24(%rsp)
  401190:	lea    -0x1(%rbx),%eax
  401193:	mov    %rax,%r13
  401196:	lea    0x1(%rbp,%rax,1),%rax
  40119b:	mov    %rax,0x30(%rsp)
  4011a0:	movslq 0x18(%rsp),%rax
  4011a5:	xor    %edi,%edi
  4011a7:	xor    %r10d,%r10d
  4011aa:	mov    0x30(%rsp),%r12
  4011af:	mov    %rax,0x28(%rsp)
  4011b4:	add    %rax,%r12
  4011b7:	jmp    4011cf <_ZL14find_solutionsR5boardiii+0x17f>
  4011b9:	nopl   0x0(%rax)
  4011c0:	add    $0x1,%edi
  4011c3:	add    $0x1,%r10
  4011c7:	cmp    %ebx,%edi
  4011c9:	je     4012a7 <_ZL14find_solutionsR5boardiii+0x257>
  4011cf:	mov    0x8(%rsp),%rax
  4011d4:	cmpb   $0x0,(%rax,%r10,1)
  4011d9:	je     4011c0 <_ZL14find_solutionsR5boardiii+0x170>
  4011db:	mov    0x18(%rsp),%eax
  4011df:	add    %edi,%eax
  4011e1:	cltq   
  4011e3:	cmpb   $0x0,0x0(%rbp,%rax,1)
  4011e8:	jne    4012e0 <_ZL14find_solutionsR5boardiii+0x290>
  4011ee:	mov    0x28(%rsp),%rax
  4011f3:	lea    (%r10,%rbp,1),%rdx
  4011f7:	add    %rbp,%rax
  4011fa:	nopw   0x0(%rax,%rax,1)
  401200:	movb   $0x1,(%rdx)
  401203:	add    $0x1,%rax
  401207:	add    %r14,%rdx
  40120a:	movb   $0x1,-0x1(%rax)
  40120e:	cmp    %rax,%r12
  401211:	jne    401200 <_ZL14find_solutionsR5boardiii+0x1b0>
  401213:	mov    0x24(%rsp),%ecx
  401217:	mov    %ebx,%eax
  401219:	mov    %r10,0x10(%rsp)
  40121e:	mov    0x20(%rsp),%esi
  401222:	neg    %eax
  401224:	lea    (%rdi,%rcx,1),%r8d
  401228:	mov    0x1c(%rsp),%ecx
  40122c:	lea    (%rdi,%rsi,1),%r9d
  401230:	lea    (%rbx,%rdi,1),%esi
  401233:	nopl   0x0(%rax,%rax,1)
  401238:	test   %eax,%eax
  40123a:	je     401280 <_ZL14find_solutionsR5boardiii+0x230>
  40123c:	test   %ecx,%ecx
  40123e:	js     401280 <_ZL14find_solutionsR5boardiii+0x230>
  401240:	lea    (%rax,%rdi,1),%edx
  401243:	cmp    %ebx,%ecx
  401245:	setl   %r10b
  401249:	cmp    %ebx,%edx
  40124b:	not    %edx
  40124d:	setl   %r11b
  401251:	shr    $0x1f,%edx
  401254:	test   %dl,%r11b
  401257:	je     401266 <_ZL14find_solutionsR5boardiii+0x216>
  401259:	test   %r10b,%r10b
  40125c:	je     401266 <_ZL14find_solutionsR5boardiii+0x216>
  40125e:	movslq %r8d,%rdx
  401261:	movb   $0x1,0x0(%rbp,%rdx,1)
  401266:	mov    %esi,%edx
  401268:	not    %edx
  40126a:	shr    $0x1f,%edx
  40126d:	test   %dl,%r10b
  401270:	je     401280 <_ZL14find_solutionsR5boardiii+0x230>
  401272:	cmp    %ebx,%esi
  401274:	jge    401280 <_ZL14find_solutionsR5boardiii+0x230>
  401276:	movslq %r9d,%rdx
  401279:	movb   $0x1,0x0(%rbp,%rdx,1)
  40127e:	xchg   %ax,%ax
  401280:	add    $0x1,%eax
  401283:	add    $0x1,%ecx
  401286:	add    %r13d,%r9d
  401289:	sub    $0x1,%esi
  40128c:	add    %r15d,%r8d
  40128f:	cmp    %ebx,%eax
  401291:	jne    401238 <_ZL14find_solutionsR5boardiii+0x1e8>
  401293:	mov    0x10(%rsp),%r10
  401298:	add    $0x1,%edi
  40129b:	add    $0x1,%r10
  40129f:	cmp    %ebx,%edi
  4012a1:	jne    4011cf <_ZL14find_solutionsR5boardiii+0x17f>
  4012a7:	mov    0x38(%rsp),%rsi
  4012ac:	add    %ebx,0x20(%rsp)
  4012b0:	add    %rsi,0x8(%rsp)
  4012b5:	add    %ebx,0x24(%rsp)
  4012b9:	add    %ebx,0x18(%rsp)
  4012bd:	addl   $0x1,0x1c(%rsp)
  4012c2:	jne    4011a0 <_ZL14find_solutionsR5boardiii+0x150>
  4012c8:	mov    %rbp,%rdi
  4012cb:	mov    $0x1,%r13d
  4012d1:	callq  400cd0 <_ZdaPv@plt>
  4012d6:	jmpq   4010ce <_ZL14find_solutionsR5boardiii+0x7e>
  4012db:	nopl   0x0(%rax,%rax,1)
  4012e0:	mov    %rbp,%rdi
  4012e3:	xor    %r13d,%r13d
  4012e6:	callq  400cd0 <_ZdaPv@plt>
  4012eb:	jmpq   4010ce <_ZL14find_solutionsR5boardiii+0x7e>

00000000004012f0 <_Z5solvei>:
  4012f0:	push   %rbp
  4012f1:	mov    %edi,%ebp
  4012f3:	push   %rbx
  4012f4:	mov    %edi,%ebx
  4012f6:	imul   %edi,%ebx
  4012f9:	sub    $0x28,%rsp
  4012fd:	mov    %edi,0x10(%rsp)
  401301:	movslq %ebx,%rbx
  401304:	mov    %rbx,%rdi
  401307:	callq  400c10 <_Znam@plt>
  40130c:	lea    (%rax,%rbx,1),%rdx
  401310:	mov    %rax,0x18(%rsp)
  401315:	cmp    %rdx,%rax
  401318:	je     401327 <_Z5solvei+0x37>
  40131a:	sub    %rax,%rdx
  40131d:	xor    %esi,%esi
  40131f:	mov    %rax,%rdi
  401322:	callq  400c00 <memset@plt>
  401327:	xor    %ecx,%ecx
  401329:	xor    %edx,%edx
  40132b:	mov    %ebp,%esi
  40132d:	lea    0x10(%rsp),%rdi
  401332:	callq  401050 <_ZL14find_solutionsR5boardiii>
  401337:	mov    0x18(%rsp),%rdi
  40133c:	test   %rdi,%rdi
  40133f:	je     40134e <_Z5solvei+0x5e>
  401341:	mov    %eax,0xc(%rsp)
  401345:	callq  400cd0 <_ZdaPv@plt>
  40134a:	mov    0xc(%rsp),%eax
  40134e:	add    $0x28,%rsp
  401352:	pop    %rbx
  401353:	pop    %rbp
  401354:	retq   
  401355:	mov    0x18(%rsp),%rdi
  40135a:	mov    %rax,%rbx
  40135d:	test   %rdi,%rdi
  401360:	je     401372 <_Z5solvei+0x82>
  401362:	vzeroupper 
  401365:	callq  400cd0 <_ZdaPv@plt>
  40136a:	mov    %rbx,%rdi
  40136d:	callq  400d10 <_Unwind_Resume@plt>
  401372:	vzeroupper 
  401375:	jmp    40136a <_Z5solvei+0x7a>
  401377:	nop
  401378:	nop
  401379:	nop
  40137a:	nop
  40137b:	nop
  40137c:	nop
  40137d:	nop
  40137e:	nop
  40137f:	nop

0000000000401380 <_GLOBAL__sub_I__Z5solvei>:
  401380:	sub    $0x8,%rsp
  401384:	mov    $0x601be4,%edi
  401389:	callq  400c40 <_ZNSt8ios_base4InitC1Ev@plt>
  40138e:	mov    $0x601988,%edx
  401393:	mov    $0x601be4,%esi
  401398:	mov    $0x400c80,%edi
  40139d:	add    $0x8,%rsp
  4013a1:	jmpq   400c70 <__cxa_atexit@plt>
  4013a6:	nop
  4013a7:	nop
  4013a8:	nop
  4013a9:	nop
  4013aa:	nop
  4013ab:	nop
  4013ac:	nop
  4013ad:	nop
  4013ae:	nop
  4013af:	nop

00000000004013b0 <__libc_csu_fini>:
  4013b0:	repz retq 
  4013b2:	nopw   %cs:0x0(%rax,%rax,1)

00000000004013c0 <__libc_csu_init>:
  4013c0:	mov    %rbp,-0x28(%rsp)
  4013c5:	mov    %r12,-0x20(%rsp)
  4013ca:	lea    0x2002fc(%rip),%rbp        # 6016cd <__init_array_end>
  4013d1:	lea    0x2002f5(%rip),%r12        # 6016cd <__init_array_end>
  4013d8:	mov    %r13,-0x18(%rsp)
  4013dd:	mov    %r14,-0x10(%rsp)
  4013e2:	mov    %r15,-0x8(%rsp)
  4013e7:	mov    %rbx,-0x30(%rsp)
  4013ec:	sub    $0x38,%rsp
  4013f0:	sub    %r12,%rbp
  4013f3:	mov    %edi,%r13d
  4013f6:	mov    %rsi,%r14
  4013f9:	sar    $0x3,%rbp
  4013fd:	mov    %rdx,%r15
  401400:	callq  400bb8 <_init>
  401405:	test   %rbp,%rbp
  401408:	je     401426 <__libc_csu_init+0x66>
  40140a:	xor    %ebx,%ebx
  40140c:	nopl   0x0(%rax)
  401410:	mov    %r15,%rdx
  401413:	mov    %r14,%rsi
  401416:	mov    %r13d,%edi
  401419:	callq  *(%r12,%rbx,8)
  40141d:	add    $0x1,%rbx
  401421:	cmp    %rbp,%rbx
  401424:	jb     401410 <__libc_csu_init+0x50>
  401426:	mov    0x8(%rsp),%rbx
  40142b:	mov    0x10(%rsp),%rbp
  401430:	mov    0x18(%rsp),%r12
  401435:	mov    0x20(%rsp),%r13
  40143a:	mov    0x28(%rsp),%r14
  40143f:	mov    0x30(%rsp),%r15
  401444:	add    $0x38,%rsp
  401448:	retq   
  401449:	nop
  40144a:	nop
  40144b:	nop
  40144c:	nop
  40144d:	nop
  40144e:	nop
  40144f:	nop

0000000000401450 <__do_global_ctors_aux>:
  401450:	mov    0x200289(%rip),%rax        # 6016e0 <__CTOR_LIST__+0x10>
  401457:	cmp    $0xffffffffffffffff,%rax
  40145b:	je     401490 <__do_global_ctors_aux+0x40>
  40145d:	push   %rbp
  40145e:	mov    %rsp,%rbp
  401461:	push   %rbx
  401462:	mov    $0x6016e0,%ebx
  401467:	sub    $0x8,%rsp
  40146b:	nopl   0x0(%rax,%rax,1)
  401470:	sub    $0x8,%rbx
  401474:	callq  *%rax
  401476:	mov    (%rbx),%rax
  401479:	cmp    $0xffffffffffffffff,%rax
  40147d:	jne    401470 <__do_global_ctors_aux+0x20>
  40147f:	add    $0x8,%rsp
  401483:	pop    %rbx
  401484:	pop    %rbp
  401485:	retq   
  401486:	nopw   %cs:0x0(%rax,%rax,1)
  401490:	repz retq 
  401492:	nop
  401493:	nop

Disassembly of section .fini:

0000000000401494 <_fini>:
  401494:	sub    $0x8,%rsp
  401498:	callq  400de0 <__do_global_dtors_aux>
  40149d:	add    $0x8,%rsp
  4014a1:	retq   
