587288:	3c 3b                	cmp    $0x3b,%al
58728a:	0f 84 73 03 00 00    	je     0x587603
587290:	3c 2c                	cmp    $0x2c,%al
587292:	0f 84 6b 03 00 00    	je     0x587603
587298:	8b 44 24 14          	mov    0x14(%esp),%eax
58729c:	33 c9                	xor    %ecx,%ecx
58729e:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
5872a5:	00
5872a6:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
5872ad:	00
5872ae:	89 4c 24 28          	mov    %ecx,0x28(%esp)
5872b2:	89 4c 24 24          	mov    %ecx,0x24(%esp)
5872b6:	89 4c 24 30          	mov    %ecx,0x30(%esp)
5872ba:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
5872be:	66 90                	xchg   %ax,%ax
5872c0:	8b d6                	mov    %esi,%edx
5872c2:	33 c9                	xor    %ecx,%ecx
5872c4:	89 54 24 34          	mov    %edx,0x34(%esp)
5872c8:	8a 1e                	mov    (%esi),%bl
5872ca:	80 fb 41             	cmp    $0x41,%bl
5872cd:	7c 05                	jl     0x5872d4
5872cf:	80 fb 5a             	cmp    $0x5a,%bl
5872d2:	7e 23                	jle    0x5872f7
5872d4:	80 fb 30             	cmp    $0x30,%bl
5872d7:	7c 05                	jl     0x5872de
5872d9:	80 fb 39             	cmp    $0x39,%bl
5872dc:	7e 19                	jle    0x5872f7
5872de:	80 fb 61             	cmp    $0x61,%bl
5872e1:	7c 05                	jl     0x5872e8
5872e3:	80 fb 7a             	cmp    $0x7a,%bl
5872e6:	7e 0f                	jle    0x5872f7
5872e8:	80 fb 2d             	cmp    $0x2d,%bl
5872eb:	74 0a                	je     0x5872f7
5872ed:	80 fb 2e             	cmp    $0x2e,%bl
5872f0:	74 05                	je     0x5872f7
5872f2:	80 fb 3d             	cmp    $0x3d,%bl
5872f5:	75 04                	jne    0x5872fb
5872f7:	46                   	inc    %esi
5872f8:	41                   	inc    %ecx
5872f9:	eb cd                	jmp    0x5872c8
5872fb:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
5872ff:	85 c9                	test   %ecx,%ecx
587301:	0f 84 f4 01 00 00    	je     0x5874fb
587307:	83 f8 05             	cmp    $0x5,%eax
58730a:	0f 84 2d 02 00 00    	je     0x58753d
587310:	80 fb 2b             	cmp    $0x2b,%bl
587313:	75 01                	jne    0x587316
587315:	46                   	inc    %esi
587316:	8b 7c 24 48          	mov    0x48(%esp),%edi
58731a:	33 c0                	xor    %eax,%eax
58731c:	89 44 24 18          	mov    %eax,0x18(%esp)
587320:	33 ed                	xor    %ebp,%ebp
587322:	8b 07                	mov    (%edi),%eax
587324:	85 c0                	test   %eax,%eax
587326:	74 52                	je     0x58737a
587328:	51                   	push   %ecx
587329:	ff 70 04             	push   0x4(%eax)
58732c:	52                   	push   %edx
58732d:	e8 5e e4 05 00       	call   0x5e5790
587332:	8b 4c 24 38          	mov    0x38(%esp),%ecx
587336:	83 c4 0c             	add    $0xc,%esp
587339:	85 c0                	test   %eax,%eax
58733b:	75 0b                	jne    0x587348
58733d:	8b 07                	mov    (%edi),%eax
58733f:	8b 40 04             	mov    0x4(%eax),%eax
587342:	80 3c 01 00          	cmpb   $0x0,(%ecx,%eax,1)
587346:	74 14                	je     0x58735c
587348:	8b 44 24 48          	mov    0x48(%esp),%eax
58734c:	45                   	inc    %ebp
58734d:	8d 3c a8             	lea    (%eax,%ebp,4),%edi
587350:	8b 07                	mov    (%edi),%eax
587352:	85 c0                	test   %eax,%eax
587354:	74 24                	je     0x58737a
587356:	8b 54 24 34          	mov    0x34(%esp),%edx
58735a:	eb cc                	jmp    0x587328
58735c:	8b 44 24 48          	mov    0x48(%esp),%eax
587360:	8b 14 a8             	mov    (%eax,%ebp,4),%edx
587363:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
587367:	8b 42 10             	mov    0x10(%edx),%eax
58736a:	85 c0                	test   %eax,%eax
58736c:	74 59                	je     0x5873c7
58736e:	85 ed                	test   %ebp,%ebp
587370:	74 4f                	je     0x5873c1
587372:	23 e8                	and    %eax,%ebp
587374:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
587378:	75 4d                	jne    0x5873c7
58737a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58737e:	8a 06                	mov    (%esi),%al
587380:	84 c0                	test   %al,%al
587382:	0f 84 87 02 00 00    	je     0x58760f
587388:	8a c8                	mov    %al,%cl
58738a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
587390:	8a c1                	mov    %cl,%al
587392:	80 f9 3a             	cmp    $0x3a,%cl
587395:	0f 84 6c 02 00 00    	je     0x587607
58739b:	80 f9 20             	cmp    $0x20,%cl
58739e:	74 14                	je     0x5873b4
5873a0:	80 f9 3b             	cmp    $0x3b,%cl
5873a3:	74 0f                	je     0x5873b4
5873a5:	80 f9 2c             	cmp    $0x2c,%cl
5873a8:	74 0a                	je     0x5873b4
5873aa:	8a 46 01             	mov    0x1(%esi),%al
5873ad:	46                   	inc    %esi
5873ae:	8a c8                	mov    %al,%cl
5873b0:	84 c0                	test   %al,%al
5873b2:	75 dc                	jne    0x587390
5873b4:	84 c0                	test   %al,%al
5873b6:	0f 84 53 02 00 00    	je     0x58760f
5873bc:	e9 46 02 00 00       	jmp    0x587607
5873c1:	8b e8                	mov    %eax,%ebp
5873c3:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
5873c7:	8b 42 14             	mov    0x14(%edx),%eax
5873ca:	8b 7c 24 20          	mov    0x20(%esp),%edi
5873ce:	85 c0                	test   %eax,%eax
5873d0:	74 14                	je     0x5873e6
5873d2:	85 ff                	test   %edi,%edi
5873d4:	74 0a                	je     0x5873e0
5873d6:	23 f8                	and    %eax,%edi
5873d8:	89 7c 24 20          	mov    %edi,0x20(%esp)
5873dc:	74 9c                	je     0x58737a
5873de:	eb 06                	jmp    0x5873e6
5873e0:	8b f8                	mov    %eax,%edi
5873e2:	89 7c 24 20          	mov    %edi,0x20(%esp)
5873e6:	8b 42 18             	mov    0x18(%edx),%eax
5873e9:	85 c0                	test   %eax,%eax
5873eb:	74 1a                	je     0x587407
5873ed:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5873f1:	85 c9                	test   %ecx,%ecx
5873f3:	74 0e                	je     0x587403
5873f5:	23 c8                	and    %eax,%ecx
5873f7:	89 4c 24 28          	mov    %ecx,0x28(%esp)
5873fb:	0f 84 79 ff ff ff    	je     0x58737a
587401:	eb 04                	jmp    0x587407
587403:	89 44 24 28          	mov    %eax,0x28(%esp)
587407:	8b 42 1c             	mov    0x1c(%edx),%eax
58740a:	85 c0                	test   %eax,%eax
58740c:	74 1a                	je     0x587428
58740e:	8b 4c 24 24          	mov    0x24(%esp),%ecx
587412:	85 c9                	test   %ecx,%ecx
587414:	74 0e                	je     0x587424
587416:	23 c8                	and    %eax,%ecx
587418:	89 4c 24 24          	mov    %ecx,0x24(%esp)
58741c:	0f 84 58 ff ff ff    	je     0x58737a
587422:	eb 04                	jmp    0x587428
587424:	89 44 24 24          	mov    %eax,0x24(%esp)
587428:	8b 4a 30             	mov    0x30(%edx),%ecx
58742b:	8b c1                	mov    %ecx,%eax
58742d:	83 e0 1f             	and    $0x1f,%eax
587430:	74 21                	je     0x587453
587432:	f6 44 24 3c 1f       	testb  $0x1f,0x3c(%esp)
587437:	74 16                	je     0x58744f
587439:	8b c1                	mov    %ecx,%eax
58743b:	83 c8 e0             	or     $0xffffffe0,%eax
58743e:	21 44 24 3c          	and    %eax,0x3c(%esp)
587442:	f6 44 24 3c 1f       	testb  $0x1f,0x3c(%esp)
587447:	0f 84 2d ff ff ff    	je     0x58737a
58744d:	eb 04                	jmp    0x587453
58744f:	89 44 24 3c          	mov    %eax,0x3c(%esp)
587453:	8b c1                	mov    %ecx,%eax
587455:	83 e0 20             	and    $0x20,%eax
587458:	74 1c                	je     0x587476
58745a:	f6 44 24 3c 20       	testb  $0x20,0x3c(%esp)
58745f:	74 27                	je     0x587488
587461:	8b 44 24 3c          	mov    0x3c(%esp),%eax
587465:	83 c9 df             	or     $0xffffffdf,%ecx
587468:	23 c1                	and    %ecx,%eax
58746a:	89 44 24 3c          	mov    %eax,0x3c(%esp)
58746e:	a8 20                	test   $0x20,%al
587470:	0f 84 04 ff ff ff    	je     0x58737a
587476:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
58747a:	83 3a 00             	cmpl   $0x0,(%edx)
58747d:	74 15                	je     0x587494
58747f:	8b 42 0c             	mov    0xc(%edx),%eax
587482:	89 44 24 18          	mov    %eax,0x18(%esp)
587486:	eb 27                	jmp    0x5874af
587488:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
58748c:	0b c8                	or     %eax,%ecx
58748e:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
587492:	eb e6                	jmp    0x58747a
587494:	8b 42 20             	mov    0x20(%edx),%eax
587497:	85 c0                	test   %eax,%eax
587499:	74 14                	je     0x5874af
58749b:	8b 54 24 30          	mov    0x30(%esp),%edx
58749f:	85 d2                	test   %edx,%edx
5874a1:	74 08                	je     0x5874ab
5874a3:	3b d0                	cmp    %eax,%edx
5874a5:	0f 85 cf fe ff ff    	jne    0x58737a
5874ab:	89 44 24 30          	mov    %eax,0x30(%esp)
5874af:	8b 44 24 14          	mov    0x14(%esp),%eax
5874b3:	80 fb 2b             	cmp    $0x2b,%bl
5874b6:	0f 84 04 fe ff ff    	je     0x5872c0
5874bc:	ff 74 24 44          	push   0x44(%esp)
5874c0:	8b d0                	mov    %eax,%edx
5874c2:	ff 74 24 44          	push   0x44(%esp)
5874c6:	6a ff                	push   $0xffffffff
5874c8:	52                   	push   %edx
5874c9:	51                   	push   %ecx
5874ca:	8b 4c 24 44          	mov    0x44(%esp),%ecx
5874ce:	51                   	push   %ecx
5874cf:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
5874d3:	51                   	push   %ecx
5874d4:	8b 4c 24 44          	mov    0x44(%esp),%ecx
5874d8:	51                   	push   %ecx
5874d9:	57                   	push   %edi
5874da:	55                   	push   %ebp
5874db:	8b 6c 24 40          	mov    0x40(%esp),%ebp
5874df:	55                   	push   %ebp
5874e0:	e8 1b f5 ff ff       	call   0x586a00
5874e5:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
5874e9:	83 c4 2c             	add    $0x2c,%esp
5874ec:	8a 06                	mov    (%esi),%al
5874ee:	89 6c 24 18          	mov    %ebp,0x18(%esp)
5874f2:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5874f6:	e9 b9 fe ff ff       	jmp    0x5873b4
5874fb:	68 04 04 00 00       	push   $0x404
587500:	68 a4 46 66 00       	push   $0x6646a4
587505:	68 18 01 00 00       	push   $0x118
58750a:	68 e6 00 00 00       	push   $0xe6
58750f:	6a 14                	push   $0x14
587511:	e8 6a 1a f5 ff       	call   0x4d8f80
587516:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
58751a:	33 db                	xor    %ebx,%ebx
58751c:	83 c4 14             	add    $0x14,%esp
58751f:	89 6c 24 18          	mov    %ebp,0x18(%esp)
587523:	46                   	inc    %esi
587524:	89 5c 24 10          	mov    %ebx,0x10(%esp)
587528:	83 7c 24 14 05       	cmpl   $0x5,0x14(%esp)
58752d:	0f 85 c1 00 00 00    	jne    0x5875f4
587533:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
587537:	8b 54 24 34          	mov    0x34(%esp),%edx
58753b:	eb 04                	jmp    0x587541
58753d:	8b 5c 24 10          	mov    0x10(%esp),%ebx
587541:	83 f9 08             	cmp    $0x8,%ecx
587544:	75 29                	jne    0x58756f
587546:	51                   	push   %ecx
587547:	68 b4 46 66 00       	push   $0x6646b4
58754c:	52                   	push   %edx
58754d:	e8 3e e2 05 00       	call   0x5e5790
587552:	83 c4 0c             	add    $0xc,%esp
587555:	85 c0                	test   %eax,%eax
587557:	75 52                	jne    0x5875ab
587559:	ff 74 24 44          	push   0x44(%esp)
58755d:	ff 74 24 44          	push   0x44(%esp)
587561:	e8 ca 00 00 00       	call   0x587630
587566:	83 c4 08             	add    $0x8,%esp
587569:	85 c0                	test   %eax,%eax
58756b:	75 62                	jne    0x5875cf
58756d:	eb 5a                	jmp    0x5875c9
58756f:	83 f9 0a             	cmp    $0xa,%ecx
587572:	75 37                	jne    0x5875ab
587574:	6a 09                	push   $0x9
587576:	68 c0 46 66 00       	push   $0x6646c0
58757b:	52                   	push   %edx
58757c:	e8 0f e2 05 00       	call   0x5e5790
587581:	83 c4 0c             	add    $0xc,%esp
587584:	85 c0                	test   %eax,%eax
587586:	75 23                	jne    0x5875ab
587588:	8b 44 24 34          	mov    0x34(%esp),%eax
58758c:	0f be 40 09          	movsbl 0x9(%eax),%eax
587590:	83 c0 d0             	add    $0xffffffd0,%eax
587593:	83 f8 05             	cmp    $0x5,%eax
587596:	77 0c                	ja     0x5875a4
587598:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
58759c:	89 81 fc 00 00 00    	mov    %eax,0xfc(%ecx)
5875a2:	eb 2b                	jmp    0x5875cf
5875a4:	68 a3 04 00 00       	push   $0x4a3
5875a9:	eb 05                	jmp    0x5875b0
5875ab:	68 a9 04 00 00       	push   $0x4a9
5875b0:	68 a4 46 66 00       	push   $0x6646a4
5875b5:	68 18 01 00 00       	push   $0x118
5875ba:	68 e6 00 00 00       	push   $0xe6
5875bf:	6a 14                	push   $0x14
5875c1:	e8 ba 19 f5 ff       	call   0x4d8f80
5875c6:	83 c4 14             	add    $0x14,%esp
5875c9:	33 db                	xor    %ebx,%ebx
5875cb:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5875cf:	8a 06                	mov    (%esi),%al
5875d1:	84 c0                	test   %al,%al
5875d3:	74 18                	je     0x5875ed
5875d5:	3c 3a                	cmp    $0x3a,%al
5875d7:	74 14                	je     0x5875ed
5875d9:	3c 20                	cmp    $0x20,%al
5875db:	74 10                	je     0x5875ed
5875dd:	3c 3b                	cmp    $0x3b,%al
5875df:	74 0c                	je     0x5875ed
5875e1:	3c 2c                	cmp    $0x2c,%al
5875e3:	74 08                	je     0x5875ed
5875e5:	8a 46 01             	mov    0x1(%esi),%al
5875e8:	46                   	inc    %esi
5875e9:	84 c0                	test   %al,%al
5875eb:	75 e8                	jne    0x5875d5
5875ed:	8a 06                	mov    (%esi),%al
5875ef:	e9 c0 fd ff ff       	jmp    0x5873b4
5875f4:	33 db                	xor    %ebx,%ebx
5875f6:	89 6c 24 18          	mov    %ebp,0x18(%esp)
5875fa:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5875fe:	e9 7b fd ff ff       	jmp    0x58737e
587603:	8a 46 01             	mov    0x1(%esi),%al
587606:	46                   	inc    %esi
587607:	84 c0                	test   %al,%al
587609:	0f 85 21 fc ff ff    	jne    0x587230
58760f:	5f                   	pop    %edi
587610:	5d                   	pop    %ebp
587611:	5e                   	pop    %esi
587612:	8b c3                	mov    %ebx,%eax
587614:	5b                   	pop    %ebx
587615:	83 c4 28             	add    $0x28,%esp
587618:	c3                   	ret
587619:	5e                   	pop    %esi
58761a:	8b c3                	mov    %ebx,%eax
58761c:	5b                   	pop    %ebx
58761d:	83 c4 28             	add    $0x28,%esp
587620:	c3                   	ret
587621:	cc                   	int3
587622:	cc                   	int3
587623:	cc                   	int3
587624:	cc                   	int3
587625:	cc                   	int3
587626:	cc                   	int3
587627:	cc                   	int3
587628:	cc                   	int3
587629:	cc                   	int3
58762a:	cc                   	int3
58762b:	cc                   	int3
58762c:	cc                   	int3
58762d:	cc                   	int3
58762e:	cc                   	int3
58762f:	cc                   	int3
587630:	b8 10 00 00 00       	mov    $0x10,%eax
587635:	e8 76 a1 04 00       	call   0x5d17b0
58763a:	53                   	push   %ebx
58763b:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58763f:	55                   	push   %ebp
587640:	33 ed                	xor    %ebp,%ebp
587642:	8b 0b                	mov    (%ebx),%ecx
587644:	85 c9                	test   %ecx,%ecx
587646:	74 17                	je     0x58765f
587648:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
58764c:	74 0a                	je     0x587658
58764e:	8b 01                	mov    (%ecx),%eax
587650:	8b 40 38             	mov    0x38(%eax),%eax
587653:	3b c5                	cmp    %ebp,%eax
587655:	0f 4f e8             	cmovg  %eax,%ebp
587658:	8b 49 0c             	mov    0xc(%ecx),%ecx
58765b:	85 c9                	test   %ecx,%ecx
58765d:	75 e9                	jne    0x587648
58765f:	68 a1 03 00 00       	push   $0x3a1
587664:	8d 04 ad 04 00 00 00 	lea    0x4(,%ebp,4),%eax
58766b:	68 a4 46 66 00       	push   $0x6646a4
587670:	50                   	push   %eax