180113139:	4c 8b 56 38          	mov    0x38(%rsi),%r10
18011313d:	4d 2b d4             	sub    %r12,%r10
180113140:	4b 8b 04 1a          	mov    (%r10,%r11,1),%rax
180113144:	49 f7 e0             	mul    %r8
180113147:	4a 8d 0c 08          	lea    (%rax,%r9,1),%rcx
18011314b:	49 3b c9             	cmp    %r9,%rcx
18011314e:	49 89 0b             	mov    %rcx,(%r11)
180113151:	4c 8b ca             	mov    %rdx,%r9
180113154:	4d 8d 5b 08          	lea    0x8(%r11),%r11
180113158:	49 83 d1 00          	adc    $0x0,%r9
18011315c:	4c 2b eb             	sub    %rbx,%r13
18011315f:	75 df                	jne    0x180113140
180113161:	49 8b c6             	mov    %r14,%rax
180113164:	48 c1 e0 03          	shl    $0x3,%rax
180113168:	4e 89 0c 20          	mov    %r9,(%rax,%r12,1)
18011316c:	48 3b fb             	cmp    %rbx,%rdi
18011316f:	74 51                	je     0x1801131c2
180113171:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
180113175:	48 8b f8             	mov    %rax,%rdi
180113178:	4d 8d 6c 24 08       	lea    0x8(%r12),%r13
18011317d:	48 8b 46 48          	mov    0x48(%rsi),%rax
180113181:	49 8b d0             	mov    %r8,%rdx
180113184:	49 0f af 55 00       	imul   0x0(%r13),%rdx
180113189:	49 8b cd             	mov    %r13,%rcx
18011318c:	4d 8b ce             	mov    %r14,%r9
18011318f:	49 2b cc             	sub    %r12,%rcx
180113192:	48 f7 da             	neg    %rdx
180113195:	4d 8b c5             	mov    %r13,%r8
180113198:	48 89 14 01          	mov    %rdx,(%rcx,%rax,1)
18011319c:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
1801131a0:	e8 27 e2 ff ff       	call   0x1801113cc
1801131a5:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1801131aa:	4b 89 44 f5 00       	mov    %rax,0x0(%r13,%r14,8)
1801131af:	49 83 c5 08          	add    $0x8,%r13
1801131b3:	48 2b fb             	sub    %rbx,%rdi
1801131b6:	75 c5                	jne    0x18011317d
1801131b8:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1801131bd:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1801131c2:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1801131c6:	49 8d 14 fc          	lea    (%r12,%rdi,8),%rdx
1801131ca:	4c 8b c0             	mov    %rax,%r8
1801131cd:	e8 ee 27 02 00       	call   0x1801359c0
1801131d2:	eb 0f                	jmp    0x1801131e3
1801131d4:	45 33 ff             	xor    %r15d,%r15d
1801131d7:	48 85 ed             	test   %rbp,%rbp
1801131da:	74 07                	je     0x1801131e3
1801131dc:	c7 45 10 06 00 00 00 	movl   $0x6,0x10(%rbp)
1801131e3:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
1801131e8:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
1801131ed:	45 85 ff             	test   %r15d,%r15d
1801131f0:	74 58                	je     0x18011324a
1801131f2:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1801131f7:	48 8b ce             	mov    %rsi,%rcx
1801131fa:	e8 1d 13 00 00       	call   0x18011451c
1801131ff:	85 c0                	test   %eax,%eax
180113201:	74 47                	je     0x18011324a
180113203:	8b 44 24 40          	mov    0x40(%rsp),%eax
180113207:	85 c0                	test   %eax,%eax
180113209:	75 0e                	jne    0x180113219
18011320b:	48 85 ed             	test   %rbp,%rbp
18011320e:	74 3a                	je     0x18011324a
180113210:	c7 45 10 05 00 00 00 	movl   $0x5,0x10(%rbp)
180113217:	eb 31                	jmp    0x18011324a
180113219:	f7 d8                	neg    %eax
18011321b:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
180113220:	89 44 24 40          	mov    %eax,0x40(%rsp)
180113224:	e8 f3 12 00 00       	call   0x18011451c
180113229:	85 c0                	test   %eax,%eax
18011322b:	74 1d                	je     0x18011324a
18011322d:	4c 8b 46 50          	mov    0x50(%rsi),%r8
180113231:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
180113236:	4c 8b ce             	mov    %rsi,%r9
180113239:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
18011323e:	48 8b d3             	mov    %rbx,%rdx
180113241:	e8 1e 05 00 00       	call   0x180113764
180113246:	85 c0                	test   %eax,%eax
180113248:	75 02                	jne    0x18011324c
18011324a:	33 db                	xor    %ebx,%ebx
18011324c:	48 83 66 70 00       	andq   $0x0,0x70(%rsi)
180113251:	48 83 66 78 00       	andq   $0x0,0x78(%rsi)
180113256:	4c 8b 6c 24 48       	mov    0x48(%rsp),%r13
18011325b:	eb 18                	jmp    0x180113275
18011325d:	33 db                	xor    %ebx,%ebx
18011325f:	4d 8b e9             	mov    %r9,%r13
180113262:	48 85 ed             	test   %rbp,%rbp
180113265:	74 0e                	je     0x180113275
180113267:	c7 45 10 06 00 00 00 	movl   $0x6,0x10(%rbp)
18011326e:	eb 05                	jmp    0x180113275
180113270:	4d 8b e9             	mov    %r9,%r13
180113273:	33 db                	xor    %ebx,%ebx
180113275:	4d 85 e4             	test   %r12,%r12
180113278:	74 08                	je     0x180113282
18011327a:	49 8b cc             	mov    %r12,%rcx
18011327d:	e8 7a 6d f8 ff       	call   0x180099ffc
180113282:	85 db                	test   %ebx,%ebx
180113284:	75 12                	jne    0x180113298
180113286:	48 83 66 38 00       	andq   $0x0,0x38(%rsi)
18011328b:	4d 85 ed             	test   %r13,%r13
18011328e:	74 08                	je     0x180113298
180113290:	49 8b cd             	mov    %r13,%rcx
180113293:	e8 64 6d f8 ff       	call   0x180099ffc
180113298:	8b c3                	mov    %ebx,%eax
18011329a:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
1801132a1:	00
1801132a2:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1801132a9:	41 5f                	pop    %r15
1801132ab:	41 5e                	pop    %r14
1801132ad:	41 5d                	pop    %r13
1801132af:	41 5c                	pop    %r12
1801132b1:	5f                   	pop    %rdi
1801132b2:	5e                   	pop    %rsi
1801132b3:	5d                   	pop    %rbp
1801132b4:	c3                   	ret
1801132b5:	cc                   	int3
1801132b6:	cc                   	int3
1801132b7:	cc                   	int3
1801132b8:	4c 8b dc             	mov    %rsp,%r11
1801132bb:	49 89 5b 08          	mov    %rbx,0x8(%r11)
1801132bf:	49 89 6b 10          	mov    %rbp,0x10(%r11)
1801132c3:	49 89 73 18          	mov    %rsi,0x18(%r11)
1801132c7:	57                   	push   %rdi
1801132c8:	41 54                	push   %r12
1801132ca:	41 55                	push   %r13
1801132cc:	41 56                	push   %r14
1801132ce:	41 57                	push   %r15
1801132d0:	48 83 ec 60          	sub    $0x60,%rsp
1801132d4:	49 8b 41 10          	mov    0x10(%r9),%rax
1801132d8:	49 8b f1             	mov    %r9,%rsi
1801132db:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
1801132e2:	00
1801132e3:	45 33 d2             	xor    %r10d,%r10d
1801132e6:	49 89 5b b8          	mov    %rbx,-0x48(%r11)
1801132ea:	4d 8b e8             	mov    %r8,%r13
1801132ed:	49 89 43 c0          	mov    %rax,-0x40(%r11)
1801132f1:	4c 8b f2             	mov    %rdx,%r14
1801132f4:	4d 8b 59 38          	mov    0x38(%r9),%r11
1801132f8:	48 8b e9             	mov    %rcx,%rbp
1801132fb:	83 64 24 50 00       	andl   $0x0,0x50(%rsp)
180113300:	45 33 c9             	xor    %r9d,%r9d
180113303:	4c 8b 3e             	mov    (%rsi),%r15
180113306:	41 8d 79 01          	lea    0x1(%r9),%edi
18011330a:	4d 85 ff             	test   %r15,%r15
18011330d:	74 60                	je     0x18011336f
18011330f:	4c 2b d9             	sub    %rcx,%r11
180113312:	4c 8b c2             	mov    %rdx,%r8
180113315:	4c 2b c1             	sub    %rcx,%r8
180113318:	4c 8b e1             	mov    %rcx,%r12
18011331b:	4b 8b 0c 23          	mov    (%r11,%r12,1),%rcx
18011331f:	4b 8b 14 20          	mov    (%r8,%r12,1),%rdx
180113323:	49 8b 04 24          	mov    (%r12),%rax
180113327:	48 2b c1             	sub    %rcx,%rax
18011332a:	49 2b c1             	sub    %r9,%rax
18011332d:	4c 8b c8             	mov    %rax,%r9
180113330:	49 8b 04 24          	mov    (%r12),%rax
180113334:	4d 33 0c 24          	xor    (%r12),%r9
180113338:	48 33 c1             	xor    %rcx,%rax
18011333b:	4c 0b c8             	or     %rax,%r9
18011333e:	48 8b c2             	mov    %rdx,%rax
180113341:	4d 33 0c 24          	xor    (%r12),%r9
180113345:	48 2b c1             	sub    %rcx,%rax
180113348:	49 2b c2             	sub    %r10,%rax
18011334b:	49 c1 e9 3f          	shr    $0x3f,%r9
18011334f:	4c 8b d0             	mov    %rax,%r10
180113352:	4d 8d 64 24 08       	lea    0x8(%r12),%r12
180113357:	4c 33 d2             	xor    %rdx,%r10
18011335a:	48 8b c2             	mov    %rdx,%rax
18011335d:	48 33 c1             	xor    %rcx,%rax
180113360:	4c 0b d0             	or     %rax,%r10
180113363:	4c 33 d2             	xor    %rdx,%r10
180113366:	49 c1 ea 3f          	shr    $0x3f,%r10
18011336a:	4c 2b ff             	sub    %rdi,%r15
18011336d:	75 ac                	jne    0x18011331b
18011336f:	4d 23 d1             	and    %r9,%r10
180113372:	49 3b fa             	cmp    %r10,%rdi
180113375:	74 16                	je     0x18011338d
180113377:	48 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%rax
18011337e:	00
18011337f:	48 85 c0             	test   %rax,%rax
180113382:	74 52                	je     0x1801133d6
180113384:	c7 40 10 07 00 00 00 	movl   $0x7,0x10(%rax)
18011338b:	eb 49                	jmp    0x1801133d6
18011338d:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
180113394:	00
180113395:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18011339a:	4c 8b c3             	mov    %rbx,%r8
18011339d:	e8 a2 0d 00 00       	call   0x180114144
1801133a2:	85 c0                	test   %eax,%eax
1801133a4:	74 2b                	je     0x1801133d1
1801133a6:	48 8b 46 60          	mov    0x60(%rsi),%rax
1801133aa:	4c 8b ce             	mov    %rsi,%r9
1801133ad:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1801133b2:	4d 8b c5             	mov    %r13,%r8
1801133b5:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801133ba:	49 8b d6             	mov    %r14,%rdx
1801133bd:	48 8b cd             	mov    %rbp,%rcx
1801133c0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1801133c5:	ff 15 35 dc 02 00    	call   *0x2dc35(%rip)        # 0x180141000
1801133cb:	85 c0                	test   %eax,%eax
1801133cd:	75 09                	jne    0x1801133d8
1801133cf:	eb 05                	jmp    0x1801133d6
1801133d1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801133d6:	33 ff                	xor    %edi,%edi
1801133d8:	83 7c 24 50 00       	cmpl   $0x0,0x50(%rsp)
1801133dd:	74 08                	je     0x1801133e7
1801133df:	48 8b cb             	mov    %rbx,%rcx
1801133e2:	e8 15 6c f8 ff       	call   0x180099ffc
1801133e7:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1801133ec:	8b c7                	mov    %edi,%eax
1801133ee:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1801133f2:	49 8b 6b 38          	mov    0x38(%r11),%rbp
1801133f6:	49 8b 73 40          	mov    0x40(%r11),%rsi
1801133fa:	49 8b e3             	mov    %r11,%rsp
1801133fd:	41 5f                	pop    %r15
1801133ff:	41 5e                	pop    %r14
180113401:	41 5d                	pop    %r13
180113403:	41 5c                	pop    %r12
180113405:	5f                   	pop    %rdi
180113406:	c3                   	ret
180113407:	cc                   	int3
180113408:	4c 8b dc             	mov    %rsp,%r11
18011340b:	49 89 5b 08          	mov    %rbx,0x8(%r11)
18011340f:	49 89 6b 10          	mov    %rbp,0x10(%r11)
180113413:	49 89 73 18          	mov    %rsi,0x18(%r11)
180113417:	57                   	push   %rdi
180113418:	41 56                	push   %r14
18011341a:	41 57                	push   %r15
18011341c:	48 83 ec 60          	sub    $0x60,%rsp
180113420:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
180113427:	00
180113428:	49 8b e8             	mov    %r8,%rbp
18011342b:	48 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%rsi
180113432:	00
180113433:	4c 8b f9             	mov    %rcx,%r15
180113436:	49 89 43 c8          	mov    %rax,-0x38(%r11)
18011343a:	49 8d 4b c8          	lea    -0x38(%r11),%rcx
18011343e:	49 8b 41 10          	mov    0x10(%r9),%rax
180113442:	4c 8b c6             	mov    %rsi,%r8
180113445:	49 89 43 d0          	mov    %rax,-0x30(%r11)
180113449:	49 8b d9             	mov    %r9,%rbx
18011344c:	83 64 24 50 00       	andl   $0x0,0x50(%rsp)
180113451:	4c 8b f2             	mov    %rdx,%r14
180113454:	e8 eb 0c 00 00       	call   0x180114144
180113459:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
18011345e:	85 c0                	test   %eax,%eax
180113460:	74 2b                	je     0x18011348d
180113462:	48 8b 43 60          	mov    0x60(%rbx),%rax
180113466:	4c 8b cb             	mov    %rbx,%r9
180113469:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
18011346e:	4c 8b c5             	mov    %rbp,%r8
180113471:	49 8b d6             	mov    %r14,%rdx
180113474:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
180113479:	49 8b cf             	mov    %r15,%rcx
18011347c:	ff 15 7e db 02 00    	call   *0x2db7e(%rip)        # 0x180141000
180113482:	85 c0                	test   %eax,%eax
180113484:	74 07                	je     0x18011348d
180113486:	bb 01 00 00 00       	mov    $0x1,%ebx
18011348b:	eb 02                	jmp    0x18011348f
18011348d:	33 db                	xor    %ebx,%ebx
18011348f:	83 7c 24 50 00       	cmpl   $0x0,0x50(%rsp)
180113494:	74 08                	je     0x18011349e
180113496:	48 8b cf             	mov    %rdi,%rcx
180113499:	e8 5e 6b f8 ff       	call   0x180099ffc
18011349e:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1801134a3:	8b c3                	mov    %ebx,%eax
1801134a5:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1801134a9:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1801134ad:	49 8b 73 30          	mov    0x30(%r11),%rsi
1801134b1:	49 8b e3             	mov    %r11,%rsp
1801134b4:	41 5f                	pop    %r15
1801134b6:	41 5e                	pop    %r14
1801134b8:	5f                   	pop    %rdi
1801134b9:	c3                   	ret
1801134ba:	cc                   	int3
1801134bb:	cc                   	int3
1801134bc:	40 53                	rex push %rbx
1801134be:	55                   	push   %rbp
1801134bf:	56                   	push   %rsi
1801134c0:	57                   	push   %rdi
1801134c1:	41 54                	push   %r12
1801134c3:	41 55                	push   %r13
1801134c5:	41 56                	push   %r14
1801134c7:	41 57                	push   %r15
1801134c9:	48 83 ec 58          	sub    $0x58,%rsp
1801134cd:	4c 8b b4 24 c0 00 00 	mov    0xc0(%rsp),%r14
1801134d4:	00
1801134d5:	4d 8b f9             	mov    %r9,%r15
1801134d8:	49 8b 31             	mov    (%r9),%rsi
1801134db:	49 8b f8             	mov    %r8,%rdi
1801134de:	8b ea                	mov    %edx,%ebp
1801134e0:	48 8b d9             	mov    %rcx,%rbx
1801134e3:	49 3b c8             	cmp    %r8,%rcx
1801134e6:	74 12                	je     0x1801134fa
1801134e8:	48 8b d1             	mov    %rcx,%rdx
1801134eb:	4c 8b c6             	mov    %rsi,%r8
1801134ee:	49 c1 e0 03          	shl    $0x3,%r8
1801134f2:	48 8b cf             	mov    %rdi,%rcx
1801134f5:	e8 c6 24 02 00       	call   0x1801359c0
1801134fa:	49 8b 57 38          	mov    0x38(%r15),%rdx
1801134fe:	4c 8b c6             	mov    %rsi,%r8
180113501:	48 8b cb             	mov    %rbx,%rcx
180113504:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180113509:	e8 aa d2 ff ff       	call   0x1801107b8
18011350e:	85 c0                	test   %eax,%eax
180113510:	0f 84 36 02 00 00    	je     0x18011374c
180113516:	bb 01 00 00 00       	mov    $0x1,%ebx
18011351b:	85 ed                	test   %ebp,%ebp
18011351d:	79 24                	jns    0x180113543
18011351f:	49 8b 47 38          	mov    0x38(%r15),%rax
180113523:	8b 08                	mov    (%rax),%ecx
180113525:	f7 d1                	not    %ecx
180113527:	84 cb                	test   %cl,%bl
180113529:	74 18                	je     0x180113543
18011352b:	33 db                	xor    %ebx,%ebx
18011352d:	4d 85 f6             	test   %r14,%r14
180113530:	0f 84 18 02 00 00    	je     0x18011374e
180113536:	41 c7 46 10 06 00 00 	movl   $0x6,0x10(%r14)
18011353d:	00
18011353e:	e9 0b 02 00 00       	jmp    0x18011374e
180113543:	b8 40 00 00 00       	mov    $0x40,%eax
180113548:	85 ed                	test   %ebp,%ebp
18011354a:	0f 8e f2 01 00 00    	jle    0x180113742
180113550:	3b e8                	cmp    %eax,%ebp
180113552:	44 8b ed             	mov    %ebp,%r13d
180113555:	44 0f 4f e8          	cmovg  %eax,%r13d
180113559:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
18011355f:	85 db                	test   %ebx,%ebx
180113561:	0f 84 11 01 00 00    	je     0x180113678
180113567:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
18011356c:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
180113571:	4c 8b ce             	mov    %rsi,%r9
180113574:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180113579:	4c 8b c7             	mov    %rdi,%r8
18011357c:	41 8b d5             	mov    %r13d,%edx
18011357f:	48 8b cf             	mov    %rdi,%rcx
180113582:	e8 e1 df ff ff       	call   0x180111568
180113587:	85 c0                	test   %eax,%eax
180113589:	0f 84 e9 00 00 00    	je     0x180113678
18011358f:	bb 01 00 00 00       	mov    $0x1,%ebx
180113594:	48 83 fe 02          	cmp    $0x2,%rsi
180113598:	72 07                	jb     0x1801135a1
18011359a:	4c 8b 54 f7 f0       	mov    -0x10(%rdi,%rsi,8),%r10
18011359f:	eb 03                	jmp    0x1801135a4
1801135a1:	45 33 d2             	xor    %r10d,%r10d
1801135a4:	4c 8b 44 f7 f8       	mov    -0x8(%rdi,%rsi,8),%r8
1801135a9:	ba 3f 00 00 00       	mov    $0x3f,%edx
1801135ae:	49 2b 57 28          	sub    0x28(%r15),%rdx
1801135b2:	4d 8b c8             	mov    %r8,%r9
1801135b5:	4c 8b 64 24 30       	mov    0x30(%rsp),%r12
1801135ba:	48 8b ca             	mov    %rdx,%rcx
1801135bd:	49 d1 e9             	shr    $1,%r9