48b0b2:	03 f8                	add    %eax,%edi
48b0b4:	84 c9                	test   %cl,%cl
48b0b6:	0f 85 18 ff ff ff    	jne    0x48afd4
48b0bc:	84 ff                	test   %bh,%bh
48b0be:	74 03                	je     0x48b0c3
48b0c0:	83 c7 02             	add    $0x2,%edi
48b0c3:	6a 20                	push   $0x20
48b0c5:	58                   	pop    %eax
48b0c6:	eb 03                	jmp    0x48b0cb
48b0c8:	83 c7 02             	add    $0x2,%edi
48b0cb:	66 39 07             	cmp    %ax,(%edi)
48b0ce:	74 f8                	je     0x48b0c8
48b0d0:	84 ff                	test   %bh,%bh
48b0d2:	75 14                	jne    0x48b0e8
48b0d4:	33 c0                	xor    %eax,%eax
48b0d6:	66 39 07             	cmp    %ax,(%edi)
48b0d9:	0f 85 cb 00 00 00    	jne    0x48b1aa
48b0df:	c6 46 08 01          	movb   $0x1,0x8(%esi)
48b0e3:	e9 d2 00 00 00       	jmp    0x48b1ba
48b0e8:	6a 03                	push   $0x3
48b0ea:	68 f8 40 4a 00       	push   $0x4a40f8
48b0ef:	57                   	push   %edi
48b0f0:	e8 52 f4 fe ff       	call   0x47a547
48b0f5:	83 c4 0c             	add    $0xc,%esp
48b0f8:	85 c0                	test   %eax,%eax
48b0fa:	0f 85 aa 00 00 00    	jne    0x48b1aa
48b100:	83 c7 06             	add    $0x6,%edi
48b103:	6a 20                	push   $0x20
48b105:	5b                   	pop    %ebx
48b106:	0f b7 07             	movzwl (%edi),%eax
48b109:	8b c8                	mov    %eax,%ecx
48b10b:	66 3b c3             	cmp    %bx,%ax
48b10e:	75 0d                	jne    0x48b11d
48b110:	83 c7 02             	add    $0x2,%edi
48b113:	0f b7 07             	movzwl (%edi),%eax
48b116:	66 3b c3             	cmp    %bx,%ax
48b119:	74 f5                	je     0x48b110
48b11b:	8b c8                	mov    %eax,%ecx
48b11d:	66 83 f9 3d          	cmp    $0x3d,%cx
48b121:	0f 85 83 00 00 00    	jne    0x48b1aa
48b127:	83 c7 02             	add    $0x2,%edi
48b12a:	66 39 1f             	cmp    %bx,(%edi)
48b12d:	74 f8                	je     0x48b127
48b12f:	6a 05                	push   $0x5
48b131:	68 00 41 4a 00       	push   $0x4a4100
48b136:	57                   	push   %edi
48b137:	e8 ec f2 fe ff       	call   0x47a428
48b13c:	83 c4 0c             	add    $0xc,%esp
48b13f:	85 c0                	test   %eax,%eax
48b141:	75 0a                	jne    0x48b14d
48b143:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
48b149:	6a 0a                	push   $0xa
48b14b:	eb 3a                	jmp    0x48b187
48b14d:	6a 08                	push   $0x8
48b14f:	68 0c 41 4a 00       	push   $0x4a410c
48b154:	57                   	push   %edi
48b155:	e8 ce f2 fe ff       	call   0x47a428
48b15a:	83 c4 0c             	add    $0xc,%esp
48b15d:	85 c0                	test   %eax,%eax
48b15f:	75 0a                	jne    0x48b16b
48b161:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
48b167:	6a 10                	push   $0x10
48b169:	eb 1c                	jmp    0x48b187
48b16b:	6a 07                	push   $0x7
48b16d:	68 1c 41 4a 00       	push   $0x4a411c
48b172:	57                   	push   %edi
48b173:	e8 b0 f2 fe ff       	call   0x47a428
48b178:	83 c4 0c             	add    $0xc,%esp
48b17b:	85 c0                	test   %eax,%eax
48b17d:	75 2b                	jne    0x48b1aa
48b17f:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
48b185:	6a 0e                	push   $0xe
48b187:	58                   	pop    %eax
48b188:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
48b18b:	0f b7 01             	movzwl (%ecx),%eax
48b18e:	8b d0                	mov    %eax,%edx
48b190:	66 3b c3             	cmp    %bx,%ax
48b193:	75 0d                	jne    0x48b1a2
48b195:	8d 49 02             	lea    0x2(%ecx),%ecx
48b198:	0f b7 01             	movzwl (%ecx),%eax
48b19b:	66 3b c3             	cmp    %bx,%ax
48b19e:	74 f5                	je     0x48b195
48b1a0:	8b d0                	mov    %eax,%edx
48b1a2:	66 85 d2             	test   %dx,%dx
48b1a5:	e9 2f ff ff ff       	jmp    0x48b0d9
48b1aa:	e8 86 ed fe ff       	call   0x479f35
48b1af:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
48b1b5:	e8 67 e4 fe ff       	call   0x479621
48b1ba:	5f                   	pop    %edi
48b1bb:	8b c6                	mov    %esi,%eax
48b1bd:	5e                   	pop    %esi
48b1be:	5b                   	pop    %ebx
48b1bf:	c9                   	leave
48b1c0:	c3                   	ret
48b1c1:	8b ff                	mov    %edi,%edi
48b1c3:	55                   	push   %ebp
48b1c4:	8b ec                	mov    %esp,%ebp
48b1c6:	83 ec 1c             	sub    $0x1c,%esp
48b1c9:	56                   	push   %esi
48b1ca:	57                   	push   %edi
48b1cb:	ff 75 0c             	push   0xc(%ebp)
48b1ce:	8d 45 e4             	lea    -0x1c(%ebp),%eax
48b1d1:	50                   	push   %eax
48b1d2:	e8 7f fd ff ff       	call   0x48af56
48b1d7:	8b f0                	mov    %eax,%esi
48b1d9:	8d 7d f0             	lea    -0x10(%ebp),%edi
48b1dc:	59                   	pop    %ecx
48b1dd:	59                   	pop    %ecx
48b1de:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48b1df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48b1e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48b1e1:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
48b1e5:	5f                   	pop    %edi
48b1e6:	5e                   	pop    %esi
48b1e7:	74 57                	je     0x48b240
48b1e9:	68 80 01 00 00       	push   $0x180
48b1ee:	ff 75 10             	push   0x10(%ebp)
48b1f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
48b1f4:	ff 75 f0             	push   -0x10(%ebp)
48b1f7:	ff 75 08             	push   0x8(%ebp)
48b1fa:	50                   	push   %eax
48b1fb:	e8 2d 8e 00 00       	call   0x49402d
48b200:	83 c4 14             	add    $0x14,%esp
48b203:	85 c0                	test   %eax,%eax
48b205:	75 39                	jne    0x48b240
48b207:	8b 45 14             	mov    0x14(%ebp),%eax
48b20a:	ff 05 08 84 4c 00    	incl   0x4c8408
48b210:	83 c0 0c             	add    $0xc,%eax
48b213:	8b 4d f4             	mov    -0xc(%ebp),%ecx
48b216:	f0 09 08             	lock or %ecx,(%eax)
48b219:	8b 45 14             	mov    0x14(%ebp),%eax
48b21c:	33 c9                	xor    %ecx,%ecx
48b21e:	89 48 08             	mov    %ecx,0x8(%eax)
48b221:	8b 45 14             	mov    0x14(%ebp),%eax
48b224:	89 48 1c             	mov    %ecx,0x1c(%eax)
48b227:	8b 45 14             	mov    0x14(%ebp),%eax
48b22a:	89 48 04             	mov    %ecx,0x4(%eax)
48b22d:	8b 45 14             	mov    0x14(%ebp),%eax
48b230:	89 08                	mov    %ecx,(%eax)
48b232:	8b 4d 14             	mov    0x14(%ebp),%ecx
48b235:	8b 45 fc             	mov    -0x4(%ebp),%eax
48b238:	89 41 10             	mov    %eax,0x10(%ecx)
48b23b:	8b 45 14             	mov    0x14(%ebp),%eax
48b23e:	c9                   	leave
48b23f:	c3                   	ret
48b240:	33 c0                	xor    %eax,%eax
48b242:	c9                   	leave
48b243:	c3                   	ret
48b244:	8b ff                	mov    %edi,%edi
48b246:	55                   	push   %ebp
48b247:	8b ec                	mov    %esp,%ebp
48b249:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b24c:	8b 01                	mov    (%ecx),%eax
48b24e:	a8 40                	test   $0x40,%al
48b250:	74 04                	je     0x48b256
48b252:	32 c0                	xor    %al,%al
48b254:	5d                   	pop    %ebp
48b255:	c3                   	ret
48b256:	83 c8 40             	or     $0x40,%eax
48b259:	89 01                	mov    %eax,(%ecx)
48b25b:	b0 01                	mov    $0x1,%al
48b25d:	5d                   	pop    %ebp
48b25e:	c3                   	ret
48b25f:	8b ff                	mov    %edi,%edi
48b261:	55                   	push   %ebp
48b262:	8b ec                	mov    %esp,%ebp
48b264:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b267:	ba 00 10 00 00       	mov    $0x1000,%edx
48b26c:	8b 01                	mov    (%ecx),%eax
48b26e:	85 c2                	test   %eax,%edx
48b270:	74 04                	je     0x48b276
48b272:	32 c0                	xor    %al,%al
48b274:	5d                   	pop    %ebp
48b275:	c3                   	ret
48b276:	0b c2                	or     %edx,%eax
48b278:	89 01                	mov    %eax,(%ecx)
48b27a:	b0 01                	mov    $0x1,%al
48b27c:	5d                   	pop    %ebp
48b27d:	c3                   	ret
48b27e:	8b ff                	mov    %edi,%edi
48b280:	55                   	push   %ebp
48b281:	8b ec                	mov    %esp,%ebp
48b283:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b286:	8b 01                	mov    (%ecx),%eax
48b288:	a9 00 c0 00 00       	test   $0xc000,%eax
48b28d:	74 04                	je     0x48b293
48b28f:	32 c0                	xor    %al,%al
48b291:	5d                   	pop    %ebp
48b292:	c3                   	ret
48b293:	0d 00 80 00 00       	or     $0x8000,%eax
48b298:	89 01                	mov    %eax,(%ecx)
48b29a:	b0 01                	mov    $0x1,%al
48b29c:	5d                   	pop    %ebp
48b29d:	c3                   	ret
48b29e:	8b ff                	mov    %edi,%edi
48b2a0:	55                   	push   %ebp
48b2a1:	8b ec                	mov    %esp,%ebp
48b2a3:	8b 45 0c             	mov    0xc(%ebp),%eax
48b2a6:	80 38 00             	cmpb   $0x0,(%eax)
48b2a9:	74 04                	je     0x48b2af
48b2ab:	32 c0                	xor    %al,%al
48b2ad:	5d                   	pop    %ebp
48b2ae:	c3                   	ret
48b2af:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b2b2:	c6 00 01             	movb   $0x1,(%eax)
48b2b5:	b0 01                	mov    $0x1,%al
48b2b7:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
48b2be:	5d                   	pop    %ebp
48b2bf:	c3                   	ret
48b2c0:	8b ff                	mov    %edi,%edi
48b2c2:	55                   	push   %ebp
48b2c3:	8b ec                	mov    %esp,%ebp
48b2c5:	8b 45 0c             	mov    0xc(%ebp),%eax
48b2c8:	80 38 00             	cmpb   $0x0,(%eax)
48b2cb:	74 04                	je     0x48b2d1
48b2cd:	32 c0                	xor    %al,%al
48b2cf:	5d                   	pop    %ebp
48b2d0:	c3                   	ret
48b2d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b2d4:	c6 00 01             	movb   $0x1,(%eax)
48b2d7:	b0 01                	mov    $0x1,%al
48b2d9:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
48b2e0:	5d                   	pop    %ebp
48b2e1:	c3                   	ret
48b2e2:	8b ff                	mov    %edi,%edi
48b2e4:	55                   	push   %ebp
48b2e5:	8b ec                	mov    %esp,%ebp
48b2e7:	8b 45 0c             	mov    0xc(%ebp),%eax
48b2ea:	80 38 00             	cmpb   $0x0,(%eax)
48b2ed:	75 25                	jne    0x48b314
48b2ef:	8b 55 08             	mov    0x8(%ebp),%edx
48b2f2:	c6 00 01             	movb   $0x1,(%eax)
48b2f5:	8b 0a                	mov    (%edx),%ecx
48b2f7:	f6 c1 02             	test   $0x2,%cl
48b2fa:	75 18                	jne    0x48b314
48b2fc:	83 e1 fe             	and    $0xfffffffe,%ecx
48b2ff:	b0 01                	mov    $0x1,%al
48b301:	83 c9 02             	or     $0x2,%ecx
48b304:	89 0a                	mov    %ecx,(%edx)
48b306:	8b 4a 04             	mov    0x4(%edx),%ecx
48b309:	83 e1 fc             	and    $0xfffffffc,%ecx
48b30c:	83 c9 04             	or     $0x4,%ecx
48b30f:	89 4a 04             	mov    %ecx,0x4(%edx)
48b312:	5d                   	pop    %ebp
48b313:	c3                   	ret
48b314:	32 c0                	xor    %al,%al
48b316:	5d                   	pop    %ebp
48b317:	c3                   	ret
48b318:	8b ff                	mov    %edi,%edi
48b31a:	55                   	push   %ebp
48b31b:	8b ec                	mov    %esp,%ebp
48b31d:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b320:	8b 01                	mov    (%ecx),%eax
48b322:	a9 00 c0 00 00       	test   $0xc000,%eax
48b327:	74 04                	je     0x48b32d
48b329:	32 c0                	xor    %al,%al
48b32b:	5d                   	pop    %ebp
48b32c:	c3                   	ret
48b32d:	0d 00 40 00 00       	or     $0x4000,%eax
48b332:	89 01                	mov    %eax,(%ecx)
48b334:	b0 01                	mov    $0x1,%al
48b336:	5d                   	pop    %ebp
48b337:	c3                   	ret
48b338:	8b ff                	mov    %edi,%edi
48b33a:	55                   	push   %ebp
48b33b:	8b ec                	mov    %esp,%ebp
48b33d:	8b 4d 08             	mov    0x8(%ebp),%ecx
48b340:	8b 01                	mov    (%ecx),%eax
48b342:	a9 00 02 00 00       	test   $0x200,%eax
48b347:	75 04                	jne    0x48b34d
48b349:	32 c0                	xor    %al,%al
48b34b:	5d                   	pop    %ebp
48b34c:	c3                   	ret
48b34d:	0d 00 04 00 00       	or     $0x400,%eax
48b352:	89 01                	mov    %eax,(%ecx)
48b354:	b0 01                	mov    $0x1,%al
48b356:	5d                   	pop    %ebp
48b357:	c3                   	ret
48b358:	8b ff                	mov    %edi,%edi
48b35a:	55                   	push   %ebp
48b35b:	8b ec                	mov    %esp,%ebp
48b35d:	5d                   	pop    %ebp
48b35e:	e9 5e fe ff ff       	jmp    0x48b1c1
48b363:	8b ff                	mov    %edi,%edi
48b365:	55                   	push   %ebp
48b366:	8b ec                	mov    %esp,%ebp
48b368:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
48b36c:	74 14                	je     0x48b382
48b36e:	8b 45 08             	mov    0x8(%ebp),%eax
48b371:	eb 01                	jmp    0x48b374
48b373:	40                   	inc    %eax
48b374:	8a 08                	mov    (%eax),%cl
48b376:	80 f9 30             	cmp    $0x30,%cl
48b379:	74 f8                	je     0x48b373
48b37b:	84 c9                	test   %cl,%cl
48b37d:	0f 95 c0             	setne  %al
48b380:	5d                   	pop    %ebp
48b381:	c3                   	ret
48b382:	b0 01                	mov    $0x1,%al
48b384:	5d                   	pop    %ebp
48b385:	c3                   	ret
48b386:	8b ff                	mov    %edi,%edi
48b388:	55                   	push   %ebp
48b389:	8b ec                	mov    %esp,%ebp
48b38b:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
48b38f:	75 0b                	jne    0x48b39c
48b391:	8b 45 0c             	mov    0xc(%ebp),%eax
48b394:	80 38 35             	cmpb   $0x35,(%eax)
48b397:	0f 9d c0             	setge  %al
48b39a:	5d                   	pop    %ebp
48b39b:	c3                   	ret
48b39c:	e8 33 e6 ff ff       	call   0x4899d4
48b3a1:	85 c0                	test   %eax,%eax
48b3a3:	75 2d                	jne    0x48b3d2
48b3a5:	8b 55 0c             	mov    0xc(%ebp),%edx
48b3a8:	8a 02                	mov    (%edx),%al
48b3aa:	3c 35                	cmp    $0x35,%al
48b3ac:	7f 20                	jg     0x48b3ce
48b3ae:	7c 60                	jl     0x48b410
48b3b0:	ff 75 14             	push   0x14(%ebp)
48b3b3:	8d 42 01             	lea    0x1(%edx),%eax
48b3b6:	50                   	push   %eax
48b3b7:	e8 a7 ff ff ff       	call   0x48b363
48b3bc:	59                   	pop    %ecx
48b3bd:	59                   	pop    %ecx
48b3be:	84 c0                	test   %al,%al
48b3c0:	75 0c                	jne    0x48b3ce
48b3c2:	3b 55 08             	cmp    0x8(%ebp),%edx
48b3c5:	74 49                	je     0x48b410
48b3c7:	8a 42 ff             	mov    -0x1(%edx),%al
48b3ca:	24 01                	and    $0x1,%al
48b3cc:	5d                   	pop    %ebp
48b3cd:	c3                   	ret
48b3ce:	b0 01                	mov    $0x1,%al
48b3d0:	5d                   	pop    %ebp
48b3d1:	c3                   	ret
48b3d2:	3d 00 02 00 00       	cmp    $0x200,%eax
48b3d7:	75 19                	jne    0x48b3f2
48b3d9:	ff 75 14             	push   0x14(%ebp)
48b3dc:	ff 75 0c             	push   0xc(%ebp)
48b3df:	e8 7f ff ff ff       	call   0x48b363
48b3e4:	59                   	pop    %ecx
48b3e5:	59                   	pop    %ecx
48b3e6:	84 c0                	test   %al,%al
48b3e8:	74 26                	je     0x48b410
48b3ea:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
48b3ee:	74 20                	je     0x48b410
48b3f0:	eb dc                	jmp    0x48b3ce
48b3f2:	3d 00 01 00 00       	cmp    $0x100,%eax
48b3f7:	75 17                	jne    0x48b410