42e1df:	8b ec                	mov    %esp,%ebp
42e1e1:	51                   	push   %ecx
42e1e2:	53                   	push   %ebx
42e1e3:	56                   	push   %esi
42e1e4:	8b 75 08             	mov    0x8(%ebp),%esi
42e1e7:	33 c0                	xor    %eax,%eax
42e1e9:	57                   	push   %edi
42e1ea:	8b fe                	mov    %esi,%edi
42e1ec:	6a 02                	push   $0x2
42e1ee:	5a                   	pop    %edx
42e1ef:	6a 20                	push   $0x20
42e1f1:	ab                   	stos   %eax,%es:(%edi)
42e1f2:	5b                   	pop    %ebx
42e1f3:	ab                   	stos   %eax,%es:(%edi)
42e1f4:	ab                   	stos   %eax,%es:(%edi)
42e1f5:	8b 7d 0c             	mov    0xc(%ebp),%edi
42e1f8:	a1 04 5d 45 00       	mov    0x455d04,%eax
42e1fd:	89 46 04             	mov    %eax,0x4(%esi)
42e200:	0f b7 07             	movzwl (%edi),%eax
42e203:	8b c8                	mov    %eax,%ecx
42e205:	66 3b c3             	cmp    %bx,%ax
42e208:	75 0c                	jne    0x42e216
42e20a:	03 fa                	add    %edx,%edi
42e20c:	0f b7 07             	movzwl (%edi),%eax
42e20f:	66 3b c3             	cmp    %bx,%ax
42e212:	74 f6                	je     0x42e20a
42e214:	8b c8                	mov    %eax,%ecx
42e216:	0f b7 c1             	movzwl %cx,%eax
42e219:	83 f8 61             	cmp    $0x61,%eax
42e21c:	74 20                	je     0x42e23e
42e21e:	83 f8 72             	cmp    $0x72,%eax
42e221:	74 12                	je     0x42e235
42e223:	66 83 f9 77          	cmp    $0x77,%cx
42e227:	0f 85 03 02 00 00    	jne    0x42e430
42e22d:	c7 06 01 03 00 00    	movl   $0x301,(%esi)
42e233:	eb 0f                	jmp    0x42e244
42e235:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
42e23c:	eb 09                	jmp    0x42e247
42e23e:	c7 06 09 01 00 00    	movl   $0x109,(%esi)
42e244:	89 56 04             	mov    %edx,0x4(%esi)
42e247:	03 fa                	add    %edx,%edi
42e249:	b1 01                	mov    $0x1,%cl
42e24b:	33 c0                	xor    %eax,%eax
42e24d:	6a 0a                	push   $0xa
42e24f:	88 45 ff             	mov    %al,-0x1(%ebp)
42e252:	8a d8                	mov    %al,%bl
42e254:	88 45 fe             	mov    %al,-0x2(%ebp)
42e257:	8a f8                	mov    %al,%bh
42e259:	5a                   	pop    %edx
42e25a:	0f b7 07             	movzwl (%edi),%eax
42e25d:	66 85 c0             	test   %ax,%ax
42e260:	0f 84 dc 00 00 00    	je     0x42e342
42e266:	83 f8 53             	cmp    $0x53,%eax
42e269:	77 65                	ja     0x42e2d0
42e26b:	74 56                	je     0x42e2c3
42e26d:	83 e8 20             	sub    $0x20,%eax
42e270:	0f 84 b8 00 00 00    	je     0x42e32e
42e276:	83 e8 0b             	sub    $0xb,%eax
42e279:	74 3b                	je     0x42e2b6
42e27b:	83 e8 01             	sub    $0x1,%eax
42e27e:	74 30                	je     0x42e2b0
42e280:	83 e8 18             	sub    $0x18,%eax
42e283:	74 23                	je     0x42e2a8
42e285:	2b c2                	sub    %edx,%eax
42e287:	74 12                	je     0x42e29b
42e289:	83 e8 04             	sub    $0x4,%eax
42e28c:	0f 85 9e 01 00 00    	jne    0x42e430
42e292:	84 db                	test   %bl,%bl
42e294:	75 1c                	jne    0x42e2b2
42e296:	83 0e 10             	orl    $0x10,(%esi)
42e299:	eb 2f                	jmp    0x42e2ca
42e29b:	81 0e 80 00 00 00    	orl    $0x80,(%esi)
42e2a1:	b1 01                	mov    $0x1,%cl
42e2a3:	e9 86 00 00 00       	jmp    0x42e32e
42e2a8:	56                   	push   %esi
42e2a9:	e8 1c 02 00 00       	call   0x42e4ca
42e2ae:	eb 78                	jmp    0x42e328
42e2b0:	b7 01                	mov    $0x1,%bh
42e2b2:	32 c9                	xor    %cl,%cl
42e2b4:	eb 78                	jmp    0x42e32e
42e2b6:	8d 45 fe             	lea    -0x2(%ebp),%eax
42e2b9:	50                   	push   %eax
42e2ba:	56                   	push   %esi
42e2bb:	e8 a8 02 00 00       	call   0x42e568
42e2c0:	59                   	pop    %ecx
42e2c1:	eb 65                	jmp    0x42e328
42e2c3:	84 db                	test   %bl,%bl
42e2c5:	75 eb                	jne    0x42e2b2
42e2c7:	83 0e 20             	orl    $0x20,(%esi)
42e2ca:	b3 01                	mov    $0x1,%bl
42e2cc:	8a cb                	mov    %bl,%cl
42e2ce:	eb 5e                	jmp    0x42e32e
42e2d0:	83 e8 54             	sub    $0x54,%eax
42e2d3:	74 4d                	je     0x42e322
42e2d5:	83 e8 0e             	sub    $0xe,%eax
42e2d8:	74 40                	je     0x42e31a
42e2da:	83 e8 01             	sub    $0x1,%eax
42e2dd:	74 2f                	je     0x42e30e
42e2df:	83 e8 0b             	sub    $0xb,%eax
42e2e2:	74 1e                	je     0x42e302
42e2e4:	83 e8 06             	sub    $0x6,%eax
42e2e7:	74 11                	je     0x42e2fa
42e2e9:	83 e8 04             	sub    $0x4,%eax
42e2ec:	0f 85 3e 01 00 00    	jne    0x42e430
42e2f2:	56                   	push   %esi
42e2f3:	e8 c6 02 00 00       	call   0x42e5be
42e2f8:	eb 2e                	jmp    0x42e328
42e2fa:	56                   	push   %esi
42e2fb:	e8 9e 02 00 00       	call   0x42e59e
42e300:	eb 26                	jmp    0x42e328
42e302:	8d 45 ff             	lea    -0x1(%ebp),%eax
42e305:	50                   	push   %eax
42e306:	56                   	push   %esi
42e307:	e8 3a 02 00 00       	call   0x42e546
42e30c:	eb b2                	jmp    0x42e2c0
42e30e:	8d 45 ff             	lea    -0x1(%ebp),%eax
42e311:	50                   	push   %eax
42e312:	56                   	push   %esi
42e313:	e8 0c 02 00 00       	call   0x42e524
42e318:	eb a6                	jmp    0x42e2c0
42e31a:	56                   	push   %esi
42e31b:	e8 e4 01 00 00       	call   0x42e504
42e320:	eb 06                	jmp    0x42e328
42e322:	56                   	push   %esi
42e323:	e8 bd 01 00 00       	call   0x42e4e5
42e328:	59                   	pop    %ecx
42e329:	6a 0a                	push   $0xa
42e32b:	5a                   	pop    %edx
42e32c:	8a c8                	mov    %al,%cl
42e32e:	0f b6 c1             	movzbl %cl,%eax
42e331:	f7 d8                	neg    %eax
42e333:	1b c0                	sbb    %eax,%eax
42e335:	83 e0 02             	and    $0x2,%eax
42e338:	03 f8                	add    %eax,%edi
42e33a:	84 c9                	test   %cl,%cl
42e33c:	0f 85 18 ff ff ff    	jne    0x42e25a
42e342:	84 ff                	test   %bh,%bh
42e344:	74 03                	je     0x42e349
42e346:	83 c7 02             	add    $0x2,%edi
42e349:	6a 20                	push   $0x20
42e34b:	58                   	pop    %eax
42e34c:	eb 03                	jmp    0x42e351
42e34e:	83 c7 02             	add    $0x2,%edi
42e351:	66 39 07             	cmp    %ax,(%edi)
42e354:	74 f8                	je     0x42e34e
42e356:	84 ff                	test   %bh,%bh
42e358:	75 14                	jne    0x42e36e
42e35a:	33 c0                	xor    %eax,%eax
42e35c:	66 39 07             	cmp    %ax,(%edi)
42e35f:	0f 85 cb 00 00 00    	jne    0x42e430
42e365:	c6 46 08 01          	movb   $0x1,0x8(%esi)
42e369:	e9 d2 00 00 00       	jmp    0x42e440
42e36e:	6a 03                	push   $0x3
42e370:	68 20 2f 44 00       	push   $0x442f20
42e375:	57                   	push   %edi
42e376:	e8 74 9e ff ff       	call   0x4281ef
42e37b:	83 c4 0c             	add    $0xc,%esp
42e37e:	85 c0                	test   %eax,%eax
42e380:	0f 85 aa 00 00 00    	jne    0x42e430
42e386:	83 c7 06             	add    $0x6,%edi
42e389:	6a 20                	push   $0x20
42e38b:	5b                   	pop    %ebx
42e38c:	0f b7 07             	movzwl (%edi),%eax
42e38f:	8b c8                	mov    %eax,%ecx
42e391:	66 3b c3             	cmp    %bx,%ax
42e394:	75 0d                	jne    0x42e3a3
42e396:	83 c7 02             	add    $0x2,%edi
42e399:	0f b7 07             	movzwl (%edi),%eax
42e39c:	66 3b c3             	cmp    %bx,%ax
42e39f:	74 f5                	je     0x42e396
42e3a1:	8b c8                	mov    %eax,%ecx
42e3a3:	66 83 f9 3d          	cmp    $0x3d,%cx
42e3a7:	0f 85 83 00 00 00    	jne    0x42e430
42e3ad:	83 c7 02             	add    $0x2,%edi
42e3b0:	66 39 1f             	cmp    %bx,(%edi)
42e3b3:	74 f8                	je     0x42e3ad
42e3b5:	6a 05                	push   $0x5
42e3b7:	68 28 2f 44 00       	push   $0x442f28
42e3bc:	57                   	push   %edi
42e3bd:	e8 0e 9d ff ff       	call   0x4280d0
42e3c2:	83 c4 0c             	add    $0xc,%esp
42e3c5:	85 c0                	test   %eax,%eax
42e3c7:	75 0a                	jne    0x42e3d3
42e3c9:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
42e3cf:	6a 0a                	push   $0xa
42e3d1:	eb 3a                	jmp    0x42e40d
42e3d3:	6a 08                	push   $0x8
42e3d5:	68 34 2f 44 00       	push   $0x442f34
42e3da:	57                   	push   %edi
42e3db:	e8 f0 9c ff ff       	call   0x4280d0
42e3e0:	83 c4 0c             	add    $0xc,%esp
42e3e3:	85 c0                	test   %eax,%eax
42e3e5:	75 0a                	jne    0x42e3f1
42e3e7:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
42e3ed:	6a 10                	push   $0x10
42e3ef:	eb 1c                	jmp    0x42e40d
42e3f1:	6a 07                	push   $0x7
42e3f3:	68 44 2f 44 00       	push   $0x442f44
42e3f8:	57                   	push   %edi
42e3f9:	e8 d2 9c ff ff       	call   0x4280d0
42e3fe:	83 c4 0c             	add    $0xc,%esp
42e401:	85 c0                	test   %eax,%eax
42e403:	75 2b                	jne    0x42e430
42e405:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
42e40b:	6a 0e                	push   $0xe
42e40d:	58                   	pop    %eax
42e40e:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
42e411:	0f b7 01             	movzwl (%ecx),%eax
42e414:	8b d0                	mov    %eax,%edx
42e416:	66 3b c3             	cmp    %bx,%ax
42e419:	75 0d                	jne    0x42e428
42e41b:	8d 49 02             	lea    0x2(%ecx),%ecx
42e41e:	0f b7 01             	movzwl (%ecx),%eax
42e421:	66 3b c3             	cmp    %bx,%ax
42e424:	74 f5                	je     0x42e41b
42e426:	8b d0                	mov    %eax,%edx
42e428:	66 85 d2             	test   %dx,%dx
42e42b:	e9 2f ff ff ff       	jmp    0x42e35f
42e430:	e8 0b 82 ff ff       	call   0x426640
42e435:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42e43b:	e8 2f 26 ff ff       	call   0x420a6f
42e440:	5f                   	pop    %edi
42e441:	8b c6                	mov    %esi,%eax
42e443:	5e                   	pop    %esi
42e444:	5b                   	pop    %ebx
42e445:	c9                   	leave
42e446:	c3                   	ret
42e447:	8b ff                	mov    %edi,%edi
42e449:	55                   	push   %ebp
42e44a:	8b ec                	mov    %esp,%ebp
42e44c:	83 ec 1c             	sub    $0x1c,%esp
42e44f:	56                   	push   %esi
42e450:	57                   	push   %edi
42e451:	ff 75 0c             	push   0xc(%ebp)
42e454:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42e457:	50                   	push   %eax
42e458:	e8 7f fd ff ff       	call   0x42e1dc
42e45d:	8b f0                	mov    %eax,%esi
42e45f:	8d 7d f0             	lea    -0x10(%ebp),%edi
42e462:	59                   	pop    %ecx
42e463:	59                   	pop    %ecx
42e464:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e465:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e466:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e467:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
42e46b:	5f                   	pop    %edi
42e46c:	5e                   	pop    %esi
42e46d:	74 57                	je     0x42e4c6
42e46f:	68 80 01 00 00       	push   $0x180
42e474:	ff 75 10             	push   0x10(%ebp)
42e477:	8d 45 fc             	lea    -0x4(%ebp),%eax
42e47a:	ff 75 f0             	push   -0x10(%ebp)
42e47d:	ff 75 08             	push   0x8(%ebp)
42e480:	50                   	push   %eax
42e481:	e8 d4 af 00 00       	call   0x43945a
42e486:	83 c4 14             	add    $0x14,%esp
42e489:	85 c0                	test   %eax,%eax
42e48b:	75 39                	jne    0x42e4c6
42e48d:	8b 45 14             	mov    0x14(%ebp),%eax
42e490:	ff 05 68 59 45 00    	incl   0x455968
42e496:	83 c0 0c             	add    $0xc,%eax
42e499:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42e49c:	f0 09 08             	lock or %ecx,(%eax)
42e49f:	8b 45 14             	mov    0x14(%ebp),%eax
42e4a2:	33 c9                	xor    %ecx,%ecx
42e4a4:	89 48 08             	mov    %ecx,0x8(%eax)
42e4a7:	8b 45 14             	mov    0x14(%ebp),%eax
42e4aa:	89 48 1c             	mov    %ecx,0x1c(%eax)
42e4ad:	8b 45 14             	mov    0x14(%ebp),%eax
42e4b0:	89 48 04             	mov    %ecx,0x4(%eax)
42e4b3:	8b 45 14             	mov    0x14(%ebp),%eax
42e4b6:	89 08                	mov    %ecx,(%eax)
42e4b8:	8b 4d 14             	mov    0x14(%ebp),%ecx
42e4bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e4be:	89 41 10             	mov    %eax,0x10(%ecx)
42e4c1:	8b 45 14             	mov    0x14(%ebp),%eax
42e4c4:	c9                   	leave
42e4c5:	c3                   	ret
42e4c6:	33 c0                	xor    %eax,%eax
42e4c8:	c9                   	leave
42e4c9:	c3                   	ret
42e4ca:	8b ff                	mov    %edi,%edi
42e4cc:	55                   	push   %ebp
42e4cd:	8b ec                	mov    %esp,%ebp
42e4cf:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e4d2:	8b 01                	mov    (%ecx),%eax
42e4d4:	a8 40                	test   $0x40,%al
42e4d6:	74 04                	je     0x42e4dc
42e4d8:	32 c0                	xor    %al,%al
42e4da:	5d                   	pop    %ebp
42e4db:	c3                   	ret
42e4dc:	83 c8 40             	or     $0x40,%eax
42e4df:	89 01                	mov    %eax,(%ecx)
42e4e1:	b0 01                	mov    $0x1,%al
42e4e3:	5d                   	pop    %ebp
42e4e4:	c3                   	ret
42e4e5:	8b ff                	mov    %edi,%edi
42e4e7:	55                   	push   %ebp
42e4e8:	8b ec                	mov    %esp,%ebp
42e4ea:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e4ed:	ba 00 10 00 00       	mov    $0x1000,%edx
42e4f2:	8b 01                	mov    (%ecx),%eax
42e4f4:	85 c2                	test   %eax,%edx
42e4f6:	74 04                	je     0x42e4fc
42e4f8:	32 c0                	xor    %al,%al
42e4fa:	5d                   	pop    %ebp
42e4fb:	c3                   	ret
42e4fc:	0b c2                	or     %edx,%eax
42e4fe:	89 01                	mov    %eax,(%ecx)
42e500:	b0 01                	mov    $0x1,%al
42e502:	5d                   	pop    %ebp
42e503:	c3                   	ret
42e504:	8b ff                	mov    %edi,%edi
42e506:	55                   	push   %ebp
42e507:	8b ec                	mov    %esp,%ebp
42e509:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e50c:	8b 01                	mov    (%ecx),%eax
42e50e:	a9 00 c0 00 00       	test   $0xc000,%eax
42e513:	74 04                	je     0x42e519
42e515:	32 c0                	xor    %al,%al
42e517:	5d                   	pop    %ebp
42e518:	c3                   	ret
42e519:	0d 00 80 00 00       	or     $0x8000,%eax
42e51e:	89 01                	mov    %eax,(%ecx)
42e520:	b0 01                	mov    $0x1,%al
42e522:	5d                   	pop    %ebp
42e523:	c3                   	ret
42e524:	8b ff                	mov    %edi,%edi
42e526:	55                   	push   %ebp
42e527:	8b ec                	mov    %esp,%ebp
42e529:	8b 45 0c             	mov    0xc(%ebp),%eax
42e52c:	80 38 00             	cmpb   $0x0,(%eax)
42e52f:	74 04                	je     0x42e535
42e531:	32 c0                	xor    %al,%al
42e533:	5d                   	pop    %ebp
42e534:	c3                   	ret
42e535:	8b 4d 08             	mov    0x8(%ebp),%ecx
42e538:	c6 00 01             	movb   $0x1,(%eax)
42e53b:	b0 01                	mov    $0x1,%al
42e53d:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
42e544:	5d                   	pop    %ebp
42e545:	c3                   	ret
42e546:	8b ff                	mov    %edi,%edi
42e548:	55                   	push   %ebp
42e549:	8b ec                	mov    %esp,%ebp
42e54b:	8b 45 0c             	mov    0xc(%ebp),%eax
42e54e:	80 38 00             	cmpb   $0x0,(%eax)
42e551:	74 04                	je     0x42e557
42e553:	32 c0                	xor    %al,%al
42e555:	5d                   	pop    %ebp