4771d2:	64 89 20             	mov    %esp,%fs:(%eax)
4771d5:	b2 01                	mov    $0x1,%dl
4771d7:	a1 f8 34 44 00       	mov    0x4434f8,%eax
4771dc:	e8 f3 11 fb ff       	call   0x4283d4
4771e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4771e4:	8b 96 c8 00 00 00    	mov    0xc8(%esi),%edx
4771ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4771ed:	e8 8e 01 fd ff       	call   0x447380
4771f2:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
4771f8:	e8 d3 0f fd ff       	call   0x4481d0
4771fd:	8b d0                	mov    %eax,%edx
4771ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
477202:	8b 08                	mov    (%eax),%ecx
477204:	ff 51 40             	call   *0x40(%ecx)
477207:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
47720d:	e8 02 10 fd ff       	call   0x448214
477212:	8b d0                	mov    %eax,%edx
477214:	8b 45 fc             	mov    -0x4(%ebp),%eax
477217:	8b 08                	mov    (%eax),%ecx
477219:	ff 51 34             	call   *0x34(%ecx)
47721c:	6a 00                	push   $0x0
47721e:	8b 45 fc             	mov    -0x4(%ebp),%eax
477221:	e8 72 65 fb ff       	call   0x42d798
477226:	e8 95 1a fb ff       	call   0x428cc0
47722b:	50                   	push   %eax
47722c:	6a 14                	push   $0x14
47722e:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477234:	e8 1b 7d fd ff       	call   0x44ef54
477239:	50                   	push   %eax
47723a:	e8 d1 0a f9 ff       	call   0x407d10
47723f:	6a 00                	push   $0x0
477241:	8b 45 fc             	mov    -0x4(%ebp),%eax
477244:	e8 4f 65 fb ff       	call   0x42d798
477249:	e8 72 1a fb ff       	call   0x428cc0
47724e:	50                   	push   %eax
47724f:	6a 0f                	push   $0xf
477251:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
477257:	e8 f8 7c fd ff       	call   0x44ef54
47725c:	50                   	push   %eax
47725d:	e8 ae 0a f9 ff       	call   0x407d10
477262:	68 20 00 cc 00       	push   $0xcc0020
477267:	6a 00                	push   $0x0
477269:	6a 00                	push   $0x0
47726b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47726e:	e8 25 65 fb ff       	call   0x42d798
477273:	e8 48 1a fb ff       	call   0x428cc0
477278:	50                   	push   %eax
477279:	8b 45 fc             	mov    -0x4(%ebp),%eax
47727c:	8b 10                	mov    (%eax),%edx
47727e:	ff 52 20             	call   *0x20(%edx)
477281:	50                   	push   %eax
477282:	8b 45 fc             	mov    -0x4(%ebp),%eax
477285:	8b 10                	mov    (%eax),%edx
477287:	ff 52 2c             	call   *0x2c(%edx)
47728a:	50                   	push   %eax
47728b:	6a 00                	push   $0x0
47728d:	6a 00                	push   $0x0
47728f:	8b 45 f8             	mov    -0x8(%ebp),%eax
477292:	e8 29 1a fb ff       	call   0x428cc0
477297:	50                   	push   %eax
477298:	e8 9b 01 f9 ff       	call   0x407438
47729d:	6a 00                	push   $0x0
47729f:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
4772a5:	e8 aa 7c fd ff       	call   0x44ef54
4772aa:	50                   	push   %eax
4772ab:	e8 c0 0b f9 ff       	call   0x407e70
4772b0:	33 c0                	xor    %eax,%eax
4772b2:	5a                   	pop    %edx
4772b3:	59                   	pop    %ecx
4772b4:	59                   	pop    %ecx
4772b5:	64 89 10             	mov    %edx,%fs:(%eax)
4772b8:	68 ef 72 47 00       	push   $0x4772ef
4772bd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4772c0:	e8 b3 c7 f8 ff       	call   0x403a78
4772c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4772c8:	e8 ab c7 f8 ff       	call   0x403a78
4772cd:	c3                   	ret
4772ce:	e9 39 cf f8 ff       	jmp    0x40420c
4772d3:	eb e8                	jmp    0x4772bd
4772d5:	8b c6                	mov    %esi,%eax
4772d7:	8b 10                	mov    (%eax),%edx
4772d9:	ff 52 54             	call   *0x54(%edx)
4772dc:	c6 86 bd 00 00 00 01 	movb   $0x1,0xbd(%esi)
4772e3:	8b 4f 04             	mov    0x4(%edi),%ecx
4772e6:	8b 17                	mov    (%edi),%edx
4772e8:	8b c6                	mov    %esi,%eax
4772ea:	8b 18                	mov    (%eax),%ebx
4772ec:	ff 53 30             	call   *0x30(%ebx)
4772ef:	5f                   	pop    %edi
4772f0:	5e                   	pop    %esi
4772f1:	5b                   	pop    %ebx
4772f2:	8b e5                	mov    %ebp,%esp
4772f4:	5d                   	pop    %ebp
4772f5:	c3                   	ret
4772f6:	8b c0                	mov    %eax,%eax
4772f8:	56                   	push   %esi
4772f9:	57                   	push   %edi
4772fa:	8b f2                	mov    %edx,%esi
4772fc:	8b f8                	mov    %eax,%edi
4772fe:	33 c0                	xor    %eax,%eax
477300:	89 06                	mov    %eax,(%esi)
477302:	33 c0                	xor    %eax,%eax
477304:	89 46 04             	mov    %eax,0x4(%esi)
477307:	8b d6                	mov    %esi,%edx
477309:	8b c7                	mov    %edi,%eax
47730b:	8b 08                	mov    (%eax),%ecx
47730d:	ff 51 34             	call   *0x34(%ecx)
477310:	5f                   	pop    %edi
477311:	5e                   	pop    %esi
477312:	c3                   	ret
477313:	90                   	nop
477314:	c3                   	ret
477315:	8d 40 00             	lea    0x0(%eax),%eax
477318:	33 c0                	xor    %eax,%eax
47731a:	c3                   	ret
47731b:	90                   	nop
47731c:	80 fa 02             	cmp    $0x2,%dl
47731f:	75 1c                	jne    0x47733d
477321:	c7 01 04 00 00 00    	movl   $0x4,(%ecx)
477327:	c7 41 04 02 00 00 00 	movl   $0x2,0x4(%ecx)
47732e:	c7 41 08 04 00 00 00 	movl   $0x4,0x8(%ecx)
477335:	c7 41 0c 01 00 00 00 	movl   $0x1,0xc(%ecx)
47733c:	c3                   	ret
47733d:	33 c0                	xor    %eax,%eax
47733f:	89 01                	mov    %eax,(%ecx)
477341:	33 c0                	xor    %eax,%eax
477343:	89 41 04             	mov    %eax,0x4(%ecx)
477346:	33 c0                	xor    %eax,%eax
477348:	89 41 08             	mov    %eax,0x8(%ecx)
47734b:	33 c0                	xor    %eax,%eax
47734d:	89 41 0c             	mov    %eax,0xc(%ecx)
477350:	c3                   	ret
477351:	8d 40 00             	lea    0x0(%eax),%eax
477354:	33 c0                	xor    %eax,%eax
477356:	c3                   	ret
477357:	90                   	nop
477358:	33 c0                	xor    %eax,%eax
47735a:	c3                   	ret
47735b:	90                   	nop
47735c:	a1 1c 8d 6a 00       	mov    0x6a8d1c,%eax
477361:	c3                   	ret
477362:	8b c0                	mov    %eax,%eax
477364:	55                   	push   %ebp
477365:	8b ec                	mov    %esp,%ebp
477367:	83 c4 b0             	add    $0xffffffb0,%esp
47736a:	53                   	push   %ebx
47736b:	56                   	push   %esi
47736c:	57                   	push   %edi
47736d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
477370:	8b fa                	mov    %edx,%edi
477372:	8b f0                	mov    %eax,%esi
477374:	8b c6                	mov    %esi,%eax
477376:	e8 09 d9 ff ff       	call   0x474c84
47737b:	f6 47 2c 01          	testb  $0x1,0x2c(%edi)
47737f:	74 08                	je     0x477389
477381:	c6 45 08 01          	movb   $0x1,0x8(%ebp)
477385:	80 67 2c fe          	andb   $0xfe,0x2c(%edi)
477389:	56                   	push   %esi
47738a:	57                   	push   %edi
47738b:	8d 77 04             	lea    0x4(%edi),%esi
47738e:	8d 7d d0             	lea    -0x30(%ebp),%edi
477391:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477392:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477393:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477394:	a5                   	movsl  %ds:(%esi),%es:(%edi)
477395:	5f                   	pop    %edi
477396:	5e                   	pop    %esi
477397:	80 7f 21 00          	cmpb   $0x0,0x21(%edi)
47739b:	0f 84 1d 03 00 00    	je     0x4776be
4773a1:	8d 45 d0             	lea    -0x30(%ebp),%eax
4773a4:	50                   	push   %eax
4773a5:	e8 36 08 f9 ff       	call   0x407be0
4773aa:	85 c0                	test   %eax,%eax
4773ac:	0f 85 0c 03 00 00    	jne    0x4776be
4773b2:	8b 47 1c             	mov    0x1c(%edi),%eax
4773b5:	8b 15 9c 03 47 00    	mov    0x47039c,%edx
4773bb:	e8 44 c8 f8 ff       	call   0x403c04
4773c0:	84 c0                	test   %al,%al
4773c2:	0f 85 f6 02 00 00    	jne    0x4776be
4773c8:	56                   	push   %esi
4773c9:	57                   	push   %edi
4773ca:	8d 75 d0             	lea    -0x30(%ebp),%esi
4773cd:	8d 7d c0             	lea    -0x40(%ebp),%edi
4773d0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4773d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4773d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4773d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4773d4:	5f                   	pop    %edi
4773d5:	5e                   	pop    %esi
4773d6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4773d9:	f7 d8                	neg    %eax
4773db:	50                   	push   %eax
4773dc:	8b 45 c0             	mov    -0x40(%ebp),%eax
4773df:	f7 d8                	neg    %eax
4773e1:	50                   	push   %eax
4773e2:	8d 45 c0             	lea    -0x40(%ebp),%eax
4773e5:	50                   	push   %eax
4773e6:	e8 8d 08 f9 ff       	call   0x407c78
4773eb:	3b be 8c 00 00 00    	cmp    0x8c(%esi),%edi
4773f1:	0f 94 c0             	sete   %al
4773f4:	3b be ac 00 00 00    	cmp    0xac(%esi),%edi
4773fa:	0f 94 c3             	sete   %bl
4773fd:	84 db                	test   %bl,%bl
4773ff:	74 13                	je     0x477414
477401:	84 c0                	test   %al,%al
477403:	75 13                	jne    0x477418
477405:	80 be 88 00 00 00 00 	cmpb   $0x0,0x88(%esi)
47740c:	74 06                	je     0x477414
47740e:	80 7e 40 00          	cmpb   $0x0,0x40(%esi)
477412:	75 04                	jne    0x477418
477414:	33 c0                	xor    %eax,%eax
477416:	eb 02                	jmp    0x47741a
477418:	b0 01                	mov    $0x1,%al
47741a:	88 45 eb             	mov    %al,-0x15(%ebp)
47741d:	8b c7                	mov    %edi,%eax
47741f:	8b 10                	mov    (%eax),%edx
477421:	ff 52 50             	call   *0x50(%edx)
477424:	88 45 ea             	mov    %al,-0x16(%ebp)
477427:	8b 45 fc             	mov    -0x4(%ebp),%eax
47742a:	e8 91 18 fb ff       	call   0x428cc0
47742f:	89 45 f4             	mov    %eax,-0xc(%ebp)
477432:	33 c0                	xor    %eax,%eax
477434:	89 45 f8             	mov    %eax,-0x8(%ebp)
477437:	8b 45 fc             	mov    -0x4(%ebp),%eax
47743a:	e8 8d 14 fb ff       	call   0x4288cc
47743f:	8b 45 f4             	mov    -0xc(%ebp),%eax
477442:	50                   	push   %eax
477443:	e8 a8 02 f9 ff       	call   0x4076f0
477448:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47744b:	33 d2                	xor    %edx,%edx
47744d:	55                   	push   %ebp
47744e:	68 b7 76 47 00       	push   $0x4776b7
477453:	64 ff 32             	push   %fs:(%edx)
477456:	64 89 22             	mov    %esp,%fs:(%edx)
477459:	8b 45 dc             	mov    -0x24(%ebp),%eax
47745c:	50                   	push   %eax
47745d:	8b 45 d8             	mov    -0x28(%ebp),%eax
477460:	50                   	push   %eax
477461:	8b 45 d4             	mov    -0x2c(%ebp),%eax
477464:	50                   	push   %eax
477465:	8b 45 d0             	mov    -0x30(%ebp),%eax
477468:	50                   	push   %eax
477469:	8b 45 f4             	mov    -0xc(%ebp),%eax
47746c:	50                   	push   %eax
47746d:	e8 e6 01 f9 ff       	call   0x407658
477472:	8d 45 b0             	lea    -0x50(%ebp),%eax
477475:	50                   	push   %eax
477476:	8b 45 f4             	mov    -0xc(%ebp),%eax
477479:	50                   	push   %eax
47747a:	e8 01 01 f9 ff       	call   0x407580
47747f:	8d 45 b0             	lea    -0x50(%ebp),%eax
477482:	50                   	push   %eax
477483:	e8 58 07 f9 ff       	call   0x407be0
477488:	85 c0                	test   %eax,%eax
47748a:	74 0a                	je     0x477496
47748c:	e8 5f ce f8 ff       	call   0x4042f0
477491:	e9 28 02 00 00       	jmp    0x4776be
477496:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
47749a:	75 2f                	jne    0x4774cb
47749c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
47749f:	8b 55 d0             	mov    -0x30(%ebp),%edx
4774a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4774a5:	e8 36 fc fc ff       	call   0x4470e0
4774aa:	6a 00                	push   $0x0
4774ac:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4774af:	83 e0 01             	and    $0x1,%eax
4774b2:	50                   	push   %eax
4774b3:	8b 45 d0             	mov    -0x30(%ebp),%eax
4774b6:	83 e0 01             	and    $0x1,%eax
4774b9:	50                   	push   %eax
4774ba:	8b 45 f4             	mov    -0xc(%ebp),%eax
4774bd:	50                   	push   %eax
4774be:	e8 65 02 f9 ff       	call   0x407728
4774c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4774c6:	89 45 ec             	mov    %eax,-0x14(%ebp)
4774c9:	eb 7c                	jmp    0x477547
4774cb:	b2 01                	mov    $0x1,%dl
4774cd:	a1 ec 6a 42 00       	mov    0x426aec,%eax
4774d2:	e8 f9 5c fb ff       	call   0x42d1d0
4774d7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4774da:	8b 55 c8             	mov    -0x38(%ebp),%edx
4774dd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4774e0:	8b 08                	mov    (%eax),%ecx
4774e2:	ff 51 40             	call   *0x40(%ecx)
4774e5:	8b 55 cc             	mov    -0x34(%ebp),%edx
4774e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4774eb:	8b 08                	mov    (%eax),%ecx
4774ed:	ff 51 34             	call   *0x34(%ecx)
4774f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4774f3:	e8 a0 62 fb ff       	call   0x42d798
4774f8:	89 45 ec             	mov    %eax,-0x14(%ebp)
4774fb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4774fe:	e8 bd 17 fb ff       	call   0x428cc0
477503:	89 45 f0             	mov    %eax,-0x10(%ebp)
477506:	8b 45 f0             	mov    -0x10(%ebp),%eax
477509:	50                   	push   %eax
47750a:	e8 e1 01 f9 ff       	call   0x4076f0
47750f:	89 45 e0             	mov    %eax,-0x20(%ebp)
477512:	6a 00                	push   $0x0
477514:	8b 45 d4             	mov    -0x2c(%ebp),%eax
477517:	50                   	push   %eax
477518:	8b 45 d0             	mov    -0x30(%ebp),%eax
47751b:	50                   	push   %eax
47751c:	8b 45 f0             	mov    -0x10(%ebp),%eax
47751f:	50                   	push   %eax
477520:	e8 83 02 f9 ff       	call   0x4077a8
477525:	6a 00                	push   $0x0
477527:	8b 86 c8 00 00 00    	mov    0xc8(%esi),%eax
47752d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
477530:	ba 14 00 00 00       	mov    $0x14,%edx
477535:	e8 7e 24 fd ff       	call   0x4499b8
47753a:	8b 45 e0             	mov    -0x20(%ebp),%eax
47753d:	50                   	push   %eax
47753e:	8b 45 f0             	mov    -0x10(%ebp),%eax
477541:	50                   	push   %eax
477542:	e8 99 01 f9 ff       	call   0x4076e0
477547:	8a 45 ea             	mov    -0x16(%ebp),%al
47754a:	34 01                	xor    $0x1,%al
47754c:	22 c3                	and    %bl,%al
47754e:	84 c0                	test   %al,%al
477550:	74 2d                	je     0x47757f
477552:	e8 85 4b ff ff       	call   0x46c0dc
477557:	84 c0                	test   %al,%al
477559:	74 12                	je     0x47756d
47755b:	8b 45 ec             	mov    -0x14(%ebp),%eax
47755e:	8b 40 14             	mov    0x14(%eax),%eax
477561:	ba 1d 00 00 80       	mov    $0x8000001d,%edx
477566:	e8 19 0d fb ff       	call   0x428284
47756b:	eb 1f                	jmp    0x47758c
47756d:	8b 45 ec             	mov    -0x14(%ebp),%eax
477570:	8b 40 14             	mov    0x14(%eax),%eax
477573:	ba 0d 00 00 80       	mov    $0x8000000d,%edx
477578:	e8 07 0d fb ff       	call   0x428284
47757d:	eb 0d                	jmp    0x47758c
47757f:	8b 45 ec             	mov    -0x14(%ebp),%eax
477582:	8b 40 14             	mov    0x14(%eax),%eax
477585:	b2 01                	mov    $0x1,%dl
477587:	e8 14 0e fb ff       	call   0x4283a0
47758c:	8b c6                	mov    %esi,%eax
47758e:	8b 10                	mov    (%eax),%edx
477590:	ff 52 50             	call   *0x50(%edx)
477593:	8b d0                	mov    %eax,%edx
477595:	8b 45 ec             	mov    -0x14(%ebp),%eax
477598:	8b 40 0c             	mov    0xc(%eax),%eax
47759b:	8b 08                	mov    (%eax),%ecx
47759d:	ff 51 08             	call   *0x8(%ecx)
4775a0:	8b 47 1c             	mov    0x1c(%edi),%eax
4775a3:	80 78 3e 00          	cmpb   $0x0,0x3e(%eax)
4775a7:	74 49                	je     0x4775f2
4775a9:	8a 45 ea             	mov    -0x16(%ebp),%al