406020:	73 09                	jae    0x40602b
406022:	3b 45 f8             	cmp    -0x8(%ebp),%eax
406025:	0f 82 70 ff ff ff    	jb     0x405f9b
40602b:	3b 45 f8             	cmp    -0x8(%ebp),%eax
40602e:	72 04                	jb     0x406034
406030:	8b 45 f8             	mov    -0x8(%ebp),%eax
406033:	48                   	dec    %eax
406034:	8b 55 fc             	mov    -0x4(%ebp),%edx
406037:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
40603d:	eb 47                	jmp    0x406086
40603f:	3b 75 08             	cmp    0x8(%ebp),%esi
406042:	73 42                	jae    0x406086
406044:	8b 55 f4             	mov    -0xc(%ebp),%edx
406047:	8a 14 32             	mov    (%edx,%esi,1),%dl
40604a:	46                   	inc    %esi
40604b:	f6 c2 80             	test   $0x80,%dl
40604e:	74 30                	je     0x406080
406050:	3b 75 08             	cmp    0x8(%ebp),%esi
406053:	73 35                	jae    0x40608a
406055:	80 e2 3f             	and    $0x3f,%dl
406058:	f6 c2 20             	test   $0x20,%dl
40605b:	74 14                	je     0x406071
40605d:	8b 55 f4             	mov    -0xc(%ebp),%edx
406060:	8a 14 32             	mov    (%edx,%esi,1),%dl
406063:	46                   	inc    %esi
406064:	80 e2 c0             	and    $0xc0,%dl
406067:	80 fa 80             	cmp    $0x80,%dl
40606a:	75 1e                	jne    0x40608a
40606c:	3b 75 08             	cmp    0x8(%ebp),%esi
40606f:	73 19                	jae    0x40608a
406071:	8b 55 f4             	mov    -0xc(%ebp),%edx
406074:	8a 14 32             	mov    (%edx,%esi,1),%dl
406077:	46                   	inc    %esi
406078:	80 e2 c0             	and    $0xc0,%dl
40607b:	80 fa 80             	cmp    $0x80,%dl
40607e:	75 0a                	jne    0x40608a
406080:	40                   	inc    %eax
406081:	3b 75 08             	cmp    0x8(%ebp),%esi
406084:	72 be                	jb     0x406044
406086:	40                   	inc    %eax
406087:	89 45 f0             	mov    %eax,-0x10(%ebp)
40608a:	8b 45 f0             	mov    -0x10(%ebp),%eax
40608d:	5e                   	pop    %esi
40608e:	5b                   	pop    %ebx
40608f:	8b e5                	mov    %ebp,%esp
406091:	5d                   	pop    %ebp
406092:	c2 04 00             	ret    $0x4
406095:	8d 40 00             	lea    0x0(%eax),%eax
406098:	55                   	push   %ebp
406099:	8b ec                	mov    %esp,%ebp
40609b:	6a 00                	push   $0x0
40609d:	53                   	push   %ebx
40609e:	56                   	push   %esi
40609f:	8b f2                	mov    %edx,%esi
4060a1:	8b d8                	mov    %eax,%ebx
4060a3:	33 c0                	xor    %eax,%eax
4060a5:	55                   	push   %ebp
4060a6:	68 37 61 40 00       	push   $0x406137
4060ab:	64 ff 30             	push   %fs:(%eax)
4060ae:	64 89 20             	mov    %esp,%fs:(%eax)
4060b1:	8b c6                	mov    %esi,%eax
4060b3:	e8 ac e0 ff ff       	call   0x404164
4060b8:	8b c3                	mov    %ebx,%eax
4060ba:	33 d2                	xor    %edx,%edx
4060bc:	e8 27 e9 ff ff       	call   0x4049e8
4060c1:	74 5e                	je     0x406121
4060c3:	8b c3                	mov    %ebx,%eax
4060c5:	e8 12 e9 ff ff       	call   0x4049dc
4060ca:	8d 14 40             	lea    (%eax,%eax,2),%edx
4060cd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4060d0:	e8 db e6 ff ff       	call   0x4047b0
4060d5:	8b c3                	mov    %ebx,%eax
4060d7:	e8 00 e9 ff ff       	call   0x4049dc
4060dc:	50                   	push   %eax
4060dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4060e0:	e8 3f e3 ff ff       	call   0x404424
4060e5:	40                   	inc    %eax
4060e6:	50                   	push   %eax
4060e7:	8b c3                	mov    %ebx,%eax
4060e9:	e8 de e8 ff ff       	call   0x4049cc
4060ee:	50                   	push   %eax
4060ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4060f2:	e8 2d e5 ff ff       	call   0x404624
4060f7:	59                   	pop    %ecx
4060f8:	5a                   	pop    %edx
4060f9:	e8 86 fd ff ff       	call   0x405e84
4060fe:	85 c0                	test   %eax,%eax
406100:	7e 0d                	jle    0x40610f
406102:	8b d0                	mov    %eax,%edx
406104:	4a                   	dec    %edx
406105:	8d 45 fc             	lea    -0x4(%ebp),%eax
406108:	e8 a3 e6 ff ff       	call   0x4047b0
40610d:	eb 08                	jmp    0x406117
40610f:	8d 45 fc             	lea    -0x4(%ebp),%eax
406112:	e8 4d e0 ff ff       	call   0x404164
406117:	8b c6                	mov    %esi,%eax
406119:	8b 55 fc             	mov    -0x4(%ebp),%edx
40611c:	e8 97 e0 ff ff       	call   0x4041b8
406121:	33 c0                	xor    %eax,%eax
406123:	5a                   	pop    %edx
406124:	59                   	pop    %ecx
406125:	59                   	pop    %ecx
406126:	64 89 10             	mov    %edx,%fs:(%eax)
406129:	68 3e 61 40 00       	push   $0x40613e
40612e:	8d 45 fc             	lea    -0x4(%ebp),%eax
406131:	e8 2e e0 ff ff       	call   0x404164
406136:	c3                   	ret
406137:	e9 2c da ff ff       	jmp    0x403b68
40613c:	eb f0                	jmp    0x40612e
40613e:	5e                   	pop    %esi
40613f:	5b                   	pop    %ebx
406140:	59                   	pop    %ecx
406141:	5d                   	pop    %ebp
406142:	c3                   	ret
406143:	90                   	nop
406144:	55                   	push   %ebp
406145:	8b ec                	mov    %esp,%ebp
406147:	6a 00                	push   $0x0
406149:	53                   	push   %ebx
40614a:	56                   	push   %esi
40614b:	8b f2                	mov    %edx,%esi
40614d:	8b d8                	mov    %eax,%ebx
40614f:	33 c0                	xor    %eax,%eax
406151:	55                   	push   %ebp
406152:	68 db 61 40 00       	push   $0x4061db
406157:	64 ff 30             	push   %fs:(%eax)
40615a:	64 89 20             	mov    %esp,%fs:(%eax)
40615d:	8b c6                	mov    %esi,%eax
40615f:	e8 0c e7 ff ff       	call   0x404870
406164:	85 db                	test   %ebx,%ebx
406166:	74 5d                	je     0x4061c5
406168:	8b c3                	mov    %ebx,%eax
40616a:	e8 b5 e2 ff ff       	call   0x404424
40616f:	8b d0                	mov    %eax,%edx
406171:	8d 45 fc             	lea    -0x4(%ebp),%eax
406174:	e8 3f e9 ff ff       	call   0x404ab8
406179:	8b c3                	mov    %ebx,%eax
40617b:	e8 a4 e2 ff ff       	call   0x404424
406180:	50                   	push   %eax
406181:	8b 45 fc             	mov    -0x4(%ebp),%eax
406184:	e8 53 e8 ff ff       	call   0x4049dc
406189:	40                   	inc    %eax
40618a:	50                   	push   %eax
40618b:	8b c3                	mov    %ebx,%eax
40618d:	e8 92 e4 ff ff       	call   0x404624
406192:	50                   	push   %eax
406193:	8b 45 fc             	mov    -0x4(%ebp),%eax
406196:	e8 31 e8 ff ff       	call   0x4049cc
40619b:	59                   	pop    %ecx
40619c:	5a                   	pop    %edx
40619d:	e8 be fd ff ff       	call   0x405f60
4061a2:	85 c0                	test   %eax,%eax
4061a4:	7e 0d                	jle    0x4061b3
4061a6:	8b d0                	mov    %eax,%edx
4061a8:	4a                   	dec    %edx
4061a9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4061ac:	e8 07 e9 ff ff       	call   0x404ab8
4061b1:	eb 08                	jmp    0x4061bb
4061b3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4061b6:	e8 b5 e6 ff ff       	call   0x404870
4061bb:	8b c6                	mov    %esi,%eax
4061bd:	8b 55 fc             	mov    -0x4(%ebp),%edx
4061c0:	e8 e7 e6 ff ff       	call   0x4048ac
4061c5:	33 c0                	xor    %eax,%eax
4061c7:	5a                   	pop    %edx
4061c8:	59                   	pop    %ecx
4061c9:	59                   	pop    %ecx
4061ca:	64 89 10             	mov    %edx,%fs:(%eax)
4061cd:	68 e2 61 40 00       	push   $0x4061e2
4061d2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4061d5:	e8 96 e6 ff ff       	call   0x404870
4061da:	c3                   	ret
4061db:	e9 88 d9 ff ff       	jmp    0x403b68
4061e0:	eb f0                	jmp    0x4061d2
4061e2:	5e                   	pop    %esi
4061e3:	5b                   	pop    %ebx
4061e4:	59                   	pop    %ecx
4061e5:	5d                   	pop    %ebp
4061e6:	c3                   	ret
4061e7:	90                   	nop
4061e8:	55                   	push   %ebp
4061e9:	8b ec                	mov    %esp,%ebp
4061eb:	6a 00                	push   $0x0
4061ed:	53                   	push   %ebx
4061ee:	56                   	push   %esi
4061ef:	8b f2                	mov    %edx,%esi
4061f1:	8b d8                	mov    %eax,%ebx
4061f3:	33 c0                	xor    %eax,%eax
4061f5:	55                   	push   %ebp
4061f6:	68 2b 62 40 00       	push   $0x40622b
4061fb:	64 ff 30             	push   %fs:(%eax)
4061fe:	64 89 20             	mov    %esp,%fs:(%eax)
406201:	8d 45 fc             	lea    -0x4(%ebp),%eax
406204:	8b d3                	mov    %ebx,%edx
406206:	e8 b1 e7 ff ff       	call   0x4049bc
40620b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40620e:	8b d6                	mov    %esi,%edx
406210:	e8 83 fe ff ff       	call   0x406098
406215:	33 c0                	xor    %eax,%eax
406217:	5a                   	pop    %edx
406218:	59                   	pop    %ecx
406219:	59                   	pop    %ecx
40621a:	64 89 10             	mov    %edx,%fs:(%eax)
40621d:	68 32 62 40 00       	push   $0x406232
406222:	8d 45 fc             	lea    -0x4(%ebp),%eax
406225:	e8 46 e6 ff ff       	call   0x404870
40622a:	c3                   	ret
40622b:	e9 38 d9 ff ff       	jmp    0x403b68
406230:	eb f0                	jmp    0x406222
406232:	5e                   	pop    %esi
406233:	5b                   	pop    %ebx
406234:	59                   	pop    %ecx
406235:	5d                   	pop    %ebp
406236:	c3                   	ret
406237:	90                   	nop
406238:	53                   	push   %ebx
406239:	56                   	push   %esi
40623a:	81 c4 00 fc ff ff    	add    $0xfffffc00,%esp
406240:	8b f2                	mov    %edx,%esi
406242:	8b d8                	mov    %eax,%ebx
406244:	85 db                	test   %ebx,%ebx
406246:	74 3d                	je     0x406285
406248:	81 7b 04 00 00 01 00 	cmpl   $0x10000,0x4(%ebx)
40624f:	7d 2a                	jge    0x40627b
406251:	68 00 04 00 00       	push   $0x400
406256:	8d 44 24 04          	lea    0x4(%esp),%eax
40625a:	50                   	push   %eax
40625b:	8b 43 04             	mov    0x4(%ebx),%eax
40625e:	50                   	push   %eax
40625f:	8b 03                	mov    (%ebx),%eax
406261:	8b 00                	mov    (%eax),%eax
406263:	e8 3c f5 ff ff       	call   0x4057a4
406268:	50                   	push   %eax
406269:	e8 da b0 ff ff       	call   0x401348
40626e:	8b c8                	mov    %eax,%ecx
406270:	8b d4                	mov    %esp,%edx
406272:	8b c6                	mov    %esi,%eax
406274:	e8 db df ff ff       	call   0x404254
406279:	eb 0a                	jmp    0x406285
40627b:	8b c6                	mov    %esi,%eax
40627d:	8b 53 04             	mov    0x4(%ebx),%edx
406280:	e8 d7 e0 ff ff       	call   0x40435c
406285:	81 c4 00 04 00 00    	add    $0x400,%esp
40628b:	5e                   	pop    %esi
40628c:	5b                   	pop    %ebx
40628d:	c3                   	ret
40628e:	8b c0                	mov    %eax,%eax
406290:	55                   	push   %ebp
406291:	8b ec                	mov    %esp,%ebp
406293:	83 c4 f0             	add    $0xfffffff0,%esp
406296:	53                   	push   %ebx
406297:	33 d2                	xor    %edx,%edx
406299:	89 55 f0             	mov    %edx,-0x10(%ebp)
40629c:	33 d2                	xor    %edx,%edx
40629e:	55                   	push   %ebp
40629f:	68 f6 62 40 00       	push   $0x4062f6
4062a4:	64 ff 32             	push   %fs:(%edx)
4062a7:	64 89 22             	mov    %esp,%fs:(%edx)
4062aa:	6a 07                	push   $0x7
4062ac:	8d 55 f5             	lea    -0xb(%ebp),%edx
4062af:	52                   	push   %edx
4062b0:	68 04 10 00 00       	push   $0x1004
4062b5:	50                   	push   %eax
4062b6:	e8 55 b0 ff ff       	call   0x401310
4062bb:	8d 45 f0             	lea    -0x10(%ebp),%eax
4062be:	8d 55 f5             	lea    -0xb(%ebp),%edx
4062c1:	b9 07 00 00 00       	mov    $0x7,%ecx
4062c6:	e8 09 e1 ff ff       	call   0x4043d4
4062cb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4062ce:	8d 55 fc             	lea    -0x4(%ebp),%edx
4062d1:	e8 22 cb ff ff       	call   0x402df8
4062d6:	8b d8                	mov    %eax,%ebx
4062d8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4062dc:	74 02                	je     0x4062e0
4062de:	33 db                	xor    %ebx,%ebx
4062e0:	33 c0                	xor    %eax,%eax
4062e2:	5a                   	pop    %edx
4062e3:	59                   	pop    %ecx
4062e4:	59                   	pop    %ecx
4062e5:	64 89 10             	mov    %edx,%fs:(%eax)
4062e8:	68 fd 62 40 00       	push   $0x4062fd
4062ed:	8d 45 f0             	lea    -0x10(%ebp),%eax
4062f0:	e8 6f de ff ff       	call   0x404164
4062f5:	c3                   	ret
4062f6:	e9 6d d8 ff ff       	jmp    0x403b68
4062fb:	eb f0                	jmp    0x4062ed
4062fd:	8b c3                	mov    %ebx,%eax
4062ff:	5b                   	pop    %ebx
406300:	8b e5                	mov    %ebp,%esp
406302:	5d                   	pop    %ebp
406303:	c3                   	ret
406304:	55                   	push   %ebp
406305:	8b ec                	mov    %esp,%ebp
406307:	33 c0                	xor    %eax,%eax
406309:	55                   	push   %ebp
40630a:	68 4e 63 40 00       	push   $0x40634e
40630f:	64 ff 30             	push   %fs:(%eax)
406312:	64 89 20             	mov    %esp,%fs:(%eax)
406315:	ff 05 bc c5 49 00    	incl   0x49c5bc
40631b:	75 23                	jne    0x406340
40631d:	b8 50 c0 49 00       	mov    $0x49c050,%eax
406322:	e8 a1 c8 ff ff       	call   0x402bc8
406327:	b8 1c c2 49 00       	mov    $0x49c21c,%eax
40632c:	e8 97 c8 ff ff       	call   0x402bc8
406331:	b8 e8 c3 49 00       	mov    $0x49c3e8,%eax
406336:	e8 8d c8 ff ff       	call   0x402bc8
40633b:	e8 3c b8 ff ff       	call   0x401b7c
406340:	33 c0                	xor    %eax,%eax
406342:	5a                   	pop    %edx
406343:	59                   	pop    %ecx
406344:	59                   	pop    %ecx
406345:	64 89 10             	mov    %edx,%fs:(%eax)
406348:	68 55 63 40 00       	push   $0x406355
40634d:	c3                   	ret
40634e:	e9 15 d8 ff ff       	jmp    0x403b68
406353:	eb f8                	jmp    0x40634d
406355:	5d                   	pop    %ebp
406356:	c3                   	ret
406357:	90                   	nop
406358:	83 2d bc c5 49 00 01 	subl   $0x1,0x49c5bc
40635f:	0f 83 c5 00 00 00    	jae    0x40642a
406365:	c6 05 08 d0 48 00 02 	movb   $0x2,0x48d008
40636c:	c7 05 14 c0 49 00 b8 	movl   $0x4012b8,0x49c014
406373:	12 40 00
406376:	c7 05 18 c0 49 00 c0 	movl   $0x4012c0,0x49c018
40637d:	12 40 00
406380:	c6 05 4e c0 49 00 02 	movb   $0x2,0x49c04e
406387:	c7 05 00 c0 49 00 b0 	movl   $0x404fb0,0x49c000
40638e:	4f 40 00
406391:	e8 8e ce ff ff       	call   0x403224
406396:	84 c0                	test   %al,%al
406398:	74 05                	je     0x40639f
40639a:	e8 b5 ce ff ff       	call   0x403254
40639f:	e8 74 cf ff ff       	call   0x403318
4063a4:	66 c7 05 54 c0 49 00 	movw   $0xd7b0,0x49c054
4063ab:	b0 d7
4063ad:	66 c7 05 20 c2 49 00 	movw   $0xd7b0,0x49c220
4063b4:	b0 d7
4063b6:	66 c7 05 ec c3 49 00 	movw   $0xd7b0,0x49c3ec
4063bd:	b0 d7
4063bf:	e8 44 af ff ff       	call   0x401308
4063c4:	a3 40 c0 49 00       	mov    %eax,0x49c040
4063c9:	e8 fa af ff ff       	call   0x4013c8
4063ce:	a3 3c c0 49 00       	mov    %eax,0x49c03c
4063d3:	e8 e8 af ff ff       	call   0x4013c0
4063d8:	25 00 00 00 80       	and    $0x80000000,%eax
4063dd:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4063e2:	74 2d                	je     0x406411
4063e4:	e8 d7 af ff ff       	call   0x4013c0
4063e9:	25 ff 00 00 00       	and    $0xff,%eax