47f254:	8b 10                	mov    (%eax),%edx
47f256:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
47f25c:	84 c0                	test   %al,%al
47f25e:	0f 84 b9 00 00 00    	je     0x47f31d
47f264:	8d 54 24 10          	lea    0x10(%esp),%edx
47f268:	8b c6                	mov    %esi,%eax
47f26a:	8b 08                	mov    (%eax),%ecx
47f26c:	ff 51 44             	call   *0x44(%ecx)
47f26f:	56                   	push   %esi
47f270:	57                   	push   %edi
47f271:	8d 74 24 18          	lea    0x18(%esp),%esi
47f275:	8d 7c 24 28          	lea    0x28(%esp),%edi
47f279:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f27a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f27b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f27c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f27d:	5f                   	pop    %edi
47f27e:	5e                   	pop    %esi
47f27f:	8d 4c 24 30          	lea    0x30(%esp),%ecx
47f283:	33 d2                	xor    %edx,%edx
47f285:	33 c0                	xor    %eax,%eax
47f287:	e8 c0 b3 f9 ff       	call   0x41a64c
47f28c:	8d 54 24 30          	lea    0x30(%esp),%edx
47f290:	8b cc                	mov    %esp,%ecx
47f292:	8b c6                	mov    %esi,%eax
47f294:	e8 4b 90 fc ff       	call   0x4482e4
47f299:	8d 54 24 38          	lea    0x38(%esp),%edx
47f29d:	8b c6                	mov    %esi,%eax
47f29f:	e8 c8 8e fc ff       	call   0x44816c
47f2a4:	8d 54 24 38          	lea    0x38(%esp),%edx
47f2a8:	8d 4c 24 08          	lea    0x8(%esp),%ecx
47f2ac:	8b 46 30             	mov    0x30(%esi),%eax
47f2af:	e8 30 90 fc ff       	call   0x4482e4
47f2b4:	8b 04 24             	mov    (%esp),%eax
47f2b7:	2b 44 24 08          	sub    0x8(%esp),%eax
47f2bb:	03 46 40             	add    0x40(%esi),%eax
47f2be:	29 44 24 20          	sub    %eax,0x20(%esp)
47f2c2:	8b 44 24 04          	mov    0x4(%esp),%eax
47f2c6:	2b 44 24 0c          	sub    0xc(%esp),%eax
47f2ca:	03 46 44             	add    0x44(%esi),%eax
47f2cd:	29 44 24 24          	sub    %eax,0x24(%esp)
47f2d1:	8b 47 04             	mov    0x4(%edi),%eax
47f2d4:	50                   	push   %eax
47f2d5:	e8 16 84 f8 ff       	call   0x4076f0
47f2da:	8b d8                	mov    %eax,%ebx
47f2dc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
47f2e0:	50                   	push   %eax
47f2e1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
47f2e5:	50                   	push   %eax
47f2e6:	8b 44 24 1c          	mov    0x1c(%esp),%eax
47f2ea:	50                   	push   %eax
47f2eb:	8b 44 24 1c          	mov    0x1c(%esp),%eax
47f2ef:	50                   	push   %eax
47f2f0:	8b 47 04             	mov    0x4(%edi),%eax
47f2f3:	50                   	push   %eax
47f2f4:	e8 5f 83 f8 ff       	call   0x407658
47f2f9:	8d 4c 24 20          	lea    0x20(%esp),%ecx
47f2fd:	8b 57 04             	mov    0x4(%edi),%edx
47f300:	8b c6                	mov    %esi,%eax
47f302:	8b 30                	mov    (%eax),%esi
47f304:	ff 96 cc 00 00 00    	call   *0xcc(%esi)
47f30a:	53                   	push   %ebx
47f30b:	8b 47 04             	mov    0x4(%edi),%eax
47f30e:	50                   	push   %eax
47f30f:	e8 cc 83 f8 ff       	call   0x4076e0
47f314:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
47f31b:	eb 09                	jmp    0x47f326
47f31d:	8b d7                	mov    %edi,%edx
47f31f:	8b c6                	mov    %esi,%eax
47f321:	e8 ea e0 fc ff       	call   0x44d410
47f326:	83 c4 48             	add    $0x48,%esp
47f329:	5f                   	pop    %edi
47f32a:	5e                   	pop    %esi
47f32b:	5b                   	pop    %ebx
47f32c:	c3                   	ret
47f32d:	8d 40 00             	lea    0x0(%eax),%eax
47f330:	53                   	push   %ebx
47f331:	83 c4 f0             	add    $0xfffffff0,%esp
47f334:	8b d8                	mov    %eax,%ebx
47f336:	8b c3                	mov    %ebx,%eax
47f338:	e8 c3 18 fd ff       	call   0x450c00
47f33d:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
47f341:	74 53                	je     0x47f396
47f343:	8b d4                	mov    %esp,%edx
47f345:	8b c3                	mov    %ebx,%eax
47f347:	8b 08                	mov    (%eax),%ecx
47f349:	ff 51 44             	call   *0x44(%ecx)
47f34c:	8b 9b 08 02 00 00    	mov    0x208(%ebx),%ebx
47f352:	b2 02                	mov    $0x2,%dl
47f354:	8b 43 10             	mov    0x10(%ebx),%eax
47f357:	e8 24 8d fa ff       	call   0x428080
47f35c:	ba 10 00 00 80       	mov    $0x80000010,%edx
47f361:	8b 43 10             	mov    0x10(%ebx),%eax
47f364:	e8 1b 8c fa ff       	call   0x427f84
47f369:	b2 01                	mov    $0x1,%dl
47f36b:	8b 43 14             	mov    0x14(%ebx),%eax
47f36e:	e8 2d 90 fa ff       	call   0x4283a0
47f373:	8b 44 24 08          	mov    0x8(%esp),%eax
47f377:	50                   	push   %eax
47f378:	8b 44 24 10          	mov    0x10(%esp),%eax
47f37c:	50                   	push   %eax
47f37d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
47f381:	8b 54 24 08          	mov    0x8(%esp),%edx
47f385:	8b c3                	mov    %ebx,%eax
47f387:	e8 e4 94 fa ff       	call   0x428870
47f38c:	33 d2                	xor    %edx,%edx
47f38e:	8b 43 10             	mov    0x10(%ebx),%eax
47f391:	e8 ea 8c fa ff       	call   0x428080
47f396:	83 c4 10             	add    $0x10,%esp
47f399:	5b                   	pop    %ebx
47f39a:	c3                   	ret
47f39b:	90                   	nop
47f39c:	53                   	push   %ebx
47f39d:	8b d8                	mov    %eax,%ebx
47f39f:	8b c3                	mov    %ebx,%eax
47f3a1:	e8 fa e1 fc ff       	call   0x44d5a0
47f3a6:	8b c3                	mov    %ebx,%eax
47f3a8:	8b 10                	mov    (%eax),%edx
47f3aa:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
47f3b0:	84 c0                	test   %al,%al
47f3b2:	74 07                	je     0x47f3bb
47f3b4:	8b c3                	mov    %ebx,%eax
47f3b6:	e8 9d 04 00 00       	call   0x47f858
47f3bb:	5b                   	pop    %ebx
47f3bc:	c3                   	ret
47f3bd:	8d 40 00             	lea    0x0(%eax),%eax
47f3c0:	53                   	push   %ebx
47f3c1:	56                   	push   %esi
47f3c2:	8b f2                	mov    %edx,%esi
47f3c4:	8b d8                	mov    %eax,%ebx
47f3c6:	8b d6                	mov    %esi,%edx
47f3c8:	8b c3                	mov    %ebx,%eax
47f3ca:	e8 4d 09 fd ff       	call   0x44fd1c
47f3cf:	8b 46 08             	mov    0x8(%esi),%eax
47f3d2:	f6 83 12 02 00 00 01 	testb  $0x1,0x212(%ebx)
47f3d9:	74 03                	je     0x47f3de
47f3db:	ff 40 04             	incl   0x4(%eax)
47f3de:	f6 83 12 02 00 00 02 	testb  $0x2,0x212(%ebx)
47f3e5:	74 03                	je     0x47f3ea
47f3e7:	ff 48 0c             	decl   0xc(%eax)
47f3ea:	f6 83 12 02 00 00 04 	testb  $0x4,0x212(%ebx)
47f3f1:	74 02                	je     0x47f3f5
47f3f3:	ff 00                	incl   (%eax)
47f3f5:	f6 83 12 02 00 00 08 	testb  $0x8,0x212(%ebx)
47f3fc:	74 03                	je     0x47f401
47f3fe:	ff 48 08             	decl   0x8(%eax)
47f401:	5e                   	pop    %esi
47f402:	5b                   	pop    %ebx
47f403:	c3                   	ret
47f404:	55                   	push   %ebp
47f405:	8b ec                	mov    %esp,%ebp
47f407:	53                   	push   %ebx
47f408:	8b d8                	mov    %eax,%ebx
47f40a:	6a 00                	push   $0x0
47f40c:	51                   	push   %ecx
47f40d:	52                   	push   %edx
47f40e:	53                   	push   %ebx
47f40f:	e8 6c 82 f8 ff       	call   0x407680
47f414:	8b 45 08             	mov    0x8(%ebp),%eax
47f417:	50                   	push   %eax
47f418:	8b 45 0c             	mov    0xc(%ebp),%eax
47f41b:	50                   	push   %eax
47f41c:	53                   	push   %ebx
47f41d:	e8 4e 82 f8 ff       	call   0x407670
47f422:	5b                   	pop    %ebx
47f423:	5d                   	pop    %ebp
47f424:	c2 08 00             	ret    $0x8
47f427:	90                   	nop
47f428:	55                   	push   %ebp
47f429:	8b ec                	mov    %esp,%ebp
47f42b:	83 c4 b4             	add    $0xffffffb4,%esp
47f42e:	53                   	push   %ebx
47f42f:	56                   	push   %esi
47f430:	57                   	push   %edi
47f431:	8b f1                	mov    %ecx,%esi
47f433:	88 55 fb             	mov    %dl,-0x5(%ebp)
47f436:	89 45 fc             	mov    %eax,-0x4(%ebp)
47f439:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47f43c:	50                   	push   %eax
47f43d:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f440:	e8 0f fb fc ff       	call   0x44ef54
47f445:	50                   	push   %eax
47f446:	e8 0d 87 f8 ff       	call   0x407b58
47f44b:	56                   	push   %esi
47f44c:	8d 75 e4             	lea    -0x1c(%ebp),%esi
47f44f:	8d 7d d4             	lea    -0x2c(%ebp),%edi
47f452:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f453:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f454:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f455:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f456:	5e                   	pop    %esi
47f457:	8b 45 d8             	mov    -0x28(%ebp),%eax
47f45a:	f7 d8                	neg    %eax
47f45c:	50                   	push   %eax
47f45d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47f460:	f7 d8                	neg    %eax
47f462:	50                   	push   %eax
47f463:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47f466:	50                   	push   %eax
47f467:	e8 0c 88 f8 ff       	call   0x407c78
47f46c:	8a 5d fb             	mov    -0x5(%ebp),%bl
47f46f:	80 f3 01             	xor    $0x1,%bl
47f472:	84 db                	test   %bl,%bl
47f474:	74 13                	je     0x47f489
47f476:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f479:	e8 d6 fa fc ff       	call   0x44ef54
47f47e:	50                   	push   %eax
47f47f:	e8 bc 86 f8 ff       	call   0x407b40
47f484:	89 45 f4             	mov    %eax,-0xc(%ebp)
47f487:	eb 03                	jmp    0x47f48c
47f489:	89 75 f4             	mov    %esi,-0xc(%ebp)
47f48c:	33 d2                	xor    %edx,%edx
47f48e:	55                   	push   %ebp
47f48f:	68 8e f6 47 00       	push   $0x47f68e
47f494:	64 ff 32             	push   %fs:(%edx)
47f497:	64 89 22             	mov    %esp,%fs:(%edx)
47f49a:	84 db                	test   %bl,%bl
47f49c:	74 13                	je     0x47f4b1
47f49e:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f4a1:	e8 ae fa fc ff       	call   0x44ef54
47f4a6:	8b 4d 08             	mov    0x8(%ebp),%ecx
47f4a9:	8b 55 f4             	mov    -0xc(%ebp),%edx
47f4ac:	e8 eb c9 fe ff       	call   0x46be9c
47f4b1:	8d 75 d4             	lea    -0x2c(%ebp),%esi
47f4b4:	8d 7d c4             	lea    -0x3c(%ebp),%edi
47f4b7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f4b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f4b9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f4ba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47f4bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f4be:	8a 15 a0 f6 47 00    	mov    0x47f6a0,%dl
47f4c4:	3a 90 12 02 00 00    	cmp    0x212(%eax),%dl
47f4ca:	0f 84 fd 00 00 00    	je     0x47f5cd
47f4d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f4d3:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
47f4d7:	75 10                	jne    0x47f4e9
47f4d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f4dc:	e8 b3 ea ff ff       	call   0x47df94
47f4e1:	84 c0                	test   %al,%al
47f4e3:	0f 84 e4 00 00 00    	je     0x47f5cd
47f4e9:	6a 14                	push   $0x14
47f4eb:	e8 18 86 f8 ff       	call   0x407b08
47f4f0:	50                   	push   %eax
47f4f1:	6a 01                	push   $0x1
47f4f3:	6a 00                	push   $0x0
47f4f5:	e8 ce 7f f8 ff       	call   0x4074c8
47f4fa:	8b d8                	mov    %eax,%ebx
47f4fc:	6a 10                	push   $0x10
47f4fe:	e8 05 86 f8 ff       	call   0x407b08
47f503:	50                   	push   %eax
47f504:	6a 01                	push   $0x1
47f506:	6a 00                	push   $0x0
47f508:	e8 bb 7f f8 ff       	call   0x4074c8
47f50d:	8b f0                	mov    %eax,%esi
47f50f:	56                   	push   %esi
47f510:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f513:	50                   	push   %eax
47f514:	e8 e7 81 f8 ff       	call   0x407700
47f519:	8b f8                	mov    %eax,%edi
47f51b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f51e:	f6 80 12 02 00 00 01 	testb  $0x1,0x212(%eax)
47f525:	74 18                	je     0x47f53f
47f527:	8b 55 dc             	mov    -0x24(%ebp),%edx
47f52a:	52                   	push   %edx
47f52b:	8b 45 d8             	mov    -0x28(%ebp),%eax
47f52e:	50                   	push   %eax
47f52f:	8b c8                	mov    %eax,%ecx
47f531:	8b 55 d4             	mov    -0x2c(%ebp),%edx
47f534:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f537:	e8 c8 fe ff ff       	call   0x47f404
47f53c:	ff 45 c8             	incl   -0x38(%ebp)
47f53f:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f542:	f6 80 12 02 00 00 04 	testb  $0x4,0x212(%eax)
47f549:	74 18                	je     0x47f563
47f54b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47f54e:	50                   	push   %eax
47f54f:	8b 55 e0             	mov    -0x20(%ebp),%edx
47f552:	52                   	push   %edx
47f553:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47f556:	8b d0                	mov    %eax,%edx
47f558:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f55b:	e8 a4 fe ff ff       	call   0x47f404
47f560:	ff 45 c4             	incl   -0x3c(%ebp)
47f563:	53                   	push   %ebx
47f564:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f567:	50                   	push   %eax
47f568:	e8 93 81 f8 ff       	call   0x407700
47f56d:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f570:	f6 80 12 02 00 00 02 	testb  $0x2,0x212(%eax)
47f577:	74 19                	je     0x47f592
47f579:	8b 55 dc             	mov    -0x24(%ebp),%edx
47f57c:	52                   	push   %edx
47f57d:	8b 45 e0             	mov    -0x20(%ebp),%eax
47f580:	48                   	dec    %eax
47f581:	50                   	push   %eax
47f582:	8b c8                	mov    %eax,%ecx
47f584:	8b 55 d4             	mov    -0x2c(%ebp),%edx
47f587:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f58a:	e8 75 fe ff ff       	call   0x47f404
47f58f:	ff 4d d0             	decl   -0x30(%ebp)
47f592:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f595:	f6 80 12 02 00 00 08 	testb  $0x8,0x212(%eax)
47f59c:	74 19                	je     0x47f5b7
47f59e:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f5a1:	48                   	dec    %eax
47f5a2:	50                   	push   %eax
47f5a3:	8b 55 e0             	mov    -0x20(%ebp),%edx
47f5a6:	52                   	push   %edx
47f5a7:	8b d0                	mov    %eax,%edx
47f5a9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47f5ac:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f5af:	e8 50 fe ff ff       	call   0x47f404
47f5b4:	ff 4d cc             	decl   -0x34(%ebp)
47f5b7:	57                   	push   %edi
47f5b8:	8b 45 f4             	mov    -0xc(%ebp),%eax
47f5bb:	50                   	push   %eax
47f5bc:	e8 3f 81 f8 ff       	call   0x407700
47f5c1:	56                   	push   %esi
47f5c2:	e8 49 7f f8 ff       	call   0x407510
47f5c7:	53                   	push   %ebx
47f5c8:	e8 43 7f f8 ff       	call   0x407510
47f5cd:	8d 45 b4             	lea    -0x4c(%ebp),%eax
47f5d0:	50                   	push   %eax
47f5d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f5d4:	e8 7b f9 fc ff       	call   0x44ef54
47f5d9:	50                   	push   %eax
47f5da:	e8 09 84 f8 ff       	call   0x4079e8
47f5df:	8d 45 b4             	lea    -0x4c(%ebp),%eax
47f5e2:	50                   	push   %eax
47f5e3:	e8 f8 85 f8 ff       	call   0x407be0
47f5e8:	85 c0                	test   %eax,%eax
47f5ea:	75 55                	jne    0x47f641
47f5ec:	6a 02                	push   $0x2
47f5ee:	8d 45 b4             	lea    -0x4c(%ebp),%eax
47f5f1:	50                   	push   %eax
47f5f2:	6a 00                	push   $0x0
47f5f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f5f7:	e8 58 f9 fc ff       	call   0x44ef54
47f5fc:	50                   	push   %eax
47f5fd:	e8 4e 86 f8 ff       	call   0x407c50
47f602:	8b 45 e8             	mov    -0x18(%ebp),%eax
47f605:	f7 d8                	neg    %eax
47f607:	50                   	push   %eax
47f608:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47f60b:	f7 d8                	neg    %eax
47f60d:	50                   	push   %eax
47f60e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
47f611:	50                   	push   %eax
47f612:	e8 61 86 f8 ff       	call   0x407c78
47f617:	8d 45 c4             	lea    -0x3c(%ebp),%eax