407007:	eb be                	jmp    0x406fc7
407009:	c6 45 f0 01          	movb   $0x1,-0x10(%ebp)
40700d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
407010:	e8 61 07 00 00       	call   0x407776
407015:	8a 45 f0             	mov    -0x10(%ebp),%al
407018:	5f                   	pop    %edi
407019:	5e                   	pop    %esi
40701a:	8b e5                	mov    %ebp,%esp
40701c:	5d                   	pop    %ebp
40701d:	c3                   	ret
40701e:	b0 01                	mov    $0x1,%al
407020:	eb f6                	jmp    0x407018
407022:	32 c0                	xor    %al,%al
407024:	eb f2                	jmp    0x407018
407026:	33 c0                	xor    %eax,%eax
407028:	8b d0                	mov    %eax,%edx
40702a:	eb 8d                	jmp    0x406fb9
40702c:	55                   	push   %ebp
40702d:	8b ec                	mov    %esp,%ebp
40702f:	53                   	push   %ebx
407030:	56                   	push   %esi
407031:	57                   	push   %edi
407032:	8b 7d 08             	mov    0x8(%ebp),%edi
407035:	33 db                	xor    %ebx,%ebx
407037:	8b f3                	mov    %ebx,%esi
407039:	85 ff                	test   %edi,%edi
40703b:	74 75                	je     0x4070b2
40703d:	66 83 3f 23          	cmpw   $0x23,(%edi)
407041:	74 52                	je     0x407095
407043:	66 39 1f             	cmp    %bx,(%edi)
407046:	74 17                	je     0x40705f
407048:	0f b7 07             	movzwl (%edi),%eax
40704b:	83 f8 22             	cmp    $0x22,%eax
40704e:	74 1c                	je     0x40706c
407050:	83 f8 27             	cmp    $0x27,%eax
407053:	74 34                	je     0x407089
407055:	83 f8 3b             	cmp    $0x3b,%eax
407058:	74 24                	je     0x40707e
40705a:	83 c7 02             	add    $0x2,%edi
40705d:	eb e4                	jmp    0x407043
40705f:	85 f6                	test   %esi,%esi
407061:	75 4a                	jne    0x4070ad
407063:	b0 01                	mov    $0x1,%al
407065:	5f                   	pop    %edi
407066:	5e                   	pop    %esi
407067:	5b                   	pop    %ebx
407068:	5d                   	pop    %ebp
407069:	c2 04 00             	ret    $0x4
40706c:	83 fe 02             	cmp    $0x2,%esi
40706f:	74 09                	je     0x40707a
407071:	85 f6                	test   %esi,%esi
407073:	75 e5                	jne    0x40705a
407075:	6a 02                	push   $0x2
407077:	5e                   	pop    %esi
407078:	eb e0                	jmp    0x40705a
40707a:	8b f3                	mov    %ebx,%esi
40707c:	eb dc                	jmp    0x40705a
40707e:	85 f6                	test   %esi,%esi
407080:	75 34                	jne    0x4070b6
407082:	33 c9                	xor    %ecx,%ecx
407084:	66 89 0f             	mov    %cx,(%edi)
407087:	eb da                	jmp    0x407063
407089:	83 fe 01             	cmp    $0x1,%esi
40708c:	74 ec                	je     0x40707a
40708e:	85 f6                	test   %esi,%esi
407090:	75 c8                	jne    0x40705a
407092:	46                   	inc    %esi
407093:	eb c5                	jmp    0x40705a
407095:	6a 08                	push   $0x8
407097:	68 2c 24 49 00       	push   $0x49242c
40709c:	57                   	push   %edi
40709d:	e8 69 c9 01 00       	call   0x423a0b
4070a2:	83 c4 0c             	add    $0xc,%esp
4070a5:	85 c0                	test   %eax,%eax
4070a7:	74 9a                	je     0x407043
4070a9:	6a 03                	push   $0x3
4070ab:	eb ca                	jmp    0x407077
4070ad:	83 fe 03             	cmp    $0x3,%esi
4070b0:	74 b1                	je     0x407063
4070b2:	32 c0                	xor    %al,%al
4070b4:	eb af                	jmp    0x407065
4070b6:	83 fe 03             	cmp    $0x3,%esi
4070b9:	74 c7                	je     0x407082
4070bb:	eb 9d                	jmp    0x40705a
4070bd:	55                   	push   %ebp
4070be:	8b ec                	mov    %esp,%ebp
4070c0:	53                   	push   %ebx
4070c1:	56                   	push   %esi
4070c2:	33 f6                	xor    %esi,%esi
4070c4:	57                   	push   %edi
4070c5:	8b 7d 08             	mov    0x8(%ebp),%edi
4070c8:	8b de                	mov    %esi,%ebx
4070ca:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
4070ce:	50                   	push   %eax
4070cf:	89 45 08             	mov    %eax,0x8(%ebp)
4070d2:	e8 83 c7 01 00       	call   0x42385a
4070d7:	59                   	pop    %ecx
4070d8:	85 c0                	test   %eax,%eax
4070da:	74 10                	je     0x4070ec
4070dc:	ff 75 08             	push   0x8(%ebp)
4070df:	e8 99 c7 01 00       	call   0x42387d
4070e4:	59                   	pop    %ecx
4070e5:	85 c0                	test   %eax,%eax
4070e7:	74 03                	je     0x4070ec
4070e9:	46                   	inc    %esi
4070ea:	eb de                	jmp    0x4070ca
4070ec:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
4070f0:	66 85 c0             	test   %ax,%ax
4070f3:	74 08                	je     0x4070fd
4070f5:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
4070f9:	43                   	inc    %ebx
4070fa:	46                   	inc    %esi
4070fb:	eb ef                	jmp    0x4070ec
4070fd:	33 c0                	xor    %eax,%eax
4070ff:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
407103:	5f                   	pop    %edi
407104:	5e                   	pop    %esi
407105:	5b                   	pop    %ebx
407106:	5d                   	pop    %ebp
407107:	c2 04 00             	ret    $0x4
40710a:	55                   	push   %ebp
40710b:	8b ec                	mov    %esp,%ebp
40710d:	57                   	push   %edi
40710e:	8b 7d 08             	mov    0x8(%ebp),%edi
407111:	57                   	push   %edi
407112:	e8 25 bd 01 00       	call   0x422e3c
407117:	59                   	pop    %ecx
407118:	85 c0                	test   %eax,%eax
40711a:	74 1d                	je     0x407139
40711c:	56                   	push   %esi
40711d:	8d 70 ff             	lea    -0x1(%eax),%esi
407120:	85 f6                	test   %esi,%esi
407122:	78 0d                	js     0x407131
407124:	66 8b 0c 77          	mov    (%edi,%esi,2),%cx
407128:	e8 8c e2 ff ff       	call   0x4053b9
40712d:	85 c0                	test   %eax,%eax
40712f:	75 0d                	jne    0x40713e
407131:	33 c0                	xor    %eax,%eax
407133:	66 89 44 77 02       	mov    %ax,0x2(%edi,%esi,2)
407138:	5e                   	pop    %esi
407139:	5f                   	pop    %edi
40713a:	5d                   	pop    %ebp
40713b:	c2 04 00             	ret    $0x4
40713e:	4e                   	dec    %esi
40713f:	79 e3                	jns    0x407124
407141:	eb ee                	jmp    0x407131
407143:	55                   	push   %ebp
407144:	8b ec                	mov    %esp,%ebp
407146:	8b 0d a4 72 4c 00    	mov    0x4c72a4,%ecx
40714c:	85 c9                	test   %ecx,%ecx
40714e:	74 17                	je     0x407167
407150:	8b 45 08             	mov    0x8(%ebp),%eax
407153:	3b 05 a0 72 4c 00    	cmp    0x4c72a0,%eax
407159:	7f 0c                	jg     0x407167
40715b:	85 c0                	test   %eax,%eax
40715d:	7e 08                	jle    0x407167
40715f:	8b 44 81 fc          	mov    -0x4(%ecx,%eax,4),%eax
407163:	5d                   	pop    %ebp
407164:	c2 04 00             	ret    $0x4
407167:	33 c0                	xor    %eax,%eax
407169:	eb f8                	jmp    0x407163
40716b:	55                   	push   %ebp
40716c:	8b ec                	mov    %esp,%ebp
40716e:	83 ec 14             	sub    $0x14,%esp
407171:	56                   	push   %esi
407172:	57                   	push   %edi
407173:	8b f9                	mov    %ecx,%edi
407175:	8d 4d ec             	lea    -0x14(%ebp),%ecx
407178:	e8 4a 06 00 00       	call   0x4077c7
40717d:	8b 4d 08             	mov    0x8(%ebp),%ecx
407180:	8d 55 ec             	lea    -0x14(%ebp),%edx
407183:	e8 26 d7 ff ff       	call   0x4048ae
407188:	33 f6                	xor    %esi,%esi
40718a:	39 77 20             	cmp    %esi,0x20(%edi)
40718d:	0f 87 1b 7b 03 00    	ja     0x43ecae
407193:	8d 45 ec             	lea    -0x14(%ebp),%eax
407196:	50                   	push   %eax
407197:	8d 4f 18             	lea    0x18(%edi),%ecx
40719a:	e8 e5 cd ff ff       	call   0x403f84
40719f:	8d 45 08             	lea    0x8(%ebp),%eax
4071a2:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
4071a9:	50                   	push   %eax
4071aa:	8d 4f 28             	lea    0x28(%edi),%ecx
4071ad:	e8 10 c3 ff ff       	call   0x4034c2
4071b2:	8b 77 20             	mov    0x20(%edi),%esi
4071b5:	4e                   	dec    %esi
4071b6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4071b9:	e8 a6 e8 ff ff       	call   0x405a64
4071be:	5f                   	pop    %edi
4071bf:	8b c6                	mov    %esi,%eax
4071c1:	5e                   	pop    %esi
4071c2:	8b e5                	mov    %ebp,%esp
4071c4:	5d                   	pop    %ebp
4071c5:	c2 04 00             	ret    $0x4
4071c8:	55                   	push   %ebp
4071c9:	8b ec                	mov    %esp,%ebp
4071cb:	8b 45 08             	mov    0x8(%ebp),%eax
4071ce:	3b 05 a0 72 4c 00    	cmp    0x4c72a0,%eax
4071d4:	7f 11                	jg     0x4071e7
4071d6:	85 c0                	test   %eax,%eax
4071d8:	7e 0d                	jle    0x4071e7
4071da:	c1 e0 04             	shl    $0x4,%eax
4071dd:	03 05 dc 72 4c 00    	add    0x4c72dc,%eax
4071e3:	5d                   	pop    %ebp
4071e4:	c2 04 00             	ret    $0x4
4071e7:	33 c0                	xor    %eax,%eax
4071e9:	eb f8                	jmp    0x4071e3
4071eb:	55                   	push   %ebp
4071ec:	8b ec                	mov    %esp,%ebp
4071ee:	83 e4 f8             	and    $0xfffffff8,%esp
4071f1:	b8 3c 00 01 00       	mov    $0x1003c,%eax
4071f6:	e8 95 a9 02 00       	call   0x431b90
4071fb:	8b 45 08             	mov    0x8(%ebp),%eax
4071fe:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
407202:	53                   	push   %ebx
407203:	33 db                	xor    %ebx,%ebx
407205:	a3 94 72 4c 00       	mov    %eax,0x4c7294
40720a:	56                   	push   %esi
40720b:	b8 68 f9 48 00       	mov    $0x48f968,%eax
407210:	66 89 1d 90 72 4c 00 	mov    %bx,0x4c7290
407217:	57                   	push   %edi
407218:	88 1d 92 72 4c 00    	mov    %bl,0x4c7292
40721e:	89 1d 98 72 4c 00    	mov    %ebx,0x4c7298
407224:	89 1d 9c 72 4c 00    	mov    %ebx,0x4c729c
40722a:	89 1d a0 72 4c 00    	mov    %ebx,0x4c72a0
407230:	89 1d a4 72 4c 00    	mov    %ebx,0x4c72a4
407236:	a3 a8 72 4c 00       	mov    %eax,0x4c72a8
40723b:	89 1d ac 72 4c 00    	mov    %ebx,0x4c72ac
407241:	89 1d b0 72 4c 00    	mov    %ebx,0x4c72b0
407247:	89 1d b4 72 4c 00    	mov    %ebx,0x4c72b4
40724d:	c7 05 b8 72 4c 00 88 	movl   $0x48fb88,0x4c72b8
407254:	fb 48 00
407257:	89 1d bc 72 4c 00    	mov    %ebx,0x4c72bc
40725d:	89 1d c0 72 4c 00    	mov    %ebx,0x4c72c0
407263:	89 1d c4 72 4c 00    	mov    %ebx,0x4c72c4
407269:	a3 c8 72 4c 00       	mov    %eax,0x4c72c8
40726e:	89 1d cc 72 4c 00    	mov    %ebx,0x4c72cc
407274:	89 1d d0 72 4c 00    	mov    %ebx,0x4c72d0
40727a:	89 1d d4 72 4c 00    	mov    %ebx,0x4c72d4
407280:	89 1d dc 72 4c 00    	mov    %ebx,0x4c72dc
407286:	c7 05 e0 72 4c 00 18 	movl   $0x48f918,0x4c72e0
40728d:	f9 48 00
407290:	89 1d e4 72 4c 00    	mov    %ebx,0x4c72e4
407296:	89 1d e8 72 4c 00    	mov    %ebx,0x4c72e8
40729c:	89 1d ec 72 4c 00    	mov    %ebx,0x4c72ec
4072a2:	c7 05 f0 72 4c 00 66 	movl   $0x66,0x4c72f0
4072a9:	00 00 00
4072ac:	e8 16 05 00 00       	call   0x4077c7
4072b1:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4072b5:	e8 aa d5 ff ff       	call   0x404864
4072ba:	8d 54 24 28          	lea    0x28(%esp),%edx
4072be:	8b ca                	mov    %edx,%ecx
4072c0:	e8 8a 94 01 00       	call   0x42074f
4072c5:	68 50 23 49 00       	push   $0x492350
4072ca:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4072ce:	e8 38 0b 00 00       	call   0x407e0b
4072d3:	8d 44 24 28          	lea    0x28(%esp),%eax
4072d7:	b9 c8 72 4c 00       	mov    $0x4c72c8,%ecx
4072dc:	50                   	push   %eax
4072dd:	e8 a2 cc ff ff       	call   0x403f84
4072e2:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4072e6:	e8 dc 04 00 00       	call   0x4077c7
4072eb:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4072ef:	e8 f8 0b 00 00       	call   0x407eec
4072f4:	8d 44 24 10          	lea    0x10(%esp),%eax
4072f8:	33 f6                	xor    %esi,%esi
4072fa:	50                   	push   %eax
4072fb:	6a 01                	push   $0x1
4072fd:	56                   	push   %esi
4072fe:	68 f0 1c 49 00       	push   $0x491cf0
407303:	68 01 00 00 80       	push   $0x80000001
407308:	ff 15 18 f0 48 00    	call   *0x48f018
40730e:	85 c0                	test   %eax,%eax
407310:	0f 84 c4 79 03 00    	je     0x43ecda
407316:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40731a:	e8 45 e7 ff ff       	call   0x405a64
40731f:	8d 4c 24 28          	lea    0x28(%esp),%ecx
407323:	e8 3c e7 ff ff       	call   0x405a64
407328:	5f                   	pop    %edi
407329:	5e                   	pop    %esi
40732a:	b8 90 72 4c 00       	mov    $0x4c7290,%eax
40732f:	5b                   	pop    %ebx
407330:	8b e5                	mov    %ebp,%esp
407332:	5d                   	pop    %ebp
407333:	c2 08 00             	ret    $0x8
407336:	56                   	push   %esi
407337:	b9 90 72 4c 00       	mov    $0x4c7290,%ecx
40733c:	e8 fa 00 00 00       	call   0x40743b
407341:	be c8 72 4c 00       	mov    $0x4c72c8,%esi
407346:	8b ce                	mov    %esi,%ecx
407348:	e8 d3 cb ff ff       	call   0x403f20
40734d:	b9 e0 72 4c 00       	mov    $0x4c72e0,%ecx
407352:	e8 12 c2 ff ff       	call   0x403569
407357:	8b ce                	mov    %esi,%ecx
407359:	e8 c6 cc ff ff       	call   0x404024
40735e:	b9 b8 72 4c 00       	mov    $0x4c72b8,%ecx
407363:	e8 19 ee 00 00       	call   0x416181
407368:	b9 a8 72 4c 00       	mov    $0x4c72a8,%ecx
40736d:	5e                   	pop    %esi
40736e:	e9 b1 cc ff ff       	jmp    0x404024
407373:	55                   	push   %ebp
407374:	8b ec                	mov    %esp,%ebp
407376:	56                   	push   %esi
407377:	8b f1                	mov    %ecx,%esi
407379:	57                   	push   %edi
40737a:	33 ff                	xor    %edi,%edi
40737c:	39 7e 08             	cmp    %edi,0x8(%esi)
40737f:	74 55                	je     0x4073d6
407381:	8b 46 0c             	mov    0xc(%esi),%eax
407384:	8b 00                	mov    (%eax),%eax
407386:	66 39 38             	cmp    %di,(%eax)
407389:	74 3f                	je     0x4073ca
40738b:	6a 10                	push   $0x10
40738d:	e8 64 9c 01 00       	call   0x420ff6
407392:	59                   	pop    %ecx
407393:	8b 4e 0c             	mov    0xc(%esi),%ecx
407396:	89 41 0c             	mov    %eax,0xc(%ecx)
407399:	89 46 0c             	mov    %eax,0xc(%esi)
40739c:	8b 46 0c             	mov    0xc(%esi),%eax
40739f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4073a2:	89 78 0c             	mov    %edi,0xc(%eax)
4073a5:	e8 1c 8b 01 00       	call   0x41fec6
4073aa:	8b 4e 0c             	mov    0xc(%esi),%ecx
4073ad:	5f                   	pop    %edi
4073ae:	89 01                	mov    %eax,(%ecx)
4073b0:	8b 4e 0c             	mov    0xc(%esi),%ecx
4073b3:	8b 45 08             	mov    0x8(%ebp),%eax
4073b6:	89 41 04             	mov    %eax,0x4(%ecx)
4073b9:	8b 4e 0c             	mov    0xc(%esi),%ecx
4073bc:	8b 45 10             	mov    0x10(%ebp),%eax
4073bf:	89 41 08             	mov    %eax,0x8(%ecx)
4073c2:	ff 46 10             	incl   0x10(%esi)
4073c5:	5e                   	pop    %esi
4073c6:	5d                   	pop    %ebp
4073c7:	c2 0c 00             	ret    $0xc
4073ca:	50                   	push   %eax
4073cb:	e8 9c 9c 01 00       	call   0x42106c
4073d0:	ff 4e 10             	decl   0x10(%esi)
4073d3:	59                   	pop    %ecx
4073d4:	eb c6                	jmp    0x40739c
4073d6:	6a 10                	push   $0x10
4073d8:	e8 19 9c 01 00       	call   0x420ff6
4073dd:	89 46 08             	mov    %eax,0x8(%esi)
4073e0:	89 46 0c             	mov    %eax,0xc(%esi)
4073e3:	eb ee                	jmp    0x4073d3
4073e5:	55                   	push   %ebp
4073e6:	8b ec                	mov    %esp,%ebp
4073e8:	b8 58 00 01 00       	mov    $0x10058,%eax
4073ed:	e8 9e a7 02 00       	call   0x431b90
4073f2:	a0 84 62 4c 00       	mov    0x4c6284,%al