4691db:	77 0c                	ja     0x4691e9
4691dd:	80 fb 2d             	cmp    $0x2d,%bl
4691e0:	75 30                	jne    0x469212
4691e2:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4691e7:	76 27                	jbe    0x469210
4691e9:	e8 47 0d 01 00       	call   0x479f35
4691ee:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4691f4:	8b 45 14             	mov    0x14(%ebp),%eax
4691f7:	85 c0                	test   %eax,%eax
4691f9:	74 06                	je     0x469201
4691fb:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
469201:	33 c0                	xor    %eax,%eax
469203:	80 fb 2d             	cmp    $0x2d,%bl
469206:	0f 94 c0             	sete   %al
469209:	05 ff ff ff 7f       	add    $0x7fffffff,%eax
46920e:	eb 02                	jmp    0x469212
469210:	f7 d8                	neg    %eax
469212:	5f                   	pop    %edi
469213:	5e                   	pop    %esi
469214:	5b                   	pop    %ebx
469215:	c9                   	leave
469216:	c3                   	ret
469217:	cc                   	int3
469218:	cc                   	int3
469219:	cc                   	int3
46921a:	cc                   	int3
46921b:	cc                   	int3
46921c:	cc                   	int3
46921d:	cc                   	int3
46921e:	cc                   	int3
46921f:	cc                   	int3
469220:	55                   	push   %ebp
469221:	8b ec                	mov    %esp,%ebp
469223:	51                   	push   %ecx
469224:	8b 45 08             	mov    0x8(%ebp),%eax
469227:	56                   	push   %esi
469228:	8b 75 0c             	mov    0xc(%ebp),%esi
46922b:	8b d6                	mov    %esi,%edx
46922d:	2b d0                	sub    %eax,%edx
46922f:	8b ca                	mov    %edx,%ecx
469231:	83 e1 e0             	and    $0xffffffe0,%ecx
469234:	57                   	push   %edi
469235:	66 8b 7d 10          	mov    0x10(%ebp),%di
469239:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46923c:	8b 0d 1c 40 4c 00    	mov    0x4c401c,%ecx
469242:	74 3e                	je     0x469282
469244:	c1 e9 05             	shr    $0x5,%ecx
469247:	f6 c1 01             	test   $0x1,%cl
46924a:	74 30                	je     0x46927c
46924c:	01 45 fc             	add    %eax,-0x4(%ebp)
46924f:	0f bf cf             	movswl %di,%ecx
469252:	c5 f9 6e c1          	vmovd  %ecx,%xmm0
469256:	c5 f9 61 c0          	vpunpcklwd %xmm0,%xmm0,%xmm0
46925a:	c5 f9 70 c0 00       	vpshufd $0x0,%xmm0,%xmm0
46925f:	c4 e3 7d 18 c8 01    	vinsertf128 $0x1,%xmm0,%ymm0,%ymm1
469265:	c5 f5 75 00          	vpcmpeqw (%eax),%ymm1,%ymm0
469269:	c5 fd d7 c8          	vpmovmskb %ymm0,%ecx
46926d:	85 c9                	test   %ecx,%ecx
46926f:	75 63                	jne    0x4692d4
469271:	83 c0 20             	add    $0x20,%eax
469274:	3b 45 fc             	cmp    -0x4(%ebp),%eax
469277:	75 ec                	jne    0x469265
469279:	83 e2 1f             	and    $0x1f,%edx
46927c:	8b 0d 1c 40 4c 00    	mov    0x4c401c,%ecx
469282:	83 e2 f0             	and    $0xfffffff0,%edx
469285:	74 2f                	je     0x4692b6
469287:	d1 e9                	shr    $1,%ecx
469289:	f6 c1 01             	test   $0x1,%cl
46928c:	74 28                	je     0x4692b6
46928e:	0f bf cf             	movswl %di,%ecx
469291:	03 d0                	add    %eax,%edx
469293:	66 0f 6e c1          	movd   %ecx,%xmm0
469297:	66 0f 61 c0          	punpcklwd %xmm0,%xmm0
46929b:	66 0f 70 c8 00       	pshufd $0x0,%xmm0,%xmm1
4692a0:	0f 10 00             	movups (%eax),%xmm0
4692a3:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
4692a7:	66 0f d7 c8          	pmovmskb %xmm0,%ecx
4692ab:	85 c9                	test   %ecx,%ecx
4692ad:	75 33                	jne    0x4692e2
4692af:	83 c0 10             	add    $0x10,%eax
4692b2:	3b c2                	cmp    %edx,%eax
4692b4:	75 ea                	jne    0x4692a0
4692b6:	3b c6                	cmp    %esi,%eax
4692b8:	74 12                	je     0x4692cc
4692ba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4692c0:	66 39 38             	cmp    %di,(%eax)
4692c3:	74 07                	je     0x4692cc
4692c5:	83 c0 02             	add    $0x2,%eax
4692c8:	3b c6                	cmp    %esi,%eax
4692ca:	75 f4                	jne    0x4692c0
4692cc:	5f                   	pop    %edi
4692cd:	5e                   	pop    %esi
4692ce:	8b e5                	mov    %ebp,%esp
4692d0:	5d                   	pop    %ebp
4692d1:	c2 0c 00             	ret    $0xc
4692d4:	f3 0f bc c9          	tzcnt  %ecx,%ecx
4692d8:	5f                   	pop    %edi
4692d9:	03 c1                	add    %ecx,%eax
4692db:	5e                   	pop    %esi
4692dc:	8b e5                	mov    %ebp,%esp
4692de:	5d                   	pop    %ebp
4692df:	c2 0c 00             	ret    $0xc
4692e2:	0f bc c9             	bsf    %ecx,%ecx
4692e5:	5f                   	pop    %edi
4692e6:	03 c1                	add    %ecx,%eax
4692e8:	5e                   	pop    %esi
4692e9:	8b e5                	mov    %ebp,%esp
4692eb:	5d                   	pop    %ebp
4692ec:	c2 0c 00             	ret    $0xc
4692ef:	55                   	push   %ebp
4692f0:	8b ec                	mov    %esp,%ebp
4692f2:	83 ec 14             	sub    $0x14,%esp
4692f5:	8b 45 14             	mov    0x14(%ebp),%eax
4692f8:	33 c9                	xor    %ecx,%ecx
4692fa:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4692fd:	85 c0                	test   %eax,%eax
4692ff:	74 02                	je     0x469303
469301:	89 08                	mov    %ecx,(%eax)
469303:	53                   	push   %ebx
469304:	8b 5d 08             	mov    0x8(%ebp),%ebx
469307:	56                   	push   %esi
469308:	57                   	push   %edi
469309:	8b f3                	mov    %ebx,%esi
46930b:	0f b6 03             	movzbl (%ebx),%eax
46930e:	eb 04                	jmp    0x469314
469310:	46                   	inc    %esi
469311:	0f b6 06             	movzbl (%esi),%eax
469314:	50                   	push   %eax
469315:	e8 76 8e 01 00       	call   0x482190
46931a:	59                   	pop    %ecx
46931b:	85 c0                	test   %eax,%eax
46931d:	75 f1                	jne    0x469310
46931f:	8a 06                	mov    (%esi),%al
469321:	88 45 ff             	mov    %al,-0x1(%ebp)
469324:	3c 2d                	cmp    $0x2d,%al
469326:	74 0a                	je     0x469332
469328:	3c 2b                	cmp    $0x2b,%al
46932a:	74 06                	je     0x469332
46932c:	c6 45 ff 2b          	movb   $0x2b,-0x1(%ebp)
469330:	eb 01                	jmp    0x469333
469332:	46                   	inc    %esi
469333:	8b 7d 10             	mov    0x10(%ebp),%edi
469336:	85 ff                	test   %edi,%edi
469338:	0f 88 13 01 00 00    	js     0x469451
46933e:	83 ff 01             	cmp    $0x1,%edi
469341:	0f 84 0a 01 00 00    	je     0x469451
469347:	83 ff 24             	cmp    $0x24,%edi
46934a:	0f 8f 01 01 00 00    	jg     0x469451
469350:	85 ff                	test   %edi,%edi
469352:	7e 17                	jle    0x46936b
469354:	83 ff 10             	cmp    $0x10,%edi
469357:	75 4d                	jne    0x4693a6
469359:	80 3e 30             	cmpb   $0x30,(%esi)
46935c:	75 48                	jne    0x4693a6
46935e:	8a 46 01             	mov    0x1(%esi),%al
469361:	3c 78                	cmp    $0x78,%al
469363:	74 3e                	je     0x4693a3
469365:	3c 58                	cmp    $0x58,%al
469367:	75 3d                	jne    0x4693a6
469369:	eb 38                	jmp    0x4693a3
46936b:	8a 06                	mov    (%esi),%al
46936d:	3c 30                	cmp    $0x30,%al
46936f:	74 08                	je     0x469379
469371:	6a 0a                	push   $0xa
469373:	5f                   	pop    %edi
469374:	89 75 f8             	mov    %esi,-0x8(%ebp)
469377:	eb 18                	jmp    0x469391
469379:	8a 46 01             	mov    0x1(%esi),%al
46937c:	3c 78                	cmp    $0x78,%al
46937e:	74 20                	je     0x4693a0
469380:	3c 58                	cmp    $0x58,%al
469382:	74 1c                	je     0x4693a0
469384:	6a 08                	push   $0x8
469386:	5f                   	pop    %edi
469387:	89 75 f8             	mov    %esi,-0x8(%ebp)
46938a:	46                   	inc    %esi
46938b:	8a 06                	mov    (%esi),%al
46938d:	3c 30                	cmp    $0x30,%al
46938f:	74 f9                	je     0x46938a
469391:	33 c9                	xor    %ecx,%ecx
469393:	89 75 ec             	mov    %esi,-0x14(%ebp)
469396:	8b d9                	mov    %ecx,%ebx
469398:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46939b:	0f be c0             	movsbl %al,%eax
46939e:	eb 24                	jmp    0x4693c4
4693a0:	6a 10                	push   $0x10
4693a2:	5f                   	pop    %edi
4693a3:	83 c6 02             	add    $0x2,%esi
4693a6:	89 75 f8             	mov    %esi,-0x8(%ebp)
4693a9:	eb e0                	jmp    0x46938b
4693ab:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4693ae:	b9 3c 04 4a 00       	mov    $0x4a043c,%ecx
4693b3:	2a c1                	sub    %cl,%al
4693b5:	0f af df             	imul   %edi,%ebx
4693b8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4693bb:	0f be c0             	movsbl %al,%eax
4693be:	03 d8                	add    %eax,%ebx
4693c0:	46                   	inc    %esi
4693c1:	0f be 06             	movsbl (%esi),%eax
4693c4:	57                   	push   %edi
4693c5:	50                   	push   %eax
4693c6:	e8 c6 08 01 00       	call   0x479c91
4693cb:	59                   	pop    %ecx
4693cc:	50                   	push   %eax
4693cd:	b8 3c 04 4a 00       	mov    $0x4a043c,%eax
4693d2:	50                   	push   %eax
4693d3:	e8 38 29 00 00       	call   0x46bd10
4693d8:	83 c4 0c             	add    $0xc,%esp
4693db:	85 c0                	test   %eax,%eax
4693dd:	75 cc                	jne    0x4693ab
4693df:	39 75 f8             	cmp    %esi,-0x8(%ebp)
4693e2:	75 0e                	jne    0x4693f2
4693e4:	8b 45 0c             	mov    0xc(%ebp),%eax
4693e7:	85 c0                	test   %eax,%eax
4693e9:	74 6f                	je     0x46945a
4693eb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4693ee:	89 08                	mov    %ecx,(%eax)
4693f0:	eb 68                	jmp    0x46945a
4693f2:	0f be 87 64 04 4a 00 	movsbl 0x4a0464(%edi),%eax
4693f9:	8b ce                	mov    %esi,%ecx
4693fb:	2b c8                	sub    %eax,%ecx
4693fd:	2b 4d ec             	sub    -0x14(%ebp),%ecx
469400:	78 3a                	js     0x46943c
469402:	85 c9                	test   %ecx,%ecx
469404:	7f 19                	jg     0x46941f
469406:	8b 45 f4             	mov    -0xc(%ebp),%eax
469409:	8b cb                	mov    %ebx,%ecx
46940b:	0f be c0             	movsbl %al,%eax
46940e:	2b c8                	sub    %eax,%ecx
469410:	3b d9                	cmp    %ecx,%ebx
469412:	72 0b                	jb     0x46941f
469414:	33 d2                	xor    %edx,%edx
469416:	8b c1                	mov    %ecx,%eax
469418:	f7 f7                	div    %edi
46941a:	3b 45 f0             	cmp    -0x10(%ebp),%eax
46941d:	74 1d                	je     0x46943c
46941f:	e8 11 0b 01 00       	call   0x479f35
469424:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
46942a:	8b 45 14             	mov    0x14(%ebp),%eax
46942d:	85 c0                	test   %eax,%eax
46942f:	74 06                	je     0x469437
469431:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
469437:	83 cb ff             	or     $0xffffffff,%ebx
46943a:	eb 08                	jmp    0x469444
46943c:	80 7d ff 2d          	cmpb   $0x2d,-0x1(%ebp)
469440:	75 02                	jne    0x469444
469442:	f7 db                	neg    %ebx
469444:	8b 4d 0c             	mov    0xc(%ebp),%ecx
469447:	85 c9                	test   %ecx,%ecx
469449:	74 02                	je     0x46944d
46944b:	89 31                	mov    %esi,(%ecx)
46944d:	8b c3                	mov    %ebx,%eax
46944f:	eb 0b                	jmp    0x46945c
469451:	8b 45 0c             	mov    0xc(%ebp),%eax
469454:	85 c0                	test   %eax,%eax
469456:	74 02                	je     0x46945a
469458:	89 18                	mov    %ebx,(%eax)
46945a:	33 c0                	xor    %eax,%eax
46945c:	5f                   	pop    %edi
46945d:	5e                   	pop    %esi
46945e:	5b                   	pop    %ebx
46945f:	c9                   	leave
469460:	c3                   	ret
469461:	55                   	push   %ebp
469462:	8b ec                	mov    %esp,%ebp
469464:	8b 45 14             	mov    0x14(%ebp),%eax
469467:	83 ec 1c             	sub    $0x1c,%esp
46946a:	85 c0                	test   %eax,%eax
46946c:	74 03                	je     0x469471
46946e:	83 20 00             	andl   $0x0,(%eax)
469471:	53                   	push   %ebx
469472:	8b 5d 08             	mov    0x8(%ebp),%ebx
469475:	56                   	push   %esi
469476:	57                   	push   %edi
469477:	8b f3                	mov    %ebx,%esi
469479:	0f b6 03             	movzbl (%ebx),%eax
46947c:	eb 04                	jmp    0x469482
46947e:	46                   	inc    %esi
46947f:	0f b6 06             	movzbl (%esi),%eax
469482:	50                   	push   %eax
469483:	e8 08 8d 01 00       	call   0x482190
469488:	59                   	pop    %ecx
469489:	85 c0                	test   %eax,%eax
46948b:	75 f1                	jne    0x46947e
46948d:	8a 06                	mov    (%esi),%al
46948f:	88 45 fe             	mov    %al,-0x2(%ebp)
469492:	3c 2d                	cmp    $0x2d,%al
469494:	74 0a                	je     0x4694a0
469496:	3c 2b                	cmp    $0x2b,%al
469498:	74 06                	je     0x4694a0
46949a:	c6 45 fe 2b          	movb   $0x2b,-0x2(%ebp)
46949e:	eb 01                	jmp    0x4694a1
4694a0:	46                   	inc    %esi
4694a1:	8b 7d 10             	mov    0x10(%ebp),%edi
4694a4:	85 ff                	test   %edi,%edi
4694a6:	0f 88 66 01 00 00    	js     0x469612
4694ac:	83 ff 01             	cmp    $0x1,%edi
4694af:	0f 84 5d 01 00 00    	je     0x469612
4694b5:	83 ff 24             	cmp    $0x24,%edi
4694b8:	0f 8f 54 01 00 00    	jg     0x469612
4694be:	85 ff                	test   %edi,%edi
4694c0:	7e 17                	jle    0x4694d9
4694c2:	83 ff 10             	cmp    $0x10,%edi
4694c5:	75 59                	jne    0x469520
4694c7:	80 3e 30             	cmpb   $0x30,(%esi)
4694ca:	75 54                	jne    0x469520
4694cc:	8a 46 01             	mov    0x1(%esi),%al
4694cf:	3c 78                	cmp    $0x78,%al
4694d1:	74 4a                	je     0x46951d
4694d3:	3c 58                	cmp    $0x58,%al
4694d5:	75 49                	jne    0x469520
4694d7:	eb 44                	jmp    0x46951d
4694d9:	8a 06                	mov    (%esi),%al
4694db:	3c 30                	cmp    $0x30,%al
4694dd:	74 0b                	je     0x4694ea
4694df:	6a 0a                	push   $0xa
4694e1:	5f                   	pop    %edi
4694e2:	89 7d f0             	mov    %edi,-0x10(%ebp)
4694e5:	89 75 f4             	mov    %esi,-0xc(%ebp)
4694e8:	eb 1b                	jmp    0x469505
4694ea:	8a 46 01             	mov    0x1(%esi),%al
4694ed:	3c 78                	cmp    $0x78,%al
4694ef:	74 29                	je     0x46951a
4694f1:	3c 58                	cmp    $0x58,%al
4694f3:	74 25                	je     0x46951a
4694f5:	6a 08                	push   $0x8
4694f7:	5f                   	pop    %edi
4694f8:	89 7d f0             	mov    %edi,-0x10(%ebp)
4694fb:	89 75 f4             	mov    %esi,-0xc(%ebp)
4694fe:	46                   	inc    %esi
4694ff:	8a 06                	mov    (%esi),%al
469501:	3c 30                	cmp    $0x30,%al
469503:	74 f9                	je     0x4694fe
469505:	33 c9                	xor    %ecx,%ecx
469507:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46950a:	8b d9                	mov    %ecx,%ebx
46950c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46950f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
469512:	88 4d ff             	mov    %cl,-0x1(%ebp)
469515:	0f be c0             	movsbl %al,%eax
469518:	eb 3c                	jmp    0x469556
46951a:	6a 10                	push   $0x10
46951c:	5f                   	pop    %edi
46951d:	83 c6 02             	add    $0x2,%esi
469520:	89 7d f0             	mov    %edi,-0x10(%ebp)
469523:	89 75 f4             	mov    %esi,-0xc(%ebp)
469526:	eb d7                	jmp    0x4694ff
469528:	8b 45 f8             	mov    -0x8(%ebp),%eax
46952b:	ba 8c 04 4a 00       	mov    $0x4a048c,%edx
469530:	53                   	push   %ebx