1409900d4:	00
1409900d5:	ba 00 00 00 80       	mov    $0x80000000,%edx
1409900da:	66 0f 2f 05 16 55 6d 	comisd 0x6d5516(%rip),%xmm0        # 0x1410655f8
1409900e1:	00
1409900e2:	77 2f                	ja     0x140990113
1409900e4:	f2 48 0f 2c c8       	cvttsd2si %xmm0,%rcx
1409900e9:	3b ca                	cmp    %edx,%ecx
1409900eb:	77 26                	ja     0x140990113
1409900ed:	ff c9                	dec    %ecx
1409900ef:	8b c1                	mov    %ecx,%eax
1409900f1:	d1 e8                	shr    $1,%eax
1409900f3:	0b c8                	or     %eax,%ecx
1409900f5:	8b c1                	mov    %ecx,%eax
1409900f7:	c1 e8 02             	shr    $0x2,%eax
1409900fa:	0b c8                	or     %eax,%ecx
1409900fc:	8b c1                	mov    %ecx,%eax
1409900fe:	c1 e8 04             	shr    $0x4,%eax
140990101:	0b c8                	or     %eax,%ecx
140990103:	8b c1                	mov    %ecx,%eax
140990105:	c1 e8 08             	shr    $0x8,%eax
140990108:	0b c8                	or     %eax,%ecx
14099010a:	8b d1                	mov    %ecx,%edx
14099010c:	c1 ea 10             	shr    $0x10,%edx
14099010f:	0b d1                	or     %ecx,%edx
140990111:	ff c2                	inc    %edx
140990113:	41 3b 11             	cmp    (%r9),%edx
140990116:	76 12                	jbe    0x14099012a
140990118:	49 8b c9             	mov    %r9,%rcx
14099011b:	e8 20 00 00 00       	call   0x140990140
140990120:	84 c0                	test   %al,%al
140990122:	0f 95 c0             	setne  %al
140990125:	48 83 c4 28          	add    $0x28,%rsp
140990129:	c3                   	ret
14099012a:	b0 01                	mov    $0x1,%al
14099012c:	48 83 c4 28          	add    $0x28,%rsp
140990130:	c3                   	ret
140990131:	cc                   	int3
140990132:	cc                   	int3
140990133:	cc                   	int3
140990134:	cc                   	int3
140990135:	cc                   	int3
140990136:	cc                   	int3
140990137:	cc                   	int3
140990138:	cc                   	int3
140990139:	cc                   	int3
14099013a:	cc                   	int3
14099013b:	cc                   	int3
14099013c:	cc                   	int3
14099013d:	cc                   	int3
14099013e:	cc                   	int3
14099013f:	cc                   	int3
140990140:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140990145:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14099014a:	57                   	push   %rdi
14099014b:	48 83 ec 20          	sub    $0x20,%rsp
14099014f:	49 8b e8             	mov    %r8,%rbp
140990152:	8b fa                	mov    %edx,%edi
140990154:	48 8b d9             	mov    %rcx,%rbx
140990157:	3b 11                	cmp    (%rcx),%edx
140990159:	75 12                	jne    0x14099016d
14099015b:	b0 01                	mov    $0x1,%al
14099015d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140990162:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140990167:	48 83 c4 20          	add    $0x20,%rsp
14099016b:	5f                   	pop    %rdi
14099016c:	c3                   	ret
14099016d:	48 8b cf             	mov    %rdi,%rcx
140990170:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140990175:	ba 08 00 00 00       	mov    $0x8,%edx
14099017a:	e8 09 0f 4a 00       	call   0x140e31088
14099017f:	48 8b f0             	mov    %rax,%rsi
140990182:	48 85 c0             	test   %rax,%rax
140990185:	75 12                	jne    0x140990199
140990187:	45 33 c0             	xor    %r8d,%r8d
14099018a:	8d 50 0e             	lea    0xe(%rax),%edx
14099018d:	48 8b cd             	mov    %rbp,%rcx
140990190:	e8 fb 77 ff ff       	call   0x140987990
140990195:	32 c0                	xor    %al,%al
140990197:	eb 5f                	jmp    0x1409901f8
140990199:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
14099019e:	76 47                	jbe    0x1409901e7
1409901a0:	45 33 d2             	xor    %r10d,%r10d
1409901a3:	44 39 13             	cmp    %r10d,(%rbx)
1409901a6:	76 3f                	jbe    0x1409901e7
1409901a8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1409901af:	00
1409901b0:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1409901b4:	4a 8b 0c d1          	mov    (%rcx,%r10,8),%rcx
1409901b8:	48 85 c9             	test   %rcx,%rcx
1409901bb:	74 22                	je     0x1409901df
1409901bd:	0f 1f 00             	nopl   (%rax)
1409901c0:	8b 41 20             	mov    0x20(%rcx),%eax
1409901c3:	33 d2                	xor    %edx,%edx
1409901c5:	4c 8b 49 18          	mov    0x18(%rcx),%r9
1409901c9:	f7 f7                	div    %edi
1409901cb:	48 8b 04 d6          	mov    (%rsi,%rdx,8),%rax
1409901cf:	48 89 41 18          	mov    %rax,0x18(%rcx)
1409901d3:	48 89 0c d6          	mov    %rcx,(%rsi,%rdx,8)
1409901d7:	49 8b c9             	mov    %r9,%rcx
1409901da:	4d 85 c9             	test   %r9,%r9
1409901dd:	75 e1                	jne    0x1409901c0
1409901df:	41 ff c2             	inc    %r10d
1409901e2:	44 3b 13             	cmp    (%rbx),%r10d
1409901e5:	72 c9                	jb     0x1409901b0
1409901e7:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1409901eb:	e8 a0 0e 4a 00       	call   0x140e31090
1409901f0:	b0 01                	mov    $0x1,%al
1409901f2:	48 89 73 10          	mov    %rsi,0x10(%rbx)
1409901f6:	89 3b                	mov    %edi,(%rbx)
1409901f8:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
1409901fd:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140990202:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140990207:	48 83 c4 20          	add    $0x20,%rsp
14099020b:	5f                   	pop    %rdi
14099020c:	c3                   	ret
14099020d:	cc                   	int3
14099020e:	cc                   	int3
14099020f:	cc                   	int3
140990210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140990215:	57                   	push   %rdi
140990216:	48 83 ec 20          	sub    $0x20,%rsp
14099021a:	49 8b d9             	mov    %r9,%rbx
14099021d:	41 8b f8             	mov    %r8d,%edi
140990220:	e8 cb dd ff ff       	call   0x14098dff0
140990225:	48 85 c0             	test   %rax,%rax
140990228:	74 1b                	je     0x140990245
14099022a:	48 8b 48 38          	mov    0x38(%rax),%rcx
14099022e:	4c 8b cb             	mov    %rbx,%r9
140990231:	44 8b c7             	mov    %edi,%r8d
140990234:	33 d2                	xor    %edx,%edx
140990236:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099023b:	48 83 c4 20          	add    $0x20,%rsp
14099023f:	5f                   	pop    %rdi
140990240:	e9 6b 01 00 00       	jmp    0x1409903b0
140990245:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099024a:	48 83 c4 20          	add    $0x20,%rsp
14099024e:	5f                   	pop    %rdi
14099024f:	c3                   	ret
140990250:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140990255:	57                   	push   %rdi
140990256:	48 83 ec 20          	sub    $0x20,%rsp
14099025a:	48 8d 79 10          	lea    0x10(%rcx),%rdi
14099025e:	41 8b d8             	mov    %r8d,%ebx
140990261:	4c 8b cf             	mov    %rdi,%r9
140990264:	e8 87 dd ff ff       	call   0x14098dff0
140990269:	48 85 c0             	test   %rax,%rax
14099026c:	75 0b                	jne    0x140990279
14099026e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140990273:	48 83 c4 20          	add    $0x20,%rsp
140990277:	5f                   	pop    %rdi
140990278:	c3                   	ret
140990279:	48 8b 48 38          	mov    0x38(%rax),%rcx
14099027d:	4c 8b cf             	mov    %rdi,%r9
140990280:	44 8b c3             	mov    %ebx,%r8d
140990283:	33 d2                	xor    %edx,%edx
140990285:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14099028a:	48 83 c4 20          	add    $0x20,%rsp
14099028e:	5f                   	pop    %rdi
14099028f:	e9 1c 01 00 00       	jmp    0x1409903b0
140990294:	cc                   	int3
140990295:	cc                   	int3
140990296:	cc                   	int3
140990297:	cc                   	int3
140990298:	cc                   	int3
140990299:	cc                   	int3
14099029a:	cc                   	int3
14099029b:	cc                   	int3
14099029c:	cc                   	int3
14099029d:	cc                   	int3
14099029e:	cc                   	int3
14099029f:	cc                   	int3
1409902a0:	40 53                	rex push %rbx
1409902a2:	48 83 ec 20          	sub    $0x20,%rsp
1409902a6:	48 8b d9             	mov    %rcx,%rbx
1409902a9:	e8 a2 24 00 00       	call   0x140992750
1409902ae:	48 8b 0b             	mov    (%rbx),%rcx
1409902b1:	e8 1a ca ff ff       	call   0x14098ccd0
1409902b6:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1409902ba:	48 83 c4 20          	add    $0x20,%rsp
1409902be:	5b                   	pop    %rbx
1409902bf:	e9 0c ca ff ff       	jmp    0x14098ccd0
1409902c4:	cc                   	int3
1409902c5:	cc                   	int3
1409902c6:	cc                   	int3
1409902c7:	cc                   	int3
1409902c8:	cc                   	int3
1409902c9:	cc                   	int3
1409902ca:	cc                   	int3
1409902cb:	cc                   	int3
1409902cc:	cc                   	int3
1409902cd:	cc                   	int3
1409902ce:	cc                   	int3
1409902cf:	cc                   	int3
1409902d0:	33 c0                	xor    %eax,%eax
1409902d2:	48 89 01             	mov    %rax,(%rcx)
1409902d5:	48 89 41 08          	mov    %rax,0x8(%rcx)
1409902d9:	48 89 41 10          	mov    %rax,0x10(%rcx)
1409902dd:	88 41 18             	mov    %al,0x18(%rcx)
1409902e0:	c3                   	ret
1409902e1:	cc                   	int3
1409902e2:	cc                   	int3
1409902e3:	cc                   	int3
1409902e4:	cc                   	int3
1409902e5:	cc                   	int3
1409902e6:	cc                   	int3
1409902e7:	cc                   	int3
1409902e8:	cc                   	int3
1409902e9:	cc                   	int3
1409902ea:	cc                   	int3
1409902eb:	cc                   	int3
1409902ec:	cc                   	int3
1409902ed:	cc                   	int3
1409902ee:	cc                   	int3
1409902ef:	cc                   	int3
1409902f0:	40 53                	rex push %rbx
1409902f2:	48 83 ec 20          	sub    $0x20,%rsp
1409902f6:	48 8b d9             	mov    %rcx,%rbx
1409902f9:	45 33 c0             	xor    %r8d,%r8d
1409902fc:	33 c9                	xor    %ecx,%ecx
1409902fe:	33 d2                	xor    %edx,%edx
140990300:	e8 8b 45 46 00       	call   0x140df4890
140990305:	48 85 db             	test   %rbx,%rbx
140990308:	74 14                	je     0x14099031e
14099030a:	44 0f b7 43 08       	movzwl 0x8(%rbx),%r8d
14099030f:	8b c8                	mov    %eax,%ecx
140990311:	48 8b 13             	mov    (%rbx),%rdx
140990314:	48 83 c4 20          	add    $0x20,%rsp
140990318:	5b                   	pop    %rbx
140990319:	e9 72 45 46 00       	jmp    0x140df4890
14099031e:	48 83 c4 20          	add    $0x20,%rsp
140990322:	5b                   	pop    %rbx
140990323:	c3                   	ret
140990324:	cc                   	int3
140990325:	cc                   	int3
140990326:	cc                   	int3
140990327:	cc                   	int3
140990328:	cc                   	int3
140990329:	cc                   	int3
14099032a:	cc                   	int3
14099032b:	cc                   	int3
14099032c:	cc                   	int3
14099032d:	cc                   	int3
14099032e:	cc                   	int3
14099032f:	cc                   	int3
140990330:	48 83 ec 28          	sub    $0x28,%rsp
140990334:	48 85 c9             	test   %rcx,%rcx
140990337:	74 35                	je     0x14099036e
140990339:	48 85 d2             	test   %rdx,%rdx
14099033c:	74 30                	je     0x14099036e
14099033e:	0f b7 41 08          	movzwl 0x8(%rcx),%eax
140990342:	66 3b 42 08          	cmp    0x8(%rdx),%ax
140990346:	74 07                	je     0x14099034f
140990348:	33 c0                	xor    %eax,%eax
14099034a:	48 83 c4 28          	add    $0x28,%rsp
14099034e:	c3                   	ret
14099034f:	48 8b 12             	mov    (%rdx),%rdx
140990352:	4c 8b c0             	mov    %rax,%r8
140990355:	48 8b 09             	mov    (%rcx),%rcx
140990358:	e8 f3 f6 54 00       	call   0x140edfa50
14099035d:	45 33 c0             	xor    %r8d,%r8d
140990360:	85 c0                	test   %eax,%eax
140990362:	41 0f 94 c0          	sete   %r8b
140990366:	41 8b c0             	mov    %r8d,%eax
140990369:	48 83 c4 28          	add    $0x28,%rsp
14099036d:	c3                   	ret
14099036e:	45 33 c0             	xor    %r8d,%r8d
140990371:	48 3b ca             	cmp    %rdx,%rcx
140990374:	41 0f 94 c0          	sete   %r8b
140990378:	41 8b c0             	mov    %r8d,%eax
14099037b:	48 83 c4 28          	add    $0x28,%rsp
14099037f:	c3                   	ret
140990380:	48 85 c9             	test   %rcx,%rcx
140990383:	74 26                	je     0x1409903ab
140990385:	53                   	push   %rbx
140990386:	48 83 ec 20          	sub    $0x20,%rsp
14099038a:	48 8b d9             	mov    %rcx,%rbx
14099038d:	48 8b 09             	mov    (%rcx),%rcx
140990390:	e8 fb 0c 4a 00       	call   0x140e31090
140990395:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140990399:	e8 f2 0c 4a 00       	call   0x140e31090
14099039e:	48 8b cb             	mov    %rbx,%rcx
1409903a1:	e8 ea 0c 4a 00       	call   0x140e31090
1409903a6:	48 83 c4 20          	add    $0x20,%rsp
1409903aa:	5b                   	pop    %rbx
1409903ab:	c3                   	ret
1409903ac:	cc                   	int3
1409903ad:	cc                   	int3
1409903ae:	cc                   	int3
1409903af:	cc                   	int3
1409903b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1409903b5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1409903ba:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1409903bf:	57                   	push   %rdi
1409903c0:	48 83 ec 20          	sub    $0x20,%rsp
1409903c4:	49 8b e9             	mov    %r9,%rbp
1409903c7:	41 8b f0             	mov    %r8d,%esi
1409903ca:	48 8b fa             	mov    %rdx,%rdi
1409903cd:	48 8b d9             	mov    %rcx,%rbx
1409903d0:	48 85 c9             	test   %rcx,%rcx
1409903d3:	75 10                	jne    0x1409903e5
1409903d5:	48 85 d2             	test   %rdx,%rdx
1409903d8:	74 02                	je     0x1409903dc
1409903da:	89 0a                	mov    %ecx,(%rdx)
1409903dc:	48 8d 05 1d 52 6d 00 	lea    0x6d521d(%rip),%rax        # 0x141065600
1409903e3:	eb 6b                	jmp    0x140990450
1409903e5:	40 f6 c6 40          	test   $0x40,%sil
1409903e9:	75 57                	jne    0x140990442
1409903eb:	83 79 0c 00          	cmpl   $0x0,0xc(%rcx)
1409903ef:	75 07                	jne    0x1409903f8
1409903f1:	33 d2                	xor    %edx,%edx
1409903f3:	e8 68 03 00 00       	call   0x140990760
1409903f8:	40 84 f6             	test   %sil,%sil
1409903fb:	79 0a                	jns    0x140990407
1409903fd:	8b 43 0c             	mov    0xc(%rbx),%eax
140990400:	ff c8                	dec    %eax
140990402:	83 f8 01             	cmp    $0x1,%eax
140990405:	77 06                	ja     0x14099040d
140990407:	83 7b 0c 04          	cmpl   $0x4,0xc(%rbx)
14099040b:	75 35                	jne    0x140990442
14099040d:	48 83 7b 10 00       	cmpq   $0x0,0x10(%rbx)
140990412:	48 8d 73 18          	lea    0x18(%rbx),%rsi
140990416:	75 1b                	jne    0x140990433
140990418:	0f b7 53 08          	movzwl 0x8(%rbx),%edx
14099041c:	4c 8b cd             	mov    %rbp,%r9
14099041f:	48 8b 0b             	mov    (%rbx),%rcx
140990422:	4c 8b c6             	mov    %rsi,%r8
140990425:	e8 c6 01 00 00       	call   0x1409905f0
14099042a:	48 89 43 10          	mov    %rax,0x10(%rbx)
14099042e:	48 85 c0             	test   %rax,%rax
140990431:	74 1d                	je     0x140990450
140990433:	48 85 ff             	test   %rdi,%rdi
140990436:	74 04                	je     0x14099043c
140990438:	8b 06                	mov    (%rsi),%eax
14099043a:	89 07                	mov    %eax,(%rdi)
14099043c:	48 8b 43 10          	mov    0x10(%rbx),%rax
140990440:	eb 0e                	jmp    0x140990450
140990442:	48 85 ff             	test   %rdi,%rdi
140990445:	74 06                	je     0x14099044d
140990447:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
14099044b:	89 07                	mov    %eax,(%rdi)
14099044d:	48 8b 03             	mov    (%rbx),%rax
140990450:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140990455:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14099045a:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14099045f:	48 83 c4 20          	add    $0x20,%rsp
140990463:	5f                   	pop    %rdi
140990464:	c3                   	ret
140990465:	cc                   	int3
140990466:	cc                   	int3
140990467:	cc                   	int3