4090e6:	08 e4                	or     %ah,%ah
4090e8:	74 03                	je     0x4090ed
4090ea:	88 e0                	mov    %ah,%al
4090ec:	aa                   	stos   %al,%es:(%edi)
4090ed:	92                   	xchg   %eax,%edx
4090ee:	50                   	push   %eax
4090ef:	89 e3                	mov    %esp,%ebx
4090f1:	31 d2                	xor    %edx,%edx
4090f3:	f7 b6 74 91 46 00    	divl   0x469174(%esi)
4090f9:	80 c2 30             	add    $0x30,%dl
4090fc:	88 13                	mov    %dl,(%ebx)
4090fe:	43                   	inc    %ebx
4090ff:	49                   	dec    %ecx
409100:	09 c0                	or     %eax,%eax
409102:	75 ed                	jne    0x4090f1
409104:	09 c9                	or     %ecx,%ecx
409106:	7f e9                	jg     0x4090f1
409108:	4b                   	dec    %ebx
409109:	8a 03                	mov    (%ebx),%al
40910b:	aa                   	stos   %al,%es:(%edi)
40910c:	39 e3                	cmp    %esp,%ebx
40910e:	75 f8                	jne    0x409108
409110:	58                   	pop    %eax
409111:	5e                   	pop    %esi
409112:	c3                   	ret
409113:	90                   	nop
409114:	55                   	push   %ebp
409115:	8b ec                	mov    %esp,%ebp
409117:	83 c4 d4             	add    $0xffffffd4,%esp
40911a:	57                   	push   %edi
40911b:	56                   	push   %esi
40911c:	53                   	push   %ebx
40911d:	89 45 fc             	mov    %eax,-0x4(%ebp)
409120:	a0 87 56 47 00       	mov    0x475687,%al
409125:	88 45 fb             	mov    %al,-0x5(%ebp)
409128:	a0 86 56 47 00       	mov    0x475686,%al
40912d:	88 45 fa             	mov    %al,-0x6(%ebp)
409130:	a1 80 56 47 00       	mov    0x475680,%eax
409135:	89 45 f4             	mov    %eax,-0xc(%ebp)
409138:	a0 84 56 47 00       	mov    0x475684,%al
40913d:	88 45 f3             	mov    %al,-0xd(%ebp)
409140:	a0 85 56 47 00       	mov    0x475685,%al
409145:	88 45 f2             	mov    %al,-0xe(%ebp)
409148:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40914f:	b8 13 00 00 00       	mov    $0x13,%eax
409154:	80 f9 00             	cmp    $0x0,%cl
409157:	75 17                	jne    0x409170
409159:	8b 45 0c             	mov    0xc(%ebp),%eax
40915c:	83 f8 02             	cmp    $0x2,%eax
40915f:	7d 05                	jge    0x409166
409161:	b8 02 00 00 00       	mov    $0x2,%eax
409166:	83 f8 12             	cmp    $0x12,%eax
409169:	7e 05                	jle    0x409170
40916b:	b8 12 00 00 00       	mov    $0x12,%eax
409170:	89 45 0c             	mov    %eax,0xc(%ebp)
409173:	50                   	push   %eax
409174:	b8 0f 27 00 00       	mov    $0x270f,%eax
409179:	80 7d 10 02          	cmpb   $0x2,0x10(%ebp)
40917d:	72 03                	jb     0x409182
40917f:	8b 45 08             	mov    0x8(%ebp),%eax
409182:	50                   	push   %eax
409183:	8d 45 d4             	lea    -0x2c(%ebp),%eax
409186:	e8 5d 02 00 00       	call   0x4093e8
40918b:	8b 7d fc             	mov    -0x4(%ebp),%edi
40918e:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
409192:	2d ff 7f 00 00       	sub    $0x7fff,%eax
409197:	83 f8 02             	cmp    $0x2,%eax
40919a:	73 1a                	jae    0x4091b6
40919c:	89 c1                	mov    %eax,%ecx
40919e:	e8 70 00 00 00       	call   0x409213
4091a3:	8d b4 49 04 92 40 00 	lea    0x409204(%ecx,%ecx,2),%esi
4091aa:	03 75 ec             	add    -0x14(%ebp),%esi
4091ad:	b9 03 00 00 00       	mov    $0x3,%ecx
4091b2:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4091b4:	eb 2d                	jmp    0x4091e3
4091b6:	8d 75 d7             	lea    -0x29(%ebp),%esi
4091b9:	0f b6 5d 10          	movzbl 0x10(%ebp),%ebx
4091bd:	80 fb 01             	cmp    $0x1,%bl
4091c0:	74 10                	je     0x4091d2
4091c2:	80 fb 04             	cmp    $0x4,%bl
4091c5:	77 09                	ja     0x4091d0
4091c7:	0f bf 45 d4          	movswl -0x2c(%ebp),%eax
4091cb:	3b 45 0c             	cmp    0xc(%ebp),%eax
4091ce:	7e 02                	jle    0x4091d2
4091d0:	b3 00                	mov    $0x0,%bl
4091d2:	8d 1c 9d f0 91 40 00 	lea    0x4091f0(,%ebx,4),%ebx
4091d9:	03 5d ec             	add    -0x14(%ebp),%ebx
4091dc:	8b 1b                	mov    (%ebx),%ebx
4091de:	03 5d ec             	add    -0x14(%ebp),%ebx
4091e1:	ff d3                	call   *%ebx
4091e3:	89 f8                	mov    %edi,%eax
4091e5:	2b 45 fc             	sub    -0x4(%ebp),%eax
4091e8:	5b                   	pop    %ebx
4091e9:	5e                   	pop    %esi
4091ea:	5f                   	pop    %edi
4091eb:	e9 f1 01 00 00       	jmp    0x4093e1
4091f0:	1d 92 40 00 79       	sbb    $0x79004092,%eax
4091f5:	92                   	xchg   %eax,%edx
4091f6:	40                   	inc    %eax
4091f7:	00 b0 92 40 00 b0    	add    %dh,-0x4fffbf6e(%eax)
4091fd:	92                   	xchg   %eax,%edx
4091fe:	40                   	inc    %eax
4091ff:	00 1a                	add    %bl,(%edx)
409201:	93                   	xchg   %eax,%ebx
409202:	40                   	inc    %eax
409203:	00 49 4e             	add    %cl,0x4e(%ecx)
409206:	46                   	inc    %esi
409207:	4e                   	dec    %esi
409208:	41                   	inc    %ecx
409209:	4e                   	dec    %esi
40920a:	ac                   	lods   %ds:(%esi),%al
40920b:	08 c0                	or     %al,%al
40920d:	75 03                	jne    0x409212
40920f:	b0 30                	mov    $0x30,%al
409211:	4e                   	dec    %esi
409212:	c3                   	ret
409213:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
409217:	74 03                	je     0x40921c
409219:	b0 2d                	mov    $0x2d,%al
40921b:	aa                   	stos   %al,%es:(%edi)
40921c:	c3                   	ret
40921d:	e8 f1 ff ff ff       	call   0x409213
409222:	0f bf 4d d4          	movswl -0x2c(%ebp),%ecx
409226:	31 d2                	xor    %edx,%edx
409228:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
40922b:	7f 1d                	jg     0x40924a
40922d:	83 f9 fd             	cmp    $0xfffffffd,%ecx
409230:	7c 18                	jl     0x40924a
409232:	09 c9                	or     %ecx,%ecx
409234:	7f 1a                	jg     0x409250
409236:	b0 30                	mov    $0x30,%al
409238:	aa                   	stos   %al,%es:(%edi)
409239:	80 3e 00             	cmpb   $0x0,(%esi)
40923c:	74 3a                	je     0x409278
40923e:	8a 45 fb             	mov    -0x5(%ebp),%al
409241:	aa                   	stos   %al,%es:(%edi)
409242:	f7 d9                	neg    %ecx
409244:	b0 30                	mov    $0x30,%al
409246:	f3 aa                	rep stos %al,%es:(%edi)
409248:	eb 1a                	jmp    0x409264
40924a:	b9 01 00 00 00       	mov    $0x1,%ecx
40924f:	42                   	inc    %edx
409250:	ac                   	lods   %ds:(%esi),%al
409251:	08 c0                	or     %al,%al
409253:	74 17                	je     0x40926c
409255:	aa                   	stos   %al,%es:(%edi)
409256:	e2 f8                	loop   0x409250
409258:	ac                   	lods   %ds:(%esi),%al
409259:	08 c0                	or     %al,%al
40925b:	74 13                	je     0x409270
40925d:	88 c4                	mov    %al,%ah
40925f:	8a 45 fb             	mov    -0x5(%ebp),%al
409262:	66 ab                	stos   %ax,%es:(%edi)
409264:	ac                   	lods   %ds:(%esi),%al
409265:	08 c0                	or     %al,%al
409267:	74 07                	je     0x409270
409269:	aa                   	stos   %al,%es:(%edi)
40926a:	eb f8                	jmp    0x409264
40926c:	b0 30                	mov    $0x30,%al
40926e:	f3 aa                	rep stos %al,%es:(%edi)
409270:	09 d2                	or     %edx,%edx
409272:	74 04                	je     0x409278
409274:	31 c0                	xor    %eax,%eax
409276:	eb 1e                	jmp    0x409296
409278:	c3                   	ret
409279:	e8 95 ff ff ff       	call   0x409213
40927e:	e8 87 ff ff ff       	call   0x40920a
409283:	8a 65 fb             	mov    -0x5(%ebp),%ah
409286:	66 ab                	stos   %ax,%es:(%edi)
409288:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40928b:	49                   	dec    %ecx
40928c:	e8 79 ff ff ff       	call   0x40920a
409291:	aa                   	stos   %al,%es:(%edi)
409292:	e2 f8                	loop   0x40928c
409294:	b4 2b                	mov    $0x2b,%ah
409296:	8b 4d 08             	mov    0x8(%ebp),%ecx
409299:	83 f9 04             	cmp    $0x4,%ecx
40929c:	76 02                	jbe    0x4092a0
40929e:	31 c9                	xor    %ecx,%ecx
4092a0:	b0 45                	mov    $0x45,%al
4092a2:	8a 5d d7             	mov    -0x29(%ebp),%bl
4092a5:	0f bf 55 d4          	movswl -0x2c(%ebp),%edx
4092a9:	4a                   	dec    %edx
4092aa:	e8 21 fe ff ff       	call   0x4090d0
4092af:	c3                   	ret
4092b0:	e8 5e ff ff ff       	call   0x409213
4092b5:	8b 55 08             	mov    0x8(%ebp),%edx
4092b8:	83 fa 12             	cmp    $0x12,%edx
4092bb:	72 05                	jb     0x4092c2
4092bd:	ba 12 00 00 00       	mov    $0x12,%edx
4092c2:	0f bf 4d d4          	movswl -0x2c(%ebp),%ecx
4092c6:	09 c9                	or     %ecx,%ecx
4092c8:	7f 05                	jg     0x4092cf
4092ca:	b0 30                	mov    $0x30,%al
4092cc:	aa                   	stos   %al,%es:(%edi)
4092cd:	eb 2a                	jmp    0x4092f9
4092cf:	31 db                	xor    %ebx,%ebx
4092d1:	80 7d 10 02          	cmpb   $0x2,0x10(%ebp)
4092d5:	74 0a                	je     0x4092e1
4092d7:	89 c8                	mov    %ecx,%eax
4092d9:	48                   	dec    %eax
4092da:	b3 03                	mov    $0x3,%bl
4092dc:	f6 f3                	div    %bl
4092de:	88 e3                	mov    %ah,%bl
4092e0:	43                   	inc    %ebx
4092e1:	e8 24 ff ff ff       	call   0x40920a
4092e6:	aa                   	stos   %al,%es:(%edi)
4092e7:	49                   	dec    %ecx
4092e8:	74 0f                	je     0x4092f9
4092ea:	4b                   	dec    %ebx
4092eb:	75 f4                	jne    0x4092e1
4092ed:	8a 45 fa             	mov    -0x6(%ebp),%al
4092f0:	84 c0                	test   %al,%al
4092f2:	74 ed                	je     0x4092e1
4092f4:	aa                   	stos   %al,%es:(%edi)
4092f5:	b3 03                	mov    $0x3,%bl
4092f7:	eb e8                	jmp    0x4092e1
4092f9:	09 d2                	or     %edx,%edx
4092fb:	74 1c                	je     0x409319
4092fd:	8a 45 fb             	mov    -0x5(%ebp),%al
409300:	84 c0                	test   %al,%al
409302:	74 01                	je     0x409305
409304:	aa                   	stos   %al,%es:(%edi)
409305:	e3 09                	jecxz  0x409310
409307:	b0 30                	mov    $0x30,%al
409309:	aa                   	stos   %al,%es:(%edi)
40930a:	4a                   	dec    %edx
40930b:	74 0c                	je     0x409319
40930d:	41                   	inc    %ecx
40930e:	75 f9                	jne    0x409309
409310:	e8 f5 fe ff ff       	call   0x40920a
409315:	aa                   	stos   %al,%es:(%edi)
409316:	4a                   	dec    %edx
409317:	75 f7                	jne    0x409310
409319:	c3                   	ret
40931a:	31 db                	xor    %ebx,%ebx
40931c:	8a 5d f3             	mov    -0xd(%ebp),%bl
40931f:	b9 03 00 00 00       	mov    $0x3,%ecx
409324:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
409328:	74 08                	je     0x409332
40932a:	8a 5d f2             	mov    -0xe(%ebp),%bl
40932d:	b9 0f 04 00 00       	mov    $0x40f,%ecx
409332:	38 cb                	cmp    %cl,%bl
409334:	76 02                	jbe    0x409338
409336:	88 cb                	mov    %cl,%bl
409338:	00 eb                	add    %ch,%bl
40933a:	8d 9c 9b 7d 93 40 00 	lea    0x40937d(%ebx,%ebx,4),%ebx
409341:	03 5d ec             	add    -0x14(%ebp),%ebx
409344:	b9 05 00 00 00       	mov    $0x5,%ecx
409349:	8a 03                	mov    (%ebx),%al
40934b:	3c 40                	cmp    $0x40,%al
40934d:	74 1e                	je     0x40936d
40934f:	51                   	push   %ecx
409350:	53                   	push   %ebx
409351:	3c 24                	cmp    $0x24,%al
409353:	74 07                	je     0x40935c
409355:	3c 2a                	cmp    $0x2a,%al
409357:	74 0a                	je     0x409363
409359:	aa                   	stos   %al,%es:(%edi)
40935a:	eb 0c                	jmp    0x409368
40935c:	e8 0d 00 00 00       	call   0x40936e
409361:	eb 05                	jmp    0x409368
409363:	e8 4d ff ff ff       	call   0x4092b5
409368:	5b                   	pop    %ebx
409369:	59                   	pop    %ecx
40936a:	43                   	inc    %ebx
40936b:	e2 dc                	loop   0x409349
40936d:	c3                   	ret
40936e:	56                   	push   %esi
40936f:	8b 75 f4             	mov    -0xc(%ebp),%esi
409372:	85 f6                	test   %esi,%esi
409374:	74 05                	je     0x40937b
409376:	8b 4e fc             	mov    -0x4(%esi),%ecx
409379:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40937b:	5e                   	pop    %esi
40937c:	c3                   	ret
40937d:	24 2a                	and    $0x2a,%al
40937f:	40                   	inc    %eax
409380:	40                   	inc    %eax
409381:	40                   	inc    %eax
409382:	2a 24 40             	sub    (%eax,%eax,2),%ah
409385:	40                   	inc    %eax
409386:	40                   	inc    %eax
409387:	24 20                	and    $0x20,%al
409389:	2a 40 40             	sub    0x40(%eax),%al
40938c:	2a 20                	sub    (%eax),%ah
40938e:	24 40                	and    $0x40,%al
409390:	40                   	inc    %eax
409391:	28 24 2a             	sub    %ah,(%edx,%ebp,1)
409394:	29 40 2d             	sub    %eax,0x2d(%eax)
409397:	24 2a                	and    $0x2a,%al
409399:	40                   	inc    %eax
40939a:	40                   	inc    %eax
40939b:	24 2d                	and    $0x2d,%al
40939d:	2a 40 40             	sub    0x40(%eax),%al
4093a0:	24 2a                	and    $0x2a,%al
4093a2:	2d 40 40 28 2a       	sub    $0x2a284040,%eax
4093a7:	24 29                	and    $0x29,%al
4093a9:	40                   	inc    %eax
4093aa:	2d 2a 24 40 40       	sub    $0x4040242a,%eax
4093af:	2a 2d 24 40 40 2a    	sub    0x2a404024,%ch
4093b5:	24 2d                	and    $0x2d,%al
4093b7:	40                   	inc    %eax
4093b8:	40                   	inc    %eax
4093b9:	2d 2a 20 24 40       	sub    $0x4024202a,%eax
4093be:	2d 24 20 2a 40       	sub    $0x402a2024,%eax
4093c3:	2a 20                	sub    (%eax),%ah
4093c5:	24 2d                	and    $0x2d,%al
4093c7:	40                   	inc    %eax
4093c8:	24 20                	and    $0x20,%al
4093ca:	2a 2d 40 24 20 2d    	sub    0x2d202440,%ch
4093d0:	2a 40 2a             	sub    0x2a(%eax),%al
4093d3:	2d 20 24 40 28       	sub    $0x28402420,%eax
4093d8:	24 20                	and    $0x20,%al
4093da:	2a 29                	sub    (%ecx),%ch
4093dc:	28 2a                	sub    %ch,(%edx)
4093de:	20 24 29             	and    %ah,(%ecx,%ebp,1)
4093e1:	8b e5                	mov    %ebp,%esp
4093e3:	5d                   	pop    %ebp
4093e4:	c2 0c 00             	ret    $0xc
4093e7:	90                   	nop
4093e8:	55                   	push   %ebp
4093e9:	8b ec                	mov    %esp,%ebp
4093eb:	83 c4 e0             	add    $0xffffffe0,%esp
4093ee:	57                   	push   %edi
4093ef:	56                   	push   %esi
4093f0:	53                   	push   %ebx
4093f1:	89 c3                	mov    %eax,%ebx
4093f3:	89 d6                	mov    %edx,%esi
4093f5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4093fc:	80 f9 00             	cmp    $0x0,%cl
4093ff:	74 0a                	je     0x40940b
409401:	e8 31 01 00 00       	call   0x409537
409406:	e9 00 02 00 00       	jmp    0x40960b
40940b:	e8 05 00 00 00       	call   0x409415
409410:	e9 f6 01 00 00       	jmp    0x40960b
409415:	66 8b 46 08          	mov    0x8(%esi),%ax
409419:	89 c2                	mov    %eax,%edx
40941b:	25 ff 7f 00 00       	and    $0x7fff,%eax
409420:	74 1e                	je     0x409440
409422:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
409427:	75 22                	jne    0x40944b
409429:	66 f7 46 06 00 80    	testw  $0x8000,0x6(%esi)
40942f:	74 11                	je     0x409442
409431:	83 3e 00             	cmpl   $0x0,(%esi)
409434:	75 09                	jne    0x40943f
409436:	81 7e 04 00 00 00 80 	cmpl   $0x80000000,0x4(%esi)
40943d:	74 03                	je     0x409442
40943f:	40                   	inc    %eax
409440:	31 d2                	xor    %edx,%edx