4cf24b:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
4cf251:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
4cf257:	8b 57 04             	mov    0x4(%edi),%edx
4cf25a:	8b 47 08             	mov    0x8(%edi),%eax
4cf25d:	e8 ea b3 f4 ff       	call   0x41a64c
4cf262:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
4cf268:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
4cf26e:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
4cf274:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
4cf27a:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
4cf280:	8b 57 0c             	mov    0xc(%edi),%edx
4cf283:	8b 47 08             	mov    0x8(%edi),%eax
4cf286:	e8 c1 b3 f4 ff       	call   0x41a64c
4cf28b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
4cf291:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
4cf297:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
4cf29d:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
4cf2a3:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
4cf2a9:	8b 07                	mov    (%edi),%eax
4cf2ab:	48                   	dec    %eax
4cf2ac:	8b 57 0c             	mov    0xc(%edi),%edx
4cf2af:	e8 98 b3 f4 ff       	call   0x41a64c
4cf2b4:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
4cf2ba:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
4cf2c0:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
4cf2c6:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
4cf2cc:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
4cf2d2:	8b 07                	mov    (%edi),%eax
4cf2d4:	48                   	dec    %eax
4cf2d5:	8b 57 04             	mov    0x4(%edi),%edx
4cf2d8:	e8 6f b3 f4 ff       	call   0x41a64c
4cf2dd:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
4cf2e3:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
4cf2e9:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
4cf2ef:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
4cf2f5:	8d 8d 48 ff ff ff    	lea    -0xb8(%ebp),%ecx
4cf2fb:	8b 57 04             	mov    0x4(%edi),%edx
4cf2fe:	4a                   	dec    %edx
4cf2ff:	8b 07                	mov    (%edi),%eax
4cf301:	e8 46 b3 f4 ff       	call   0x41a64c
4cf306:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
4cf30c:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
4cf312:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
4cf318:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
4cf31e:	8d 95 00 ff ff ff    	lea    -0x100(%ebp),%edx
4cf324:	b9 06 00 00 00       	mov    $0x6,%ecx
4cf329:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf32c:	e8 07 95 f5 ff       	call   0x428838
4cf331:	8b 45 08             	mov    0x8(%ebp),%eax
4cf334:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
4cf338:	0f 84 44 02 00 00    	je     0x4cf582
4cf33e:	8b 45 08             	mov    0x8(%ebp),%eax
4cf341:	8b 40 08             	mov    0x8(%eax),%eax
4cf344:	25 00 10 00 00       	and    $0x1000,%eax
4cf349:	3d 00 10 00 00       	cmp    $0x1000,%eax
4cf34e:	75 14                	jne    0x4cf364
4cf350:	33 c0                	xor    %eax,%eax
4cf352:	8a c3                	mov    %bl,%al
4cf354:	8d 04 40             	lea    (%eax,%eax,2),%eax
4cf357:	8b 54 86 24          	mov    0x24(%esi,%eax,4),%edx
4cf35b:	89 55 dc             	mov    %edx,-0x24(%ebp)
4cf35e:	8b 5c 86 28          	mov    0x28(%esi,%eax,4),%ebx
4cf362:	eb 12                	jmp    0x4cf376
4cf364:	33 c0                	xor    %eax,%eax
4cf366:	8a c3                	mov    %bl,%al
4cf368:	8d 04 40             	lea    (%eax,%eax,2),%eax
4cf36b:	8b 54 86 3c          	mov    0x3c(%esi,%eax,4),%edx
4cf36f:	89 55 dc             	mov    %edx,-0x24(%ebp)
4cf372:	8b 5c 86 40          	mov    0x40(%esi,%eax,4),%ebx
4cf376:	8b 45 08             	mov    0x8(%ebp),%eax
4cf379:	f6 40 24 02          	testb  $0x2,0x24(%eax)
4cf37d:	0f 84 d8 00 00 00    	je     0x4cf45b
4cf383:	6a 33                	push   $0x33
4cf385:	e8 96 87 f3 ff       	call   0x407b20
4cf38a:	48                   	dec    %eax
4cf38b:	50                   	push   %eax
4cf38c:	57                   	push   %edi
4cf38d:	8b 4d 08             	mov    0x8(%ebp),%ecx
4cf390:	8b 49 0c             	mov    0xc(%ecx),%ecx
4cf393:	33 d2                	xor    %edx,%edx
4cf395:	33 c0                	xor    %eax,%eax
4cf397:	e8 d8 b2 f4 ff       	call   0x41a674
4cf39c:	8b 45 08             	mov    0x8(%ebp),%eax
4cf39f:	8b 40 19             	mov    0x19(%eax),%eax
4cf3a2:	50                   	push   %eax
4cf3a3:	8b 45 08             	mov    0x8(%ebp),%eax
4cf3a6:	8b 40 15             	mov    0x15(%eax),%eax
4cf3a9:	50                   	push   %eax
4cf3aa:	57                   	push   %edi
4cf3ab:	e8 c8 88 f3 ff       	call   0x407c78
4cf3b0:	8b 47 08             	mov    0x8(%edi),%eax
4cf3b3:	50                   	push   %eax
4cf3b4:	8b 47 0c             	mov    0xc(%edi),%eax
4cf3b7:	50                   	push   %eax
4cf3b8:	8b 45 e0             	mov    -0x20(%ebp),%eax
4cf3bb:	50                   	push   %eax
4cf3bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf3bf:	e8 fc 98 f5 ff       	call   0x428cc0
4cf3c4:	8b 4f 0c             	mov    0xc(%edi),%ecx
4cf3c7:	8b 17                	mov    (%edi),%edx
4cf3c9:	e8 c2 9a fb ff       	call   0x488e90
4cf3ce:	8b 45 08             	mov    0x8(%ebp),%eax
4cf3d1:	f6 40 20 01          	testb  $0x1,0x20(%eax)
4cf3d5:	74 14                	je     0x4cf3eb
4cf3d7:	8b 45 08             	mov    0x8(%ebp),%eax
4cf3da:	f6 40 24 04          	testb  $0x4,0x24(%eax)
4cf3de:	74 0b                	je     0x4cf3eb
4cf3e0:	6a 33                	push   $0x33
4cf3e2:	e8 39 87 f3 ff       	call   0x407b20
4cf3e7:	48                   	dec    %eax
4cf3e8:	29 47 08             	sub    %eax,0x8(%edi)
4cf3eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf3ee:	8b 40 14             	mov    0x14(%eax),%eax
4cf3f1:	8b 55 dc             	mov    -0x24(%ebp),%edx
4cf3f4:	e8 8b 8e f5 ff       	call   0x428284
4cf3f9:	6a 01                	push   $0x1
4cf3fb:	8b d7                	mov    %edi,%edx
4cf3fd:	33 c9                	xor    %ecx,%ecx
4cf3ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf402:	e8 a9 e9 fe ff       	call   0x4bddb0
4cf407:	6a 00                	push   $0x0
4cf409:	6a fe                	push   $0xfffffffe
4cf40b:	57                   	push   %edi
4cf40c:	e8 77 87 f3 ff       	call   0x407b88
4cf411:	8b 15 18 71 6a 00    	mov    0x6a7118,%edx
4cf417:	8b 12                	mov    (%edx),%edx
4cf419:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf41c:	8b 40 0c             	mov    0xc(%eax),%eax
4cf41f:	8b 08                	mov    (%eax),%ecx
4cf421:	ff 51 08             	call   *0x8(%ecx)
4cf424:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf427:	8b 40 0c             	mov    0xc(%eax),%eax
4cf42a:	8b d3                	mov    %ebx,%edx
4cf42c:	e8 67 86 f5 ff       	call   0x427a98
4cf431:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf434:	8b 40 14             	mov    0x14(%eax),%eax
4cf437:	b2 01                	mov    $0x1,%dl
4cf439:	e8 62 8f f5 ff       	call   0x4283a0
4cf43e:	68 24 80 10 00       	push   $0x108024
4cf443:	57                   	push   %edi
4cf444:	6a ff                	push   $0xffffffff
4cf446:	8b 45 08             	mov    0x8(%ebp),%eax
4cf449:	8b 40 28             	mov    0x28(%eax),%eax
4cf44c:	50                   	push   %eax
4cf44d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf450:	e8 6b 98 f5 ff       	call   0x428cc0
4cf455:	50                   	push   %eax
4cf456:	e8 dd 84 f3 ff       	call   0x407938
4cf45b:	8b 45 08             	mov    0x8(%ebp),%eax
4cf45e:	f6 40 20 01          	testb  $0x1,0x20(%eax)
4cf462:	0f 84 1a 01 00 00    	je     0x4cf582
4cf468:	6a 33                	push   $0x33
4cf46a:	e8 b1 86 f3 ff       	call   0x407b20
4cf46f:	48                   	dec    %eax
4cf470:	50                   	push   %eax
4cf471:	57                   	push   %edi
4cf472:	8b 4d 08             	mov    0x8(%ebp),%ecx
4cf475:	8b 49 0c             	mov    0xc(%ecx),%ecx
4cf478:	33 d2                	xor    %edx,%edx
4cf47a:	33 c0                	xor    %eax,%eax
4cf47c:	e8 f3 b1 f4 ff       	call   0x41a674
4cf481:	8b 45 08             	mov    0x8(%ebp),%eax
4cf484:	8b 40 19             	mov    0x19(%eax),%eax
4cf487:	50                   	push   %eax
4cf488:	8b 45 08             	mov    0x8(%ebp),%eax
4cf48b:	8b 40 15             	mov    0x15(%eax),%eax
4cf48e:	50                   	push   %eax
4cf48f:	57                   	push   %edi
4cf490:	e8 e3 87 f3 ff       	call   0x407c78
4cf495:	8b 47 0c             	mov    0xc(%edi),%eax
4cf498:	2b 47 04             	sub    0x4(%edi),%eax
4cf49b:	8b 57 08             	mov    0x8(%edi),%edx
4cf49e:	2b d0                	sub    %eax,%edx
4cf4a0:	89 17                	mov    %edx,(%edi)
4cf4a2:	8b 47 08             	mov    0x8(%edi),%eax
4cf4a5:	50                   	push   %eax
4cf4a6:	8b 5f 0c             	mov    0xc(%edi),%ebx
4cf4a9:	53                   	push   %ebx
4cf4aa:	8b 45 e0             	mov    -0x20(%ebp),%eax
4cf4ad:	50                   	push   %eax
4cf4ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf4b1:	e8 0a 98 f5 ff       	call   0x428cc0
4cf4b6:	8b 17                	mov    (%edi),%edx
4cf4b8:	4a                   	dec    %edx
4cf4b9:	8b cb                	mov    %ebx,%ecx
4cf4bb:	e8 d0 99 fb ff       	call   0x488e90
4cf4c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf4c3:	8b 40 14             	mov    0x14(%eax),%eax
4cf4c6:	8b 55 dc             	mov    -0x24(%ebp),%edx
4cf4c9:	e8 b6 8d f5 ff       	call   0x428284
4cf4ce:	6a 01                	push   $0x1
4cf4d0:	8b d7                	mov    %edi,%edx
4cf4d2:	33 c9                	xor    %ecx,%ecx
4cf4d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf4d7:	e8 d4 e8 fe ff       	call   0x4bddb0
4cf4dc:	55                   	push   %ebp
4cf4dd:	8b 45 08             	mov    0x8(%ebp),%eax
4cf4e0:	8b 40 20             	mov    0x20(%eax),%eax
4cf4e3:	e8 70 fa ff ff       	call   0x4cef58
4cf4e8:	59                   	pop    %ecx
4cf4e9:	3c 04                	cmp    $0x4,%al
4cf4eb:	75 27                	jne    0x4cf514
4cf4ed:	6a 01                	push   $0x1
4cf4ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf4f2:	e8 c9 97 f5 ff       	call   0x428cc0
4cf4f7:	8b d7                	mov    %edi,%edx
4cf4f9:	8b 8e b8 00 00 00    	mov    0xb8(%esi),%ecx
4cf4ff:	e8 28 99 fb ff       	call   0x488e2c
4cf504:	6a 01                	push   $0x1
4cf506:	8b d7                	mov    %edi,%edx
4cf508:	b1 01                	mov    $0x1,%cl
4cf50a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf50d:	e8 9e e8 fe ff       	call   0x4bddb0
4cf512:	eb 30                	jmp    0x4cf544
4cf514:	3c 03                	cmp    $0x3,%al
4cf516:	75 2c                	jne    0x4cf544
4cf518:	6a 01                	push   $0x1
4cf51a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf51d:	e8 9e 97 f5 ff       	call   0x428cc0
4cf522:	8b d7                	mov    %edi,%edx
4cf524:	b9 d0 d0 d0 00       	mov    $0xd0d0d0,%ecx
4cf529:	e8 fe 98 fb ff       	call   0x488e2c
4cf52e:	68 c0 c0 c0 00       	push   $0xc0c0c0
4cf533:	6a 01                	push   $0x1
4cf535:	8b d7                	mov    %edi,%edx
4cf537:	b9 ff ff ff 00       	mov    $0xffffff,%ecx
4cf53c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf53f:	e8 a4 eb fe ff       	call   0x4be0e8
4cf544:	8b 07                	mov    (%edi),%eax
4cf546:	03 47 08             	add    0x8(%edi),%eax
4cf549:	8b 15 2c b3 6a 00    	mov    0x6ab32c,%edx
4cf54f:	2b 42 34             	sub    0x34(%edx),%eax
4cf552:	40                   	inc    %eax
4cf553:	d1 f8                	sar    $1,%eax
4cf555:	79 03                	jns    0x4cf55a
4cf557:	83 d0 00             	adc    $0x0,%eax
4cf55a:	89 45 f8             	mov    %eax,-0x8(%ebp)
4cf55d:	8b 47 04             	mov    0x4(%edi),%eax
4cf560:	03 47 0c             	add    0xc(%edi),%eax
4cf563:	8b 15 2c b3 6a 00    	mov    0x6ab32c,%edx
4cf569:	2b 42 30             	sub    0x30(%edx),%eax
4cf56c:	d1 f8                	sar    $1,%eax
4cf56e:	79 03                	jns    0x4cf573
4cf570:	83 d0 00             	adc    $0x0,%eax
4cf573:	89 45 f4             	mov    %eax,-0xc(%ebp)
4cf576:	33 c9                	xor    %ecx,%ecx
4cf578:	8b d7                	mov    %edi,%edx
4cf57a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf57d:	e8 36 e7 ff ff       	call   0x4cdcb8
4cf582:	5f                   	pop    %edi
4cf583:	5e                   	pop    %esi
4cf584:	5b                   	pop    %ebx
4cf585:	8b e5                	mov    %ebp,%esp
4cf587:	5d                   	pop    %ebp
4cf588:	c2 04 00             	ret    $0x4
4cf58b:	90                   	nop
4cf58c:	55                   	push   %ebp
4cf58d:	8b ec                	mov    %esp,%ebp
4cf58f:	83 c4 ec             	add    $0xffffffec,%esp
4cf592:	53                   	push   %ebx
4cf593:	56                   	push   %esi
4cf594:	57                   	push   %edi
4cf595:	8b f9                	mov    %ecx,%edi
4cf597:	89 55 fc             	mov    %edx,-0x4(%ebp)
4cf59a:	8b f0                	mov    %eax,%esi
4cf59c:	8b 5d 08             	mov    0x8(%ebp),%ebx
4cf59f:	56                   	push   %esi
4cf5a0:	8b f7                	mov    %edi,%esi
4cf5a2:	8d 7d ec             	lea    -0x14(%ebp),%edi
4cf5a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cf5a6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cf5a7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cf5a8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cf5a9:	5e                   	pop    %esi
4cf5aa:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cf5ae:	75 10                	jne    0x4cf5c0
4cf5b0:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4cf5b4:	75 06                	jne    0x4cf5bc
4cf5b6:	80 7b 0a 01          	cmpb   $0x1,0xa(%ebx)
4cf5ba:	74 04                	je     0x4cf5c0
4cf5bc:	33 c0                	xor    %eax,%eax
4cf5be:	eb 02                	jmp    0x4cf5c2
4cf5c0:	b0 01                	mov    $0x1,%al
4cf5c2:	84 c0                	test   %al,%al
4cf5c4:	75 27                	jne    0x4cf5ed
4cf5c6:	6a ff                	push   $0xffffffff
4cf5c8:	6a ff                	push   $0xffffffff
4cf5ca:	8d 45 ec             	lea    -0x14(%ebp),%eax
4cf5cd:	50                   	push   %eax
4cf5ce:	e8 b5 85 f3 ff       	call   0x407b88
4cf5d3:	6a 01                	push   $0x1
4cf5d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf5d8:	e8 e3 96 f5 ff       	call   0x428cc0
4cf5dd:	8b 4e 10             	mov    0x10(%esi),%ecx
4cf5e0:	8d 55 ec             	lea    -0x14(%ebp),%edx
4cf5e3:	e8 44 98 fb ff       	call   0x488e2c
4cf5e8:	e9 ac 00 00 00       	jmp    0x4cf699
4cf5ed:	84 c0                	test   %al,%al
4cf5ef:	74 06                	je     0x4cf5f7
4cf5f1:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4cf5f5:	75 0a                	jne    0x4cf601
4cf5f7:	f6 43 04 10          	testb  $0x10,0x4(%ebx)
4cf5fb:	0f 84 98 00 00 00    	je     0x4cf699
4cf601:	6a ff                	push   $0xffffffff
4cf603:	6a ff                	push   $0xffffffff
4cf605:	8d 45 ec             	lea    -0x14(%ebp),%eax
4cf608:	50                   	push   %eax
4cf609:	e8 7a 85 f3 ff       	call   0x407b88
4cf60e:	6a 01                	push   $0x1
4cf610:	8d 55 ec             	lea    -0x14(%ebp),%edx
4cf613:	33 c9                	xor    %ecx,%ecx
4cf615:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf618:	e8 93 e7 fe ff       	call   0x4bddb0
4cf61d:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4cf621:	74 29                	je     0x4cf64c
4cf623:	f6 43 01 20          	testb  $0x20,0x1(%ebx)
4cf627:	74 10                	je     0x4cf639
4cf629:	8b 56 70             	mov    0x70(%esi),%edx
4cf62c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf62f:	8b 40 10             	mov    0x10(%eax),%eax
4cf632:	e8 4d 89 f5 ff       	call   0x427f84
4cf637:	eb 41                	jmp    0x4cf67a
4cf639:	8b 96 a0 00 00 00    	mov    0xa0(%esi),%edx
4cf63f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf642:	8b 40 10             	mov    0x10(%eax),%eax
4cf645:	e8 3a 89 f5 ff       	call   0x427f84
4cf64a:	eb 2e                	jmp    0x4cf67a
4cf64c:	f6 43 01 20          	testb  $0x20,0x1(%ebx)
4cf650:	74 10                	je     0x4cf662
4cf652:	8b 56 70             	mov    0x70(%esi),%edx
4cf655:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf658:	8b 40 10             	mov    0x10(%eax),%eax
4cf65b:	e8 24 89 f5 ff       	call   0x427f84
4cf660:	eb 18                	jmp    0x4cf67a
4cf662:	8b d3                	mov    %ebx,%edx
4cf664:	b1 02                	mov    $0x2,%cl
4cf666:	8b c6                	mov    %esi,%eax
4cf668:	e8 33 e5 ff ff       	call   0x4cdba0
4cf66d:	8b d0                	mov    %eax,%edx
4cf66f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cf672:	8b 40 10             	mov    0x10(%eax),%eax
4cf675:	e8 0a 89 f5 ff       	call   0x427f84
4cf67a:	6a 01                	push   $0x1
4cf67c:	6a 01                	push   $0x1
4cf67e:	8d 45 ec             	lea    -0x14(%ebp),%eax
4cf681:	50                   	push   %eax
4cf682:	e8 01 85 f3 ff       	call   0x407b88
4cf687:	6a 01                	push   $0x1
4cf689:	b9 01 00 00 00       	mov    $0x1,%ecx
4cf68e:	8d 55 ec             	lea    -0x14(%ebp),%edx