479106:	51                   	push   %ecx
479107:	68 7c 2c 49 00       	push   $0x492c7c
47910c:	57                   	push   %edi
47910d:	ff 10                	call   *(%eax)
47910f:	85 c0                	test   %eax,%eax
479111:	78 1a                	js     0x47912d
479113:	8b 75 c0             	mov    -0x40(%ebp),%esi
479116:	8d 4d f8             	lea    -0x8(%ebp),%ecx
479119:	51                   	push   %ecx
47911a:	56                   	push   %esi
47911b:	8b 06                	mov    (%esi),%eax
47911d:	ff 50 0c             	call   *0xc(%eax)
479120:	8b 0e                	mov    (%esi),%ecx
479122:	8b f8                	mov    %eax,%edi
479124:	56                   	push   %esi
479125:	ff 51 08             	call   *0x8(%ecx)
479128:	8b 75 e4             	mov    -0x1c(%ebp),%esi
47912b:	eb 19                	jmp    0x479146
47912d:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
479131:	74 76                	je     0x4791a9
479133:	8b 07                	mov    (%edi),%eax
479135:	8d 4d f8             	lea    -0x8(%ebp),%ecx
479138:	51                   	push   %ecx
479139:	68 00 08 00 00       	push   $0x800
47913e:	6a 00                	push   $0x0
479140:	57                   	push   %edi
479141:	ff 50 10             	call   *0x10(%eax)
479144:	8b f8                	mov    %eax,%edi
479146:	85 ff                	test   %edi,%edi
479148:	78 5f                	js     0x4791a9
47914a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47914d:	85 c9                	test   %ecx,%ecx
47914f:	74 58                	je     0x4791a9
479151:	8b 01                	mov    (%ecx),%eax
479153:	83 fe 01             	cmp    $0x1,%esi
479156:	75 0b                	jne    0x479163
479158:	33 d2                	xor    %edx,%edx
47915a:	52                   	push   %edx
47915b:	52                   	push   %edx
47915c:	52                   	push   %edx
47915d:	8d 55 08             	lea    0x8(%ebp),%edx
479160:	52                   	push   %edx
479161:	eb 0e                	jmp    0x479171
479163:	83 fe 02             	cmp    $0x2,%esi
479166:	75 28                	jne    0x479190
479168:	33 db                	xor    %ebx,%ebx
47916a:	8d 55 08             	lea    0x8(%ebp),%edx
47916d:	53                   	push   %ebx
47916e:	53                   	push   %ebx
47916f:	52                   	push   %edx
479170:	53                   	push   %ebx
479171:	6a ff                	push   $0xffffffff
479173:	51                   	push   %ecx
479174:	ff 50 30             	call   *0x30(%eax)
479177:	ff 75 08             	push   0x8(%ebp)
47917a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47917d:	e8 76 0a f9 ff       	call   0x409bf8
479182:	ff 75 08             	push   0x8(%ebp)
479185:	ff 15 18 f4 48 00    	call   *0x48f418
47918b:	e9 5d 02 00 00       	jmp    0x4793ed
479190:	8d 55 e0             	lea    -0x20(%ebp),%edx
479193:	52                   	push   %edx
479194:	8d 55 08             	lea    0x8(%ebp),%edx
479197:	52                   	push   %edx
479198:	51                   	push   %ecx
479199:	ff 50 48             	call   *0x48(%eax)
47919c:	85 c0                	test   %eax,%eax
47919e:	74 24                	je     0x4791c4
4791a0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4791a3:	50                   	push   %eax
4791a4:	8b 08                	mov    (%eax),%ecx
4791a6:	ff 51 08             	call   *0x8(%ecx)
4791a9:	8b 03                	mov    (%ebx),%eax
4791ab:	6a 00                	push   $0x0
4791ad:	6a 01                	push   $0x1
4791af:	8b 48 04             	mov    0x4(%eax),%ecx
4791b2:	03 cb                	add    %ebx,%ecx
4791b4:	e8 ea d8 fd ff       	call   0x456aa3
4791b9:	5e                   	pop    %esi
4791ba:	5f                   	pop    %edi
4791bb:	33 c0                	xor    %eax,%eax
4791bd:	5b                   	pop    %ebx
4791be:	8b e5                	mov    %ebp,%esp
4791c0:	5d                   	pop    %ebp
4791c1:	c2 08 00             	ret    $0x8
4791c4:	8b 45 08             	mov    0x8(%ebp),%eax
4791c7:	8b 08                	mov    (%eax),%ecx
4791c9:	83 fe 04             	cmp    $0x4,%esi
4791cc:	75 52                	jne    0x479220
4791ce:	8d 55 fc             	lea    -0x4(%ebp),%edx
4791d1:	52                   	push   %edx
4791d2:	50                   	push   %eax
4791d3:	ff 51 1c             	call   *0x1c(%ecx)
4791d6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4791d9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4791dc:	50                   	push   %eax
4791dd:	ff 71 10             	push   0x10(%ecx)
4791e0:	0f b7 41 1a          	movzwl 0x1a(%ecx),%eax
4791e4:	50                   	push   %eax
4791e5:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
4791e9:	50                   	push   %eax
4791ea:	51                   	push   %ecx
4791eb:	ff 15 64 f4 48 00    	call   *0x48f464
4791f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4791f4:	8b f0                	mov    %eax,%esi
4791f6:	ff 75 fc             	push   -0x4(%ebp)
4791f9:	51                   	push   %ecx
4791fa:	8b 11                	mov    (%ecx),%edx
4791fc:	ff 52 30             	call   *0x30(%edx)
4791ff:	85 f6                	test   %esi,%esi
479201:	0f 85 dd 01 00 00    	jne    0x4793e4
479207:	ff 75 f0             	push   -0x10(%ebp)
47920a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47920d:	e8 e6 09 f9 ff       	call   0x409bf8
479212:	ff 75 f0             	push   -0x10(%ebp)
479215:	ff 15 18 f4 48 00    	call   *0x48f418
47921b:	e9 c4 01 00 00       	jmp    0x4793e4
479220:	8d 55 ec             	lea    -0x14(%ebp),%edx
479223:	52                   	push   %edx
479224:	ff 75 e0             	push   -0x20(%ebp)
479227:	50                   	push   %eax
479228:	ff 51 14             	call   *0x14(%ecx)
47922b:	83 7d ec 05          	cmpl   $0x5,-0x14(%ebp)
47922f:	0f 84 e8 00 00 00    	je     0x47931d
479235:	8b 45 08             	mov    0x8(%ebp),%eax
479238:	50                   	push   %eax
479239:	8b 08                	mov    (%eax),%ecx
47923b:	ff 51 0c             	call   *0xc(%ecx)
47923e:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
479242:	33 ff                	xor    %edi,%edi
479244:	89 45 bc             	mov    %eax,-0x44(%ebp)
479247:	85 c0                	test   %eax,%eax
479249:	0f 84 ce 00 00 00    	je     0x47931d
47924f:	8b 75 f4             	mov    -0xc(%ebp),%esi
479252:	85 f6                	test   %esi,%esi
479254:	0f 85 c0 00 00 00    	jne    0x47931a
47925a:	8b 45 08             	mov    0x8(%ebp),%eax
47925d:	8d 55 ec             	lea    -0x14(%ebp),%edx
479260:	21 75 ec             	and    %esi,-0x14(%ebp)
479263:	52                   	push   %edx
479264:	57                   	push   %edi
479265:	8b 08                	mov    (%eax),%ecx
479267:	50                   	push   %eax
479268:	ff 51 14             	call   *0x14(%ecx)
47926b:	83 7d ec 05          	cmpl   $0x5,-0x14(%ebp)
47926f:	0f 85 9b 00 00 00    	jne    0x479310
479275:	8b 45 08             	mov    0x8(%ebp),%eax
479278:	8d 55 e8             	lea    -0x18(%ebp),%edx
47927b:	52                   	push   %edx
47927c:	57                   	push   %edi
47927d:	50                   	push   %eax
47927e:	8b 08                	mov    (%eax),%ecx
479280:	ff 51 10             	call   *0x10(%ecx)
479283:	8b 45 e8             	mov    -0x18(%ebp),%eax
479286:	8d 55 c4             	lea    -0x3c(%ebp),%edx
479289:	52                   	push   %edx
47928a:	50                   	push   %eax
47928b:	8b 08                	mov    (%eax),%ecx
47928d:	ff 51 0c             	call   *0xc(%ecx)
479290:	8b 55 c4             	mov    -0x3c(%ebp),%edx
479293:	52                   	push   %edx
479294:	0f b7 42 30          	movzwl 0x30(%edx),%eax
479298:	89 45 f4             	mov    %eax,-0xc(%ebp)
47929b:	8b 45 e8             	mov    -0x18(%ebp),%eax
47929e:	50                   	push   %eax
47929f:	8b 08                	mov    (%eax),%ecx
4792a1:	ff 51 4c             	call   *0x4c(%ecx)
4792a4:	83 4d cc ff          	orl    $0xffffffff,-0x34(%ebp)
4792a8:	33 d2                	xor    %edx,%edx
4792aa:	89 55 f0             	mov    %edx,-0x10(%ebp)
4792ad:	39 55 f4             	cmp    %edx,-0xc(%ebp)
4792b0:	76 55                	jbe    0x479307
4792b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
4792b5:	8d 55 c8             	lea    -0x38(%ebp),%edx
4792b8:	52                   	push   %edx
4792b9:	8b 55 f0             	mov    -0x10(%ebp),%edx
4792bc:	52                   	push   %edx
4792bd:	8b 08                	mov    (%eax),%ecx
4792bf:	50                   	push   %eax
4792c0:	ff 51 20             	call   *0x20(%ecx)
4792c3:	85 c0                	test   %eax,%eax
4792c5:	75 34                	jne    0x4792fb
4792c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4792ca:	8d 55 fc             	lea    -0x4(%ebp),%edx
4792cd:	52                   	push   %edx
4792ce:	ff 75 c8             	push   -0x38(%ebp)
4792d1:	8b 08                	mov    (%eax),%ecx
4792d3:	50                   	push   %eax
4792d4:	ff 51 38             	call   *0x38(%ecx)
4792d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4792da:	8d 55 cc             	lea    -0x34(%ebp),%edx
4792dd:	52                   	push   %edx
4792de:	6a 00                	push   $0x0
4792e0:	50                   	push   %eax
4792e1:	8b 08                	mov    (%eax),%ecx
4792e3:	ff 51 48             	call   *0x48(%ecx)
4792e6:	8b 45 cc             	mov    -0x34(%ebp),%eax
4792e9:	3b 45 e0             	cmp    -0x20(%ebp),%eax
4792ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
4792ef:	50                   	push   %eax
4792f0:	8b 08                	mov    (%eax),%ecx
4792f2:	0f 84 90 00 00 00    	je     0x479388
4792f8:	ff 51 08             	call   *0x8(%ecx)
4792fb:	8b 55 f0             	mov    -0x10(%ebp),%edx
4792fe:	42                   	inc    %edx
4792ff:	89 55 f0             	mov    %edx,-0x10(%ebp)
479302:	3b 55 f4             	cmp    -0xc(%ebp),%edx
479305:	72 ab                	jb     0x4792b2
479307:	8b 45 e8             	mov    -0x18(%ebp),%eax
47930a:	50                   	push   %eax
47930b:	8b 08                	mov    (%eax),%ecx
47930d:	ff 51 08             	call   *0x8(%ecx)
479310:	47                   	inc    %edi
479311:	3b 7d bc             	cmp    -0x44(%ebp),%edi
479314:	0f 82 38 ff ff ff    	jb     0x479252
47931a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
47931d:	83 fe 03             	cmp    $0x3,%esi
479320:	74 09                	je     0x47932b
479322:	83 fe 06             	cmp    $0x6,%esi
479325:	0f 85 b9 00 00 00    	jne    0x4793e4
47932b:	83 7d ec 05          	cmpl   $0x5,-0x14(%ebp)
47932f:	0f 85 af 00 00 00    	jne    0x4793e4
479335:	8b 45 f8             	mov    -0x8(%ebp),%eax
479338:	8d 55 f4             	lea    -0xc(%ebp),%edx
47933b:	52                   	push   %edx
47933c:	50                   	push   %eax
47933d:	8b 08                	mov    (%eax),%ecx
47933f:	ff 51 0c             	call   *0xc(%ecx)
479342:	8b 75 f4             	mov    -0xc(%ebp),%esi
479345:	8d 7d d0             	lea    -0x30(%ebp),%edi
479348:	8b 45 f8             	mov    -0x8(%ebp),%eax
47934b:	ff 75 f4             	push   -0xc(%ebp)
47934e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47934f:	50                   	push   %eax
479350:	a5                   	movsl  %ds:(%esi),%es:(%edi)
479351:	a5                   	movsl  %ds:(%esi),%es:(%edi)
479352:	a5                   	movsl  %ds:(%esi),%es:(%edi)
479353:	8b 08                	mov    (%eax),%ecx
479355:	ff 51 4c             	call   *0x4c(%ecx)
479358:	6a 28                	push   $0x28
47935a:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
479360:	50                   	push   %eax
479361:	8d 45 d0             	lea    -0x30(%ebp),%eax
479364:	50                   	push   %eax
479365:	ff 15 50 f8 48 00    	call   *0x48f850
47936b:	85 c0                	test   %eax,%eax
47936d:	74 65                	je     0x4793d4
47936f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
479372:	83 f8 06             	cmp    $0x6,%eax
479375:	75 2b                	jne    0x4793a2
479377:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47937a:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
479380:	50                   	push   %eax
479381:	e8 72 08 f9 ff       	call   0x409bf8
479386:	eb 5c                	jmp    0x4793e4
479388:	33 f6                	xor    %esi,%esi
47938a:	46                   	inc    %esi
47938b:	ff 51 08             	call   *0x8(%ecx)
47938e:	8b 45 f8             	mov    -0x8(%ebp),%eax
479391:	50                   	push   %eax
479392:	8b 08                	mov    (%eax),%ecx
479394:	ff 51 08             	call   *0x8(%ecx)
479397:	8b 45 e8             	mov    -0x18(%ebp),%eax
47939a:	89 45 f8             	mov    %eax,-0x8(%ebp)
47939d:	e9 6e ff ff ff       	jmp    0x479310
4793a2:	83 f8 03             	cmp    $0x3,%eax
4793a5:	75 3d                	jne    0x4793e4
4793a7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4793aa:	50                   	push   %eax
4793ab:	8d 45 d0             	lea    -0x30(%ebp),%eax
4793ae:	50                   	push   %eax
4793af:	ff 15 34 f8 48 00    	call   *0x48f834
4793b5:	85 c0                	test   %eax,%eax
4793b7:	75 1b                	jne    0x4793d4
4793b9:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4793bc:	74 16                	je     0x4793d4
4793be:	ff 75 fc             	push   -0x4(%ebp)
4793c1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4793c4:	e8 2f 08 f9 ff       	call   0x409bf8
4793c9:	ff 75 fc             	push   -0x4(%ebp)
4793cc:	ff 15 2c f8 48 00    	call   *0x48f82c
4793d2:	eb 10                	jmp    0x4793e4
4793d4:	8b 03                	mov    (%ebx),%eax
4793d6:	6a 00                	push   $0x0
4793d8:	6a 01                	push   $0x1
4793da:	8b 48 04             	mov    0x4(%eax),%ecx
4793dd:	03 cb                	add    %ebx,%ecx
4793df:	e8 bf d6 fd ff       	call   0x456aa3
4793e4:	8b 45 08             	mov    0x8(%ebp),%eax
4793e7:	50                   	push   %eax
4793e8:	8b 08                	mov    (%eax),%ecx
4793ea:	ff 51 08             	call   *0x8(%ecx)
4793ed:	8b 45 f8             	mov    -0x8(%ebp),%eax
4793f0:	e9 fd fc ff ff       	jmp    0x4790f2
4793f5:	56                   	push   %esi
4793f6:	8b f1                	mov    %ecx,%esi
4793f8:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4793fc:	75 20                	jne    0x47941e
4793fe:	68 14 fb 48 00       	push   $0x48fb14
479403:	ff 15 9c f1 48 00    	call   *0x48f19c
479409:	89 06                	mov    %eax,(%esi)
47940b:	85 c0                	test   %eax,%eax
47940d:	74 0f                	je     0x47941e
47940f:	68 58 ac 4b 00       	push   $0x4bac58
479414:	50                   	push   %eax
479415:	ff 15 a0 f1 48 00    	call   *0x48f1a0
47941b:	89 46 08             	mov    %eax,0x8(%esi)
47941e:	33 c0                	xor    %eax,%eax
479420:	39 46 08             	cmp    %eax,0x8(%esi)
479423:	5e                   	pop    %esi
479424:	0f 95 c0             	setne  %al
479427:	c3                   	ret
479428:	55                   	push   %ebp
479429:	8b ec                	mov    %esp,%ebp
47942b:	81 ec 98 00 00 00    	sub    $0x98,%esp
479431:	53                   	push   %ebx
479432:	56                   	push   %esi
479433:	57                   	push   %edi
479434:	8b f1                	mov    %ecx,%esi
479436:	c7 45 dc 0c ab 4b 00 	movl   $0x4bab0c,-0x24(%ebp)
47943d:	33 c9                	xor    %ecx,%ecx
47943f:	89 75 f8             	mov    %esi,-0x8(%ebp)
479442:	33 c0                	xor    %eax,%eax
479444:	89 4d f0             	mov    %ecx,-0x10(%ebp)
479447:	6a 20                	push   $0x20
479449:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47944c:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
479452:	51                   	push   %ecx
479453:	50                   	push   %eax
479454:	c7 45 d8 20 ab 4b 00 	movl   $0x4bab20,-0x28(%ebp)
47945b:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
47945e:	89 4d b8             	mov    %ecx,-0x48(%ebp)
479461:	89 4d bc             	mov    %ecx,-0x44(%ebp)
479464:	89 4d c0             	mov    %ecx,-0x40(%ebp)
479467:	c7 45 e0 04 04 02 00 	movl   $0x20404,-0x20(%ebp)
47946e:	c7 45 e8 c0 00 00 00 	movl   $0xc0,-0x18(%ebp)
479475:	c7 45 ec 00 00 00 46 	movl   $0x46000000,-0x14(%ebp)
47947c:	e8 9f 9b fa ff       	call   0x423020
479481:	8b 55 08             	mov    0x8(%ebp),%edx
479484:	83 c4 0c             	add    $0xc,%esp
479487:	85 d2                	test   %edx,%edx
479489:	0f 84 30 02 00 00    	je     0x4796bf
47948f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
479493:	0f 84 26 02 00 00    	je     0x4796bf
479499:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47949c:	85 db                	test   %ebx,%ebx
47949e:	0f 84 1b 02 00 00    	je     0x4796bf
4794a4:	8b cb                	mov    %ebx,%ecx
4794a6:	e8 32 ff f8 ff       	call   0x4093dd
4794ab:	33 ff                	xor    %edi,%edi