472180:	8b 43 13             	mov    0x13(%ebx),%eax
472183:	2b c8                	sub    %eax,%ecx
472185:	d1 f9                	sar    $1,%ecx
472187:	79 03                	jns    0x47218c
472189:	83 d1 00             	adc    $0x0,%ecx
47218c:	03 c8                	add    %eax,%ecx
47218e:	3b d1                	cmp    %ecx,%edx
472190:	7c 06                	jl     0x472198
472192:	80 4b 3c 02          	orb    $0x2,0x3c(%ebx)
472196:	eb 04                	jmp    0x47219c
472198:	80 4b 3c 01          	orb    $0x1,0x3c(%ebx)
47219c:	5f                   	pop    %edi
47219d:	5e                   	pop    %esi
47219e:	5b                   	pop    %ebx
47219f:	8b e5                	mov    %ebp,%esp
4721a1:	5d                   	pop    %ebp
4721a2:	c2 04 00             	ret    $0x4
4721a5:	00 00                	add    %al,(%eax)
4721a7:	00 00                	add    %al,(%eax)
4721a9:	00 00                	add    %al,(%eax)
4721ab:	00 55 8b             	add    %dl,-0x75(%ebp)
4721ae:	ec                   	in     (%dx),%al
4721af:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
4721b5:	53                   	push   %ebx
4721b6:	56                   	push   %esi
4721b7:	57                   	push   %edi
4721b8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4721bb:	8b da                	mov    %edx,%ebx
4721bd:	8b f8                	mov    %eax,%edi
4721bf:	8b c7                	mov    %edi,%eax
4721c1:	e8 b6 ee ff ff       	call   0x47107c
4721c6:	3b f8                	cmp    %eax,%edi
4721c8:	74 09                	je     0x4721d3
4721ca:	b1 01                	mov    $0x1,%cl
4721cc:	8b d7                	mov    %edi,%edx
4721ce:	8b 30                	mov    (%eax),%esi
4721d0:	ff 56 38             	call   *0x38(%esi)
4721d3:	33 c9                	xor    %ecx,%ecx
4721d5:	8b d7                	mov    %edi,%edx
4721d7:	8b c7                	mov    %edi,%eax
4721d9:	8b 30                	mov    (%eax),%esi
4721db:	ff 56 38             	call   *0x38(%esi)
4721de:	8b c7                	mov    %edi,%eax
4721e0:	8b 10                	mov    (%eax),%edx
4721e2:	ff 52 40             	call   *0x40(%edx)
4721e5:	89 45 f0             	mov    %eax,-0x10(%ebp)
4721e8:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4721ec:	75 04                	jne    0x4721f2
4721ee:	8b f7                	mov    %edi,%esi
4721f0:	eb 09                	jmp    0x4721fb
4721f2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4721f5:	8b b0 9c 00 00 00    	mov    0x9c(%eax),%esi
4721fb:	85 db                	test   %ebx,%ebx
4721fd:	74 09                	je     0x472208
4721ff:	f6 83 b3 00 00 00 08 	testb  $0x8,0xb3(%ebx)
472206:	75 04                	jne    0x47220c
472208:	33 c0                	xor    %eax,%eax
47220a:	eb 02                	jmp    0x47220e
47220c:	b0 01                	mov    $0x1,%al
47220e:	88 45 f7             	mov    %al,-0x9(%ebp)
472211:	53                   	push   %ebx
472212:	56                   	push   %esi
472213:	8a 45 10             	mov    0x10(%ebp),%al
472216:	50                   	push   %eax
472217:	8b c7                	mov    %edi,%eax
472219:	8b 10                	mov    (%eax),%edx
47221b:	ff 52 4c             	call   *0x4c(%edx)
47221e:	33 c9                	xor    %ecx,%ecx
472220:	b2 01                	mov    $0x1,%dl
472222:	ff 90 cc 00 00 00    	call   *0xcc(%eax)
472228:	89 45 f8             	mov    %eax,-0x8(%ebp)
47222b:	33 d2                	xor    %edx,%edx
47222d:	55                   	push   %ebp
47222e:	68 62 26 47 00       	push   $0x472662
472233:	64 ff 32             	push   %fs:(%edx)
472236:	64 89 22             	mov    %esp,%fs:(%edx)
472239:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
47223d:	74 4c                	je     0x47228b
47223f:	8b 45 f8             	mov    -0x8(%ebp),%eax
472242:	8b 90 14 02 00 00    	mov    0x214(%eax),%edx
472248:	8b 45 f0             	mov    -0x10(%ebp),%eax
47224b:	e8 d8 24 fb ff       	call   0x424728
472250:	8b 45 f8             	mov    -0x8(%ebp),%eax
472253:	8b b0 14 02 00 00    	mov    0x214(%eax),%esi
472259:	8b 45 f0             	mov    -0x10(%ebp),%eax
47225c:	89 46 4c             	mov    %eax,0x4c(%esi)
47225f:	c6 46 71 01          	movb   $0x1,0x71(%esi)
472263:	8b 45 f0             	mov    -0x10(%ebp),%eax
472266:	8a 80 b4 00 00 00    	mov    0xb4(%eax),%al
47226c:	22 05 88 26 47 00    	and    0x472688,%al
472272:	0a 86 b4 00 00 00    	or     0xb4(%esi),%al
472278:	88 86 b4 00 00 00    	mov    %al,0xb4(%esi)
47227e:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
472283:	8b 45 f8             	mov    -0x8(%ebp),%eax
472286:	e8 e1 66 fd ff       	call   0x44896c
47228b:	85 db                	test   %ebx,%ebx
47228d:	74 74                	je     0x472303
47228f:	8b c3                	mov    %ebx,%eax
472291:	e8 ee 29 00 00       	call   0x474c84
472296:	8b 45 fc             	mov    -0x4(%ebp),%eax
472299:	57                   	push   %edi
47229a:	8d 70 04             	lea    0x4(%eax),%esi
47229d:	8d 7d c4             	lea    -0x3c(%ebp),%edi
4722a0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722a1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722a2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722a4:	5f                   	pop    %edi
4722a5:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
4722ab:	33 d2                	xor    %edx,%edx
4722ad:	33 c0                	xor    %eax,%eax
4722af:	e8 98 83 fa ff       	call   0x41a64c
4722b4:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
4722ba:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4722bd:	8b 83 c8 00 00 00    	mov    0xc8(%ebx),%eax
4722c3:	e8 1c 60 fd ff       	call   0x4482e4
4722c8:	8b 45 e0             	mov    -0x20(%ebp),%eax
4722cb:	50                   	push   %eax
4722cc:	8b 45 dc             	mov    -0x24(%ebp),%eax
4722cf:	50                   	push   %eax
4722d0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4722d3:	50                   	push   %eax
4722d4:	e8 9f 59 f9 ff       	call   0x407c78
4722d9:	8d 43 78             	lea    0x78(%ebx),%eax
4722dc:	50                   	push   %eax
4722dd:	e8 fe 58 f9 ff       	call   0x407be0
4722e2:	85 c0                	test   %eax,%eax
4722e4:	75 0e                	jne    0x4722f4
4722e6:	57                   	push   %edi
4722e7:	8d 73 78             	lea    0x78(%ebx),%esi
4722ea:	8d 7d b4             	lea    -0x4c(%ebp),%edi
4722ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4722f1:	5f                   	pop    %edi
4722f2:	eb 38                	jmp    0x47232c
4722f4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4722f7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4722fa:	33 d2                	xor    %edx,%edx
4722fc:	e8 bb a2 ff ff       	call   0x46c5bc
472301:	eb 29                	jmp    0x47232c
472303:	8b 45 0c             	mov    0xc(%ebp),%eax
472306:	8b 10                	mov    (%eax),%edx
472308:	89 55 c4             	mov    %edx,-0x3c(%ebp)
47230b:	8b 50 04             	mov    0x4(%eax),%edx
47230e:	89 55 c8             	mov    %edx,-0x38(%ebp)
472311:	8b 45 0c             	mov    0xc(%ebp),%eax
472314:	8b 10                	mov    (%eax),%edx
472316:	89 55 cc             	mov    %edx,-0x34(%ebp)
472319:	8b 50 04             	mov    0x4(%eax),%edx
47231c:	89 55 d0             	mov    %edx,-0x30(%ebp)
47231f:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
472322:	8b 45 0c             	mov    0xc(%ebp),%eax
472325:	33 d2                	xor    %edx,%edx
472327:	e8 fc a2 ff ff       	call   0x46c628
47232c:	8b 45 f8             	mov    -0x8(%ebp),%eax
47232f:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
472335:	57                   	push   %edi
472336:	8d 78 78             	lea    0x78(%eax),%edi
472339:	8d 75 b4             	lea    -0x4c(%ebp),%esi
47233c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47233d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47233e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47233f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
472340:	5f                   	pop    %edi
472341:	8d 55 d4             	lea    -0x2c(%ebp),%edx
472344:	8b 45 f8             	mov    -0x8(%ebp),%eax
472347:	66 be b3 ff          	mov    $0xffb3,%si
47234b:	e8 24 19 f9 ff       	call   0x403c74
472350:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
472354:	75 1b                	jne    0x472371
472356:	8b 45 c0             	mov    -0x40(%ebp),%eax
472359:	2b 45 b8             	sub    -0x48(%ebp),%eax
47235c:	8b 55 d8             	mov    -0x28(%ebp),%edx
47235f:	03 d2                	add    %edx,%edx
472361:	2b c2                	sub    %edx,%eax
472363:	8b 55 f8             	mov    -0x8(%ebp),%edx
472366:	8b 92 14 02 00 00    	mov    0x214(%edx),%edx
47236c:	89 42 74             	mov    %eax,0x74(%edx)
47236f:	eb 1c                	jmp    0x47238d
472371:	8b 45 bc             	mov    -0x44(%ebp),%eax
472374:	2b 45 b4             	sub    -0x4c(%ebp),%eax
472377:	8b 55 d4             	mov    -0x2c(%ebp),%edx
47237a:	03 d2                	add    %edx,%edx
47237c:	2b c2                	sub    %edx,%eax
47237e:	8b 55 f8             	mov    -0x8(%ebp),%edx
472381:	8b 92 14 02 00 00    	mov    0x214(%edx),%edx
472387:	89 82 cc 00 00 00    	mov    %eax,0xcc(%edx)
47238d:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
472391:	74 19                	je     0x4723ac
472393:	8b 45 f8             	mov    -0x8(%ebp),%eax
472396:	8b b0 14 02 00 00    	mov    0x214(%eax),%esi
47239c:	8b c6                	mov    %esi,%eax
47239e:	e8 1d 55 00 00       	call   0x4778c0
4723a3:	8b d0                	mov    %eax,%edx
4723a5:	8b c6                	mov    %esi,%eax
4723a7:	e8 58 33 00 00       	call   0x475704
4723ac:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
4723b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4723b5:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
4723bb:	e8 38 4f 00 00       	call   0x4772f8
4723c0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4723c3:	8b 70 48             	mov    0x48(%eax),%esi
4723c6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4723c9:	8b 40 4c             	mov    0x4c(%eax),%eax
4723cc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4723cf:	85 db                	test   %ebx,%ebx
4723d1:	0f 84 8c 00 00 00    	je     0x472463
4723d7:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
4723db:	75 72                	jne    0x47244f
4723dd:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4723e1:	75 40                	jne    0x472423
4723e3:	85 db                	test   %ebx,%ebx
4723e5:	74 09                	je     0x4723f0
4723e7:	80 bb a4 00 00 00 01 	cmpb   $0x1,0xa4(%ebx)
4723ee:	74 23                	je     0x472413
4723f0:	6a 28                	push   $0x28
4723f2:	e8 29 57 f9 ff       	call   0x407b20
4723f7:	85 c0                	test   %eax,%eax
4723f9:	75 08                	jne    0x472403
4723fb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4723fe:	89 45 ec             	mov    %eax,-0x14(%ebp)
472401:	eb 08                	jmp    0x47240b
472403:	8b 45 cc             	mov    -0x34(%ebp),%eax
472406:	2b c6                	sub    %esi,%eax
472408:	89 45 ec             	mov    %eax,-0x14(%ebp)
47240b:	8b 45 d0             	mov    -0x30(%ebp),%eax
47240e:	89 45 e8             	mov    %eax,-0x18(%ebp)
472411:	eb 7f                	jmp    0x472492
472413:	8b 45 c4             	mov    -0x3c(%ebp),%eax
472416:	2b c6                	sub    %esi,%eax
472418:	89 45 ec             	mov    %eax,-0x14(%ebp)
47241b:	8b 45 c8             	mov    -0x38(%ebp),%eax
47241e:	89 45 e8             	mov    %eax,-0x18(%ebp)
472421:	eb 6f                	jmp    0x472492
472423:	8b 45 f0             	mov    -0x10(%ebp),%eax
472426:	80 b8 a4 00 00 00 01 	cmpb   $0x1,0xa4(%eax)
47242d:	74 10                	je     0x47243f
47242f:	8b 45 cc             	mov    -0x34(%ebp),%eax
472432:	2b c6                	sub    %esi,%eax
472434:	89 45 ec             	mov    %eax,-0x14(%ebp)
472437:	8b 45 d0             	mov    -0x30(%ebp),%eax
47243a:	89 45 e8             	mov    %eax,-0x18(%ebp)
47243d:	eb 53                	jmp    0x472492
47243f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
472442:	2b c6                	sub    %esi,%eax
472444:	89 45 ec             	mov    %eax,-0x14(%ebp)
472447:	8b 45 c8             	mov    -0x38(%ebp),%eax
47244a:	89 45 e8             	mov    %eax,-0x18(%ebp)
47244d:	eb 43                	jmp    0x472492
47244f:	8b 45 cc             	mov    -0x34(%ebp),%eax
472452:	2b 45 d4             	sub    -0x2c(%ebp),%eax
472455:	89 45 ec             	mov    %eax,-0x14(%ebp)
472458:	8b 45 c8             	mov    -0x38(%ebp),%eax
47245b:	2b 45 d8             	sub    -0x28(%ebp),%eax
47245e:	89 45 e8             	mov    %eax,-0x18(%ebp)
472461:	eb 2f                	jmp    0x472492
472463:	8b 45 0c             	mov    0xc(%ebp),%eax
472466:	8b 00                	mov    (%eax),%eax
472468:	89 45 ec             	mov    %eax,-0x14(%ebp)
47246b:	8b 45 0c             	mov    0xc(%ebp),%eax
47246e:	8b 40 04             	mov    0x4(%eax),%eax
472471:	89 45 e8             	mov    %eax,-0x18(%ebp)
472474:	8a 45 08             	mov    0x8(%ebp),%al
472477:	fe c8                	dec    %al
472479:	74 06                	je     0x472481
47247b:	fe c8                	dec    %al
47247d:	74 07                	je     0x472486
47247f:	eb 11                	jmp    0x472492
472481:	29 75 ec             	sub    %esi,-0x14(%ebp)
472484:	eb 0c                	jmp    0x472492
472486:	8b c6                	mov    %esi,%eax
472488:	d1 f8                	sar    $1,%eax
47248a:	79 03                	jns    0x47248f
47248c:	83 d0 00             	adc    $0x0,%eax
47248f:	29 45 ec             	sub    %eax,-0x14(%ebp)
472492:	8a 45 18             	mov    0x18(%ebp),%al
472495:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
47249b:	8a 45 08             	mov    0x8(%ebp),%al
47249e:	88 85 75 ff ff ff    	mov    %al,-0x8b(%ebp)
4724a4:	8a 45 f7             	mov    -0x9(%ebp),%al
4724a7:	88 85 76 ff ff ff    	mov    %al,-0x8a(%ebp)
4724ad:	56                   	push   %esi
4724ae:	57                   	push   %edi
4724af:	8d 75 b4             	lea    -0x4c(%ebp),%esi
4724b2:	8d bd 77 ff ff ff    	lea    -0x89(%ebp),%edi
4724b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724b9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724ba:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724bb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724bc:	5f                   	pop    %edi
4724bd:	5e                   	pop    %esi
4724be:	56                   	push   %esi
4724bf:	57                   	push   %edi
4724c0:	8d 75 c4             	lea    -0x3c(%ebp),%esi
4724c3:	8d 7d 87             	lea    -0x79(%ebp),%edi
4724c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724c7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724c8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724c9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4724ca:	5f                   	pop    %edi
4724cb:	5e                   	pop    %esi
4724cc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4724cf:	89 45 98             	mov    %eax,-0x68(%ebp)
4724d2:	8b 45 d8             	mov    -0x28(%ebp),%eax
4724d5:	89 45 9c             	mov    %eax,-0x64(%ebp)
4724d8:	8b 45 ec             	mov    -0x14(%ebp),%eax
4724db:	89 45 a0             	mov    %eax,-0x60(%ebp)
4724de:	8b 45 e8             	mov    -0x18(%ebp),%eax
4724e1:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4724e4:	89 75 a8             	mov    %esi,-0x58(%ebp)
4724e7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4724ea:	89 45 ac             	mov    %eax,-0x54(%ebp)
4724ed:	a0 8c 26 47 00       	mov    0x47268c,%al
4724f2:	88 45 b0             	mov    %al,-0x50(%ebp)
4724f5:	c6 45 b1 01          	movb   $0x1,-0x4f(%ebp)
4724f9:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
4724ff:	50                   	push   %eax
472500:	8b 4d f8             	mov    -0x8(%ebp),%ecx
472503:	8b d3                	mov    %ebx,%edx
472505:	8b c7                	mov    %edi,%eax
472507:	8b 30                	mov    (%eax),%esi
472509:	ff 56 48             	call   *0x48(%esi)
47250c:	8b 45 a0             	mov    -0x60(%ebp),%eax
47250f:	89 45 ec             	mov    %eax,-0x14(%ebp)
472512:	8b 45 a4             	mov    -0x5c(%ebp),%eax
472515:	89 45 e8             	mov    %eax,-0x18(%ebp)
472518:	8b 75 a8             	mov    -0x58(%ebp),%esi
47251b:	8b 45 ac             	mov    -0x54(%ebp),%eax
47251e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
472521:	8b 45 f8             	mov    -0x8(%ebp),%eax
472524:	8a 55 b0             	mov    -0x50(%ebp),%dl
472527:	88 90 11 02 00 00    	mov    %dl,0x211(%eax)
47252d:	56                   	push   %esi
47252e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
472531:	50                   	push   %eax
472532:	8b 4d e8             	mov    -0x18(%ebp),%ecx
472535:	8b 55 ec             	mov    -0x14(%ebp),%edx
472538:	8b 45 f8             	mov    -0x8(%ebp),%eax
47253b:	8b 30                	mov    (%eax),%esi
47253d:	ff 96 84 00 00 00    	call   *0x84(%esi)
472543:	85 db                	test   %ebx,%ebx
472545:	74 50                	je     0x472597
472547:	8b d3                	mov    %ebx,%edx
472549:	8b 45 f8             	mov    -0x8(%ebp),%eax
47254c:	e8 d7 21 fb ff       	call   0x424728
472551:	8b 45 f8             	mov    -0x8(%ebp),%eax
472554:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
47255a:	8b 45 f8             	mov    -0x8(%ebp),%eax