408f5a:	c3                   	ret
408f5b:	53                   	push   %ebx
408f5c:	50                   	push   %eax
408f5d:	8d 45 ec             	lea    -0x14(%ebp),%eax
408f60:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408f63:	e8 e8 b0 ff ff       	call   0x404050
408f68:	58                   	pop    %eax
408f69:	5b                   	pop    %ebx
408f6a:	c3                   	ret
408f6b:	e8 eb ff ff ff       	call   0x408f5b
408f70:	5f                   	pop    %edi
408f71:	5e                   	pop    %esi
408f72:	5b                   	pop    %ebx
408f73:	5b                   	pop    %ebx
408f74:	8b e5                	mov    %ebp,%esp
408f76:	5d                   	pop    %ebp
408f77:	c2 0c 00             	ret    $0xc
408f7a:	8b c0                	mov    %eax,%eax
408f7c:	55                   	push   %ebp
408f7d:	8b ec                	mov    %esp,%ebp
408f7f:	53                   	push   %ebx
408f80:	56                   	push   %esi
408f81:	57                   	push   %edi
408f82:	8b f9                	mov    %ecx,%edi
408f84:	8b f2                	mov    %edx,%esi
408f86:	8b d8                	mov    %eax,%ebx
408f88:	85 db                	test   %ebx,%ebx
408f8a:	74 27                	je     0x408fb3
408f8c:	85 f6                	test   %esi,%esi
408f8e:	74 23                	je     0x408fb3
408f90:	8b c6                	mov    %esi,%eax
408f92:	e8 89 f9 ff ff       	call   0x408920
408f97:	50                   	push   %eax
408f98:	57                   	push   %edi
408f99:	8b 45 08             	mov    0x8(%ebp),%eax
408f9c:	50                   	push   %eax
408f9d:	8b ce                	mov    %esi,%ecx
408f9f:	8b c3                	mov    %ebx,%eax
408fa1:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
408fa6:	e8 59 fc ff ff       	call   0x408c04
408fab:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
408faf:	8b c3                	mov    %ebx,%eax
408fb1:	eb 02                	jmp    0x408fb5
408fb3:	33 c0                	xor    %eax,%eax
408fb5:	5f                   	pop    %edi
408fb6:	5e                   	pop    %esi
408fb7:	5b                   	pop    %ebx
408fb8:	5d                   	pop    %ebp
408fb9:	c2 04 00             	ret    $0x4
408fbc:	55                   	push   %ebp
408fbd:	8b ec                	mov    %esp,%ebp
408fbf:	53                   	push   %ebx
408fc0:	56                   	push   %esi
408fc1:	57                   	push   %edi
408fc2:	8b f1                	mov    %ecx,%esi
408fc4:	8b fa                	mov    %edx,%edi
408fc6:	8b d8                	mov    %eax,%ebx
408fc8:	85 db                	test   %ebx,%ebx
408fca:	74 27                	je     0x408ff3
408fcc:	85 f6                	test   %esi,%esi
408fce:	74 23                	je     0x408ff3
408fd0:	8b c6                	mov    %esi,%eax
408fd2:	e8 49 f9 ff ff       	call   0x408920
408fd7:	50                   	push   %eax
408fd8:	8b 45 0c             	mov    0xc(%ebp),%eax
408fdb:	50                   	push   %eax
408fdc:	8b 45 08             	mov    0x8(%ebp),%eax
408fdf:	50                   	push   %eax
408fe0:	8b ce                	mov    %esi,%ecx
408fe2:	8b c3                	mov    %ebx,%eax
408fe4:	8b d7                	mov    %edi,%edx
408fe6:	e8 19 fc ff ff       	call   0x408c04
408feb:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
408fef:	8b c3                	mov    %ebx,%eax
408ff1:	eb 02                	jmp    0x408ff5
408ff3:	33 c0                	xor    %eax,%eax
408ff5:	5f                   	pop    %edi
408ff6:	5e                   	pop    %esi
408ff7:	5b                   	pop    %ebx
408ff8:	5d                   	pop    %ebp
408ff9:	c2 08 00             	ret    $0x8
408ffc:	55                   	push   %ebp
408ffd:	8b ec                	mov    %esp,%ebp
408fff:	51                   	push   %ecx
409000:	8b 4d 08             	mov    0x8(%ebp),%ecx
409003:	91                   	xchg   %eax,%ecx
409004:	87 d1                	xchg   %edx,%ecx
409006:	e8 05 00 00 00       	call   0x409010
40900b:	5d                   	pop    %ebp
40900c:	c2 04 00             	ret    $0x4
40900f:	90                   	nop
409010:	55                   	push   %ebp
409011:	8b ec                	mov    %esp,%ebp
409013:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
409019:	50                   	push   %eax
40901a:	83 c4 f8             	add    $0xfffffff8,%esp
40901d:	53                   	push   %ebx
40901e:	56                   	push   %esi
40901f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
409022:	89 55 fc             	mov    %edx,-0x4(%ebp)
409025:	8b f0                	mov    %eax,%esi
409027:	bb 00 10 00 00       	mov    $0x1000,%ebx
40902c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40902f:	e8 dc b2 ff ff       	call   0x404310
409034:	3d 00 0c 00 00       	cmp    $0xc00,%eax
409039:	7d 26                	jge    0x409061
40903b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40903e:	e8 cd b2 ff ff       	call   0x404310
409043:	50                   	push   %eax
409044:	8b 45 f8             	mov    -0x8(%ebp),%eax
409047:	50                   	push   %eax
409048:	8b 45 08             	mov    0x8(%ebp),%eax
40904b:	50                   	push   %eax
40904c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40904f:	8d 85 f8 ef ff ff    	lea    -0x1008(%ebp),%eax
409055:	ba ff 0f 00 00       	mov    $0xfff,%edx
40905a:	e8 a5 fb ff ff       	call   0x408c04
40905f:	eb 0c                	jmp    0x40906d
409061:	8b 45 fc             	mov    -0x4(%ebp),%eax
409064:	e8 a7 b2 ff ff       	call   0x404310
409069:	8b d8                	mov    %eax,%ebx
40906b:	8b c3                	mov    %ebx,%eax
40906d:	8b d3                	mov    %ebx,%edx
40906f:	4a                   	dec    %edx
409070:	3b c2                	cmp    %edx,%eax
409072:	7c 43                	jl     0x4090b7
409074:	eb 30                	jmp    0x4090a6
409076:	03 db                	add    %ebx,%ebx
409078:	8b c6                	mov    %esi,%eax
40907a:	e8 d1 af ff ff       	call   0x404050
40907f:	8b c6                	mov    %esi,%eax
409081:	8b d3                	mov    %ebx,%edx
409083:	e8 14 b6 ff ff       	call   0x40469c
409088:	8b 45 fc             	mov    -0x4(%ebp),%eax
40908b:	e8 80 b2 ff ff       	call   0x404310
409090:	50                   	push   %eax
409091:	8b 45 f8             	mov    -0x8(%ebp),%eax
409094:	50                   	push   %eax
409095:	8b 45 08             	mov    0x8(%ebp),%eax
409098:	50                   	push   %eax
409099:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40909c:	8b d3                	mov    %ebx,%edx
40909e:	4a                   	dec    %edx
40909f:	8b 06                	mov    (%esi),%eax
4090a1:	e8 5e fb ff ff       	call   0x408c04
4090a6:	8b d3                	mov    %ebx,%edx
4090a8:	4a                   	dec    %edx
4090a9:	3b c2                	cmp    %edx,%eax
4090ab:	7d c9                	jge    0x409076
4090ad:	8b d6                	mov    %esi,%edx
4090af:	92                   	xchg   %eax,%edx
4090b0:	e8 e7 b5 ff ff       	call   0x40469c
4090b5:	eb 0e                	jmp    0x4090c5
4090b7:	8d 95 f8 ef ff ff    	lea    -0x1008(%ebp),%edx
4090bd:	8b ce                	mov    %esi,%ecx
4090bf:	91                   	xchg   %eax,%ecx
4090c0:	e8 7b b0 ff ff       	call   0x404140
4090c5:	5e                   	pop    %esi
4090c6:	5b                   	pop    %ebx
4090c7:	8b e5                	mov    %ebp,%esp
4090c9:	5d                   	pop    %ebp
4090ca:	c2 04 00             	ret    $0x4
4090cd:	8d 40 00             	lea    0x0(%eax),%eax
4090d0:	56                   	push   %esi
4090d1:	31 f6                	xor    %esi,%esi
4090d3:	aa                   	stos   %al,%es:(%edi)
4090d4:	08 db                	or     %bl,%bl
4090d6:	75 04                	jne    0x4090dc
4090d8:	31 d2                	xor    %edx,%edx
4090da:	eb 0a                	jmp    0x4090e6
4090dc:	09 d2                	or     %edx,%edx
4090de:	7d 06                	jge    0x4090e6
4090e0:	b0 2d                	mov    $0x2d,%al
4090e2:	f7 da                	neg    %edx
4090e4:	eb 06                	jmp    0x4090ec
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