58a312:	ff 74 24 18          	push   0x18(%esp)
58a316:	8d 46 04             	lea    0x4(%esi),%eax
58a319:	53                   	push   %ebx
58a31a:	50                   	push   %eax
58a31b:	e8 d0 fe ff ff       	call   0x58a1f0
58a320:	83 c4 0c             	add    $0xc,%esp
58a323:	85 c0                	test   %eax,%eax
58a325:	75 32                	jne    0x58a359
58a327:	68 e8 04 00 00       	push   $0x4e8
58a32c:	68 a4 43 6c 00       	push   $0x6c43a4
58a331:	6a 10                	push   $0x10
58a333:	68 90 00 00 00       	push   $0x90
58a338:	6a 10                	push   $0x10
58a33a:	e8 61 71 f1 ff       	call   0x4a14a0
58a33f:	83 c4 14             	add    $0x14,%esp
58a342:	85 ff                	test   %edi,%edi
58a344:	74 04                	je     0x58a34a
58a346:	39 37                	cmp    %esi,(%edi)
58a348:	74 c2                	je     0x58a30c
58a34a:	56                   	push   %esi
58a34b:	e8 c0 20 fe ff       	call   0x56c410
58a350:	83 c4 04             	add    $0x4,%esp
58a353:	33 c0                	xor    %eax,%eax
58a355:	5f                   	pop    %edi
58a356:	5e                   	pop    %esi
58a357:	5b                   	pop    %ebx
58a358:	c3                   	ret
58a359:	85 ff                	test   %edi,%edi
58a35b:	74 02                	je     0x58a35f
58a35d:	89 37                	mov    %esi,(%edi)
58a35f:	5f                   	pop    %edi
58a360:	8b c6                	mov    %esi,%eax
58a362:	5e                   	pop    %esi
58a363:	5b                   	pop    %ebx
58a364:	c3                   	ret
58a365:	68 db 04 00 00       	push   $0x4db
58a36a:	68 a4 43 6c 00       	push   $0x6c43a4
58a36f:	6a 43                	push   $0x43
58a371:	68 90 00 00 00       	push   $0x90
58a376:	6a 10                	push   $0x10
58a378:	e8 23 71 f1 ff       	call   0x4a14a0
58a37d:	83 c4 14             	add    $0x14,%esp
58a380:	33 c0                	xor    %eax,%eax
58a382:	5b                   	pop    %ebx
58a383:	c3                   	ret
58a384:	cc                   	int3
58a385:	cc                   	int3
58a386:	cc                   	int3
58a387:	cc                   	int3
58a388:	cc                   	int3
58a389:	cc                   	int3
58a38a:	cc                   	int3
58a38b:	cc                   	int3
58a38c:	cc                   	int3
58a38d:	cc                   	int3
58a38e:	cc                   	int3
58a38f:	cc                   	int3
58a390:	b8 04 00 00 00       	mov    $0x4,%eax
58a395:	e8 56 71 05 00       	call   0x5e14f0
58a39a:	53                   	push   %ebx
58a39b:	55                   	push   %ebp
58a39c:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58a3a0:	68 30 42 6c 00       	push   $0x6c4230
58a3a5:	ff 74 24 1c          	push   0x1c(%esp)
58a3a9:	8b 45 00             	mov    0x0(%ebp),%eax
58a3ac:	89 44 24 10          	mov    %eax,0x10(%esp)
58a3b0:	8d 44 24 10          	lea    0x10(%esp),%eax
58a3b4:	50                   	push   %eax
58a3b5:	6a 00                	push   $0x0
58a3b7:	e8 84 1c f4 ff       	call   0x4cc040
58a3bc:	8b d8                	mov    %eax,%ebx
58a3be:	83 c4 10             	add    $0x10,%esp
58a3c1:	85 db                	test   %ebx,%ebx
58a3c3:	75 21                	jne    0x58a3e6
58a3c5:	68 05 04 00 00       	push   $0x405
58a3ca:	68 a4 43 6c 00       	push   $0x6c43a4
58a3cf:	6a 10                	push   $0x10
58a3d1:	68 92 00 00 00       	push   $0x92
58a3d6:	6a 10                	push   $0x10
58a3d8:	e8 c3 70 f1 ff       	call   0x4a14a0
58a3dd:	83 c4 14             	add    $0x14,%esp
58a3e0:	33 c0                	xor    %eax,%eax
58a3e2:	5d                   	pop    %ebp
58a3e3:	5b                   	pop    %ebx
58a3e4:	59                   	pop    %ecx
58a3e5:	c3                   	ret
58a3e6:	56                   	push   %esi
58a3e7:	57                   	push   %edi
58a3e8:	8b 7c 24 18          	mov    0x18(%esp),%edi
58a3ec:	85 ff                	test   %edi,%edi
58a3ee:	74 06                	je     0x58a3f6
58a3f0:	8b 37                	mov    (%edi),%esi
58a3f2:	85 f6                	test   %esi,%esi
58a3f4:	75 2b                	jne    0x58a421
58a3f6:	e8 85 22 fe ff       	call   0x56c680
58a3fb:	8b f0                	mov    %eax,%esi
58a3fd:	85 f6                	test   %esi,%esi
58a3ff:	75 20                	jne    0x58a421
58a401:	68 0b 04 00 00       	push   $0x40b
58a406:	68 a4 43 6c 00       	push   $0x6c43a4
58a40b:	6a 41                	push   $0x41
58a40d:	68 92 00 00 00       	push   $0x92
58a412:	6a 10                	push   $0x10
58a414:	e8 87 70 f1 ff       	call   0x4a14a0
58a419:	83 c4 14             	add    $0x14,%esp
58a41c:	e9 5d 01 00 00       	jmp    0x58a57e
58a421:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
58a425:	74 1e                	je     0x58a445
58a427:	8b 46 04             	mov    0x4(%esi),%eax
58a42a:	85 c0                	test   %eax,%eax
58a42c:	74 09                	je     0x58a437
58a42e:	50                   	push   %eax
58a42f:	e8 ec 0e ff ff       	call   0x57b320
58a434:	83 c4 04             	add    $0x4,%esp
58a437:	ff 73 08             	push   0x8(%ebx)
58a43a:	e8 81 0f 00 00       	call   0x58b3c0
58a43f:	83 c4 04             	add    $0x4,%esp
58a442:	89 46 04             	mov    %eax,0x4(%esi)
58a445:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
58a449:	75 11                	jne    0x58a45c
58a44b:	68 18 04 00 00       	push   $0x418
58a450:	68 a4 43 6c 00       	push   $0x6c43a4
58a455:	6a 10                	push   $0x10
58a457:	e9 02 01 00 00       	jmp    0x58a55e
58a45c:	8b 03                	mov    (%ebx),%eax
58a45e:	89 06                	mov    %eax,(%esi)
58a460:	8b 43 04             	mov    0x4(%ebx),%eax
58a463:	85 c0                	test   %eax,%eax
58a465:	0f 84 e7 00 00 00    	je     0x58a552
58a46b:	ff 76 0c             	push   0xc(%esi)
58a46e:	ff 30                	push   (%eax)
58a470:	ff 70 08             	push   0x8(%eax)
58a473:	e8 98 87 f2 ff       	call   0x4b2c10
58a478:	83 c4 0c             	add    $0xc,%esp
58a47b:	89 46 0c             	mov    %eax,0xc(%esi)
58a47e:	85 c0                	test   %eax,%eax
58a480:	75 11                	jne    0x58a493
58a482:	68 23 04 00 00       	push   $0x423
58a487:	68 a4 43 6c 00       	push   $0x6c43a4
58a48c:	6a 03                	push   $0x3
58a48e:	e9 cb 00 00 00       	jmp    0x58a55e
58a493:	8b 46 08             	mov    0x8(%esi),%eax
58a496:	85 c0                	test   %eax,%eax
58a498:	74 09                	je     0x58a4a3
58a49a:	50                   	push   %eax
58a49b:	e8 60 19 ff ff       	call   0x57be00
58a4a0:	83 c4 04             	add    $0x4,%esp
58a4a3:	ff 76 04             	push   0x4(%esi)
58a4a6:	e8 45 1e ff ff       	call   0x57c2f0
58a4ab:	8b c8                	mov    %eax,%ecx
58a4ad:	83 c4 04             	add    $0x4,%esp
58a4b0:	89 4e 08             	mov    %ecx,0x8(%esi)
58a4b3:	85 c9                	test   %ecx,%ecx
58a4b5:	75 11                	jne    0x58a4c8
58a4b7:	68 2f 04 00 00       	push   $0x42f
58a4bc:	68 a4 43 6c 00       	push   $0x6c43a4
58a4c1:	6a 10                	push   $0x10
58a4c3:	e9 96 00 00 00       	jmp    0x58a55e
58a4c8:	8b 43 0c             	mov    0xc(%ebx),%eax
58a4cb:	85 c0                	test   %eax,%eax
58a4cd:	74 43                	je     0x58a512
58a4cf:	8b 10                	mov    (%eax),%edx
58a4d1:	8b 68 08             	mov    0x8(%eax),%ebp
58a4d4:	85 d2                	test   %edx,%edx
58a4d6:	7f 0e                	jg     0x58a4e6
58a4d8:	68 3d 04 00 00       	push   $0x43d
58a4dd:	68 a4 43 6c 00       	push   $0x6c43a4
58a4e2:	6a 64                	push   $0x64
58a4e4:	eb 78                	jmp    0x58a55e
58a4e6:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
58a4ea:	6a 00                	push   $0x0
58a4ec:	52                   	push   %edx
58a4ed:	55                   	push   %ebp
58a4ee:	51                   	push   %ecx
58a4ef:	ff 76 04             	push   0x4(%esi)
58a4f2:	83 e0 fe             	and    $0xfffffffe,%eax
58a4f5:	89 46 14             	mov    %eax,0x14(%esi)
58a4f8:	e8 a3 af 00 00       	call   0x5954a0
58a4fd:	83 c4 14             	add    $0x14,%esp
58a500:	85 c0                	test   %eax,%eax
58a502:	75 3b                	jne    0x58a53f
58a504:	68 44 04 00 00       	push   $0x444
58a509:	68 a4 43 6c 00       	push   $0x6c43a4
58a50e:	6a 10                	push   $0x10
58a510:	eb 4c                	jmp    0x58a55e
58a512:	6a 00                	push   $0x0
58a514:	6a 00                	push   $0x0
58a516:	6a 00                	push   $0x0
58a518:	ff 76 0c             	push   0xc(%esi)
58a51b:	51                   	push   %ecx
58a51c:	ff 76 04             	push   0x4(%esi)
58a51f:	e8 4c 1d ff ff       	call   0x57c270
58a524:	83 c4 18             	add    $0x18,%esp
58a527:	85 c0                	test   %eax,%eax
58a529:	75 0e                	jne    0x58a539
58a52b:	68 4a 04 00 00       	push   $0x44a
58a530:	68 a4 43 6c 00       	push   $0x6c43a4
58a535:	6a 10                	push   $0x10
58a537:	eb 25                	jmp    0x58a55e
58a539:	83 4e 10 02          	orl    $0x2,0x10(%esi)
58a53d:	eb 04                	jmp    0x58a543
58a53f:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
58a543:	85 ff                	test   %edi,%edi
58a545:	74 02                	je     0x58a549
58a547:	89 37                	mov    %esi,(%edi)
58a549:	8b 44 24 10          	mov    0x10(%esp),%eax
58a54d:	89 45 00             	mov    %eax,0x0(%ebp)
58a550:	eb 2e                	jmp    0x58a580
58a552:	68 27 04 00 00       	push   $0x427
58a557:	68 a4 43 6c 00       	push   $0x6c43a4
58a55c:	6a 7d                	push   $0x7d
58a55e:	68 92 00 00 00       	push   $0x92
58a563:	6a 10                	push   $0x10
58a565:	e8 36 6f f1 ff       	call   0x4a14a0
58a56a:	83 c4 14             	add    $0x14,%esp
58a56d:	85 ff                	test   %edi,%edi
58a56f:	74 04                	je     0x58a575
58a571:	39 37                	cmp    %esi,(%edi)
58a573:	74 09                	je     0x58a57e
58a575:	56                   	push   %esi
58a576:	e8 95 1e fe ff       	call   0x56c410
58a57b:	83 c4 04             	add    $0x4,%esp
58a57e:	33 f6                	xor    %esi,%esi
58a580:	68 30 42 6c 00       	push   $0x6c4230
58a585:	53                   	push   %ebx
58a586:	e8 05 79 f2 ff       	call   0x4b1e90
58a58b:	83 c4 08             	add    $0x8,%esp
58a58e:	8b c6                	mov    %esi,%eax
58a590:	5f                   	pop    %edi
58a591:	5e                   	pop    %esi
58a592:	5d                   	pop    %ebp
58a593:	5b                   	pop    %ebx
58a594:	59                   	pop    %ecx
58a595:	c3                   	ret
58a596:	cc                   	int3
58a597:	cc                   	int3
58a598:	cc                   	int3
58a599:	cc                   	int3
58a59a:	cc                   	int3
58a59b:	cc                   	int3
58a59c:	cc                   	int3
58a59d:	cc                   	int3
58a59e:	cc                   	int3
58a59f:	cc                   	int3
58a5a0:	b8 1c 00 00 00       	mov    $0x1c,%eax
58a5a5:	e8 46 6f 05 00       	call   0x5e14f0
58a5aa:	53                   	push   %ebx
58a5ab:	8b 5c 24 24          	mov    0x24(%esp),%ebx
58a5af:	33 c0                	xor    %eax,%eax
58a5b1:	56                   	push   %esi
58a5b2:	57                   	push   %edi
58a5b3:	33 ff                	xor    %edi,%edi
58a5b5:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
58a5bc:	00
58a5bd:	89 44 24 10          	mov    %eax,0x10(%esp)
58a5c1:	89 44 24 14          	mov    %eax,0x14(%esp)
58a5c5:	88 44 24 0f          	mov    %al,0xf(%esp)
58a5c9:	85 db                	test   %ebx,%ebx
58a5cb:	0f 84 ba 02 00 00    	je     0x58a88b
58a5d1:	8b 74 24 30          	mov    0x30(%esp),%esi
58a5d5:	85 f6                	test   %esi,%esi
58a5d7:	0f 84 ae 02 00 00    	je     0x58a88b
58a5dd:	39 06                	cmp    %eax,(%esi)
58a5df:	0f 84 a6 02 00 00    	je     0x58a88b
58a5e5:	39 46 04             	cmp    %eax,0x4(%esi)
58a5e8:	0f 84 9d 02 00 00    	je     0x58a88b
58a5ee:	55                   	push   %ebp
58a5ef:	e8 1c 8d f2 ff       	call   0x4b3310
58a5f4:	8b e8                	mov    %eax,%ebp
58a5f6:	85 ed                	test   %ebp,%ebp
58a5f8:	0f 84 4c 02 00 00    	je     0x58a84a
58a5fe:	e8 0d 8d f2 ff       	call   0x4b3310
58a603:	8b f8                	mov    %eax,%edi
58a605:	85 ff                	test   %edi,%edi
58a607:	0f 84 3d 02 00 00    	je     0x58a84a
58a60d:	53                   	push   %ebx
58a60e:	e8 0d 6a f0 ff       	call   0x491020
58a613:	50                   	push   %eax
58a614:	e8 c7 6e f0 ff       	call   0x4914e0
58a619:	83 c4 08             	add    $0x8,%esp
58a61c:	6a 00                	push   $0x0
58a61e:	57                   	push   %edi
58a61f:	55                   	push   %ebp
58a620:	6a 00                	push   $0x0
58a622:	53                   	push   %ebx
58a623:	3d 96 01 00 00       	cmp    $0x196,%eax
58a628:	75 1d                	jne    0x58a647
58a62a:	e8 61 13 ff ff       	call   0x57b990
58a62f:	83 c4 14             	add    $0x14,%esp
58a632:	85 c0                	test   %eax,%eax
58a634:	75 2e                	jne    0x58a664
58a636:	68 ca 01 00 00       	push   $0x1ca
58a63b:	68 a4 43 6c 00       	push   $0x6c43a4
58a640:	6a 10                	push   $0x10
58a642:	e9 0f 02 00 00       	jmp    0x58a856
58a647:	e8 04 13 ff ff       	call   0x57b950
58a64c:	83 c4 14             	add    $0x14,%esp
58a64f:	85 c0                	test   %eax,%eax
58a651:	75 11                	jne    0x58a664
58a653:	68 d2 01 00 00       	push   $0x1d2
58a658:	68 a4 43 6c 00       	push   $0x6c43a4
58a65d:	6a 10                	push   $0x10
58a65f:	e9 f2 01 00 00       	jmp    0x58a856
58a664:	55                   	push   %ebp
58a665:	e8 06 8d f2 ff       	call   0x4b3370
58a66a:	83 c0 07             	add    $0x7,%eax
58a66d:	99                   	cltd
58a66e:	83 e2 07             	and    $0x7,%edx
58a671:	03 c2                	add    %edx,%eax
58a673:	c1 f8 03             	sar    $0x3,%eax
58a676:	57                   	push   %edi
58a677:	89 44 24 38          	mov    %eax,0x38(%esp)
58a67b:	e8 f0 8c f2 ff       	call   0x4b3370
58a680:	83 c0 07             	add    $0x7,%eax
58a683:	83 c4 08             	add    $0x8,%esp
58a686:	99                   	cltd
58a687:	83 e2 07             	and    $0x7,%edx
58a68a:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
58a68d:	8b 44 24 30          	mov    0x30(%esp),%eax
58a691:	c1 f9 03             	sar    $0x3,%ecx
58a694:	89 4c 24 24          	mov    %ecx,0x24(%esp)
58a698:	85 c0                	test   %eax,%eax
58a69a:	75 0e                	jne    0x58a6aa
58a69c:	8d 44 24 13          	lea    0x13(%esp),%eax
58a6a0:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
58a6a7:	00
58a6a8:	eb 52                	jmp    0x58a6fc
58a6aa:	68 df 01 00 00       	push   $0x1df
58a6af:	68 a4 43 6c 00       	push   $0x6c43a4
58a6b4:	50                   	push   %eax
58a6b5:	e8 f6 5a f1 ff       	call   0x4a01b0
58a6ba:	83 c4 0c             	add    $0xc,%esp
58a6bd:	89 44 24 14          	mov    %eax,0x14(%esp)
58a6c1:	85 c0                	test   %eax,%eax
58a6c3:	75 0a                	jne    0x58a6cf
58a6c5:	68 e0 01 00 00       	push   $0x1e0
58a6ca:	e9 80 01 00 00       	jmp    0x58a84f
58a6cf:	50                   	push   %eax
58a6d0:	55                   	push   %ebp
58a6d1:	e8 3a 86 f2 ff       	call   0x4b2d10
58a6d6:	8b c8                	mov    %eax,%ecx
58a6d8:	83 c4 08             	add    $0x8,%esp
58a6db:	89 4c 24 30          	mov    %ecx,0x30(%esp)
58a6df:	85 c9                	test   %ecx,%ecx
58a6e1:	75 11                	jne    0x58a6f4
58a6e3:	68 e4 01 00 00       	push   $0x1e4
58a6e8:	68 a4 43 6c 00       	push   $0x6c43a4
58a6ed:	6a 03                	push   $0x3
58a6ef:	e9 23 01 00 00       	jmp    0x58a817
58a6f4:	8b 44 24 14          	mov    0x14(%esp),%eax