42b1fa:	7e 34                	jle    0x42b230
42b1fc:	3b 56 30             	cmp    0x30(%esi),%edx
42b1ff:	7f 03                	jg     0x42b204
42b201:	8b 56 30             	mov    0x30(%esi),%edx
42b204:	3b 4e 2c             	cmp    0x2c(%esi),%ecx
42b207:	7f 03                	jg     0x42b20c
42b209:	8b 4e 2c             	mov    0x2c(%esi),%ecx
42b20c:	6a 01                	push   $0x1
42b20e:	68 98 fd 40 00       	push   $0x40fd98
42b213:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42b216:	89 55 f8             	mov    %edx,-0x8(%ebp)
42b219:	e8 37 e5 03 00       	call   0x469755
42b21e:	8d 45 f4             	lea    -0xc(%ebp),%eax
42b221:	50                   	push   %eax
42b222:	51                   	push   %ecx
42b223:	8b 4e 04             	mov    0x4(%esi),%ecx
42b226:	e8 dc 46 ff ff       	call   0x41f907
42b22b:	e8 02 e6 03 00       	call   0x469832
42b230:	6a 07                	push   $0x7
42b232:	58                   	pop    %eax
42b233:	5e                   	pop    %esi
42b234:	c9                   	leave
42b235:	c2 04 00             	ret    $0x4
42b238:	8b ff                	mov    %edi,%edi
42b23a:	51                   	push   %ecx
42b23b:	ff 15 18 81 4a 00    	call   *0x4a8118
42b241:	c3                   	ret
42b242:	8b ff                	mov    %edi,%edi
42b244:	55                   	push   %ebp
42b245:	8b ec                	mov    %esp,%ebp
42b247:	83 ec 18             	sub    $0x18,%esp
42b24a:	53                   	push   %ebx
42b24b:	56                   	push   %esi
42b24c:	57                   	push   %edi
42b24d:	8d 45 fc             	lea    -0x4(%ebp),%eax
42b250:	33 ff                	xor    %edi,%edi
42b252:	50                   	push   %eax
42b253:	8b f2                	mov    %edx,%esi
42b255:	89 7d fc             	mov    %edi,-0x4(%ebp)
42b258:	66 8b d9             	mov    %cx,%bx
42b25b:	ff 15 1c 81 4a 00    	call   *0x4a811c
42b261:	85 c0                	test   %eax,%eax
42b263:	78 5a                	js     0x42b2bf
42b265:	83 4d f4 ff          	orl    $0xffffffff,-0xc(%ebp)
42b269:	8d 4d e8             	lea    -0x18(%ebp),%ecx
42b26c:	33 c0                	xor    %eax,%eax
42b26e:	66 89 5d e8          	mov    %bx,-0x18(%ebp)
42b272:	8b 5d 08             	mov    0x8(%ebp),%ebx
42b275:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
42b279:	8b 45 fc             	mov    -0x4(%ebp),%eax
42b27c:	89 7d ea             	mov    %edi,-0x16(%ebp)
42b27f:	89 33                	mov    %esi,(%ebx)
42b281:	89 75 f8             	mov    %esi,-0x8(%ebp)
42b284:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
42b28b:	8b 30                	mov    (%eax),%esi
42b28d:	53                   	push   %ebx
42b28e:	51                   	push   %ecx
42b28f:	50                   	push   %eax
42b290:	8b 4e 0c             	mov    0xc(%esi),%ecx
42b293:	ff 15 2c 81 4a 00    	call   *0x4a812c
42b299:	ff 56 0c             	call   *0xc(%esi)
42b29c:	85 c0                	test   %eax,%eax
42b29e:	78 05                	js     0x42b2a5
42b2a0:	8b 7b 04             	mov    0x4(%ebx),%edi
42b2a3:	eb 07                	jmp    0x42b2ac
42b2a5:	53                   	push   %ebx
42b2a6:	ff 15 18 81 4a 00    	call   *0x4a8118
42b2ac:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42b2af:	51                   	push   %ecx
42b2b0:	8b 11                	mov    (%ecx),%edx
42b2b2:	8b 72 08             	mov    0x8(%edx),%esi
42b2b5:	8b ce                	mov    %esi,%ecx
42b2b7:	ff 15 2c 81 4a 00    	call   *0x4a812c
42b2bd:	ff d6                	call   *%esi
42b2bf:	8b c7                	mov    %edi,%eax
42b2c1:	5f                   	pop    %edi
42b2c2:	5e                   	pop    %esi
42b2c3:	5b                   	pop    %ebx
42b2c4:	c9                   	leave
42b2c5:	c2 04 00             	ret    $0x4
42b2c8:	68 0c 01 00 00       	push   $0x10c
42b2cd:	b8 1f 24 49 00       	mov    $0x49241f,%eax
42b2d2:	e8 2f 52 06 00       	call   0x490506
42b2d7:	8b f1                	mov    %ecx,%esi
42b2d9:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
42b2df:	ff 15 58 75 4a 00    	call   *0x4a7558
42b2e5:	8b 48 04             	mov    0x4(%eax),%ecx
42b2e8:	ff 15 a0 75 4a 00    	call   *0x4a75a0
42b2ee:	33 db                	xor    %ebx,%ebx
42b2f0:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42b2f3:	66 39 5e 70          	cmp    %bx,0x70(%esi)
42b2f7:	75 0f                	jne    0x42b308
42b2f9:	68 b4 fd 40 00       	push   $0x40fdb4
42b2fe:	ff 15 dc 7c 4a 00    	call   *0x4a7cdc
42b304:	66 89 46 70          	mov    %ax,0x70(%esi)
42b308:	8b c3                	mov    %ebx,%eax
42b30a:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
42b310:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
42b316:	8d bd e8 fe ff ff    	lea    -0x118(%ebp),%edi
42b31c:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
42b322:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
42b328:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
42b32e:	33 c0                	xor    %eax,%eax
42b330:	ab                   	stos   %eax,%es:(%edi)
42b331:	89 9d 50 ff ff ff    	mov    %ebx,-0xb0(%ebp)
42b337:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
42b33d:	89 9d 28 ff ff ff    	mov    %ebx,-0xd8(%ebp)
42b343:	ab                   	stos   %eax,%es:(%edi)
42b344:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
42b34a:	89 9d 54 ff ff ff    	mov    %ebx,-0xac(%ebp)
42b350:	89 9d 4c ff ff ff    	mov    %ebx,-0xb4(%ebp)
42b356:	89 9d 64 ff ff ff    	mov    %ebx,-0x9c(%ebp)
42b35c:	89 9d 3c ff ff ff    	mov    %ebx,-0xc4(%ebp)
42b362:	ab                   	stos   %eax,%es:(%edi)
42b363:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
42b369:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42b36d:	50                   	push   %eax
42b36e:	6a 10                	push   $0x10
42b370:	5a                   	pop    %edx
42b371:	6a 09                	push   $0x9
42b373:	59                   	pop    %ecx
42b374:	e8 c9 fe ff ff       	call   0x42b242
42b379:	85 c0                	test   %eax,%eax
42b37b:	74 24                	je     0x42b3a1
42b37d:	50                   	push   %eax
42b37e:	c7 85 50 ff ff ff 01 	movl   $0x1,-0xb0(%ebp)
42b385:	00 00 00
42b388:	ff 15 b8 76 4a 00    	call   *0x4a76b8
42b38e:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
42b394:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
42b39a:	50                   	push   %eax
42b39b:	ff 15 18 81 4a 00    	call   *0x4a8118
42b3a1:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
42b3a7:	33 d2                	xor    %edx,%edx
42b3a9:	50                   	push   %eax
42b3aa:	6a 08                	push   $0x8
42b3ac:	42                   	inc    %edx
42b3ad:	59                   	pop    %ecx
42b3ae:	e8 8f fe ff ff       	call   0x42b242
42b3b3:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
42b3b9:	85 c0                	test   %eax,%eax
42b3bb:	0f 84 99 00 00 00    	je     0x42b45a
42b3c1:	50                   	push   %eax
42b3c2:	ff 15 54 72 4a 00    	call   *0x4a7254
42b3c8:	8b f8                	mov    %eax,%edi
42b3ca:	89 bd 64 ff ff ff    	mov    %edi,-0x9c(%ebp)
42b3d0:	85 ff                	test   %edi,%edi
42b3d2:	0f 84 8c 00 00 00    	je     0x42b464
42b3d8:	ff b5 f8 fe ff ff    	push   -0x108(%ebp)
42b3de:	ff 15 fc 71 4a 00    	call   *0x4a71fc
42b3e4:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
42b3ea:	83 f8 28             	cmp    $0x28,%eax
42b3ed:	72 75                	jb     0x42b464
42b3ef:	8b cf                	mov    %edi,%ecx
42b3f1:	e8 cb 25 00 00       	call   0x42d9c1
42b3f6:	8b f0                	mov    %eax,%esi
42b3f8:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
42b3fe:	e8 d1 25 00 00       	call   0x42d9d4
42b403:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
42b409:	85 f6                	test   %esi,%esi
42b40b:	74 51                	je     0x42b45e
42b40d:	85 c0                	test   %eax,%eax
42b40f:	74 4d                	je     0x42b45e
42b411:	8b 47 14             	mov    0x14(%edi),%eax
42b414:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
42b41a:	83 c0 28             	add    $0x28,%eax
42b41d:	39 85 48 ff ff ff    	cmp    %eax,-0xb8(%ebp)
42b423:	72 3f                	jb     0x42b464
42b425:	83 3f 28             	cmpl   $0x28,(%edi)
42b428:	c7 85 24 ff ff ff 01 	movl   $0x1,-0xdc(%ebp)
42b42f:	00 00 00
42b432:	89 9d 50 ff ff ff    	mov    %ebx,-0xb0(%ebp)
42b438:	72 2a                	jb     0x42b464
42b43a:	8b 47 18             	mov    0x18(%edi),%eax
42b43d:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
42b443:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
42b449:	8b 47 1c             	mov    0x1c(%edi),%eax
42b44c:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
42b452:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
42b458:	eb 0a                	jmp    0x42b464
42b45a:	8b fb                	mov    %ebx,%edi
42b45c:	eb 06                	jmp    0x42b464
42b45e:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
42b464:	83 bd 24 ff ff ff 00 	cmpl   $0x0,-0xdc(%ebp)
42b46b:	0f 85 5d 01 00 00    	jne    0x42b5ce
42b471:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
42b477:	50                   	push   %eax
42b478:	6a 10                	push   $0x10
42b47a:	5a                   	pop    %edx
42b47b:	6a 02                	push   $0x2
42b47d:	59                   	pop    %ecx
42b47e:	e8 bf fd ff ff       	call   0x42b242
42b483:	85 c0                	test   %eax,%eax
42b485:	0f 84 8a 00 00 00    	je     0x42b515
42b48b:	50                   	push   %eax
42b48c:	ff 15 b8 76 4a 00    	call   *0x4a76b8
42b492:	8d 8d fc fe ff ff    	lea    -0x104(%ebp),%ecx
42b498:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
42b49e:	51                   	push   %ecx
42b49f:	6a 18                	push   $0x18
42b4a1:	ff 70 04             	push   0x4(%eax)
42b4a4:	ff 15 20 71 4a 00    	call   *0x4a7120
42b4aa:	85 c0                	test   %eax,%eax
42b4ac:	74 67                	je     0x42b515
42b4ae:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
42b4b4:	c7 85 40 ff ff ff 01 	movl   $0x1,-0xc0(%ebp)
42b4bb:	00 00 00
42b4be:	50                   	push   %eax
42b4bf:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
42b4c5:	6a 54                	push   $0x54
42b4c7:	ff 70 04             	push   0x4(%eax)
42b4ca:	ff 15 20 71 4a 00    	call   *0x4a7120
42b4d0:	85 c0                	test   %eax,%eax
42b4d2:	74 1e                	je     0x42b4f2
42b4d4:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42b4d7:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
42b4dd:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
42b4e3:	8b 45 a8             	mov    -0x58(%ebp),%eax
42b4e6:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
42b4ec:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
42b4f2:	83 bd 50 ff ff ff 00 	cmpl   $0x0,-0xb0(%ebp)
42b4f9:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
42b4ff:	74 16                	je     0x42b517
42b501:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
42b507:	f7 d8                	neg    %eax
42b509:	1b c0                	sbb    %eax,%eax
42b50b:	23 c8                	and    %eax,%ecx
42b50d:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
42b513:	eb 02                	jmp    0x42b517
42b515:	8b cb                	mov    %ebx,%ecx
42b517:	85 c9                	test   %ecx,%ecx
42b519:	0f 85 af 00 00 00    	jne    0x42b5ce
42b51f:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
42b525:	50                   	push   %eax
42b526:	6a 20                	push   $0x20
42b528:	5a                   	pop    %edx
42b529:	6a 03                	push   $0x3
42b52b:	59                   	pop    %ecx
42b52c:	e8 11 fd ff ff       	call   0x42b242
42b531:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
42b537:	85 c0                	test   %eax,%eax
42b539:	0f 84 82 00 00 00    	je     0x42b5c1
42b53f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42b542:	ff 15 80 75 4a 00    	call   *0x4a7580
42b548:	53                   	push   %ebx
42b549:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42b54d:	ff 15 74 71 4a 00    	call   *0x4a7174
42b553:	50                   	push   %eax
42b554:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42b557:	ff 15 88 75 4a 00    	call   *0x4a7588
42b55d:	85 c0                	test   %eax,%eax
42b55f:	74 53                	je     0x42b5b4
42b561:	ff 76 48             	push   0x48(%esi)
42b564:	8b 55 e0             	mov    -0x20(%ebp),%edx
42b567:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
42b56d:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
42b573:	50                   	push   %eax
42b574:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
42b57a:	50                   	push   %eax
42b57b:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
42b581:	50                   	push   %eax
42b582:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
42b588:	50                   	push   %eax
42b589:	e8 3a 0a 00 00       	call   0x42bfc8
42b58e:	85 c0                	test   %eax,%eax
42b590:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
42b596:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
42b59c:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
42b5a2:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
42b5a8:	74 0a                	je     0x42b5b4
42b5aa:	c7 85 28 ff ff ff 01 	movl   $0x1,-0xd8(%ebp)
42b5b1:	00 00 00
42b5b4:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42b5b7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42b5bb:	ff 15 84 75 4a 00    	call   *0x4a7584
42b5c1:	83 bd 28 ff ff ff 00 	cmpl   $0x0,-0xd8(%ebp)
42b5c8:	0f 84 1b 07 00 00    	je     0x42bce9
42b5ce:	ff 76 48             	push   0x48(%esi)
42b5d1:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
42b5d7:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
42b5dd:	e8 04 fc ff ff       	call   0x42b1e6
42b5e2:	83 e8 06             	sub    $0x6,%eax
42b5e5:	74 0d                	je     0x42b5f4
42b5e7:	83 e8 01             	sub    $0x1,%eax
42b5ea:	74 12                	je     0x42b5fe
42b5ec:	33 db                	xor    %ebx,%ebx
42b5ee:	43                   	inc    %ebx
42b5ef:	e9 f5 06 00 00       	jmp    0x42bce9
42b5f4:	c7 85 f4 fe ff ff 01 	movl   $0x1,-0x10c(%ebp)
42b5fb:	00 00 00
42b5fe:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
42b604:	ff 15 80 75 4a 00    	call   *0x4a7580
42b60a:	83 bd 40 ff ff ff 00 	cmpl   $0x0,-0xc0(%ebp)
42b611:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
42b615:	89 9d 50 ff ff ff    	mov    %ebx,-0xb0(%ebp)
42b61b:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
42b621:	0f 84 2b 03 00 00    	je     0x42b952
42b627:	bf 1c 14 40 00       	mov    $0x40141c,%edi
42b62c:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
42b632:	89 bd 58 ff ff ff    	mov    %edi,-0xa8(%ebp)
42b638:	53                   	push   %ebx
42b639:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
42b63d:	89 9d 64 ff ff ff    	mov    %ebx,-0x9c(%ebp)
42b643:	ff 15 74 71 4a 00    	call   *0x4a7174
42b649:	50                   	push   %eax
42b64a:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
42b650:	ff 15 88 75 4a 00    	call   *0x4a7588
42b656:	85 c0                	test   %eax,%eax
42b658:	75 22                	jne    0x42b67c
42b65a:	6a 01                	push   $0x1
42b65c:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42b661:	e8 41 26 02 00       	call   0x44dca7
42b666:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
42b66c:	89 bd 58 ff ff ff    	mov    %edi,-0xa8(%ebp)
42b672:	e8 5c 47 ff ff       	call   0x41fdd3
42b677:	e9 5b 06 00 00       	jmp    0x42bcd7
42b67c:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
42b682:	85 c0                	test   %eax,%eax
42b684:	75 04                	jne    0x42b68a
42b686:	8b c3                	mov    %ebx,%eax
42b688:	eb 03                	jmp    0x42b68d
42b68a:	8b 40 04             	mov    0x4(%eax),%eax
42b68d:	50                   	push   %eax
42b68e:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
42b694:	ff 15 90 75 4a 00    	call   *0x4a7590
42b69a:	8b f0                	mov    %eax,%esi
42b69c:	89 b5 4c ff ff ff    	mov    %esi,-0xb4(%ebp)
42b6a2:	85 f6                	test   %esi,%esi
42b6a4:	74 b4                	je     0x42b65a
42b6a6:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
42b6ac:	85 c0                	test   %eax,%eax
42b6ae:	74 20                	je     0x42b6d0
42b6b0:	53                   	push   %ebx
42b6b1:	50                   	push   %eax
42b6b2:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
42b6b8:	ff 15 98 75 4a 00    	call   *0x4a7598
42b6be:	ff b5 30 ff ff ff    	push   -0xd0(%ebp)
42b6c4:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
42b6ca:	ff 15 70 71 4a 00    	call   *0x4a7170
42b6d0:	0f b7 8d 0e ff ff ff 	movzwl -0xf2(%ebp),%ecx
42b6d7:	0f b7 85 0c ff ff ff 	movzwl -0xf4(%ebp),%eax
42b6de:	53                   	push   %ebx
42b6df:	51                   	push   %ecx
42b6e0:	50                   	push   %eax
42b6e1:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
42b6e7:	ff b5 00 ff ff ff    	push   -0x100(%ebp)
42b6ed:	ff 15 5c 71 4a 00    	call   *0x4a715c
42b6f3:	50                   	push   %eax
42b6f4:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
42b6fa:	ff 15 8c 75 4a 00    	call   *0x4a758c