58b37b:	5e                   	pop    %esi
58b37c:	89 45 00             	mov    %eax,0x0(%ebp)
58b37f:	b8 01 00 00 00       	mov    $0x1,%eax
58b384:	5d                   	pop    %ebp
58b385:	5b                   	pop    %ebx
58b386:	c3                   	ret
58b387:	5f                   	pop    %edi
58b388:	89 75 00             	mov    %esi,0x0(%ebp)
58b38b:	b8 01 00 00 00       	mov    $0x1,%eax
58b390:	5e                   	pop    %esi
58b391:	5d                   	pop    %ebp
58b392:	5b                   	pop    %ebx
58b393:	c3                   	ret
58b394:	cc                   	int3
58b395:	cc                   	int3
58b396:	cc                   	int3
58b397:	cc                   	int3
58b398:	cc                   	int3
58b399:	cc                   	int3
58b39a:	cc                   	int3
58b39b:	cc                   	int3
58b39c:	cc                   	int3
58b39d:	cc                   	int3
58b39e:	cc                   	int3
58b39f:	cc                   	int3
58b3a0:	53                   	push   %ebx
58b3a1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
58b3a5:	55                   	push   %ebp
58b3a6:	8b 6c 24 10          	mov    0x10(%esp),%ebp
58b3aa:	85 db                	test   %ebx,%ebx
58b3ac:	74 08                	je     0x58b3b6
58b3ae:	8b 83 04 04 00 00    	mov    0x404(%ebx),%eax
58b3b4:	eb 06                	jmp    0x58b3bc
58b3b6:	8b 85 c0 00 00 00    	mov    0xc0(%ebp),%eax
58b3bc:	8b 00                	mov    (%eax),%eax
58b3be:	89 44 24 0c          	mov    %eax,0xc(%esp)
58b3c2:	85 c0                	test   %eax,%eax
58b3c4:	75 03                	jne    0x58b3c9
58b3c6:	5d                   	pop    %ebp
58b3c7:	5b                   	pop    %ebx
58b3c8:	c3                   	ret
58b3c9:	56                   	push   %esi
58b3ca:	57                   	push   %edi
58b3cb:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58b3cf:	33 f6                	xor    %esi,%esi
58b3d1:	57                   	push   %edi
58b3d2:	e8 e9 9c f5 ff       	call   0x4e50c0
58b3d7:	83 c4 04             	add    $0x4,%esp
58b3da:	85 c0                	test   %eax,%eax
58b3dc:	7e 2b                	jle    0x58b409
58b3de:	66 90                	xchg   %ax,%ax
58b3e0:	56                   	push   %esi
58b3e1:	57                   	push   %edi
58b3e2:	e8 99 9e f5 ff       	call   0x4e5280
58b3e7:	6a 00                	push   $0x0
58b3e9:	6a 00                	push   $0x0
58b3eb:	50                   	push   %eax
58b3ec:	55                   	push   %ebp
58b3ed:	53                   	push   %ebx
58b3ee:	e8 9d cc 00 00       	call   0x598090
58b3f3:	83 c4 1c             	add    $0x1c,%esp
58b3f6:	83 f8 01             	cmp    $0x1,%eax
58b3f9:	75 2f                	jne    0x58b42a
58b3fb:	57                   	push   %edi
58b3fc:	46                   	inc    %esi
58b3fd:	e8 be 9c f5 ff       	call   0x4e50c0
58b402:	83 c4 04             	add    $0x4,%esp
58b405:	3b f0                	cmp    %eax,%esi
58b407:	7c d7                	jl     0x58b3e0
58b409:	8b 74 24 14          	mov    0x14(%esp),%esi
58b40d:	68 e0 71 55 00       	push   $0x5571e0
58b412:	ff 76 08             	push   0x8(%esi)
58b415:	e8 d6 9c f5 ff       	call   0x4e50f0
58b41a:	83 c4 08             	add    $0x8,%esp
58b41d:	89 7e 08             	mov    %edi,0x8(%esi)
58b420:	b8 01 00 00 00       	mov    $0x1,%eax
58b425:	5f                   	pop    %edi
58b426:	5e                   	pop    %esi
58b427:	5d                   	pop    %ebp
58b428:	5b                   	pop    %ebx
58b429:	c3                   	ret
58b42a:	68 05 01 00 00       	push   $0x105
58b42f:	68 ec 48 66 00       	push   $0x6648ec
58b434:	50                   	push   %eax
58b435:	68 54 01 00 00       	push   $0x154
58b43a:	6a 14                	push   $0x14
58b43c:	e8 3f db f4 ff       	call   0x4d8f80
58b441:	83 c4 14             	add    $0x14,%esp
58b444:	33 c0                	xor    %eax,%eax
58b446:	5f                   	pop    %edi
58b447:	5e                   	pop    %esi
58b448:	5d                   	pop    %ebp
58b449:	5b                   	pop    %ebx
58b44a:	c3                   	ret
58b44b:	cc                   	int3
58b44c:	cc                   	int3
58b44d:	cc                   	int3
58b44e:	cc                   	int3
58b44f:	cc                   	int3
58b450:	8b 44 24 0c          	mov    0xc(%esp),%eax
58b454:	85 c0                	test   %eax,%eax
58b456:	75 09                	jne    0x58b461
58b458:	89 44 24 0c          	mov    %eax,0xc(%esp)
58b45c:	e9 3f ff ff ff       	jmp    0x58b3a0
58b461:	56                   	push   %esi
58b462:	50                   	push   %eax
58b463:	e8 88 ca fc ff       	call   0x557ef0
58b468:	8b f0                	mov    %eax,%esi
58b46a:	83 c4 04             	add    $0x4,%esp
58b46d:	85 f6                	test   %esi,%esi
58b46f:	74 23                	je     0x58b494
58b471:	56                   	push   %esi
58b472:	ff 74 24 10          	push   0x10(%esp)
58b476:	ff 74 24 10          	push   0x10(%esp)
58b47a:	e8 21 ff ff ff       	call   0x58b3a0
58b47f:	83 c4 0c             	add    $0xc,%esp
58b482:	85 c0                	test   %eax,%eax
58b484:	75 12                	jne    0x58b498
58b486:	68 e0 71 55 00       	push   $0x5571e0
58b48b:	56                   	push   %esi
58b48c:	e8 5f 9c f5 ff       	call   0x4e50f0
58b491:	83 c4 08             	add    $0x8,%esp
58b494:	33 c0                	xor    %eax,%eax
58b496:	5e                   	pop    %esi
58b497:	c3                   	ret
58b498:	b8 01 00 00 00       	mov    $0x1,%eax
58b49d:	5e                   	pop    %esi
58b49e:	c3                   	ret
58b49f:	cc                   	int3
58b4a0:	53                   	push   %ebx
58b4a1:	33 db                	xor    %ebx,%ebx
58b4a3:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
58b4a7:	0f 94 c3             	sete   %bl
58b4aa:	8d 1c 9d e8 00 00 00 	lea    0xe8(,%ebx,4),%ebx
58b4b1:	03 5c 24 08          	add    0x8(%esp),%ebx
58b4b5:	ff 33                	push   (%ebx)
58b4b7:	e8 c4 3b ff ff       	call   0x57f080
58b4bc:	8b 44 24 10          	mov    0x10(%esp),%eax
58b4c0:	83 c4 04             	add    $0x4,%esp
58b4c3:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
58b4c8:	89 03                	mov    %eax,(%ebx)
58b4ca:	5b                   	pop    %ebx
58b4cb:	74 0d                	je     0x58b4da
58b4cd:	85 c0                	test   %eax,%eax
58b4cf:	74 09                	je     0x58b4da
58b4d1:	50                   	push   %eax
58b4d2:	e8 79 65 fe ff       	call   0x571a50
58b4d7:	83 c4 04             	add    $0x4,%esp
58b4da:	b8 01 00 00 00       	mov    $0x1,%eax
58b4df:	c3                   	ret
58b4e0:	56                   	push   %esi
58b4e1:	8b 74 24 08          	mov    0x8(%esp),%esi
58b4e5:	85 f6                	test   %esi,%esi
58b4e7:	74 4d                	je     0x58b536
58b4e9:	8b 44 24 0c          	mov    0xc(%esp),%eax
58b4ed:	83 f8 01             	cmp    $0x1,%eax
58b4f0:	75 04                	jne    0x58b4f6
58b4f2:	33 c9                	xor    %ecx,%ecx
58b4f4:	eb 23                	jmp    0x58b519
58b4f6:	83 f8 02             	cmp    $0x2,%eax
58b4f9:	75 3b                	jne    0x58b536
58b4fb:	8b 0e                	mov    (%esi),%ecx
58b4fd:	b8 67 66 66 66       	mov    $0x66666667,%eax
58b502:	2b ce                	sub    %esi,%ecx
58b504:	83 e9 14             	sub    $0x14,%ecx
58b507:	f7 e9                	imul   %ecx
58b509:	c1 fa 03             	sar    $0x3,%edx
58b50c:	8b ca                	mov    %edx,%ecx
58b50e:	c1 e9 1f             	shr    $0x1f,%ecx
58b511:	41                   	inc    %ecx
58b512:	03 ca                	add    %edx,%ecx
58b514:	83 f9 09             	cmp    $0x9,%ecx
58b517:	7d 1d                	jge    0x58b536
58b519:	8d 41 01             	lea    0x1(%ecx),%eax
58b51c:	8d 04 80             	lea    (%eax,%eax,4),%eax
58b51f:	8d 04 86             	lea    (%esi,%eax,4),%eax
58b522:	83 38 00             	cmpl   $0x0,(%eax)
58b525:	74 06                	je     0x58b52d
58b527:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
58b52b:	75 0d                	jne    0x58b53a
58b52d:	41                   	inc    %ecx
58b52e:	83 c0 14             	add    $0x14,%eax
58b531:	83 f9 09             	cmp    $0x9,%ecx
58b534:	7c ec                	jl     0x58b522
58b536:	33 c0                	xor    %eax,%eax
58b538:	5e                   	pop    %esi
58b539:	c3                   	ret
58b53a:	89 06                	mov    %eax,(%esi)
58b53c:	b8 01 00 00 00       	mov    $0x1,%eax
58b541:	5e                   	pop    %esi
58b542:	c3                   	ret
58b543:	cc                   	int3
58b544:	cc                   	int3
58b545:	cc                   	int3
58b546:	cc                   	int3
58b547:	cc                   	int3
58b548:	cc                   	int3
58b549:	cc                   	int3
58b54a:	cc                   	int3
58b54b:	cc                   	int3
58b54c:	cc                   	int3
58b54d:	cc                   	int3
58b54e:	cc                   	int3
58b54f:	cc                   	int3
58b550:	8b 44 24 04          	mov    0x4(%esp),%eax
58b554:	8b 88 c0 00 00 00    	mov    0xc0(%eax),%ecx
58b55a:	ff b1 00 01 00 00    	push   0x100(%ecx)
58b560:	ff 74 24 18          	push   0x18(%esp)
58b564:	ff 74 24 18          	push   0x18(%esp)
58b568:	ff 74 24 18          	push   0x18(%esp)
58b56c:	ff 74 24 18          	push   0x18(%esp)
58b570:	50                   	push   %eax
58b571:	8b 81 f8 00 00 00    	mov    0xf8(%ecx),%eax
58b577:	6a 00                	push   $0x0
58b579:	ff d0                	call   *%eax
58b57b:	83 c4 1c             	add    $0x1c,%esp
58b57e:	c3                   	ret
58b57f:	cc                   	int3
58b580:	8b 44 24 04          	mov    0x4(%esp),%eax
58b584:	8b 88 04 04 00 00    	mov    0x404(%eax),%ecx
58b58a:	ff b1 00 01 00 00    	push   0x100(%ecx)
58b590:	ff 74 24 18          	push   0x18(%esp)
58b594:	ff 74 24 18          	push   0x18(%esp)
58b598:	ff 74 24 18          	push   0x18(%esp)
58b59c:	ff 74 24 18          	push   0x18(%esp)
58b5a0:	6a 00                	push   $0x0
58b5a2:	50                   	push   %eax
58b5a3:	8b 81 f8 00 00 00    	mov    0xf8(%ecx),%eax
58b5a9:	ff d0                	call   *%eax
58b5ab:	83 c4 1c             	add    $0x1c,%esp
58b5ae:	c3                   	ret
58b5af:	cc                   	int3
58b5b0:	53                   	push   %ebx
58b5b1:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
58b5b5:	55                   	push   %ebp
58b5b6:	33 ed                	xor    %ebp,%ebp
58b5b8:	85 db                	test   %ebx,%ebx
58b5ba:	0f 84 1d 02 00 00    	je     0x58b7dd
58b5c0:	53                   	push   %ebx
58b5c1:	e8 fa 9a f5 ff       	call   0x4e50c0
58b5c6:	83 c4 04             	add    $0x4,%esp
58b5c9:	85 c0                	test   %eax,%eax
58b5cb:	0f 84 0c 02 00 00    	je     0x58b7dd
58b5d1:	56                   	push   %esi
58b5d2:	8b 74 24 10          	mov    0x10(%esp),%esi
58b5d6:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
58b5dc:	8b 80 ec 00 00 00    	mov    0xec(%eax),%eax
58b5e2:	89 44 24 14          	mov    %eax,0x14(%esp)
58b5e6:	85 c0                	test   %eax,%eax
58b5e8:	75 0d                	jne    0x58b5f7
58b5ea:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
58b5f0:	8b 40 10             	mov    0x10(%eax),%eax
58b5f3:	89 44 24 14          	mov    %eax,0x14(%esp)
58b5f7:	57                   	push   %edi
58b5f8:	e8 c3 9b fe ff       	call   0x5751c0
58b5fd:	8b f8                	mov    %eax,%edi
58b5ff:	85 ff                	test   %edi,%edi
58b601:	75 22                	jne    0x58b625
58b603:	68 7d 01 00 00       	push   $0x17d
58b608:	68 ec 48 66 00       	push   $0x6648ec
58b60d:	6a 41                	push   $0x41
58b60f:	68 cf 00 00 00       	push   $0xcf
58b614:	6a 14                	push   $0x14
58b616:	e8 65 d9 f4 ff       	call   0x4d8f80
58b61b:	83 c4 14             	add    $0x14,%esp
58b61e:	33 c0                	xor    %eax,%eax
58b620:	5f                   	pop    %edi
58b621:	5e                   	pop    %esi
58b622:	5d                   	pop    %ebp
58b623:	5b                   	pop    %ebx
58b624:	c3                   	ret
58b625:	6a 00                	push   $0x0
58b627:	53                   	push   %ebx
58b628:	e8 53 9c f5 ff       	call   0x4e5280
58b62d:	53                   	push   %ebx
58b62e:	50                   	push   %eax
58b62f:	ff 74 24 28          	push   0x28(%esp)
58b633:	57                   	push   %edi
58b634:	e8 b7 98 fe ff       	call   0x574ef0
58b639:	83 c4 18             	add    $0x18,%esp
58b63c:	85 c0                	test   %eax,%eax
58b63e:	75 2b                	jne    0x58b66b
58b640:	68 83 01 00 00       	push   $0x183
58b645:	68 ec 48 66 00       	push   $0x6648ec
58b64a:	6a 0b                	push   $0xb
58b64c:	68 cf 00 00 00       	push   $0xcf
58b651:	6a 14                	push   $0x14
58b653:	e8 28 d9 f4 ff       	call   0x4d8f80
58b658:	83 c4 14             	add    $0x14,%esp
58b65b:	57                   	push   %edi
58b65c:	e8 2f 98 fe ff       	call   0x574e90
58b661:	83 c4 04             	add    $0x4,%esp
58b664:	8b c5                	mov    %ebp,%eax
58b666:	5f                   	pop    %edi
58b667:	5e                   	pop    %esi
58b668:	5d                   	pop    %ebp
58b669:	5b                   	pop    %ebx
58b66a:	c3                   	ret
58b66b:	57                   	push   %edi
58b66c:	e8 3f 4c f6 ff       	call   0x4f02b0
58b671:	8b d8                	mov    %eax,%ebx
58b673:	56                   	push   %esi
58b674:	89 5c 24 20          	mov    %ebx,0x20(%esp)
58b678:	e8 b3 df ff ff       	call   0x589630
58b67d:	50                   	push   %eax
58b67e:	53                   	push   %ebx
58b67f:	e8 ec dd f6 ff       	call   0x4f9470
58b684:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
58b68a:	8b 40 10             	mov    0x10(%eax),%eax
58b68d:	25 00 00 03 00       	and    $0x30000,%eax
58b692:	50                   	push   %eax
58b693:	57                   	push   %edi
58b694:	e8 b7 9b fe ff       	call   0x575250
58b699:	68 f0 b7 58 00       	push   $0x58b7f0
58b69e:	68 c4 6c 69 00       	push   $0x696cc4
58b6a3:	e8 28 69 f5 ff       	call   0x4e1fd0
58b6a8:	83 c4 20             	add    $0x20,%esp
58b6ab:	f7 d8                	neg    %eax
58b6ad:	1b c0                	sbb    %eax,%eax
58b6af:	85 05 c8 6c 69 00    	test   %eax,0x696cc8
58b6b5:	75 05                	jne    0x58b6bc
58b6b7:	83 c8 ff             	or     $0xffffffff,%eax
58b6ba:	eb 05                	jmp    0x58b6c1
58b6bc:	a1 b0 e8 68 00       	mov    0x68e8b0,%eax
58b6c1:	56                   	push   %esi
58b6c2:	50                   	push   %eax
58b6c3:	57                   	push   %edi
58b6c4:	e8 77 9b fe ff       	call   0x575240
58b6c9:	83 c4 0c             	add    $0xc,%esp
58b6cc:	85 c0                	test   %eax,%eax
58b6ce:	0f 84 f9 00 00 00    	je     0x58b7cd
58b6d4:	8d 9e 94 00 00 00    	lea    0x94(%esi),%ebx
58b6da:	85 db                	test   %ebx,%ebx
58b6dc:	74 1c                	je     0x58b6fa
58b6de:	ff b6 98 00 00 00    	push   0x98(%esi)
58b6e4:	e8 d7 99 f5 ff       	call   0x4e50c0
58b6e9:	83 c4 04             	add    $0x4,%esp
58b6ec:	85 c0                	test   %eax,%eax
58b6ee:	7e 0a                	jle    0x58b6fa
58b6f0:	53                   	push   %ebx
58b6f1:	57                   	push   %edi
58b6f2:	e8 09 9b fe ff       	call   0x575200
58b6f7:	83 c4 08             	add    $0x8,%esp
58b6fa:	39 6e 1c             	cmp    %ebp,0x1c(%esi)
58b6fd:	b9 a0 b6 65 00       	mov    $0x65b6a0,%ecx
58b702:	b8 94 b6 65 00       	mov    $0x65b694,%eax
58b707:	0f 44 c1             	cmove  %ecx,%eax
58b70a:	50                   	push   %eax
58b70b:	57                   	push   %edi
58b70c:	e8 ff 9a fe ff       	call   0x575210