ab7498:	cc                   	int3
ab7499:	cc                   	int3
ab749a:	cc                   	int3
ab749b:	cc                   	int3
ab749c:	cc                   	int3
ab749d:	cc                   	int3
ab749e:	cc                   	int3
ab749f:	cc                   	int3
ab74a0:	53                   	push   %ebx
ab74a1:	56                   	push   %esi
ab74a2:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
ab74a6:	8b 54 24 10          	mov    0x10(%esp),%edx
ab74aa:	8b 5c 24 14          	mov    0x14(%esp),%ebx
ab74ae:	f7 c3 ff ff ff ff    	test   $0xffffffff,%ebx
ab74b4:	74 50                	je     0xab7506
ab74b6:	2b ca                	sub    %edx,%ecx
ab74b8:	f7 c2 03 00 00 00    	test   $0x3,%edx
ab74be:	74 17                	je     0xab74d7
ab74c0:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
ab74c4:	3a 02                	cmp    (%edx),%al
ab74c6:	75 48                	jne    0xab7510
ab74c8:	85 c0                	test   %eax,%eax
ab74ca:	74 3a                	je     0xab7506
ab74cc:	42                   	inc    %edx
ab74cd:	83 eb 01             	sub    $0x1,%ebx
ab74d0:	76 34                	jbe    0xab7506
ab74d2:	f6 c2 03             	test   $0x3,%dl
ab74d5:	75 e9                	jne    0xab74c0
ab74d7:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
ab74da:	25 ff 0f 00 00       	and    $0xfff,%eax
ab74df:	3d fc 0f 00 00       	cmp    $0xffc,%eax
ab74e4:	77 da                	ja     0xab74c0
ab74e6:	8b 04 0a             	mov    (%edx,%ecx,1),%eax
ab74e9:	3b 02                	cmp    (%edx),%eax
ab74eb:	75 d3                	jne    0xab74c0
ab74ed:	83 eb 04             	sub    $0x4,%ebx
ab74f0:	76 14                	jbe    0xab7506
ab74f2:	8d b0 ff fe fe fe    	lea    -0x1010101(%eax),%esi
ab74f8:	83 c2 04             	add    $0x4,%edx
ab74fb:	f7 d0                	not    %eax
ab74fd:	23 c6                	and    %esi,%eax
ab74ff:	a9 80 80 80 80       	test   $0x80808080,%eax
ab7504:	74 d1                	je     0xab74d7
ab7506:	33 c0                	xor    %eax,%eax
ab7508:	5e                   	pop    %esi
ab7509:	5b                   	pop    %ebx
ab750a:	c3                   	ret
ab750b:	eb 03                	jmp    0xab7510
ab750d:	cc                   	int3
ab750e:	cc                   	int3
ab750f:	cc                   	int3
ab7510:	1b c0                	sbb    %eax,%eax
ab7512:	83 c8 01             	or     $0x1,%eax
ab7515:	5e                   	pop    %esi
ab7516:	5b                   	pop    %ebx
ab7517:	c3                   	ret
ab7518:	cc                   	int3
ab7519:	cc                   	int3
ab751a:	cc                   	int3
ab751b:	cc                   	int3
ab751c:	cc                   	int3
ab751d:	cc                   	int3
ab751e:	cc                   	int3
ab751f:	cc                   	int3
ab7520:	cc                   	int3
ab7521:	cc                   	int3
ab7522:	cc                   	int3
ab7523:	cc                   	int3
ab7524:	cc                   	int3
ab7525:	cc                   	int3
ab7526:	cc                   	int3
ab7527:	cc                   	int3
ab7528:	cc                   	int3
ab7529:	cc                   	int3
ab752a:	cc                   	int3
ab752b:	cc                   	int3
ab752c:	cc                   	int3
ab752d:	cc                   	int3
ab752e:	cc                   	int3
ab752f:	cc                   	int3
ab7530:	cc                   	int3
ab7531:	cc                   	int3
ab7532:	cc                   	int3
ab7533:	cc                   	int3
ab7534:	cc                   	int3
ab7535:	cc                   	int3
ab7536:	8b ff                	mov    %edi,%edi
ab7538:	55                   	push   %ebp
ab7539:	8b ec                	mov    %esp,%ebp
ab753b:	8b 45 08             	mov    0x8(%ebp),%eax
ab753e:	8b 40 0c             	mov    0xc(%eax),%eax
ab7541:	85 c0                	test   %eax,%eax
ab7543:	75 05                	jne    0xab754a
ab7545:	b8 4d 66 42 00       	mov    $0x42664d,%eax
ab754a:	5d                   	pop    %ebp
ab754b:	c3                   	ret
ab754c:	cc                   	int3
ab754d:	cc                   	int3
ab754e:	cc                   	int3
ab754f:	cc                   	int3
ab7550:	cc                   	int3
ab7551:	e8 0d 9c 94 ff       	call   0x401163
ab7556:	8b 40 0c             	mov    0xc(%eax),%eax
ab7559:	85 c0                	test   %eax,%eax
ab755b:	75 05                	jne    0xab7562
ab755d:	b8 4d 66 42 00       	mov    $0x42664d,%eax
ab7562:	c3                   	ret
ab7563:	cc                   	int3
ab7564:	cc                   	int3
ab7565:	cc                   	int3
ab7566:	cc                   	int3
ab7567:	8b ff                	mov    %edi,%edi
ab7569:	55                   	push   %ebp
ab756a:	8b ec                	mov    %esp,%ebp
ab756c:	e8 f2 9b 94 ff       	call   0x401163
ab7571:	8b d0                	mov    %eax,%edx
ab7573:	8b 42 0c             	mov    0xc(%edx),%eax
ab7576:	85 c0                	test   %eax,%eax
ab7578:	75 05                	jne    0xab757f
ab757a:	b8 4d 66 42 00       	mov    $0x42664d,%eax
ab757f:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab7582:	89 4a 0c             	mov    %ecx,0xc(%edx)
ab7585:	5d                   	pop    %ebp
ab7586:	c3                   	ret
ab7587:	cc                   	int3
ab7588:	cc                   	int3
ab7589:	cc                   	int3
ab758a:	cc                   	int3
ab758b:	cc                   	int3
ab758c:	cc                   	int3
ab758d:	cc                   	int3
ab758e:	cc                   	int3
ab758f:	6a 0c                	push   $0xc
ab7591:	68 50 be d4 00       	push   $0xd4be50
ab7596:	e8 c0 c0 95 ff       	call   0x41365b
ab759b:	e8 c3 9b 94 ff       	call   0x401163
ab75a0:	8b 70 0c             	mov    0xc(%eax),%esi
ab75a3:	85 f6                	test   %esi,%esi
ab75a5:	74 1e                	je     0xab75c5
ab75a7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
ab75ab:	8b ce                	mov    %esi,%ecx
ab75ad:	ff 15 00 80 db 00    	call   *0xdb8000
ab75b3:	ff d6                	call   *%esi
ab75b5:	eb 07                	jmp    0xab75be
ab75b7:	33 c0                	xor    %eax,%eax
ab75b9:	40                   	inc    %eax
ab75ba:	c3                   	ret
ab75bb:	8b 65 e8             	mov    -0x18(%ebp),%esp
ab75be:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
ab75c5:	e8 83 f0 96 ff       	call   0x42664d
ab75ca:	cc                   	int3
ab75cb:	cc                   	int3
ab75cc:	cc                   	int3
ab75cd:	cc                   	int3
ab75ce:	cc                   	int3
ab75cf:	cc                   	int3
ab75d0:	cc                   	int3
ab75d1:	cc                   	int3
ab75d2:	cc                   	int3
ab75d3:	cc                   	int3
ab75d4:	cc                   	int3
ab75d5:	cc                   	int3
ab75d6:	cc                   	int3
ab75d7:	cc                   	int3
ab75d8:	cc                   	int3
ab75d9:	cc                   	int3
ab75da:	8b ff                	mov    %edi,%edi
ab75dc:	55                   	push   %ebp
ab75dd:	8b ec                	mov    %esp,%ebp
ab75df:	8b 4d 08             	mov    0x8(%ebp),%ecx
ab75e2:	56                   	push   %esi
ab75e3:	8d 71 0c             	lea    0xc(%ecx),%esi
ab75e6:	8b 06                	mov    (%esi),%eax
ab75e8:	24 03                	and    $0x3,%al
ab75ea:	3c 02                	cmp    $0x2,%al
ab75ec:	74 04                	je     0xab75f2
ab75ee:	33 c0                	xor    %eax,%eax
ab75f0:	eb 4b                	jmp    0xab763d
ab75f2:	8b 06                	mov    (%esi),%eax
ab75f4:	a8 c0                	test   $0xc0,%al
ab75f6:	74 f6                	je     0xab75ee
ab75f8:	8b 41 04             	mov    0x4(%ecx),%eax
ab75fb:	57                   	push   %edi
ab75fc:	8b 39                	mov    (%ecx),%edi
ab75fe:	2b f8                	sub    %eax,%edi
ab7600:	89 01                	mov    %eax,(%ecx)
ab7602:	83 61 08 00          	andl   $0x0,0x8(%ecx)
ab7606:	85 ff                	test   %edi,%edi
ab7608:	7e 30                	jle    0xab763a
ab760a:	57                   	push   %edi
ab760b:	50                   	push   %eax
ab760c:	51                   	push   %ecx
ab760d:	e8 d8 51 98 ff       	call   0x43c7ea
ab7612:	59                   	pop    %ecx
ab7613:	50                   	push   %eax
ab7614:	e8 ab cf 95 ff       	call   0x4145c4
ab7619:	83 c4 0c             	add    $0xc,%esp
ab761c:	3b f8                	cmp    %eax,%edi
ab761e:	74 0b                	je     0xab762b
ab7620:	6a 10                	push   $0x10
ab7622:	58                   	pop    %eax
ab7623:	f0 09 06             	lock or %eax,(%esi)
ab7626:	83 c8 ff             	or     $0xffffffff,%eax
ab7629:	eb 11                	jmp    0xab763c
ab762b:	8b 06                	mov    (%esi),%eax
ab762d:	c1 e8 02             	shr    $0x2,%eax
ab7630:	a8 01                	test   $0x1,%al
ab7632:	74 06                	je     0xab763a
ab7634:	6a fd                	push   $0xfffffffd
ab7636:	58                   	pop    %eax
ab7637:	f0 21 06             	lock and %eax,(%esi)
ab763a:	33 c0                	xor    %eax,%eax
ab763c:	5f                   	pop    %edi
ab763d:	5e                   	pop    %esi
ab763e:	5d                   	pop    %ebp
ab763f:	c3                   	ret
ab7640:	cc                   	int3
ab7641:	cc                   	int3
ab7642:	cc                   	int3
ab7643:	cc                   	int3
ab7644:	cc                   	int3
ab7645:	cc                   	int3
ab7646:	cc                   	int3
ab7647:	cc                   	int3
ab7648:	cc                   	int3
ab7649:	cc                   	int3
ab764a:	cc                   	int3
ab764b:	cc                   	int3
ab764c:	cc                   	int3
ab764d:	cc                   	int3
ab764e:	cc                   	int3
ab764f:	cc                   	int3
ab7650:	cc                   	int3
ab7651:	cc                   	int3
ab7652:	cc                   	int3
ab7653:	cc                   	int3
ab7654:	cc                   	int3
ab7655:	cc                   	int3
ab7656:	cc                   	int3
ab7657:	cc                   	int3
ab7658:	cc                   	int3
ab7659:	8b ff                	mov    %edi,%edi
ab765b:	55                   	push   %ebp
ab765c:	8b ec                	mov    %esp,%ebp
ab765e:	56                   	push   %esi
ab765f:	8b 75 08             	mov    0x8(%ebp),%esi
ab7662:	85 f6                	test   %esi,%esi
ab7664:	75 09                	jne    0xab766f
ab7666:	56                   	push   %esi
ab7667:	e8 50 00 00 00       	call   0xab76bc
ab766c:	59                   	pop    %ecx
ab766d:	eb 2e                	jmp    0xab769d
ab766f:	56                   	push   %esi
ab7670:	e8 82 31 97 ff       	call   0x42a7f7
ab7675:	59                   	pop    %ecx
ab7676:	85 c0                	test   %eax,%eax
ab7678:	74 05                	je     0xab767f
ab767a:	83 c8 ff             	or     $0xffffffff,%eax
ab767d:	eb 1e                	jmp    0xab769d
ab767f:	8b 46 0c             	mov    0xc(%esi),%eax
ab7682:	c1 e8 0b             	shr    $0xb,%eax
ab7685:	a8 01                	test   $0x1,%al
ab7687:	74 12                	je     0xab769b
ab7689:	56                   	push   %esi
ab768a:	e8 5b 51 98 ff       	call   0x43c7ea
ab768f:	50                   	push   %eax
ab7690:	e8 57 fa 97 ff       	call   0x4370ec
ab7695:	59                   	pop    %ecx
ab7696:	59                   	pop    %ecx
ab7697:	85 c0                	test   %eax,%eax
ab7699:	75 df                	jne    0xab767a
ab769b:	33 c0                	xor    %eax,%eax
ab769d:	5e                   	pop    %esi
ab769e:	5d                   	pop    %ebp
ab769f:	c3                   	ret
ab76a0:	cc                   	int3
ab76a1:	cc                   	int3
ab76a2:	cc                   	int3
ab76a3:	cc                   	int3
ab76a4:	cc                   	int3
ab76a5:	cc                   	int3
ab76a6:	cc                   	int3
ab76a7:	cc                   	int3
ab76a8:	cc                   	int3
ab76a9:	cc                   	int3
ab76aa:	cc                   	int3
ab76ab:	cc                   	int3
ab76ac:	cc                   	int3
ab76ad:	cc                   	int3
ab76ae:	cc                   	int3
ab76af:	cc                   	int3
ab76b0:	cc                   	int3
ab76b1:	6a 01                	push   $0x1
ab76b3:	e8 04 00 00 00       	call   0xab76bc
ab76b8:	59                   	pop    %ecx
ab76b9:	c3                   	ret
ab76ba:	cc                   	int3
ab76bb:	cc                   	int3
ab76bc:	6a 1c                	push   $0x1c
ab76be:	68 90 be d4 00       	push   $0xd4be90
ab76c3:	e8 ac cc 97 ff       	call   0x434374
ab76c8:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
ab76cc:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
ab76d0:	6a 08                	push   $0x8
ab76d2:	e8 b9 bb 96 ff       	call   0x423290
ab76d7:	59                   	pop    %ecx
ab76d8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
ab76dc:	8b 35 20 19 d8 00    	mov    0xd81920,%esi
ab76e2:	a1 1c 19 d8 00       	mov    0xd8191c,%eax
ab76e7:	8d 04 86             	lea    (%esi,%eax,4),%eax
ab76ea:	89 45 d4             	mov    %eax,-0x2c(%ebp)
ab76ed:	8b 5d 08             	mov    0x8(%ebp),%ebx
ab76f0:	89 75 e0             	mov    %esi,-0x20(%ebp)
ab76f3:	3b f0                	cmp    %eax,%esi
ab76f5:	74 74                	je     0xab776b
ab76f7:	8b 3e                	mov    (%esi),%edi
ab76f9:	89 7d d8             	mov    %edi,-0x28(%ebp)
ab76fc:	85 ff                	test   %edi,%edi
ab76fe:	74 56                	je     0xab7756
ab7700:	57                   	push   %edi
ab7701:	e8 cf ea 95 ff       	call   0x4161d5
ab7706:	59                   	pop    %ecx
ab7707:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
ab770e:	8b 47 0c             	mov    0xc(%edi),%eax
ab7711:	c1 e8 0d             	shr    $0xd,%eax
ab7714:	a8 01                	test   $0x1,%al
ab7716:	74 32                	je     0xab774a
ab7718:	83 fb 01             	cmp    $0x1,%ebx
ab771b:	75 11                	jne    0xab772e
ab771d:	57                   	push   %edi
ab771e:	e8 10 af 96 ff       	call   0x422633
ab7723:	59                   	pop    %ecx
ab7724:	83 f8 ff             	cmp    $0xffffffff,%eax
ab7727:	74 21                	je     0xab774a
ab7729:	ff 45 e4             	incl   -0x1c(%ebp)
ab772c:	eb 1c                	jmp    0xab774a
ab772e:	85 db                	test   %ebx,%ebx
ab7730:	75 18                	jne    0xab774a
ab7732:	8b 47 0c             	mov    0xc(%edi),%eax
ab7735:	d1 e8                	shr    $1,%eax
ab7737:	a8 01                	test   $0x1,%al
ab7739:	74 0f                	je     0xab774a
ab773b:	57                   	push   %edi
ab773c:	e8 f2 ae 96 ff       	call   0x422633
ab7741:	59                   	pop    %ecx
ab7742:	83 f8 ff             	cmp    $0xffffffff,%eax
ab7745:	75 03                	jne    0xab774a
ab7747:	09 45 dc             	or     %eax,-0x24(%ebp)
ab774a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
ab774e:	e8 0e 00 00 00       	call   0xab7761