4ca01a:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ca01d:	2b 50 04             	sub    0x4(%eax),%edx
4ca020:	89 55 e8             	mov    %edx,-0x18(%ebp)
4ca023:	53                   	push   %ebx
4ca024:	8b 45 08             	mov    0x8(%ebp),%eax
4ca027:	83 c0 10             	add    $0x10,%eax
4ca02a:	50                   	push   %eax
4ca02b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4ca02e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ca031:	8b c6                	mov    %esi,%eax
4ca033:	8b 18                	mov    (%eax),%ebx
4ca035:	ff 53 40             	call   *0x40(%ebx)
4ca038:	5f                   	pop    %edi
4ca039:	5e                   	pop    %esi
4ca03a:	5b                   	pop    %ebx
4ca03b:	8b e5                	mov    %ebp,%esp
4ca03d:	5d                   	pop    %ebp
4ca03e:	c2 08 00             	ret    $0x8
4ca041:	8d 40 00             	lea    0x0(%eax),%eax
4ca044:	55                   	push   %ebp
4ca045:	8b ec                	mov    %esp,%ebp
4ca047:	83 c4 c8             	add    $0xffffffc8,%esp
4ca04a:	53                   	push   %ebx
4ca04b:	56                   	push   %esi
4ca04c:	57                   	push   %edi
4ca04d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ca050:	8b fa                	mov    %edx,%edi
4ca052:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ca055:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4ca058:	8b 1b                	mov    (%ebx),%ebx
4ca05a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ca05d:	03 58 08             	add    0x8(%eax),%ebx
4ca060:	d1 fb                	sar    $1,%ebx
4ca062:	79 03                	jns    0x4ca067
4ca064:	83 d3 00             	adc    $0x0,%ebx
4ca067:	8b 75 f8             	mov    -0x8(%ebp),%esi
4ca06a:	8b 76 04             	mov    0x4(%esi),%esi
4ca06d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ca070:	03 70 0c             	add    0xc(%eax),%esi
4ca073:	d1 fe                	sar    $1,%esi
4ca075:	79 03                	jns    0x4ca07a
4ca077:	83 d6 00             	adc    $0x0,%esi
4ca07a:	4e                   	dec    %esi
4ca07b:	8b 55 08             	mov    0x8(%ebp),%edx
4ca07e:	b1 01                	mov    $0x1,%cl
4ca080:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca083:	e8 e8 f1 ff ff       	call   0x4c9270
4ca088:	8b d0                	mov    %eax,%edx
4ca08a:	8b 47 10             	mov    0x10(%edi),%eax
4ca08d:	e8 f2 de f5 ff       	call   0x427f84
4ca092:	8b 47 10             	mov    0x10(%edi),%eax
4ca095:	e8 e2 de f5 ff       	call   0x427f7c
4ca09a:	8b d0                	mov    %eax,%edx
4ca09c:	8b 47 14             	mov    0x14(%edi),%eax
4ca09f:	e8 e0 e1 f5 ff       	call   0x428284
4ca0a4:	8b 45 08             	mov    0x8(%ebp),%eax
4ca0a7:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
4ca0ab:	74 60                	je     0x4ca10d
4ca0ad:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4ca0b0:	8d 56 02             	lea    0x2(%esi),%edx
4ca0b3:	8b c3                	mov    %ebx,%eax
4ca0b5:	e8 92 05 f5 ff       	call   0x41a64c
4ca0ba:	8b 45 d8             	mov    -0x28(%ebp),%eax
4ca0bd:	89 45 e0             	mov    %eax,-0x20(%ebp)
4ca0c0:	8b 45 dc             	mov    -0x24(%ebp),%eax
4ca0c3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4ca0c6:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4ca0c9:	8b d6                	mov    %esi,%edx
4ca0cb:	83 ea 02             	sub    $0x2,%edx
4ca0ce:	8b c3                	mov    %ebx,%eax
4ca0d0:	e8 77 05 f5 ff       	call   0x41a64c
4ca0d5:	8b 45 d0             	mov    -0x30(%ebp),%eax
4ca0d8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ca0db:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4ca0de:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ca0e1:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4ca0e4:	8b c3                	mov    %ebx,%eax
4ca0e6:	83 e8 02             	sub    $0x2,%eax
4ca0e9:	8b d6                	mov    %esi,%edx
4ca0eb:	e8 5c 05 f5 ff       	call   0x41a64c
4ca0f0:	8b 45 c8             	mov    -0x38(%ebp),%eax
4ca0f3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ca0f6:	8b 45 cc             	mov    -0x34(%ebp),%eax
4ca0f9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ca0fc:	8d 55 e0             	lea    -0x20(%ebp),%edx
4ca0ff:	b9 02 00 00 00       	mov    $0x2,%ecx
4ca104:	8b c7                	mov    %edi,%eax
4ca106:	e8 f5 e6 f5 ff       	call   0x428800
4ca10b:	eb 5c                	jmp    0x4ca169
4ca10d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4ca110:	8b c3                	mov    %ebx,%eax
4ca112:	83 e8 02             	sub    $0x2,%eax
4ca115:	8b d6                	mov    %esi,%edx
4ca117:	e8 30 05 f5 ff       	call   0x41a64c
4ca11c:	8b 45 d8             	mov    -0x28(%ebp),%eax
4ca11f:	89 45 e0             	mov    %eax,-0x20(%ebp)
4ca122:	8b 45 dc             	mov    -0x24(%ebp),%eax
4ca125:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4ca128:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4ca12b:	8d 43 02             	lea    0x2(%ebx),%eax
4ca12e:	8b d6                	mov    %esi,%edx
4ca130:	e8 17 05 f5 ff       	call   0x41a64c
4ca135:	8b 45 d0             	mov    -0x30(%ebp),%eax
4ca138:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ca13b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4ca13e:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ca141:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4ca144:	8d 56 02             	lea    0x2(%esi),%edx
4ca147:	8b c3                	mov    %ebx,%eax
4ca149:	e8 fe 04 f5 ff       	call   0x41a64c
4ca14e:	8b 45 c8             	mov    -0x38(%ebp),%eax
4ca151:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ca154:	8b 45 cc             	mov    -0x34(%ebp),%eax
4ca157:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ca15a:	8d 55 e0             	lea    -0x20(%ebp),%edx
4ca15d:	b9 02 00 00 00       	mov    $0x2,%ecx
4ca162:	8b c7                	mov    %edi,%eax
4ca164:	e8 97 e6 f5 ff       	call   0x428800
4ca169:	5f                   	pop    %edi
4ca16a:	5e                   	pop    %esi
4ca16b:	5b                   	pop    %ebx
4ca16c:	8b e5                	mov    %ebp,%esp
4ca16e:	5d                   	pop    %ebp
4ca16f:	c2 04 00             	ret    $0x4
4ca172:	8b c0                	mov    %eax,%eax
4ca174:	55                   	push   %ebp
4ca175:	8b ec                	mov    %esp,%ebp
4ca177:	83 c4 ec             	add    $0xffffffec,%esp
4ca17a:	53                   	push   %ebx
4ca17b:	56                   	push   %esi
4ca17c:	57                   	push   %edi
4ca17d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4ca180:	8b f2                	mov    %edx,%esi
4ca182:	8b f8                	mov    %eax,%edi
4ca184:	8b 5d 08             	mov    0x8(%ebp),%ebx
4ca187:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca18a:	56                   	push   %esi
4ca18b:	57                   	push   %edi
4ca18c:	8b f0                	mov    %eax,%esi
4ca18e:	8d 7d ec             	lea    -0x14(%ebp),%edi
4ca191:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca192:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca193:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca194:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca195:	5f                   	pop    %edi
4ca196:	5e                   	pop    %esi
4ca197:	f6 43 04 10          	testb  $0x10,0x4(%ebx)
4ca19b:	74 4a                	je     0x4ca1e7
4ca19d:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4ca1a1:	75 44                	jne    0x4ca1e7
4ca1a3:	b9 64 00 00 00       	mov    $0x64,%ecx
4ca1a8:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
4ca1ad:	b8 10 00 00 80       	mov    $0x80000010,%eax
4ca1b2:	e8 e1 e3 fb ff       	call   0x488598
4ca1b7:	50                   	push   %eax
4ca1b8:	8b c6                	mov    %esi,%eax
4ca1ba:	e8 01 eb f5 ff       	call   0x428cc0
4ca1bf:	50                   	push   %eax
4ca1c0:	e8 23 d4 f3 ff       	call   0x4075e8
4ca1c5:	8b d0                	mov    %eax,%edx
4ca1c7:	8b 46 14             	mov    0x14(%esi),%eax
4ca1ca:	e8 b5 e0 f5 ff       	call   0x428284
4ca1cf:	80 7b 19 03          	cmpb   $0x3,0x19(%ebx)
4ca1d3:	75 03                	jne    0x4ca1d8
4ca1d5:	ff 4d ec             	decl   -0x14(%ebp)
4ca1d8:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca1db:	8b c6                	mov    %esi,%eax
4ca1dd:	e8 56 e5 f5 ff       	call   0x428738
4ca1e2:	e9 83 00 00 00       	jmp    0x4ca26a
4ca1e7:	6a 01                	push   $0x1
4ca1e9:	8b d3                	mov    %ebx,%edx
4ca1eb:	b1 02                	mov    $0x2,%cl
4ca1ed:	8b c7                	mov    %edi,%eax
4ca1ef:	e8 ac ef ff ff       	call   0x4c91a0
4ca1f4:	50                   	push   %eax
4ca1f5:	8b c6                	mov    %esi,%eax
4ca1f7:	e8 c4 ea f5 ff       	call   0x428cc0
4ca1fc:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca1ff:	59                   	pop    %ecx
4ca200:	e8 27 ec fb ff       	call   0x488e2c
4ca205:	8a 43 19             	mov    0x19(%ebx),%al
4ca208:	3c 02                	cmp    $0x2,%al
4ca20a:	75 09                	jne    0x4ca215
4ca20c:	80 7b 1a 00          	cmpb   $0x0,0x1a(%ebx)
4ca210:	74 03                	je     0x4ca215
4ca212:	ff 45 f4             	incl   -0xc(%ebp)
4ca215:	3c 03                	cmp    $0x3,%al
4ca217:	75 03                	jne    0x4ca21c
4ca219:	ff 4d ec             	decl   -0x14(%ebp)
4ca21c:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4ca220:	74 2c                	je     0x4ca24e
4ca222:	8b 03                	mov    (%ebx),%eax
4ca224:	25 00 10 00 00       	and    $0x1000,%eax
4ca229:	3d 00 10 00 00       	cmp    $0x1000,%eax
4ca22e:	75 1e                	jne    0x4ca24e
4ca230:	8b d3                	mov    %ebx,%edx
4ca232:	33 c9                	xor    %ecx,%ecx
4ca234:	8b c7                	mov    %edi,%eax
4ca236:	e8 65 ef ff ff       	call   0x4c91a0
4ca23b:	50                   	push   %eax
4ca23c:	8b c6                	mov    %esi,%eax
4ca23e:	e8 7d ea f5 ff       	call   0x428cc0
4ca243:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca246:	59                   	pop    %ecx
4ca247:	e8 98 eb fb ff       	call   0x488de4
4ca24c:	eb 1c                	jmp    0x4ca26a
4ca24e:	8b d3                	mov    %ebx,%edx
4ca250:	33 c9                	xor    %ecx,%ecx
4ca252:	8b c7                	mov    %edi,%eax
4ca254:	e8 47 ef ff ff       	call   0x4c91a0
4ca259:	50                   	push   %eax
4ca25a:	8b c6                	mov    %esi,%eax
4ca25c:	e8 5f ea f5 ff       	call   0x428cc0
4ca261:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca264:	59                   	pop    %ecx
4ca265:	e8 7a eb fb ff       	call   0x488de4
4ca26a:	80 7b 19 03          	cmpb   $0x3,0x19(%ebx)
4ca26e:	75 0d                	jne    0x4ca27d
4ca270:	53                   	push   %ebx
4ca271:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4ca274:	8b d6                	mov    %esi,%edx
4ca276:	8b c7                	mov    %edi,%eax
4ca278:	8b 18                	mov    (%eax),%ebx
4ca27a:	ff 53 4c             	call   *0x4c(%ebx)
4ca27d:	5f                   	pop    %edi
4ca27e:	5e                   	pop    %esi
4ca27f:	5b                   	pop    %ebx
4ca280:	8b e5                	mov    %ebp,%esp
4ca282:	5d                   	pop    %ebp
4ca283:	c2 04 00             	ret    $0x4
4ca286:	8b c0                	mov    %eax,%eax
4ca288:	55                   	push   %ebp
4ca289:	8b ec                	mov    %esp,%ebp
4ca28b:	8b 55 08             	mov    0x8(%ebp),%edx
4ca28e:	8b 52 08             	mov    0x8(%edx),%edx
4ca291:	80 7a 30 00          	cmpb   $0x0,0x30(%edx)
4ca295:	75 04                	jne    0x4ca29b
4ca297:	b0 01                	mov    $0x1,%al
4ca299:	5d                   	pop    %ebp
4ca29a:	c3                   	ret
4ca29b:	a8 04                	test   $0x4,%al
4ca29d:	74 04                	je     0x4ca2a3
4ca29f:	b0 03                	mov    $0x3,%al
4ca2a1:	eb 0a                	jmp    0x4ca2ad
4ca2a3:	a8 02                	test   $0x2,%al
4ca2a5:	74 04                	je     0x4ca2ab
4ca2a7:	b0 04                	mov    $0x4,%al
4ca2a9:	eb 02                	jmp    0x4ca2ad
4ca2ab:	33 c0                	xor    %eax,%eax
4ca2ad:	5d                   	pop    %ebp
4ca2ae:	c3                   	ret
4ca2af:	90                   	nop
4ca2b0:	55                   	push   %ebp
4ca2b1:	8b ec                	mov    %esp,%ebp
4ca2b3:	51                   	push   %ecx
4ca2b4:	53                   	push   %ebx
4ca2b5:	8b d8                	mov    %eax,%ebx
4ca2b7:	b2 01                	mov    $0x1,%dl
4ca2b9:	a1 ec 6a 42 00       	mov    0x426aec,%eax
4ca2be:	e8 0d 2f f6 ff       	call   0x42d1d0
4ca2c3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ca2c6:	33 c0                	xor    %eax,%eax
4ca2c8:	55                   	push   %ebp
4ca2c9:	68 70 a3 4c 00       	push   $0x4ca370
4ca2ce:	64 ff 30             	push   %fs:(%eax)
4ca2d1:	64 89 20             	mov    %esp,%fs:(%eax)
4ca2d4:	b2 01                	mov    $0x1,%dl
4ca2d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca2d9:	e8 76 43 f6 ff       	call   0x42e654
4ca2de:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ca2e1:	33 d2                	xor    %edx,%edx
4ca2e3:	a1 00 b3 6a 00       	mov    0x6ab300,%eax
4ca2e8:	e8 23 bc f8 ff       	call   0x455f10
4ca2ed:	8b 45 08             	mov    0x8(%ebp),%eax
4ca2f0:	8b 40 fc             	mov    -0x4(%eax),%eax
4ca2f3:	8b 40 14             	mov    0x14(%eax),%eax
4ca2f6:	8b d3                	mov    %ebx,%edx
4ca2f8:	e8 87 df f5 ff       	call   0x428284
4ca2fd:	8b 45 08             	mov    0x8(%ebp),%eax
4ca300:	8b 40 fc             	mov    -0x4(%eax),%eax
4ca303:	e8 b8 e9 f5 ff       	call   0x428cc0
4ca308:	8b d8                	mov    %eax,%ebx
4ca30a:	6a 00                	push   $0x0
4ca30c:	53                   	push   %ebx
4ca30d:	e8 6e d4 f3 ff       	call   0x407780
4ca312:	68 ff ff ff 00       	push   $0xffffff
4ca317:	53                   	push   %ebx
4ca318:	e8 fb d3 f3 ff       	call   0x407718
4ca31d:	68 46 07 e2 00       	push   $0xe20746
4ca322:	6a 00                	push   $0x0
4ca324:	6a 00                	push   $0x0
4ca326:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca329:	e8 6a 34 f6 ff       	call   0x42d798
4ca32e:	e8 8d e9 f5 ff       	call   0x428cc0
4ca333:	50                   	push   %eax
4ca334:	a1 00 b3 6a 00       	mov    0x6ab300,%eax
4ca339:	8b 40 30             	mov    0x30(%eax),%eax
4ca33c:	50                   	push   %eax
4ca33d:	a1 00 b3 6a 00       	mov    0x6ab300,%eax
4ca342:	8b 40 34             	mov    0x34(%eax),%eax
4ca345:	50                   	push   %eax
4ca346:	8b 45 08             	mov    0x8(%ebp),%eax
4ca349:	8b 40 f4             	mov    -0xc(%eax),%eax
4ca34c:	50                   	push   %eax
4ca34d:	8b 45 08             	mov    0x8(%ebp),%eax
4ca350:	8b 40 f8             	mov    -0x8(%eax),%eax
4ca353:	50                   	push   %eax
4ca354:	53                   	push   %ebx
4ca355:	e8 de d0 f3 ff       	call   0x407438
4ca35a:	33 c0                	xor    %eax,%eax
4ca35c:	5a                   	pop    %edx
4ca35d:	59                   	pop    %ecx
4ca35e:	59                   	pop    %ecx
4ca35f:	64 89 10             	mov    %edx,%fs:(%eax)
4ca362:	68 77 a3 4c 00       	push   $0x4ca377
4ca367:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca36a:	e8 09 97 f3 ff       	call   0x403a78
4ca36f:	c3                   	ret
4ca370:	e9 97 9e f3 ff       	jmp    0x40420c
4ca375:	eb f0                	jmp    0x4ca367
4ca377:	5b                   	pop    %ebx
4ca378:	59                   	pop    %ecx
4ca379:	5d                   	pop    %ebp
4ca37a:	c3                   	ret
4ca37b:	90                   	nop
4ca37c:	55                   	push   %ebp
4ca37d:	8b ec                	mov    %esp,%ebp
4ca37f:	81 c4 fc fe ff ff    	add    $0xfffffefc,%esp
4ca385:	53                   	push   %ebx
4ca386:	56                   	push   %esi
4ca387:	57                   	push   %edi
4ca388:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4ca38b:	89 55 fc             	mov    %edx,-0x4(%ebp)
4ca38e:	8b f0                	mov    %eax,%esi
4ca390:	8d 7d c7             	lea    -0x39(%ebp),%edi
4ca393:	8b 45 08             	mov    0x8(%ebp),%eax
4ca396:	0f b6 40 30          	movzbl 0x30(%eax),%eax
4ca39a:	8a 98 ec b6 68 00    	mov    0x68b6ec(%eax),%bl
4ca3a0:	8b 45 08             	mov    0x8(%ebp),%eax
4ca3a3:	8b 40 08             	mov    0x8(%eax),%eax
4ca3a6:	25 00 40 00 00       	and    $0x4000,%eax
4ca3ab:	3d 00 40 00 00       	cmp    $0x4000,%eax
4ca3b0:	0f 94 45 d7          	sete   -0x29(%ebp)
4ca3b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca3b7:	8b 40 14             	mov    0x14(%eax),%eax
4ca3ba:	e8 bd de f5 ff       	call   0x42827c
4ca3bf:	89 45 e0             	mov    %eax,-0x20(%ebp)
4ca3c2:	8b 45 08             	mov    0x8(%ebp),%eax
4ca3c5:	f6 40 24 01          	testb  $0x1,0x24(%eax)
4ca3c9:	0f 84 67 03 00 00    	je     0x4ca736