475090:	75 74                	jne    0x475106
475092:	8b 4e 08             	mov    0x8(%esi),%ecx
475095:	80 79 44 00          	cmpb   $0x0,0x44(%ecx)
475099:	75 16                	jne    0x4750b1
47509b:	c6 41 44 01          	movb   $0x1,0x44(%ecx)
47509f:	8b ca                	mov    %edx,%ecx
4750a1:	56                   	push   %esi
4750a2:	c6 46 44 00          	movb   $0x0,0x44(%esi)
4750a6:	e8 4b fe ff ff       	call   0x474ef6
4750ab:	8b 4e 08             	mov    0x8(%esi),%ecx
4750ae:	8b 55 a4             	mov    -0x5c(%ebp),%edx
4750b1:	80 79 45 00          	cmpb   $0x0,0x45(%ecx)
4750b5:	0f 85 81 00 00 00    	jne    0x47513c
4750bb:	8b 01                	mov    (%ecx),%eax
4750bd:	80 78 44 01          	cmpb   $0x1,0x44(%eax)
4750c1:	75 09                	jne    0x4750cc
4750c3:	8b 41 08             	mov    0x8(%ecx),%eax
4750c6:	80 78 44 01          	cmpb   $0x1,0x44(%eax)
4750ca:	74 6c                	je     0x475138
4750cc:	8b 41 08             	mov    0x8(%ecx),%eax
4750cf:	80 78 44 01          	cmpb   $0x1,0x44(%eax)
4750d3:	75 15                	jne    0x4750ea
4750d5:	8b 01                	mov    (%ecx),%eax
4750d7:	51                   	push   %ecx
4750d8:	c6 40 44 01          	movb   $0x1,0x44(%eax)
4750dc:	c6 41 44 00          	movb   $0x0,0x44(%ecx)
4750e0:	8b ca                	mov    %edx,%ecx
4750e2:	e8 c6 fd ff ff       	call   0x474ead
4750e7:	8b 4e 08             	mov    0x8(%esi),%ecx
4750ea:	8a 46 44             	mov    0x44(%esi),%al
4750ed:	88 41 44             	mov    %al,0x44(%ecx)
4750f0:	c6 46 44 01          	movb   $0x1,0x44(%esi)
4750f4:	8b 41 08             	mov    0x8(%ecx),%eax
4750f7:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4750fa:	56                   	push   %esi
4750fb:	c6 40 44 01          	movb   $0x1,0x44(%eax)
4750ff:	e8 f2 fd ff ff       	call   0x474ef6
475104:	eb 4a                	jmp    0x475150
475106:	80 79 44 00          	cmpb   $0x0,0x44(%ecx)
47510a:	75 15                	jne    0x475121
47510c:	c6 41 44 01          	movb   $0x1,0x44(%ecx)
475110:	8b ca                	mov    %edx,%ecx
475112:	56                   	push   %esi
475113:	c6 46 44 00          	movb   $0x0,0x44(%esi)
475117:	e8 91 fd ff ff       	call   0x474ead
47511c:	8b 0e                	mov    (%esi),%ecx
47511e:	8b 55 a4             	mov    -0x5c(%ebp),%edx
475121:	80 79 45 00          	cmpb   $0x0,0x45(%ecx)
475125:	75 15                	jne    0x47513c
475127:	8b 41 08             	mov    0x8(%ecx),%eax
47512a:	80 78 44 01          	cmpb   $0x1,0x44(%eax)
47512e:	75 62                	jne    0x475192
475130:	8b 01                	mov    (%ecx),%eax
475132:	80 78 44 01          	cmpb   $0x1,0x44(%eax)
475136:	75 5a                	jne    0x475192
475138:	c6 41 44 00          	movb   $0x0,0x44(%ecx)
47513c:	8b 42 04             	mov    0x4(%edx),%eax
47513f:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
475142:	8b f9                	mov    %ecx,%edi
475144:	8b 76 04             	mov    0x4(%esi),%esi
475147:	3b 48 04             	cmp    0x4(%eax),%ecx
47514a:	0f 85 2f ff ff ff    	jne    0x47507f
475150:	c6 47 44 01          	movb   $0x1,0x44(%edi)
475154:	6a 00                	push   $0x0
475156:	6a 01                	push   $0x1
475158:	8d 4b 28             	lea    0x28(%ebx),%ecx
47515b:	e8 64 76 fa ff       	call   0x41c7c4
475160:	6a 00                	push   $0x0
475162:	6a 01                	push   $0x1
475164:	8d 4b 0c             	lea    0xc(%ebx),%ecx
475167:	e8 58 76 fa ff       	call   0x41c7c4
47516c:	53                   	push   %ebx
47516d:	ff 15 10 74 4a 00    	call   *0x4a7410
475173:	8b 45 a4             	mov    -0x5c(%ebp),%eax
475176:	59                   	pop    %ecx
475177:	8b 48 08             	mov    0x8(%eax),%ecx
47517a:	85 c9                	test   %ecx,%ecx
47517c:	74 04                	je     0x475182
47517e:	49                   	dec    %ecx
47517f:	89 48 08             	mov    %ecx,0x8(%eax)
475182:	8b 45 98             	mov    -0x68(%ebp),%eax
475185:	8b 4d 0c             	mov    0xc(%ebp),%ecx
475188:	89 08                	mov    %ecx,(%eax)
47518a:	e8 26 b3 01 00       	call   0x4904b5
47518f:	c2 08 00             	ret    $0x8
475192:	8b 01                	mov    (%ecx),%eax
475194:	80 78 44 01          	cmpb   $0x1,0x44(%eax)
475198:	75 15                	jne    0x4751af
47519a:	8b 41 08             	mov    0x8(%ecx),%eax
47519d:	51                   	push   %ecx
47519e:	c6 40 44 01          	movb   $0x1,0x44(%eax)
4751a2:	c6 41 44 00          	movb   $0x0,0x44(%ecx)
4751a6:	8b ca                	mov    %edx,%ecx
4751a8:	e8 49 fd ff ff       	call   0x474ef6
4751ad:	8b 0e                	mov    (%esi),%ecx
4751af:	8a 46 44             	mov    0x44(%esi),%al
4751b2:	88 41 44             	mov    %al,0x44(%ecx)
4751b5:	c6 46 44 01          	movb   $0x1,0x44(%esi)
4751b9:	8b 01                	mov    (%ecx),%eax
4751bb:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4751be:	56                   	push   %esi
4751bf:	c6 40 44 01          	movb   $0x1,0x44(%eax)
4751c3:	e8 e5 fc ff ff       	call   0x474ead
4751c8:	eb 86                	jmp    0x475150
4751ca:	68 a4 f9 40 00       	push   $0x40f9a4
4751cf:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4751d2:	e8 b5 6c fa ff       	call   0x41be8c
4751d7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4751db:	8d 45 d0             	lea    -0x30(%ebp),%eax
4751de:	6a 00                	push   $0x0
4751e0:	50                   	push   %eax
4751e1:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4751e4:	e8 a1 71 fa ff       	call   0x41c38a
4751e9:	68 20 eb 49 00       	push   $0x49eb20
4751ee:	8d 45 a8             	lea    -0x58(%ebp),%eax
4751f1:	50                   	push   %eax
4751f2:	e8 a4 b2 01 00       	call   0x49049b
4751f7:	cc                   	int3
4751f8:	8b ff                	mov    %edi,%edi
4751fa:	55                   	push   %ebp
4751fb:	8b ec                	mov    %esp,%ebp
4751fd:	53                   	push   %ebx
4751fe:	56                   	push   %esi
4751ff:	8b 75 08             	mov    0x8(%ebp),%esi
475202:	8b d9                	mov    %ecx,%ebx
475204:	57                   	push   %edi
475205:	8b fe                	mov    %esi,%edi
475207:	80 7e 2d 00          	cmpb   $0x0,0x2d(%esi)
47520b:	75 28                	jne    0x475235
47520d:	ff 77 08             	push   0x8(%edi)
475210:	8b cb                	mov    %ebx,%ecx
475212:	e8 e1 ff ff ff       	call   0x4751f8
475217:	8b 3f                	mov    (%edi),%edi
475219:	8d 4e 10             	lea    0x10(%esi),%ecx
47521c:	6a 00                	push   $0x0
47521e:	6a 01                	push   $0x1
475220:	e8 9f 75 fa ff       	call   0x41c7c4
475225:	56                   	push   %esi
475226:	ff 15 10 74 4a 00    	call   *0x4a7410
47522c:	80 7f 2d 00          	cmpb   $0x0,0x2d(%edi)
475230:	8b f7                	mov    %edi,%esi
475232:	59                   	pop    %ecx
475233:	74 d8                	je     0x47520d
475235:	5f                   	pop    %edi
475236:	5e                   	pop    %esi
475237:	5b                   	pop    %ebx
475238:	5d                   	pop    %ebp
475239:	c2 04 00             	ret    $0x4
47523c:	8b ff                	mov    %edi,%edi
47523e:	55                   	push   %ebp
47523f:	8b ec                	mov    %esp,%ebp
475241:	53                   	push   %ebx
475242:	56                   	push   %esi
475243:	8b 75 08             	mov    0x8(%ebp),%esi
475246:	8b d9                	mov    %ecx,%ebx
475248:	57                   	push   %edi
475249:	8b fe                	mov    %esi,%edi
47524b:	80 7e 2d 00          	cmpb   $0x0,0x2d(%esi)
47524f:	75 28                	jne    0x475279
475251:	ff 77 08             	push   0x8(%edi)
475254:	8b cb                	mov    %ebx,%ecx
475256:	e8 e1 ff ff ff       	call   0x47523c
47525b:	8b 3f                	mov    (%edi),%edi
47525d:	8d 4e 0c             	lea    0xc(%esi),%ecx
475260:	6a 00                	push   $0x0
475262:	6a 01                	push   $0x1
475264:	e8 5b 75 fa ff       	call   0x41c7c4
475269:	56                   	push   %esi
47526a:	ff 15 10 74 4a 00    	call   *0x4a7410
475270:	80 7f 2d 00          	cmpb   $0x0,0x2d(%edi)
475274:	8b f7                	mov    %edi,%esi
475276:	59                   	pop    %ecx
475277:	74 d8                	je     0x475251
475279:	5f                   	pop    %edi
47527a:	5e                   	pop    %esi
47527b:	5b                   	pop    %ebx
47527c:	5d                   	pop    %ebp
47527d:	c2 04 00             	ret    $0x4
475280:	8b ff                	mov    %edi,%edi
475282:	55                   	push   %ebp
475283:	8b ec                	mov    %esp,%ebp
475285:	51                   	push   %ecx
475286:	53                   	push   %ebx
475287:	57                   	push   %edi
475288:	8b 7d 08             	mov    0x8(%ebp),%edi
47528b:	8b c1                	mov    %ecx,%eax
47528d:	89 45 fc             	mov    %eax,-0x4(%ebp)
475290:	8b df                	mov    %edi,%ebx
475292:	80 7f 45 00          	cmpb   $0x0,0x45(%edi)
475296:	75 39                	jne    0x4752d1
475298:	56                   	push   %esi
475299:	ff 73 08             	push   0x8(%ebx)
47529c:	8b c8                	mov    %eax,%ecx
47529e:	e8 dd ff ff ff       	call   0x475280
4752a3:	8b 1b                	mov    (%ebx),%ebx
4752a5:	8d 4f 28             	lea    0x28(%edi),%ecx
4752a8:	6a 00                	push   $0x0
4752aa:	6a 01                	push   $0x1
4752ac:	e8 13 75 fa ff       	call   0x41c7c4
4752b1:	6a 00                	push   $0x0
4752b3:	6a 01                	push   $0x1
4752b5:	8d 4f 0c             	lea    0xc(%edi),%ecx
4752b8:	e8 07 75 fa ff       	call   0x41c7c4
4752bd:	57                   	push   %edi
4752be:	ff 15 10 74 4a 00    	call   *0x4a7410
4752c4:	80 7b 45 00          	cmpb   $0x0,0x45(%ebx)
4752c8:	8b fb                	mov    %ebx,%edi
4752ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4752cd:	59                   	pop    %ecx
4752ce:	74 c9                	je     0x475299
4752d0:	5e                   	pop    %esi
4752d1:	5f                   	pop    %edi
4752d2:	5b                   	pop    %ebx
4752d3:	c9                   	leave
4752d4:	c2 04 00             	ret    $0x4
4752d7:	6a 24                	push   $0x24
4752d9:	b8 5a 3f 49 00       	mov    $0x493f5a,%eax
4752de:	e8 23 b2 01 00       	call   0x490506
4752e3:	8b f9                	mov    %ecx,%edi
4752e5:	89 7d d0             	mov    %edi,-0x30(%ebp)
4752e8:	8b 75 08             	mov    0x8(%ebp),%esi
4752eb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4752ee:	52                   	push   %edx
4752ef:	89 7d d0             	mov    %edi,-0x30(%ebp)
4752f2:	e8 e4 4c fa ff       	call   0x419fdb
4752f7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4752fb:	8b c8                	mov    %eax,%ecx
4752fd:	6a ff                	push   $0xffffffff
4752ff:	6a 00                	push   $0x0
475301:	56                   	push   %esi
475302:	e8 ef eb fa ff       	call   0x423ef6
475307:	50                   	push   %eax
475308:	8b cf                	mov    %edi,%ecx
47530a:	e8 0f 4d fa ff       	call   0x41a01e
47530f:	6a 00                	push   $0x0
475311:	6a 01                	push   $0x1
475313:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
475316:	e8 a9 74 fa ff       	call   0x41c7c4
47531b:	8b c7                	mov    %edi,%eax
47531d:	e8 93 b1 01 00       	call   0x4904b5
475322:	c3                   	ret
475323:	8b ff                	mov    %edi,%edi
475325:	55                   	push   %ebp
475326:	8b ec                	mov    %esp,%ebp
475328:	51                   	push   %ecx
475329:	8b 55 0c             	mov    0xc(%ebp),%edx
47532c:	53                   	push   %ebx
47532d:	56                   	push   %esi
47532e:	8b f1                	mov    %ecx,%esi
475330:	57                   	push   %edi
475331:	39 56 14             	cmp    %edx,0x14(%esi)
475334:	73 03                	jae    0x475339
475336:	8b 56 14             	mov    0x14(%esi),%edx
475339:	8b 4d 14             	mov    0x14(%ebp),%ecx
47533c:	8b fa                	mov    %edx,%edi
47533e:	3b d1                	cmp    %ecx,%edx
475340:	72 02                	jb     0x475344
475342:	8b f9                	mov    %ecx,%edi
475344:	83 7e 18 08          	cmpl   $0x8,0x18(%esi)
475348:	8d 46 04             	lea    0x4(%esi),%eax
47534b:	72 02                	jb     0x47534f
47534d:	8b 00                	mov    (%eax),%eax
47534f:	8b 75 10             	mov    0x10(%ebp),%esi
475352:	85 ff                	test   %edi,%edi
475354:	74 1c                	je     0x475372
475356:	2b c6                	sub    %esi,%eax
475358:	0f b7 0e             	movzwl (%esi),%ecx
47535b:	0f b7 1c 30          	movzwl (%eax,%esi,1),%ebx
47535f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
475362:	66 3b d9             	cmp    %cx,%bx
475365:	8b 4d 14             	mov    0x14(%ebp),%ecx
475368:	75 1a                	jne    0x475384
47536a:	83 c6 02             	add    $0x2,%esi
47536d:	83 ef 01             	sub    $0x1,%edi
475370:	75 e6                	jne    0x475358
475372:	33 c0                	xor    %eax,%eax
475374:	5f                   	pop    %edi
475375:	5e                   	pop    %esi
475376:	5b                   	pop    %ebx
475377:	85 c0                	test   %eax,%eax
475379:	75 1c                	jne    0x475397
47537b:	3b d1                	cmp    %ecx,%edx
47537d:	73 11                	jae    0x475390
47537f:	83 c8 ff             	or     $0xffffffff,%eax
475382:	eb 13                	jmp    0x475397
475384:	66 3b 5d fc          	cmp    -0x4(%ebp),%bx
475388:	1b c0                	sbb    %eax,%eax
47538a:	83 e0 fe             	and    $0xfffffffe,%eax
47538d:	40                   	inc    %eax
47538e:	eb e4                	jmp    0x475374
475390:	33 c0                	xor    %eax,%eax
475392:	3b d1                	cmp    %ecx,%edx
475394:	0f 95 c0             	setne  %al
475397:	c9                   	leave
475398:	c2 10 00             	ret    $0x10
47539b:	6a 08                	push   $0x8
47539d:	b8 e3 5e 49 00       	mov    $0x495ee3,%eax
4753a2:	e8 2c b1 01 00       	call   0x4904d3
4753a7:	8b f1                	mov    %ecx,%esi
4753a9:	89 75 f0             	mov    %esi,-0x10(%ebp)
4753ac:	33 ff                	xor    %edi,%edi
4753ae:	c7 46 24 07 00 00 00 	movl   $0x7,0x24(%esi)
4753b5:	33 c0                	xor    %eax,%eax
4753b7:	89 7e 20             	mov    %edi,0x20(%esi)
4753ba:	66 89 46 10          	mov    %ax,0x10(%esi)
4753be:	8b 45 08             	mov    0x8(%ebp),%eax
4753c1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4753c4:	6a 60                	push   $0x60
4753c6:	89 06                	mov    %eax,(%esi)
4753c8:	c7 46 28 05 00 00 00 	movl   $0x5,0x28(%esi)
4753cf:	c7 46 2c 2c 01 00 00 	movl   $0x12c,0x2c(%esi)
4753d6:	89 7e 30             	mov    %edi,0x30(%esi)
4753d9:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
4753e0:	ff 15 14 74 4a 00    	call   *0x4a7414
4753e6:	59                   	pop    %ecx
4753e7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4753ea:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4753ee:	85 c0                	test   %eax,%eax
4753f0:	74 0c                	je     0x4753fe
4753f2:	ff 75 0c             	push   0xc(%ebp)
4753f5:	8b c8                	mov    %eax,%ecx
4753f7:	e8 6e d2 ff ff       	call   0x47266a
4753fc:	8b f8                	mov    %eax,%edi
4753fe:	89 7e 04             	mov    %edi,0x4(%esi)
475401:	8b c6                	mov    %esi,%eax
475403:	e8 99 b0 01 00       	call   0x4904a1
475408:	c2 10 00             	ret    $0x10
47540b:	69 41 28 e8 03 00 00 	imul   $0x3e8,0x28(%ecx),%eax
475412:	56                   	push   %esi
475413:	33 f6                	xor    %esi,%esi
475415:	56                   	push   %esi
475416:	50                   	push   %eax
475417:	51                   	push   %ecx
475418:	68 10 58 47 00       	push   $0x475810
47541d:	ff 15 cc 72 4a 00    	call   *0x4a72cc
475423:	85 c0                	test   %eax,%eax
475425:	75 01                	jne    0x475428
475427:	46                   	inc    %esi
475428:	8b c6                	mov    %esi,%eax
47542a:	5e                   	pop    %esi
47542b:	c3                   	ret
47542c:	6a 60                	push   $0x60
47542e:	b8 27 5f 49 00       	mov    $0x495f27,%eax
475433:	e8 ce b0 01 00       	call   0x490506
475438:	8b f9                	mov    %ecx,%edi
47543a:	33 db                	xor    %ebx,%ebx
47543c:	89 5d 98             	mov    %ebx,-0x68(%ebp)
47543f:	8b 37                	mov    (%edi),%esi
475441:	68 80 fa 40 00       	push   $0x40fa80
475446:	8d 4d d4             	lea    -0x2c(%ebp),%ecx