58e18b:	68 bc 00 00 00       	push   $0xbc
58e190:	68 88 6f 6c 00       	push   $0x6c6f88
58e195:	6a 41                	push   $0x41
58e197:	68 8b 00 00 00       	push   $0x8b
58e19c:	6a 22                	push   $0x22
58e19e:	e8 fd 32 f1 ff       	call   0x4a14a0
58e1a3:	83 c4 14             	add    $0x14,%esp
58e1a6:	eb c7                	jmp    0x58e16f
58e1a8:	68 b2 00 00 00       	push   $0xb2
58e1ad:	68 88 6f 6c 00       	push   $0x6c6f88
58e1b2:	68 8f 00 00 00       	push   $0x8f
58e1b7:	68 8b 00 00 00       	push   $0x8b
58e1bc:	6a 22                	push   $0x22
58e1be:	e8 dd 32 f1 ff       	call   0x4a14a0
58e1c3:	83 c4 14             	add    $0x14,%esp
58e1c6:	eb ab                	jmp    0x58e173
58e1c8:	68 ac 00 00 00       	push   $0xac
58e1cd:	68 88 6f 6c 00       	push   $0x6c6f88
58e1d2:	6a 41                	push   $0x41
58e1d4:	68 8b 00 00 00       	push   $0x8b
58e1d9:	6a 22                	push   $0x22
58e1db:	e8 c0 32 f1 ff       	call   0x4a14a0
58e1e0:	83 c4 14             	add    $0x14,%esp
58e1e3:	eb 8e                	jmp    0x58e173
58e1e5:	cc                   	int3
58e1e6:	cc                   	int3
58e1e7:	cc                   	int3
58e1e8:	cc                   	int3
58e1e9:	cc                   	int3
58e1ea:	cc                   	int3
58e1eb:	cc                   	int3
58e1ec:	cc                   	int3
58e1ed:	cc                   	int3
58e1ee:	cc                   	int3
58e1ef:	cc                   	int3
58e1f0:	68 fc 6e 6c 00       	push   $0x6c6efc
58e1f5:	ff 74 24 08          	push   0x8(%esp)
58e1f9:	e8 92 3c f2 ff       	call   0x4b1e90
58e1fe:	83 c4 08             	add    $0x8,%esp
58e201:	c3                   	ret
58e202:	cc                   	int3
58e203:	cc                   	int3
58e204:	cc                   	int3
58e205:	cc                   	int3
58e206:	cc                   	int3
58e207:	cc                   	int3
58e208:	cc                   	int3
58e209:	cc                   	int3
58e20a:	cc                   	int3
58e20b:	cc                   	int3
58e20c:	cc                   	int3
58e20d:	cc                   	int3
58e20e:	cc                   	int3
58e20f:	cc                   	int3
58e210:	56                   	push   %esi
58e211:	8b 74 24 08          	mov    0x8(%esp),%esi
58e215:	ff 36                	push   (%esi)
58e217:	e8 c4 97 f1 ff       	call   0x4a79e0
58e21c:	83 c4 04             	add    $0x4,%esp
58e21f:	85 c0                	test   %eax,%eax
58e221:	74 4a                	je     0x58e26d
58e223:	50                   	push   %eax
58e224:	e8 57 00 00 00       	call   0x58e280
58e229:	83 c4 04             	add    $0x4,%esp
58e22c:	85 c0                	test   %eax,%eax
58e22e:	74 3d                	je     0x58e26d
58e230:	8b 56 08             	mov    0x8(%esi),%edx
58e233:	8b 4a 08             	mov    0x8(%edx),%ecx
58e236:	89 4c 24 08          	mov    %ecx,0x8(%esp)
58e23a:	8b 48 08             	mov    0x8(%eax),%ecx
58e23d:	85 c9                	test   %ecx,%ecx
58e23f:	74 19                	je     0x58e25a
58e241:	ff d1                	call   *%ecx
58e243:	50                   	push   %eax
58e244:	8b 46 08             	mov    0x8(%esi),%eax
58e247:	ff 30                	push   (%eax)
58e249:	8d 44 24 10          	lea    0x10(%esp),%eax
58e24d:	50                   	push   %eax
58e24e:	6a 00                	push   $0x0
58e250:	e8 eb dd f3 ff       	call   0x4cc040
58e255:	83 c4 10             	add    $0x10,%esp
58e258:	5e                   	pop    %esi
58e259:	c3                   	ret
58e25a:	ff 32                	push   (%edx)
58e25c:	8b 40 14             	mov    0x14(%eax),%eax
58e25f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
58e263:	51                   	push   %ecx
58e264:	6a 00                	push   $0x0
58e266:	ff d0                	call   *%eax
58e268:	83 c4 0c             	add    $0xc,%esp
58e26b:	5e                   	pop    %esi
58e26c:	c3                   	ret
58e26d:	33 c0                	xor    %eax,%eax
58e26f:	5e                   	pop    %esi
58e270:	c3                   	ret
58e271:	cc                   	int3
58e272:	cc                   	int3
58e273:	cc                   	int3
58e274:	cc                   	int3
58e275:	cc                   	int3
58e276:	cc                   	int3
58e277:	cc                   	int3
58e278:	cc                   	int3
58e279:	cc                   	int3
58e27a:	cc                   	int3
58e27b:	cc                   	int3
58e27c:	cc                   	int3
58e27d:	cc                   	int3
58e27e:	cc                   	int3
58e27f:	cc                   	int3
58e280:	b8 3c 00 00 00       	mov    $0x3c,%eax
58e285:	e8 66 32 05 00       	call   0x5e14f0
58e28a:	8d 44 24 04          	lea    0x4(%esp),%eax
58e28e:	89 04 24             	mov    %eax,(%esp)
58e291:	8b 44 24 40          	mov    0x40(%esp),%eax
58e295:	85 c0                	test   %eax,%eax
58e297:	79 06                	jns    0x58e29f
58e299:	33 c0                	xor    %eax,%eax
58e29b:	83 c4 3c             	add    $0x3c,%esp
58e29e:	c3                   	ret
58e29f:	68 a0 78 4c 00       	push   $0x4c78a0
58e2a4:	6a 04                	push   $0x4
58e2a6:	6a 2a                	push   $0x2a
58e2a8:	89 44 24 10          	mov    %eax,0x10(%esp)
58e2ac:	8d 44 24 0c          	lea    0xc(%esp),%eax
58e2b0:	68 b8 42 72 00       	push   $0x7242b8
58e2b5:	50                   	push   %eax
58e2b6:	e8 a5 93 f1 ff       	call   0x4a7660
58e2bb:	83 c4 14             	add    $0x14,%esp
58e2be:	85 c0                	test   %eax,%eax
58e2c0:	74 06                	je     0x58e2c8
58e2c2:	8b 00                	mov    (%eax),%eax
58e2c4:	83 c4 3c             	add    $0x3c,%esp
58e2c7:	c3                   	ret
58e2c8:	a1 dc 03 73 00       	mov    0x7303dc,%eax
58e2cd:	85 c0                	test   %eax,%eax
58e2cf:	74 c8                	je     0x58e299
58e2d1:	8d 4c 24 04          	lea    0x4(%esp),%ecx
58e2d5:	51                   	push   %ecx
58e2d6:	50                   	push   %eax
58e2d7:	e8 74 01 f2 ff       	call   0x4ae450
58e2dc:	83 c4 08             	add    $0x8,%esp
58e2df:	83 f8 ff             	cmp    $0xffffffff,%eax
58e2e2:	74 b5                	je     0x58e299
58e2e4:	50                   	push   %eax
58e2e5:	ff 35 dc 03 73 00    	push   0x7303dc
58e2eb:	e8 40 04 f2 ff       	call   0x4ae730
58e2f0:	83 c4 08             	add    $0x8,%esp
58e2f3:	83 c4 3c             	add    $0x3c,%esp
58e2f6:	c3                   	ret
58e2f7:	cc                   	int3
58e2f8:	cc                   	int3
58e2f9:	cc                   	int3
58e2fa:	cc                   	int3
58e2fb:	cc                   	int3
58e2fc:	cc                   	int3
58e2fd:	cc                   	int3
58e2fe:	cc                   	int3
58e2ff:	cc                   	int3
58e300:	55                   	push   %ebp
58e301:	8b 6c 24 08          	mov    0x8(%esp),%ebp
58e305:	57                   	push   %edi
58e306:	33 ff                	xor    %edi,%edi
58e308:	85 ed                	test   %ebp,%ebp
58e30a:	75 21                	jne    0x58e32d
58e30c:	8b 44 24 18          	mov    0x18(%esp),%eax
58e310:	85 c0                	test   %eax,%eax
58e312:	74 06                	je     0x58e31a
58e314:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
58e31a:	8b 44 24 14          	mov    0x14(%esp),%eax
58e31e:	85 c0                	test   %eax,%eax
58e320:	74 06                	je     0x58e328
58e322:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
58e328:	5f                   	pop    %edi
58e329:	33 c0                	xor    %eax,%eax
58e32b:	5d                   	pop    %ebp
58e32c:	c3                   	ret
58e32d:	53                   	push   %ebx
58e32e:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58e332:	56                   	push   %esi
58e333:	85 db                	test   %ebx,%ebx
58e335:	74 0c                	je     0x58e343
58e337:	8b 33                	mov    (%ebx),%esi
58e339:	8b c7                	mov    %edi,%eax
58e33b:	83 c6 01             	add    $0x1,%esi
58e33e:	0f 48 f0             	cmovs  %eax,%esi
58e341:	eb 02                	jmp    0x58e345
58e343:	33 f6                	xor    %esi,%esi
58e345:	55                   	push   %ebp
58e346:	e8 c5 02 f2 ff       	call   0x4ae610
58e34b:	83 c4 04             	add    $0x4,%esp
58e34e:	3b f0                	cmp    %eax,%esi
58e350:	0f 8d ca 00 00 00    	jge    0x58e420
58e356:	56                   	push   %esi
58e357:	55                   	push   %ebp
58e358:	e8 d3 03 f2 ff       	call   0x4ae730
58e35d:	8b e8                	mov    %eax,%ebp
58e35f:	ff 75 00             	push   0x0(%ebp)
58e362:	e8 79 96 f1 ff       	call   0x4a79e0
58e367:	83 c4 0c             	add    $0xc,%esp
58e36a:	3b 44 24 18          	cmp    0x18(%esp),%eax
58e36e:	75 0a                	jne    0x58e37a
58e370:	85 db                	test   %ebx,%ebx
58e372:	75 33                	jne    0x58e3a7
58e374:	85 ff                	test   %edi,%edi
58e376:	75 16                	jne    0x58e38e
58e378:	8b fd                	mov    %ebp,%edi
58e37a:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58e37e:	46                   	inc    %esi
58e37f:	55                   	push   %ebp
58e380:	e8 8b 02 f2 ff       	call   0x4ae610
58e385:	83 c4 04             	add    $0x4,%esp
58e388:	3b f0                	cmp    %eax,%esi
58e38a:	7c ca                	jl     0x58e356
58e38c:	eb 1d                	jmp    0x58e3ab
58e38e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58e392:	85 c0                	test   %eax,%eax
58e394:	0f 84 9e 00 00 00    	je     0x58e438
58e39a:	5e                   	pop    %esi
58e39b:	5b                   	pop    %ebx
58e39c:	5f                   	pop    %edi
58e39d:	c7 00 fe ff ff ff    	movl   $0xfffffffe,(%eax)
58e3a3:	33 c0                	xor    %eax,%eax
58e3a5:	5d                   	pop    %ebp
58e3a6:	c3                   	ret
58e3a7:	89 33                	mov    %esi,(%ebx)
58e3a9:	8b fd                	mov    %ebp,%edi
58e3ab:	85 ff                	test   %edi,%edi
58e3ad:	74 71                	je     0x58e420
58e3af:	8b 74 24 1c          	mov    0x1c(%esp),%esi
58e3b3:	85 f6                	test   %esi,%esi
58e3b5:	74 0b                	je     0x58e3c2
58e3b7:	57                   	push   %edi
58e3b8:	e8 73 83 00 00       	call   0x596730
58e3bd:	83 c4 04             	add    $0x4,%esp
58e3c0:	89 06                	mov    %eax,(%esi)
58e3c2:	ff 37                	push   (%edi)
58e3c4:	e8 17 96 f1 ff       	call   0x4a79e0
58e3c9:	83 c4 04             	add    $0x4,%esp
58e3cc:	85 c0                	test   %eax,%eax
58e3ce:	74 68                	je     0x58e438
58e3d0:	50                   	push   %eax
58e3d1:	e8 aa fe ff ff       	call   0x58e280
58e3d6:	83 c4 04             	add    $0x4,%esp
58e3d9:	85 c0                	test   %eax,%eax
58e3db:	74 5b                	je     0x58e438
58e3dd:	8b 57 08             	mov    0x8(%edi),%edx
58e3e0:	8b 4a 08             	mov    0x8(%edx),%ecx
58e3e3:	89 4c 24 14          	mov    %ecx,0x14(%esp)
58e3e7:	8b 48 08             	mov    0x8(%eax),%ecx
58e3ea:	85 c9                	test   %ecx,%ecx
58e3ec:	74 1c                	je     0x58e40a
58e3ee:	ff d1                	call   *%ecx
58e3f0:	50                   	push   %eax
58e3f1:	8b 47 08             	mov    0x8(%edi),%eax
58e3f4:	ff 30                	push   (%eax)
58e3f6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
58e3fa:	50                   	push   %eax
58e3fb:	6a 00                	push   $0x0
58e3fd:	e8 3e dc f3 ff       	call   0x4cc040
58e402:	83 c4 10             	add    $0x10,%esp
58e405:	5e                   	pop    %esi
58e406:	5b                   	pop    %ebx
58e407:	5f                   	pop    %edi
58e408:	5d                   	pop    %ebp
58e409:	c3                   	ret
58e40a:	ff 32                	push   (%edx)
58e40c:	8b 40 14             	mov    0x14(%eax),%eax
58e40f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
58e413:	51                   	push   %ecx
58e414:	6a 00                	push   $0x0
58e416:	ff d0                	call   *%eax
58e418:	83 c4 0c             	add    $0xc,%esp
58e41b:	5e                   	pop    %esi
58e41c:	5b                   	pop    %ebx
58e41d:	5f                   	pop    %edi
58e41e:	5d                   	pop    %ebp
58e41f:	c3                   	ret
58e420:	85 db                	test   %ebx,%ebx
58e422:	74 06                	je     0x58e42a
58e424:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
58e42a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58e42e:	85 c0                	test   %eax,%eax
58e430:	74 06                	je     0x58e438
58e432:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
58e438:	5e                   	pop    %esi
58e439:	5b                   	pop    %ebx
58e43a:	5f                   	pop    %edi
58e43b:	33 c0                	xor    %eax,%eax
58e43d:	5d                   	pop    %ebp
58e43e:	c3                   	ret
58e43f:	cc                   	int3
58e440:	53                   	push   %ebx
58e441:	55                   	push   %ebp
58e442:	57                   	push   %edi
58e443:	8b 7c 24 18          	mov    0x18(%esp),%edi
58e447:	33 ed                	xor    %ebp,%ebp
58e449:	89 2f                	mov    %ebp,(%edi)
58e44b:	e8 d0 99 f4 ff       	call   0x4d7e20
58e450:	8b d8                	mov    %eax,%ebx
58e452:	85 db                	test   %ebx,%ebx
58e454:	0f 84 c3 00 00 00    	je     0x58e51d
58e45a:	56                   	push   %esi
58e45b:	53                   	push   %ebx
58e45c:	e8 3f 9a f4 ff       	call   0x4d7ea0
58e461:	53                   	push   %ebx
58e462:	e8 59 99 f4 ff       	call   0x4d7dc0
58e467:	8b f0                	mov    %eax,%esi
58e469:	83 c4 08             	add    $0x8,%esp
58e46c:	85 f6                	test   %esi,%esi
58e46e:	0f 84 99 00 00 00    	je     0x58e50d
58e474:	6a 01                	push   $0x1
58e476:	56                   	push   %esi
58e477:	e8 74 50 f2 ff       	call   0x4b34f0
58e47c:	83 c4 08             	add    $0x8,%esp
58e47f:	85 c0                	test   %eax,%eax
58e481:	0f 84 86 00 00 00    	je     0x58e50d
58e487:	56                   	push   %esi
58e488:	ff 74 24 1c          	push   0x1c(%esp)
58e48c:	e8 2f 49 f2 ff       	call   0x4b2dc0
58e491:	83 c4 08             	add    $0x8,%esp
58e494:	85 c0                	test   %eax,%eax
58e496:	7f 03                	jg     0x58e49b
58e498:	83 0f 01             	orl    $0x1,(%edi)
58e49b:	8b 44 24 14          	mov    0x14(%esp),%eax
58e49f:	ff 70 08             	push   0x8(%eax)
58e4a2:	56                   	push   %esi
58e4a3:	e8 28 4c f2 ff       	call   0x4b30d0
58e4a8:	83 c4 08             	add    $0x8,%esp
58e4ab:	85 c0                	test   %eax,%eax
58e4ad:	74 5e                	je     0x58e50d
58e4af:	6a 01                	push   $0x1
58e4b1:	56                   	push   %esi
58e4b2:	e8 79 55 f2 ff       	call   0x4b3a30
58e4b7:	83 c4 08             	add    $0x8,%esp
58e4ba:	85 c0                	test   %eax,%eax
58e4bc:	74 4f                	je     0x58e50d
58e4be:	56                   	push   %esi
58e4bf:	ff 74 24 1c          	push   0x1c(%esp)
58e4c3:	e8 f8 48 f2 ff       	call   0x4b2dc0
58e4c8:	83 c4 08             	add    $0x8,%esp
58e4cb:	85 c0                	test   %eax,%eax
58e4cd:	78 03                	js     0x58e4d2
58e4cf:	83 0f 02             	orl    $0x2,(%edi)
58e4d2:	8b 44 24 14          	mov    0x14(%esp),%eax
58e4d6:	8b 48 24             	mov    0x24(%eax),%ecx
58e4d9:	85 c9                	test   %ecx,%ecx
58e4db:	74 2b                	je     0x58e508
58e4dd:	53                   	push   %ebx
58e4de:	ff 70 08             	push   0x8(%eax)