87b2b0:	74 14                	je     0x87b2c6
87b2b2:	39 75 0c             	cmp    %esi,0xc(%ebp)
87b2b5:	72 0f                	jb     0x87b2c6
87b2b7:	56                   	push   %esi
87b2b8:	57                   	push   %edi
87b2b9:	50                   	push   %eax
87b2ba:	e8 c3 93 b9 ff       	call   0x414682
87b2bf:	83 c4 0c             	add    $0xc,%esp
87b2c2:	33 c0                	xor    %eax,%eax
87b2c4:	eb 36                	jmp    0x87b2fc
87b2c6:	ff 75 0c             	push   0xc(%ebp)
87b2c9:	6a 00                	push   $0x0
87b2cb:	50                   	push   %eax
87b2cc:	e8 e7 94 b9 ff       	call   0x4147b8
87b2d1:	83 c4 0c             	add    $0xc,%esp
87b2d4:	85 ff                	test   %edi,%edi
87b2d6:	75 09                	jne    0x87b2e1
87b2d8:	e8 92 35 bc ff       	call   0x43e86f
87b2dd:	6a 16                	push   $0x16
87b2df:	eb 0c                	jmp    0x87b2ed
87b2e1:	39 75 0c             	cmp    %esi,0xc(%ebp)
87b2e4:	73 13                	jae    0x87b2f9
87b2e6:	e8 84 35 bc ff       	call   0x43e86f
87b2eb:	6a 22                	push   $0x22
87b2ed:	5e                   	pop    %esi
87b2ee:	89 30                	mov    %esi,(%eax)
87b2f0:	e8 03 40 ba ff       	call   0x41f2f8
87b2f5:	8b c6                	mov    %esi,%eax
87b2f7:	eb 03                	jmp    0x87b2fc
87b2f9:	6a 16                	push   $0x16
87b2fb:	58                   	pop    %eax
87b2fc:	5f                   	pop    %edi
87b2fd:	5e                   	pop    %esi
87b2fe:	5d                   	pop    %ebp
87b2ff:	c3                   	ret
87b300:	cc                   	int3
87b301:	cc                   	int3
87b302:	cc                   	int3
87b303:	cc                   	int3
87b304:	cc                   	int3
87b305:	cc                   	int3
87b306:	cc                   	int3
87b307:	cc                   	int3
87b308:	cc                   	int3
87b309:	cc                   	int3
87b30a:	cc                   	int3
87b30b:	cc                   	int3
87b30c:	cc                   	int3
87b30d:	cc                   	int3
87b30e:	cc                   	int3
87b30f:	cc                   	int3
87b310:	cc                   	int3
87b311:	cc                   	int3
87b312:	cc                   	int3
87b313:	cc                   	int3
87b314:	cc                   	int3
87b315:	cc                   	int3
87b316:	cc                   	int3
87b317:	cc                   	int3
87b318:	cc                   	int3
87b319:	cc                   	int3
87b31a:	cc                   	int3
87b31b:	cc                   	int3
87b31c:	cc                   	int3
87b31d:	cc                   	int3
87b31e:	cc                   	int3
87b31f:	55                   	push   %ebp
87b320:	8b ec                	mov    %esp,%ebp
87b322:	8b 45 14             	mov    0x14(%ebp),%eax
87b325:	56                   	push   %esi
87b326:	85 c0                	test   %eax,%eax
87b328:	74 3c                	je     0x87b366
87b32a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
87b32e:	75 13                	jne    0x87b343
87b330:	e8 3a 35 bc ff       	call   0x43e86f
87b335:	6a 16                	push   $0x16
87b337:	5e                   	pop    %esi
87b338:	89 30                	mov    %esi,(%eax)
87b33a:	e8 b9 3f ba ff       	call   0x41f2f8
87b33f:	8b c6                	mov    %esi,%eax
87b341:	eb 25                	jmp    0x87b368
87b343:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
87b347:	74 e7                	je     0x87b330
87b349:	39 45 0c             	cmp    %eax,0xc(%ebp)
87b34c:	73 09                	jae    0x87b357
87b34e:	e8 1c 35 bc ff       	call   0x43e86f
87b353:	6a 22                	push   $0x22
87b355:	eb e0                	jmp    0x87b337
87b357:	50                   	push   %eax
87b358:	ff 75 10             	push   0x10(%ebp)
87b35b:	ff 75 08             	push   0x8(%ebp)
87b35e:	e8 1f 38 ba ff       	call   0x41eb82
87b363:	83 c4 0c             	add    $0xc,%esp
87b366:	33 c0                	xor    %eax,%eax
87b368:	5e                   	pop    %esi
87b369:	5d                   	pop    %ebp
87b36a:	c3                   	ret
87b36b:	cc                   	int3
87b36c:	cc                   	int3
87b36d:	cc                   	int3
87b36e:	cc                   	int3
87b36f:	cc                   	int3
87b370:	cc                   	int3
87b371:	cc                   	int3
87b372:	cc                   	int3
87b373:	cc                   	int3
87b374:	cc                   	int3
87b375:	cc                   	int3
87b376:	cc                   	int3
87b377:	cc                   	int3
87b378:	cc                   	int3
87b379:	cc                   	int3
87b37a:	cc                   	int3
87b37b:	cc                   	int3
87b37c:	cc                   	int3
87b37d:	cc                   	int3
87b37e:	55                   	push   %ebp
87b37f:	8b ec                	mov    %esp,%ebp
87b381:	8b 45 0c             	mov    0xc(%ebp),%eax
87b384:	85 c0                	test   %eax,%eax
87b386:	74 21                	je     0x87b3a9
87b388:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
87b38c:	74 1b                	je     0x87b3a9
87b38e:	0f af 45 10          	imul   0x10(%ebp),%eax
87b392:	83 c0 08             	add    $0x8,%eax
87b395:	50                   	push   %eax
87b396:	e8 fc a3 bb ff       	call   0x435797
87b39b:	8b 55 08             	mov    0x8(%ebp),%edx
87b39e:	59                   	pop    %ecx
87b39f:	8b 0a                	mov    (%edx),%ecx
87b3a1:	89 08                	mov    %ecx,(%eax)
87b3a3:	89 02                	mov    %eax,(%edx)
87b3a5:	5d                   	pop    %ebp
87b3a6:	c2 0c 00             	ret    $0xc
87b3a9:	e8 b8 6b bb ff       	call   0x431f66
87b3ae:	cc                   	int3
87b3af:	cc                   	int3
87b3b0:	cc                   	int3
87b3b1:	cc                   	int3
87b3b2:	cc                   	int3
87b3b3:	cc                   	int3
87b3b4:	cc                   	int3
87b3b5:	cc                   	int3
87b3b6:	cc                   	int3
87b3b7:	cc                   	int3
87b3b8:	cc                   	int3
87b3b9:	cc                   	int3
87b3ba:	cc                   	int3
87b3bb:	85 c9                	test   %ecx,%ecx
87b3bd:	74 11                	je     0x87b3d0
87b3bf:	56                   	push   %esi
87b3c0:	8b 31                	mov    (%ecx),%esi
87b3c2:	51                   	push   %ecx
87b3c3:	e8 4a 32 bc ff       	call   0x43e612
87b3c8:	59                   	pop    %ecx
87b3c9:	8b ce                	mov    %esi,%ecx
87b3cb:	85 f6                	test   %esi,%esi
87b3cd:	75 f1                	jne    0x87b3c0
87b3cf:	5e                   	pop    %esi
87b3d0:	c3                   	ret
87b3d1:	cc                   	int3
87b3d2:	cc                   	int3
87b3d3:	cc                   	int3
87b3d4:	cc                   	int3
87b3d5:	cc                   	int3
87b3d6:	55                   	push   %ebp
87b3d7:	8b ec                	mov    %esp,%ebp
87b3d9:	8b 45 08             	mov    0x8(%ebp),%eax
87b3dc:	56                   	push   %esi
87b3dd:	8b f1                	mov    %ecx,%esi
87b3df:	ff 70 04             	push   0x4(%eax)
87b3e2:	e8 24 f1 b8 ff       	call   0x40a50b
87b3e7:	50                   	push   %eax
87b3e8:	8b ce                	mov    %esi,%ecx
87b3ea:	e8 68 be b8 ff       	call   0x407257
87b3ef:	5e                   	pop    %esi
87b3f0:	5d                   	pop    %ebp
87b3f1:	c2 04 00             	ret    $0x4
87b3f4:	cc                   	int3
87b3f5:	cc                   	int3
87b3f6:	cc                   	int3
87b3f7:	cc                   	int3
87b3f8:	cc                   	int3
87b3f9:	cc                   	int3
87b3fa:	cc                   	int3
87b3fb:	55                   	push   %ebp
87b3fc:	8b ec                	mov    %esp,%ebp
87b3fe:	51                   	push   %ecx
87b3ff:	51                   	push   %ecx
87b400:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
87b404:	8d 45 f8             	lea    -0x8(%ebp),%eax
87b407:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
87b40b:	56                   	push   %esi
87b40c:	50                   	push   %eax
87b40d:	8d 45 fc             	lea    -0x4(%ebp),%eax
87b410:	8b f1                	mov    %ecx,%esi
87b412:	50                   	push   %eax
87b413:	e8 e9 1c ba ff       	call   0x41d101
87b418:	83 7d fc 06          	cmpl   $0x6,-0x4(%ebp)
87b41c:	59                   	pop    %ecx
87b41d:	59                   	pop    %ecx
87b41e:	8b 4d 08             	mov    0x8(%ebp),%ecx
87b421:	73 06                	jae    0x87b429
87b423:	c7 01 38 00 00 00    	movl   $0x38,(%ecx)
87b429:	8b 46 04             	mov    0x4(%esi),%eax
87b42c:	51                   	push   %ecx
87b42d:	89 41 04             	mov    %eax,0x4(%ecx)
87b430:	e8 7a 31 bb ff       	call   0x42e5af
87b435:	5e                   	pop    %esi
87b436:	8b e5                	mov    %ebp,%esp
87b438:	5d                   	pop    %ebp
87b439:	c2 04 00             	ret    $0x4
87b43c:	cc                   	int3
87b43d:	cc                   	int3
87b43e:	cc                   	int3
87b43f:	cc                   	int3
87b440:	cc                   	int3
87b441:	cc                   	int3
87b442:	cc                   	int3
87b443:	cc                   	int3
87b444:	cc                   	int3
87b445:	cc                   	int3
87b446:	cc                   	int3
87b447:	cc                   	int3
87b448:	cc                   	int3
87b449:	cc                   	int3
87b44a:	cc                   	int3
87b44b:	cc                   	int3
87b44c:	55                   	push   %ebp
87b44d:	8b ec                	mov    %esp,%ebp
87b44f:	83 ec 44             	sub    $0x44,%esp
87b452:	8b 45 0c             	mov    0xc(%ebp),%eax
87b455:	89 45 c4             	mov    %eax,-0x3c(%ebp)
87b458:	8b 45 08             	mov    0x8(%ebp),%eax
87b45b:	c7 45 bc 44 00 00 00 	movl   $0x44,-0x44(%ebp)
87b462:	8b 40 04             	mov    0x4(%eax),%eax
87b465:	89 45 c8             	mov    %eax,-0x38(%ebp)
87b468:	8b 45 10             	mov    0x10(%ebp),%eax
87b46b:	89 45 cc             	mov    %eax,-0x34(%ebp)
87b46e:	8b 45 14             	mov    0x14(%ebp),%eax
87b471:	89 45 d0             	mov    %eax,-0x30(%ebp)
87b474:	8b 45 18             	mov    0x18(%ebp),%eax
87b477:	89 45 d4             	mov    %eax,-0x2c(%ebp)
87b47a:	8b 45 1c             	mov    0x1c(%ebp),%eax
87b47d:	89 45 d8             	mov    %eax,-0x28(%ebp)
87b480:	8b 45 20             	mov    0x20(%ebp),%eax
87b483:	89 45 dc             	mov    %eax,-0x24(%ebp)
87b486:	8b 45 24             	mov    0x24(%ebp),%eax
87b489:	89 45 e0             	mov    %eax,-0x20(%ebp)
87b48c:	8b 45 30             	mov    0x30(%ebp),%eax
87b48f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
87b492:	8b 45 34             	mov    0x34(%ebp),%eax
87b495:	89 45 e8             	mov    %eax,-0x18(%ebp)
87b498:	8b 45 28             	mov    0x28(%ebp),%eax
87b49b:	89 45 ec             	mov    %eax,-0x14(%ebp)
87b49e:	8b 45 2c             	mov    0x2c(%ebp),%eax
87b4a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
87b4a4:	8b 45 38             	mov    0x38(%ebp),%eax
87b4a7:	89 45 f4             	mov    %eax,-0xc(%ebp)
87b4aa:	8b 45 3c             	mov    0x3c(%ebp),%eax
87b4ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
87b4b0:	8b 45 40             	mov    0x40(%ebp),%eax
87b4b3:	89 45 fc             	mov    %eax,-0x4(%ebp)
87b4b6:	8d 45 bc             	lea    -0x44(%ebp),%eax
87b4b9:	50                   	push   %eax
87b4ba:	e8 96 fe ba ff       	call   0x42b355
87b4bf:	8b e5                	mov    %ebp,%esp
87b4c1:	5d                   	pop    %ebp
87b4c2:	c2 3c 00             	ret    $0x3c
87b4c5:	cc                   	int3
87b4c6:	cc                   	int3
87b4c7:	cc                   	int3
87b4c8:	cc                   	int3
87b4c9:	cc                   	int3
87b4ca:	cc                   	int3
87b4cb:	cc                   	int3
87b4cc:	cc                   	int3
87b4cd:	cc                   	int3
87b4ce:	cc                   	int3
87b4cf:	cc                   	int3
87b4d0:	cc                   	int3
87b4d1:	cc                   	int3
87b4d2:	cc                   	int3
87b4d3:	cc                   	int3
87b4d4:	cc                   	int3
87b4d5:	cc                   	int3
87b4d6:	cc                   	int3
87b4d7:	cc                   	int3
87b4d8:	cc                   	int3
87b4d9:	cc                   	int3
87b4da:	cc                   	int3
87b4db:	cc                   	int3
87b4dc:	cc                   	int3
87b4dd:	cc                   	int3
87b4de:	cc                   	int3
87b4df:	cc                   	int3
87b4e0:	cc                   	int3
87b4e1:	cc                   	int3
87b4e2:	cc                   	int3
87b4e3:	6a 10                	push   $0x10
87b4e5:	68 c0 b0 d2 00       	push   $0xd2b0c0
87b4ea:	e8 85 8e bb ff       	call   0x434374
87b4ef:	33 ff                	xor    %edi,%edi
87b4f1:	89 7d e4             	mov    %edi,-0x1c(%ebp)
87b4f4:	8b 35 f4 cd d7 00    	mov    0xd7cdf4,%esi
87b4fa:	21 7d e0             	and    %edi,-0x20(%ebp)
87b4fd:	39 3d 5c c3 d7 00    	cmp    %edi,0xd7c35c
87b503:	75 0d                	jne    0x87b512
87b505:	8d 45 e0             	lea    -0x20(%ebp),%eax
87b508:	50                   	push   %eax
87b509:	e8 6b 45 b9 ff       	call   0x40fa79
87b50e:	85 c0                	test   %eax,%eax
87b510:	74 3c                	je     0x87b54e
87b512:	21 7d fc             	and    %edi,-0x4(%ebp)
87b515:	85 f6                	test   %esi,%esi
87b517:	75 16                	jne    0x87b52f
87b519:	68 28 39 c4 00       	push   $0xc43928
87b51e:	e8 06 52 bb ff       	call   0x430729
87b523:	8b f0                	mov    %eax,%esi
87b525:	85 f6                	test   %esi,%esi
87b527:	74 17                	je     0x87b540
87b529:	89 35 f4 cd d7 00    	mov    %esi,0xd7cdf4
87b52f:	ff 75 08             	push   0x8(%ebp)
87b532:	8b ce                	mov    %esi,%ecx
87b534:	e8 2c 11 bb ff       	call   0x42c665
87b539:	ff d6                	call   *%esi
87b53b:	8b f8                	mov    %eax,%edi
87b53d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
87b540:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
87b547:	e8 0d 00 00 00       	call   0x87b559
87b54c:	8b c7                	mov    %edi,%eax
87b54e:	e8 62 e4 ba ff       	call   0x4299b5
87b553:	c2 04 00             	ret    $0x4
87b556:	8b 7d e4             	mov    -0x1c(%ebp),%edi
87b559:	83 3d 5c c3 d7 00 00 	cmpl   $0x0,0xd7c35c
87b560:	75 2c                	jne    0x87b58e
87b562:	33 db                	xor    %ebx,%ebx
87b564:	85 ff                	test   %edi,%edi
87b566:	0f 94 c3             	sete   %bl
87b569:	85 db                	test   %ebx,%ebx
87b56b:	74 0a                	je     0x87b577
87b56d:	ff 15 d4 36 d8 00    	call   *0xd836d4
87b573:	8b f0                	mov    %eax,%esi
87b575:	eb 02                	jmp    0x87b579
87b577:	33 f6                	xor    %esi,%esi
87b579:	ff 75 e0             	push   -0x20(%ebp)
87b57c:	6a 00                	push   $0x0
87b57e:	e8 12 6f b9 ff       	call   0x412495
87b583:	85 db                	test   %ebx,%ebx
87b585:	74 07                	je     0x87b58e