58b1ff:	cc                   	int3
58b200:	8b 44 24 04          	mov    0x4(%esp),%eax
58b204:	8b 4c 24 08          	mov    0x8(%esp),%ecx
58b208:	56                   	push   %esi
58b209:	57                   	push   %edi
58b20a:	85 c0                	test   %eax,%eax
58b20c:	74 08                	je     0x58b216
58b20e:	8b b8 04 04 00 00    	mov    0x404(%eax),%edi
58b214:	eb 06                	jmp    0x58b21c
58b216:	8b b9 c0 00 00 00    	mov    0xc0(%ecx),%edi
58b21c:	8b 3f                	mov    (%edi),%edi
58b21e:	85 ff                	test   %edi,%edi
58b220:	74 32                	je     0x58b254
58b222:	8b 74 24 14          	mov    0x14(%esp),%esi
58b226:	6a 00                	push   $0x0
58b228:	6a 00                	push   $0x0
58b22a:	56                   	push   %esi
58b22b:	51                   	push   %ecx
58b22c:	50                   	push   %eax
58b22d:	e8 5e ce 00 00       	call   0x598090
58b232:	83 c4 14             	add    $0x14,%esp
58b235:	83 f8 01             	cmp    $0x1,%eax
58b238:	74 1f                	je     0x58b259
58b23a:	68 25 01 00 00       	push   $0x125
58b23f:	68 ec 48 66 00       	push   $0x6648ec
58b244:	50                   	push   %eax
58b245:	68 5a 01 00 00       	push   $0x15a
58b24a:	6a 14                	push   $0x14
58b24c:	e8 2f dd f4 ff       	call   0x4d8f80
58b251:	83 c4 14             	add    $0x14,%esp
58b254:	5f                   	pop    %edi
58b255:	33 c0                	xor    %eax,%eax
58b257:	5e                   	pop    %esi
58b258:	c3                   	ret
58b259:	8b 47 08             	mov    0x8(%edi),%eax
58b25c:	85 c0                	test   %eax,%eax
58b25e:	75 0c                	jne    0x58b26c
58b260:	e8 bb 9d f5 ff       	call   0x4e5020
58b265:	89 47 08             	mov    %eax,0x8(%edi)
58b268:	85 c0                	test   %eax,%eax
58b26a:	74 e8                	je     0x58b254
58b26c:	56                   	push   %esi
58b26d:	50                   	push   %eax
58b26e:	e8 dd 9e f5 ff       	call   0x4e5150
58b273:	83 c4 08             	add    $0x8,%esp
58b276:	85 c0                	test   %eax,%eax
58b278:	74 da                	je     0x58b254
58b27a:	56                   	push   %esi
58b27b:	e8 30 5c f9 ff       	call   0x520eb0
58b280:	83 c4 04             	add    $0x4,%esp
58b283:	b8 01 00 00 00       	mov    $0x1,%eax
58b288:	5f                   	pop    %edi
58b289:	5e                   	pop    %esi
58b28a:	c3                   	ret
58b28b:	cc                   	int3
58b28c:	cc                   	int3
58b28d:	cc                   	int3
58b28e:	cc                   	int3
58b28f:	cc                   	int3
58b290:	8b 44 24 04          	mov    0x4(%esp),%eax
58b294:	83 f8 09             	cmp    $0x9,%eax
58b297:	72 03                	jb     0x58b29c
58b299:	33 c0                	xor    %eax,%eax
58b29b:	c3                   	ret
58b29c:	8d 04 c5 78 48 66 00 	lea    0x664878(,%eax,8),%eax
58b2a3:	c3                   	ret
58b2a4:	cc                   	int3
58b2a5:	cc                   	int3
58b2a6:	cc                   	int3
58b2a7:	cc                   	int3
58b2a8:	cc                   	int3
58b2a9:	cc                   	int3
58b2aa:	cc                   	int3
58b2ab:	cc                   	int3
58b2ac:	cc                   	int3
58b2ad:	cc                   	int3
58b2ae:	cc                   	int3
58b2af:	cc                   	int3
58b2b0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
58b2b4:	33 c0                	xor    %eax,%eax
58b2b6:	39 0c c5 78 48 66 00 	cmp    %ecx,0x664878(,%eax,8)
58b2bd:	74 09                	je     0x58b2c8
58b2bf:	40                   	inc    %eax
58b2c0:	83 f8 09             	cmp    $0x9,%eax
58b2c3:	72 f1                	jb     0x58b2b6
58b2c5:	33 c0                	xor    %eax,%eax
58b2c7:	c3                   	ret
58b2c8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
58b2cc:	89 01                	mov    %eax,(%ecx)
58b2ce:	b8 01 00 00 00       	mov    $0x1,%eax
58b2d3:	c3                   	ret
58b2d4:	cc                   	int3
58b2d5:	cc                   	int3
58b2d6:	cc                   	int3
58b2d7:	cc                   	int3
58b2d8:	cc                   	int3
58b2d9:	cc                   	int3
58b2da:	cc                   	int3
58b2db:	cc                   	int3
58b2dc:	cc                   	int3
58b2dd:	cc                   	int3
58b2de:	cc                   	int3
58b2df:	cc                   	int3
58b2e0:	ff 74 24 04          	push   0x4(%esp)
58b2e4:	e8 d7 4d f6 ff       	call   0x4f00c0
58b2e9:	83 c4 04             	add    $0x4,%esp
58b2ec:	85 c0                	test   %eax,%eax
58b2ee:	74 11                	je     0x58b301
58b2f0:	33 c9                	xor    %ecx,%ecx
58b2f2:	39 04 cd 78 48 66 00 	cmp    %eax,0x664878(,%ecx,8)
58b2f9:	74 09                	je     0x58b304
58b2fb:	41                   	inc    %ecx
58b2fc:	83 f9 09             	cmp    $0x9,%ecx
58b2ff:	72 f1                	jb     0x58b2f2
58b301:	33 c0                	xor    %eax,%eax
58b303:	c3                   	ret
58b304:	8b 44 24 08          	mov    0x8(%esp),%eax
58b308:	85 c0                	test   %eax,%eax
58b30a:	74 02                	je     0x58b30e
58b30c:	89 08                	mov    %ecx,(%eax)
58b30e:	8d 04 cd 78 48 66 00 	lea    0x664878(,%ecx,8),%eax
58b315:	c3                   	ret
58b316:	cc                   	int3
58b317:	cc                   	int3
58b318:	cc                   	int3
58b319:	cc                   	int3
58b31a:	cc                   	int3
58b31b:	cc                   	int3
58b31c:	cc                   	int3
58b31d:	cc                   	int3
58b31e:	cc                   	int3
58b31f:	cc                   	int3
58b320:	53                   	push   %ebx
58b321:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
58b325:	55                   	push   %ebp
58b326:	56                   	push   %esi
58b327:	57                   	push   %edi
58b328:	85 db                	test   %ebx,%ebx
58b32a:	74 47                	je     0x58b373
58b32c:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58b330:	33 c9                	xor    %ecx,%ecx
58b332:	8d 75 14             	lea    0x14(%ebp),%esi
58b335:	8b c6                	mov    %esi,%eax
58b337:	39 18                	cmp    %ebx,(%eax)
58b339:	75 06                	jne    0x58b341
58b33b:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
58b33f:	75 39                	jne    0x58b37a
58b341:	41                   	inc    %ecx
58b342:	83 c0 14             	add    $0x14,%eax
58b345:	83 f9 09             	cmp    $0x9,%ecx
58b348:	7c ed                	jl     0x58b337
58b34a:	33 ff                	xor    %edi,%edi
58b34c:	0f 1f 40 00          	nopl   0x0(%eax)
58b350:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
58b354:	74 14                	je     0x58b36a
58b356:	8b 06                	mov    (%esi),%eax
58b358:	85 c0                	test   %eax,%eax
58b35a:	74 0e                	je     0x58b36a
58b35c:	53                   	push   %ebx
58b35d:	50                   	push   %eax
58b35e:	e8 ad cc fc ff       	call   0x558010
58b363:	83 c4 08             	add    $0x8,%esp
58b366:	85 c0                	test   %eax,%eax
58b368:	74 1d                	je     0x58b387
58b36a:	47                   	inc    %edi
58b36b:	83 c6 14             	add    $0x14,%esi
58b36e:	83 ff 09             	cmp    $0x9,%edi
58b371:	7c dd                	jl     0x58b350
58b373:	5f                   	pop    %edi
58b374:	5e                   	pop    %esi
58b375:	5d                   	pop    %ebp
58b376:	33 c0                	xor    %eax,%eax
58b378:	5b                   	pop    %ebx
58b379:	c3                   	ret
58b37a:	5f                   	pop    %edi
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