4a40f9:	8b 44 24 10          	mov    0x10(%esp),%eax
4a40fd:	33 d2                	xor    %edx,%edx
4a40ff:	3b c5                	cmp    %ebp,%eax
4a4101:	7e 38                	jle    0x4a413b
4a4103:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a4107:	8b c6                	mov    %esi,%eax
4a4109:	8b 30                	mov    (%eax),%esi
4a410b:	f7 de                	neg    %esi
4a410d:	1b f6                	sbb    %esi,%esi
4a410f:	42                   	inc    %edx
4a4110:	89 31                	mov    %esi,(%ecx)
4a4112:	8b 74 24 10          	mov    0x10(%esp),%esi
4a4116:	83 c0 04             	add    $0x4,%eax
4a4119:	83 c1 04             	add    $0x4,%ecx
4a411c:	3b d6                	cmp    %esi,%edx
4a411e:	7c e9                	jl     0x4a4109
4a4120:	eb 19                	jmp    0x4a413b
4a4122:	8b cf                	mov    %edi,%ecx
4a4124:	8b 7c 24 14          	mov    0x14(%esp),%edi
4a4128:	0f af 4c 24 10       	imul   0x10(%esp),%ecx
4a412d:	8b d1                	mov    %ecx,%edx
4a412f:	c1 e9 02             	shr    $0x2,%ecx
4a4132:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4a4134:	8b ca                	mov    %edx,%ecx
4a4136:	83 e1 03             	and    $0x3,%ecx
4a4139:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4a413b:	8b 44 24 24          	mov    0x24(%esp),%eax
4a413f:	50                   	push   %eax
4a4140:	ff 15 f8 31 4b 00    	call   *0x4b31f8
4a4146:	8b 74 24 20          	mov    0x20(%esp),%esi
4a414a:	56                   	push   %esi
4a414b:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a4151:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4a4155:	80 cf 20             	or     $0x20,%bh
4a4158:	66 89 1e             	mov    %bx,(%esi)
4a415b:	89 4e 08             	mov    %ecx,0x8(%esi)
4a415e:	5f                   	pop    %edi
4a415f:	5e                   	pop    %esi
4a4160:	5d                   	pop    %ebp
4a4161:	b8 01 00 00 00       	mov    $0x1,%eax
4a4166:	5b                   	pop    %ebx
4a4167:	83 c4 0c             	add    $0xc,%esp
4a416a:	c3                   	ret
4a416b:	90                   	nop
4a416c:	90                   	nop
4a416d:	90                   	nop
4a416e:	90                   	nop
4a416f:	90                   	nop
4a4170:	56                   	push   %esi
4a4171:	8b 74 24 0c          	mov    0xc(%esp),%esi
4a4175:	85 f6                	test   %esi,%esi
4a4177:	74 17                	je     0x4a4190
4a4179:	56                   	push   %esi
4a417a:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a4180:	8b 44 24 18          	mov    0x18(%esp),%eax
4a4184:	85 c0                	test   %eax,%eax
4a4186:	74 08                	je     0x4a4190
4a4188:	50                   	push   %eax
4a4189:	56                   	push   %esi
4a418a:	ff 15 d8 31 4b 00    	call   *0x4b31d8
4a4190:	5e                   	pop    %esi
4a4191:	c3                   	ret
4a4192:	90                   	nop
4a4193:	90                   	nop
4a4194:	90                   	nop
4a4195:	90                   	nop
4a4196:	90                   	nop
4a4197:	90                   	nop
4a4198:	90                   	nop
4a4199:	90                   	nop
4a419a:	90                   	nop
4a419b:	90                   	nop
4a419c:	90                   	nop
4a419d:	90                   	nop
4a419e:	90                   	nop
4a419f:	90                   	nop
4a41a0:	56                   	push   %esi
4a41a1:	8b 74 24 0c          	mov    0xc(%esp),%esi
4a41a5:	56                   	push   %esi
4a41a6:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a41ac:	56                   	push   %esi
4a41ad:	ff 15 c0 31 4b 00    	call   *0x4b31c0
4a41b3:	5e                   	pop    %esi
4a41b4:	c3                   	ret
4a41b5:	90                   	nop
4a41b6:	90                   	nop
4a41b7:	90                   	nop
4a41b8:	90                   	nop
4a41b9:	90                   	nop
4a41ba:	90                   	nop
4a41bb:	90                   	nop
4a41bc:	90                   	nop
4a41bd:	90                   	nop
4a41be:	90                   	nop
4a41bf:	90                   	nop
4a41c0:	83 ec 20             	sub    $0x20,%esp
4a41c3:	8d 44 24 00          	lea    0x0(%esp),%eax
4a41c7:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4a41cb:	56                   	push   %esi
4a41cc:	50                   	push   %eax
4a41cd:	51                   	push   %ecx
4a41ce:	e8 8d f9 ff ff       	call   0x4a3b60
4a41d3:	83 c4 08             	add    $0x8,%esp
4a41d6:	85 c0                	test   %eax,%eax
4a41d8:	75 05                	jne    0x4a41df
4a41da:	5e                   	pop    %esi
4a41db:	83 c4 20             	add    $0x20,%esp
4a41de:	c3                   	ret
4a41df:	8b 44 24 04          	mov    0x4(%esp),%eax
4a41e3:	66 3d 0b 00          	cmp    $0xb,%ax
4a41e7:	75 2e                	jne    0x4a4217
4a41e9:	66 83 7c 24 0c 00    	cmpw   $0x0,0xc(%esp)
4a41ef:	6a 02                	push   $0x2
4a41f1:	74 12                	je     0x4a4205
4a41f3:	68 24 9e 50 00       	push   $0x509e24
4a41f8:	e8 43 2f 00 00       	call   0x4a7140
4a41fd:	83 c4 08             	add    $0x8,%esp
4a4200:	5e                   	pop    %esi
4a4201:	83 c4 20             	add    $0x20,%esp
4a4204:	c3                   	ret
4a4205:	68 20 9e 50 00       	push   $0x509e20
4a420a:	e8 31 2f 00 00       	call   0x4a7140
4a420f:	83 c4 08             	add    $0x8,%esp
4a4212:	5e                   	pop    %esi
4a4213:	83 c4 20             	add    $0x20,%esp
4a4216:	c3                   	ret
4a4217:	33 f6                	xor    %esi,%esi
4a4219:	66 3d 08 00          	cmp    $0x8,%ax
4a421d:	74 51                	je     0x4a4270
4a421f:	8b 54 24 08          	mov    0x8(%esp),%edx
4a4223:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a4227:	89 54 24 18          	mov    %edx,0x18(%esp)
4a422b:	33 d2                	xor    %edx,%edx
4a422d:	89 54 24 04          	mov    %edx,0x4(%esp)
4a4231:	89 44 24 14          	mov    %eax,0x14(%esp)
4a4235:	8b 44 24 0c          	mov    0xc(%esp),%eax
4a4239:	89 54 24 08          	mov    %edx,0x8(%esp)
4a423d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a4241:	89 54 24 0c          	mov    %edx,0xc(%esp)
4a4245:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4a4249:	6a 08                	push   $0x8
4a424b:	8d 44 24 18          	lea    0x18(%esp),%eax
4a424f:	52                   	push   %edx
4a4250:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
4a4254:	50                   	push   %eax
4a4255:	51                   	push   %ecx
4a4256:	89 54 24 20          	mov    %edx,0x20(%esp)
4a425a:	ff 15 e8 31 4b 00    	call   *0x4b31e8
4a4260:	85 c0                	test   %eax,%eax
4a4262:	7d 07                	jge    0x4a426b
4a4264:	33 c0                	xor    %eax,%eax
4a4266:	5e                   	pop    %esi
4a4267:	83 c4 20             	add    $0x20,%esp
4a426a:	c3                   	ret
4a426b:	be 01 00 00 00       	mov    $0x1,%esi
4a4270:	8b 54 24 0c          	mov    0xc(%esp),%edx
4a4274:	57                   	push   %edi
4a4275:	52                   	push   %edx
4a4276:	e8 95 e0 ff ff       	call   0x4a2310
4a427b:	83 c4 04             	add    $0x4,%esp
4a427e:	8b f8                	mov    %eax,%edi
4a4280:	85 f6                	test   %esi,%esi
4a4282:	74 0b                	je     0x4a428f
4a4284:	8d 44 24 08          	lea    0x8(%esp),%eax
4a4288:	50                   	push   %eax
4a4289:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a428f:	8b c7                	mov    %edi,%eax
4a4291:	5f                   	pop    %edi
4a4292:	5e                   	pop    %esi
4a4293:	83 c4 20             	add    $0x20,%esp
4a4296:	c3                   	ret
4a4297:	90                   	nop
4a4298:	90                   	nop
4a4299:	90                   	nop
4a429a:	90                   	nop
4a429b:	90                   	nop
4a429c:	90                   	nop
4a429d:	90                   	nop
4a429e:	90                   	nop
4a429f:	90                   	nop
4a42a0:	83 ec 30             	sub    $0x30,%esp
4a42a3:	8b 44 24 38          	mov    0x38(%esp),%eax
4a42a7:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4a42ab:	53                   	push   %ebx
4a42ac:	55                   	push   %ebp
4a42ad:	56                   	push   %esi
4a42ae:	8b f0                	mov    %eax,%esi
4a42b0:	85 c9                	test   %ecx,%ecx
4a42b2:	57                   	push   %edi
4a42b3:	89 74 24 10          	mov    %esi,0x10(%esp)
4a42b7:	75 1b                	jne    0x4a42d4
4a42b9:	50                   	push   %eax
4a42ba:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a42c0:	56                   	push   %esi
4a42c1:	ff 15 c0 31 4b 00    	call   *0x4b31c0
4a42c7:	5f                   	pop    %edi
4a42c8:	5e                   	pop    %esi
4a42c9:	5d                   	pop    %ebp
4a42ca:	b8 01 00 00 00       	mov    $0x1,%eax
4a42cf:	5b                   	pop    %ebx
4a42d0:	83 c4 30             	add    $0x30,%esp
4a42d3:	c3                   	ret
4a42d4:	8b d1                	mov    %ecx,%edx
4a42d6:	81 e2 00 00 00 20    	and    $0x20000000,%edx
4a42dc:	81 fa 00 00 00 20    	cmp    $0x20000000,%edx
4a42e2:	0f 84 10 02 00 00    	je     0x4a44f8
4a42e8:	81 f9 05 00 00 80    	cmp    $0x80000005,%ecx
4a42ee:	0f 84 04 02 00 00    	je     0x4a44f8
4a42f4:	f6 40 01 20          	testb  $0x20,0x1(%eax)
4a42f8:	0f 84 e4 01 00 00    	je     0x4a44e2
4a42fe:	8b 58 08             	mov    0x8(%eax),%ebx
4a4301:	53                   	push   %ebx
4a4302:	ff 15 08 32 4b 00    	call   *0x4b3208
4a4308:	8b e8                	mov    %eax,%ebp
4a430a:	bf 01 00 00 00       	mov    $0x1,%edi
4a430f:	3b ef                	cmp    %edi,%ebp
4a4311:	8b f7                	mov    %edi,%esi
4a4313:	72 2d                	jb     0x4a4342
4a4315:	8d 44 24 18          	lea    0x18(%esp),%eax
4a4319:	50                   	push   %eax
4a431a:	56                   	push   %esi
4a431b:	53                   	push   %ebx
4a431c:	ff 15 04 32 4b 00    	call   *0x4b3204
4a4322:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4a4326:	51                   	push   %ecx
4a4327:	56                   	push   %esi
4a4328:	53                   	push   %ebx
4a4329:	ff 15 00 32 4b 00    	call   *0x4b3200
4a432f:	8b 54 24 14          	mov    0x14(%esp),%edx
4a4333:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4a4337:	2b d1                	sub    %ecx,%edx
4a4339:	42                   	inc    %edx
4a433a:	0f af fa             	imul   %edx,%edi
4a433d:	46                   	inc    %esi
4a433e:	3b f5                	cmp    %ebp,%esi
4a4340:	76 d3                	jbe    0x4a4315
4a4342:	39 7c 24 60          	cmp    %edi,0x60(%esp)
4a4346:	7e 0a                	jle    0x4a4352
4a4348:	5f                   	pop    %edi
4a4349:	5e                   	pop    %esi
4a434a:	5d                   	pop    %ebp
4a434b:	33 c0                	xor    %eax,%eax
4a434d:	5b                   	pop    %ebx
4a434e:	83 c4 30             	add    $0x30,%esp
4a4351:	c3                   	ret
4a4352:	8d 44 24 20          	lea    0x20(%esp),%eax
4a4356:	50                   	push   %eax
4a4357:	ff 15 c0 31 4b 00    	call   *0x4b31c0
4a435d:	8d 4c 24 54          	lea    0x54(%esp),%ecx
4a4361:	8d 54 24 20          	lea    0x20(%esp),%edx
4a4365:	51                   	push   %ecx
4a4366:	52                   	push   %edx
4a4367:	e8 e4 f9 ff ff       	call   0x4a3d50
4a436c:	83 c4 08             	add    $0x8,%esp
4a436f:	85 c0                	test   %eax,%eax
4a4371:	75 08                	jne    0x4a437b
4a4373:	5f                   	pop    %edi
4a4374:	5e                   	pop    %esi
4a4375:	5d                   	pop    %ebp
4a4376:	5b                   	pop    %ebx
4a4377:	83 c4 30             	add    $0x30,%esp
4a437a:	c3                   	ret
4a437b:	8b 44 24 68          	mov    0x68(%esp),%eax
4a437f:	33 ed                	xor    %ebp,%ebp
4a4381:	3b c5                	cmp    %ebp,%eax
4a4383:	74 0b                	je     0x4a4390
4a4385:	8b 44 24 60          	mov    0x60(%esp),%eax
4a4389:	8d 78 ff             	lea    -0x1(%eax),%edi
4a438c:	3b fd                	cmp    %ebp,%edi
4a438e:	7d 02                	jge    0x4a4392
4a4390:	33 ff                	xor    %edi,%edi
4a4392:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a4396:	33 f6                	xor    %esi,%esi
4a4398:	66 8b 31             	mov    (%ecx),%si
4a439b:	81 e6 ff df ff ff    	and    $0xffffdfff,%esi
4a43a1:	8b d6                	mov    %esi,%edx
4a43a3:	83 e2 0c             	and    $0xc,%edx
4a43a6:	80 fa 0c             	cmp    $0xc,%dl
4a43a9:	75 50                	jne    0x4a43fb
4a43ab:	8d 44 24 10          	lea    0x10(%esp),%eax
4a43af:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4a43b3:	50                   	push   %eax
4a43b4:	53                   	push   %ebx
4a43b5:	ff 15 fc 31 4b 00    	call   *0x4b31fc
4a43bb:	85 c0                	test   %eax,%eax
4a43bd:	0f 8c fe 00 00 00    	jl     0x4a44c1
4a43c3:	8b 44 24 10          	mov    0x10(%esp),%eax
4a43c7:	c1 e7 04             	shl    $0x4,%edi
4a43ca:	03 c7                	add    %edi,%eax
4a43cc:	50                   	push   %eax
4a43cd:	89 44 24 14          	mov    %eax,0x14(%esp)
4a43d1:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a43d7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a43db:	8b 54 24 20          	mov    0x20(%esp),%edx
4a43df:	89 11                	mov    %edx,(%ecx)
4a43e1:	8b 44 24 24          	mov    0x24(%esp),%eax
4a43e5:	89 41 04             	mov    %eax,0x4(%ecx)
4a43e8:	8b 54 24 28          	mov    0x28(%esp),%edx
4a43ec:	89 51 08             	mov    %edx,0x8(%ecx)
4a43ef:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4a43f3:	89 41 0c             	mov    %eax,0xc(%ecx)
4a43f6:	e9 bf 00 00 00       	jmp    0x4a44ba
4a43fb:	8b 44 24 20          	mov    0x20(%esp),%eax
4a43ff:	8b c8                	mov    %eax,%ecx
4a4401:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
4a4407:	3b f1                	cmp    %ecx,%esi
4a4409:	74 5d                	je     0x4a4468
4a440b:	8b 54 24 24          	mov    0x24(%esp),%edx
4a440f:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a4413:	89 54 24 34          	mov    %edx,0x34(%esp)
4a4417:	89 44 24 30          	mov    %eax,0x30(%esp)
4a441b:	8b 44 24 28          	mov    0x28(%esp),%eax
4a441f:	33 d2                	xor    %edx,%edx
4a4421:	89 54 24 20          	mov    %edx,0x20(%esp)
4a4425:	89 44 24 38          	mov    %eax,0x38(%esp)
4a4429:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
4a442d:	89 54 24 24          	mov    %edx,0x24(%esp)
4a4431:	56                   	push   %esi
4a4432:	8d 44 24 34          	lea    0x34(%esp),%eax
4a4436:	55                   	push   %ebp
4a4437:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4a443b:	89 54 24 30          	mov    %edx,0x30(%esp)
4a443f:	50                   	push   %eax
4a4440:	51                   	push   %ecx
4a4441:	89 54 24 3c          	mov    %edx,0x3c(%esp)
4a4445:	ff 15 e8 31 4b 00    	call   *0x4b31e8
4a444b:	3b c5                	cmp    %ebp,%eax
4a444d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a4451:	7d 15                	jge    0x4a4468
4a4453:	8d 54 24 30          	lea    0x30(%esp),%edx
4a4457:	52                   	push   %edx
4a4458:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a445e:	5f                   	pop    %edi
4a445f:	5e                   	pop    %esi
4a4460:	5d                   	pop    %ebp
4a4461:	33 c0                	xor    %eax,%eax
4a4463:	5b                   	pop    %ebx
4a4464:	83 c4 30             	add    $0x30,%esp
4a4467:	c3                   	ret
4a4468:	8d 44 24 10          	lea    0x10(%esp),%eax
4a446c:	89 6c 24 10          	mov    %ebp,0x10(%esp)
4a4470:	50                   	push   %eax
4a4471:	53                   	push   %ebx
4a4472:	ff 15 fc 31 4b 00    	call   *0x4b31fc
4a4478:	85 c0                	test   %eax,%eax
4a447a:	7c 45                	jl     0x4a44c1
4a447c:	53                   	push   %ebx
4a447d:	ff 15 f4 31 4b 00    	call   *0x4b31f4
4a4483:	8b e8                	mov    %eax,%ebp
4a4485:	8b 54 24 10          	mov    0x10(%esp),%edx