41027e:	83 c9 ff             	or     $0xffffffff,%ecx
410281:	f2 ae                	repnz scas %es:(%edi),%al
410283:	83 f9 fe             	cmp    $0xfffffffe,%ecx
410286:	74 12                	je     0x41029a
410288:	4f                   	dec    %edi
410289:	4f                   	dec    %edi
41028a:	3b f7                	cmp    %edi,%esi
41028c:	73 0c                	jae    0x41029a
41028e:	8a 26                	mov    (%esi),%ah
410290:	8a 07                	mov    (%edi),%al
410292:	88 06                	mov    %al,(%esi)
410294:	88 27                	mov    %ah,(%edi)
410296:	46                   	inc    %esi
410297:	4f                   	dec    %edi
410298:	eb f0                	jmp    0x41028a
41029a:	8b c2                	mov    %edx,%eax
41029c:	5e                   	pop    %esi
41029d:	5f                   	pop    %edi
41029e:	c9                   	leave
41029f:	c3                   	ret
4102a0:	a1 70 73 43 00       	mov    0x437370,%eax
4102a5:	85 c0                	test   %eax,%eax
4102a7:	75 12                	jne    0x4102bb
4102a9:	8b 44 24 04          	mov    0x4(%esp),%eax
4102ad:	83 f8 61             	cmp    $0x61,%eax
4102b0:	7c 6f                	jl     0x410321
4102b2:	83 f8 7a             	cmp    $0x7a,%eax
4102b5:	7f 6a                	jg     0x410321
4102b7:	83 e8 20             	sub    $0x20,%eax
4102ba:	c3                   	ret
4102bb:	57                   	push   %edi
4102bc:	56                   	push   %esi
4102bd:	53                   	push   %ebx
4102be:	68 88 89 43 00       	push   $0x438988
4102c3:	ff 15 fc 96 43 00    	call   *0x4396fc
4102c9:	a1 84 89 43 00       	mov    0x438984,%eax
4102ce:	8b 3d 18 97 43 00    	mov    0x439718,%edi
4102d4:	85 c0                	test   %eax,%eax
4102d6:	74 18                	je     0x4102f0
4102d8:	68 88 89 43 00       	push   $0x438988
4102dd:	ff d7                	call   *%edi
4102df:	6a 13                	push   $0x13
4102e1:	e8 5a f1 ff ff       	call   0x40f440
4102e6:	83 c4 04             	add    $0x4,%esp
4102e9:	be 01 00 00 00       	mov    $0x1,%esi
4102ee:	eb 02                	jmp    0x4102f2
4102f0:	33 f6                	xor    %esi,%esi
4102f2:	8b 44 24 10          	mov    0x10(%esp),%eax
4102f6:	50                   	push   %eax
4102f7:	e8 34 00 00 00       	call   0x410330
4102fc:	83 c4 04             	add    $0x4,%esp
4102ff:	8b d8                	mov    %eax,%ebx
410301:	85 f6                	test   %esi,%esi
410303:	74 10                	je     0x410315
410305:	6a 13                	push   $0x13
410307:	e8 b4 f1 ff ff       	call   0x40f4c0
41030c:	83 c4 04             	add    $0x4,%esp
41030f:	8b c3                	mov    %ebx,%eax
410311:	5b                   	pop    %ebx
410312:	5e                   	pop    %esi
410313:	5f                   	pop    %edi
410314:	c3                   	ret
410315:	68 88 89 43 00       	push   $0x438988
41031a:	ff d7                	call   *%edi
41031c:	8b c3                	mov    %ebx,%eax
41031e:	5b                   	pop    %ebx
41031f:	5e                   	pop    %esi
410320:	5f                   	pop    %edi
410321:	c3                   	ret
410322:	90                   	nop
410323:	90                   	nop
410324:	90                   	nop
410325:	90                   	nop
410326:	90                   	nop
410327:	90                   	nop
410328:	90                   	nop
410329:	90                   	nop
41032a:	90                   	nop
41032b:	90                   	nop
41032c:	90                   	nop
41032d:	90                   	nop
41032e:	90                   	nop
41032f:	90                   	nop
410330:	a1 70 73 43 00       	mov    0x437370,%eax
410335:	83 ec 08             	sub    $0x8,%esp
410338:	85 c0                	test   %eax,%eax
41033a:	53                   	push   %ebx
41033b:	75 1e                	jne    0x41035b
41033d:	8b 44 24 10          	mov    0x10(%esp),%eax
410341:	83 f8 61             	cmp    $0x61,%eax
410344:	0f 8c dd 00 00 00    	jl     0x410427
41034a:	83 f8 7a             	cmp    $0x7a,%eax
41034d:	0f 8f d4 00 00 00    	jg     0x410427
410353:	83 e8 20             	sub    $0x20,%eax
410356:	5b                   	pop    %ebx
410357:	83 c4 08             	add    $0x8,%esp
41035a:	c3                   	ret
41035b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
41035f:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
410365:	7d 2c                	jge    0x410393
410367:	83 3d 54 1d 43 00 01 	cmpl   $0x1,0x431d54
41036e:	7e 0d                	jle    0x41037d
410370:	6a 02                	push   $0x2
410372:	53                   	push   %ebx
410373:	e8 b8 e2 ff ff       	call   0x40e630
410378:	83 c4 08             	add    $0x8,%esp
41037b:	eb 0b                	jmp    0x410388
41037d:	a1 48 1b 43 00       	mov    0x431b48,%eax
410382:	8a 04 58             	mov    (%eax,%ebx,2),%al
410385:	83 e0 02             	and    $0x2,%eax
410388:	85 c0                	test   %eax,%eax
41038a:	75 07                	jne    0x410393
41038c:	8b c3                	mov    %ebx,%eax
41038e:	5b                   	pop    %ebx
41038f:	83 c4 08             	add    $0x8,%esp
410392:	c3                   	ret
410393:	8b 15 48 1b 43 00    	mov    0x431b48,%edx
410399:	8b c3                	mov    %ebx,%eax
41039b:	c1 f8 08             	sar    $0x8,%eax
41039e:	8b c8                	mov    %eax,%ecx
4103a0:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4103a6:	f6 44 4a 01 80       	testb  $0x80,0x1(%edx,%ecx,2)
4103ab:	74 14                	je     0x4103c1
4103ad:	88 44 24 10          	mov    %al,0x10(%esp)
4103b1:	88 5c 24 11          	mov    %bl,0x11(%esp)
4103b5:	c6 44 24 12 00       	movb   $0x0,0x12(%esp)
4103ba:	b8 02 00 00 00       	mov    $0x2,%eax
4103bf:	eb 0e                	jmp    0x4103cf
4103c1:	88 5c 24 10          	mov    %bl,0x10(%esp)
4103c5:	c6 44 24 11 00       	movb   $0x0,0x11(%esp)
4103ca:	b8 01 00 00 00       	mov    $0x1,%eax
4103cf:	6a 00                	push   $0x0
4103d1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4103d5:	6a 03                	push   $0x3
4103d7:	51                   	push   %ecx
4103d8:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4103dc:	50                   	push   %eax
4103dd:	a1 70 73 43 00       	mov    0x437370,%eax
4103e2:	52                   	push   %edx
4103e3:	68 00 02 00 00       	push   $0x200
4103e8:	50                   	push   %eax
4103e9:	e8 32 fc ff ff       	call   0x410020
4103ee:	83 c4 1c             	add    $0x1c,%esp
4103f1:	85 c0                	test   %eax,%eax
4103f3:	75 07                	jne    0x4103fc
4103f5:	8b c3                	mov    %ebx,%eax
4103f7:	5b                   	pop    %ebx
4103f8:	83 c4 08             	add    $0x8,%esp
4103fb:	c3                   	ret
4103fc:	83 f8 01             	cmp    $0x1,%eax
4103ff:	75 0e                	jne    0x41040f
410401:	8b 44 24 04          	mov    0x4(%esp),%eax
410405:	25 ff 00 00 00       	and    $0xff,%eax
41040a:	5b                   	pop    %ebx
41040b:	83 c4 08             	add    $0x8,%esp
41040e:	c3                   	ret
41040f:	8b 44 24 05          	mov    0x5(%esp),%eax
410413:	8b 4c 24 04          	mov    0x4(%esp),%ecx
410417:	25 ff 00 00 00       	and    $0xff,%eax
41041c:	81 e1 ff 00 00 00    	and    $0xff,%ecx
410422:	c1 e0 08             	shl    $0x8,%eax
410425:	0b c1                	or     %ecx,%eax
410427:	5b                   	pop    %ebx
410428:	83 c4 08             	add    $0x8,%esp
41042b:	c3                   	ret
41042c:	90                   	nop
41042d:	90                   	nop
41042e:	90                   	nop
41042f:	90                   	nop
410430:	55                   	push   %ebp
410431:	8b ec                	mov    %esp,%ebp
410433:	57                   	push   %edi
410434:	8b 7d 08             	mov    0x8(%ebp),%edi
410437:	33 c0                	xor    %eax,%eax
410439:	83 c9 ff             	or     $0xffffffff,%ecx
41043c:	f2 ae                	repnz scas %es:(%edi),%al
41043e:	41                   	inc    %ecx
41043f:	f7 d9                	neg    %ecx
410441:	4f                   	dec    %edi
410442:	8a 45 0c             	mov    0xc(%ebp),%al
410445:	fd                   	std
410446:	f2 ae                	repnz scas %es:(%edi),%al
410448:	47                   	inc    %edi
410449:	38 07                	cmp    %al,(%edi)
41044b:	74 04                	je     0x410451
41044d:	33 c0                	xor    %eax,%eax
41044f:	eb 02                	jmp    0x410453
410451:	8b c7                	mov    %edi,%eax
410453:	fc                   	cld
410454:	5f                   	pop    %edi
410455:	c9                   	leave
410456:	c3                   	ret
410457:	cc                   	int3
410458:	cc                   	int3
410459:	cc                   	int3
41045a:	cc                   	int3
41045b:	cc                   	int3
41045c:	cc                   	int3
41045d:	cc                   	int3
41045e:	cc                   	int3
41045f:	cc                   	int3
410460:	55                   	push   %ebp
410461:	8b ec                	mov    %esp,%ebp
410463:	57                   	push   %edi
410464:	56                   	push   %esi
410465:	53                   	push   %ebx
410466:	8b 75 0c             	mov    0xc(%ebp),%esi
410469:	8b 7d 08             	mov    0x8(%ebp),%edi
41046c:	8d 05 68 73 43 00    	lea    0x437368,%eax
410472:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
410476:	75 3b                	jne    0x4104b3
410478:	b0 ff                	mov    $0xff,%al
41047a:	8b c0                	mov    %eax,%eax
41047c:	0a c0                	or     %al,%al
41047e:	74 2e                	je     0x4104ae
410480:	8a 06                	mov    (%esi),%al
410482:	46                   	inc    %esi
410483:	8a 27                	mov    (%edi),%ah
410485:	47                   	inc    %edi
410486:	38 c4                	cmp    %al,%ah
410488:	74 f2                	je     0x41047c
41048a:	2c 41                	sub    $0x41,%al
41048c:	3c 1a                	cmp    $0x1a,%al
41048e:	1a c9                	sbb    %cl,%cl
410490:	80 e1 20             	and    $0x20,%cl
410493:	02 c1                	add    %cl,%al
410495:	04 41                	add    $0x41,%al
410497:	86 e0                	xchg   %ah,%al
410499:	2c 41                	sub    $0x41,%al
41049b:	3c 1a                	cmp    $0x1a,%al
41049d:	1a c9                	sbb    %cl,%cl
41049f:	80 e1 20             	and    $0x20,%cl
4104a2:	02 c1                	add    %cl,%al
4104a4:	04 41                	add    $0x41,%al
4104a6:	38 e0                	cmp    %ah,%al
4104a8:	74 d2                	je     0x41047c
4104aa:	1a c0                	sbb    %al,%al
4104ac:	1c ff                	sbb    $0xff,%al
4104ae:	0f be c0             	movsbl %al,%eax
4104b1:	eb 78                	jmp    0x41052b
4104b3:	f0 ff 05 88 89 43 00 	lock incl 0x438988
4104ba:	83 3d 84 89 43 00 00 	cmpl   $0x0,0x438984
4104c1:	7f 04                	jg     0x4104c7
4104c3:	6a 00                	push   $0x0
4104c5:	eb 15                	jmp    0x4104dc
4104c7:	f0 ff 0d 88 89 43 00 	lock decl 0x438988
4104ce:	6a 13                	push   $0x13
4104d0:	e8 6b ef ff ff       	call   0x40f440
4104d5:	c7 04 24 01 00 00 00 	movl   $0x1,(%esp)
4104dc:	b8 ff 00 00 00       	mov    $0xff,%eax
4104e1:	33 db                	xor    %ebx,%ebx
4104e3:	90                   	nop
4104e4:	0a c0                	or     %al,%al
4104e6:	74 27                	je     0x41050f
4104e8:	8a 06                	mov    (%esi),%al
4104ea:	46                   	inc    %esi
4104eb:	8a 1f                	mov    (%edi),%bl
4104ed:	47                   	inc    %edi
4104ee:	38 d8                	cmp    %bl,%al
4104f0:	74 f2                	je     0x4104e4
4104f2:	50                   	push   %eax
4104f3:	53                   	push   %ebx
4104f4:	e8 87 17 00 00       	call   0x411c80
4104f9:	8b d8                	mov    %eax,%ebx
4104fb:	83 c4 04             	add    $0x4,%esp
4104fe:	e8 7d 17 00 00       	call   0x411c80
410503:	83 c4 04             	add    $0x4,%esp
410506:	38 c3                	cmp    %al,%bl
410508:	74 da                	je     0x4104e4
41050a:	1b c0                	sbb    %eax,%eax
41050c:	83 d8 ff             	sbb    $0xffffffff,%eax
41050f:	8b d8                	mov    %eax,%ebx
410511:	58                   	pop    %eax
410512:	0b c0                	or     %eax,%eax
410514:	75 09                	jne    0x41051f
410516:	f0 ff 0d 88 89 43 00 	lock decl 0x438988
41051d:	eb 0a                	jmp    0x410529
41051f:	6a 13                	push   $0x13
410521:	e8 9a ef ff ff       	call   0x40f4c0
410526:	83 c4 04             	add    $0x4,%esp
410529:	8b c3                	mov    %ebx,%eax
41052b:	5b                   	pop    %ebx
41052c:	5e                   	pop    %esi
41052d:	5f                   	pop    %edi
41052e:	c9                   	leave
41052f:	c3                   	ret
410530:	55                   	push   %ebp
410531:	8b ec                	mov    %esp,%ebp
410533:	56                   	push   %esi
410534:	33 c0                	xor    %eax,%eax
410536:	50                   	push   %eax
410537:	50                   	push   %eax
410538:	50                   	push   %eax
410539:	50                   	push   %eax
41053a:	50                   	push   %eax
41053b:	50                   	push   %eax
41053c:	50                   	push   %eax
41053d:	50                   	push   %eax
41053e:	8b 55 0c             	mov    0xc(%ebp),%edx
410541:	2e 8b c0             	cs mov %eax,%eax
410544:	8a 02                	mov    (%edx),%al
410546:	0a c0                	or     %al,%al
410548:	74 07                	je     0x410551
41054a:	42                   	inc    %edx
41054b:	0f ab 04 24          	bts    %eax,(%esp)
41054f:	eb f3                	jmp    0x410544
410551:	8b 75 08             	mov    0x8(%ebp),%esi
410554:	83 c9 ff             	or     $0xffffffff,%ecx
410557:	90                   	nop
410558:	41                   	inc    %ecx
410559:	8a 06                	mov    (%esi),%al
41055b:	0a c0                	or     %al,%al
41055d:	74 07                	je     0x410566
41055f:	46                   	inc    %esi
410560:	0f a3 04 24          	bt     %eax,(%esp)
410564:	72 f2                	jb     0x410558
410566:	8b c1                	mov    %ecx,%eax
410568:	83 c4 20             	add    $0x20,%esp
41056b:	5e                   	pop    %esi
41056c:	c9                   	leave
41056d:	c3                   	ret
41056e:	cc                   	int3
41056f:	cc                   	int3
410570:	55                   	push   %ebp
410571:	8b ec                	mov    %esp,%ebp
410573:	56                   	push   %esi
410574:	33 c0                	xor    %eax,%eax
410576:	50                   	push   %eax
410577:	50                   	push   %eax
410578:	50                   	push   %eax
410579:	50                   	push   %eax
41057a:	50                   	push   %eax
41057b:	50                   	push   %eax
41057c:	50                   	push   %eax
41057d:	50                   	push   %eax
41057e:	8b 55 0c             	mov    0xc(%ebp),%edx
410581:	2e 8b c0             	cs mov %eax,%eax
410584:	8a 02                	mov    (%edx),%al
410586:	0a c0                	or     %al,%al
410588:	74 07                	je     0x410591
41058a:	42                   	inc    %edx
41058b:	0f ab 04 24          	bts    %eax,(%esp)
41058f:	eb f3                	jmp    0x410584
410591:	8b 75 08             	mov    0x8(%ebp),%esi
410594:	83 c9 ff             	or     $0xffffffff,%ecx
410597:	90                   	nop
410598:	41                   	inc    %ecx
410599:	8a 06                	mov    (%esi),%al
41059b:	0a c0                	or     %al,%al
41059d:	74 07                	je     0x4105a6