5a429b:	85 c0                	test   %eax,%eax
5a429d:	74 09                	je     0x5a42a8
5a429f:	5f                   	pop    %edi
5a42a0:	b8 01 00 00 00       	mov    $0x1,%eax
5a42a5:	5e                   	pop    %esi
5a42a6:	59                   	pop    %ecx
5a42a7:	c3                   	ret
5a42a8:	5f                   	pop    %edi
5a42a9:	33 c0                	xor    %eax,%eax
5a42ab:	5e                   	pop    %esi
5a42ac:	59                   	pop    %ecx
5a42ad:	c3                   	ret
5a42ae:	cc                   	int3
5a42af:	cc                   	int3
5a42b0:	8b 44 24 08          	mov    0x8(%esp),%eax
5a42b4:	56                   	push   %esi
5a42b5:	8b 74 24 10          	mov    0x10(%esp),%esi
5a42b9:	57                   	push   %edi
5a42ba:	8b 7c 24 18          	mov    0x18(%esp),%edi
5a42be:	03 c7                	add    %edi,%eax
5a42c0:	56                   	push   %esi
5a42c1:	50                   	push   %eax
5a42c2:	ff 74 24 14          	push   0x14(%esp)
5a42c6:	e8 35 fd ff ff       	call   0x5a4000
5a42cb:	83 c4 0c             	add    $0xc,%esp
5a42ce:	85 c0                	test   %eax,%eax
5a42d0:	75 03                	jne    0x5a42d5
5a42d2:	5f                   	pop    %edi
5a42d3:	5e                   	pop    %esi
5a42d4:	c3                   	ret
5a42d5:	01 3e                	add    %edi,(%esi)
5a42d7:	b8 01 00 00 00       	mov    $0x1,%eax
5a42dc:	5f                   	pop    %edi
5a42dd:	5e                   	pop    %esi
5a42de:	c3                   	ret
5a42df:	cc                   	int3
5a42e0:	53                   	push   %ebx
5a42e1:	56                   	push   %esi
5a42e2:	8b 74 24 10          	mov    0x10(%esp),%esi
5a42e6:	57                   	push   %edi
5a42e7:	8b 7c 24 10          	mov    0x10(%esp),%edi
5a42eb:	8b 57 0c             	mov    0xc(%edi),%edx
5a42ee:	8b ca                	mov    %edx,%ecx
5a42f0:	2b 4e 0c             	sub    0xc(%esi),%ecx
5a42f3:	75 38                	jne    0x5a432d
5a42f5:	8b 46 10             	mov    0x10(%esi),%eax
5a42f8:	a8 01                	test   $0x1,%al
5a42fa:	75 5d                	jne    0x5a4359
5a42fc:	a8 02                	test   $0x2,%al
5a42fe:	74 2d                	je     0x5a432d
5a4300:	39 4c 24 18          	cmp    %ecx,0x18(%esp)
5a4304:	74 53                	je     0x5a4359
5a4306:	8b 5f 08             	mov    0x8(%edi),%ebx
5a4309:	8b c3                	mov    %ebx,%eax
5a430b:	2b 46 08             	sub    0x8(%esi),%eax
5a430e:	3b 46 04             	cmp    0x4(%esi),%eax
5a4311:	75 0c                	jne    0x5a431f
5a4313:	2b 56 08             	sub    0x8(%esi),%edx
5a4316:	89 57 0c             	mov    %edx,0xc(%edi)
5a4319:	2b 5e 08             	sub    0x8(%esi),%ebx
5a431c:	89 5f 08             	mov    %ebx,0x8(%edi)
5a431f:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5a4326:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5a432d:	8b 56 08             	mov    0x8(%esi),%edx
5a4330:	85 d2                	test   %edx,%edx
5a4332:	74 2b                	je     0x5a435f
5a4334:	8b 5f 04             	mov    0x4(%edi),%ebx
5a4337:	85 db                	test   %ebx,%ebx
5a4339:	75 05                	jne    0x5a4340
5a433b:	8b 07                	mov    (%edi),%eax
5a433d:	8b 58 04             	mov    0x4(%eax),%ebx
5a4340:	8b 46 04             	mov    0x4(%esi),%eax
5a4343:	48                   	dec    %eax
5a4344:	03 c3                	add    %ebx,%eax
5a4346:	03 c2                	add    %edx,%eax
5a4348:	88 08                	mov    %cl,(%eax)
5a434a:	8d 40 ff             	lea    -0x1(%eax),%eax
5a434d:	c1 e9 08             	shr    $0x8,%ecx
5a4350:	83 ea 01             	sub    $0x1,%edx
5a4353:	75 f3                	jne    0x5a4348
5a4355:	85 c9                	test   %ecx,%ecx
5a4357:	74 06                	je     0x5a435f
5a4359:	5f                   	pop    %edi
5a435a:	5e                   	pop    %esi
5a435b:	33 c0                	xor    %eax,%eax
5a435d:	5b                   	pop    %ebx
5a435e:	c3                   	ret
5a435f:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
5a4364:	74 18                	je     0x5a437e
5a4366:	8b 06                	mov    (%esi),%eax
5a4368:	68 db 00 00 00       	push   $0xdb
5a436d:	68 bc 7c 66 00       	push   $0x667cbc
5a4372:	56                   	push   %esi
5a4373:	89 47 14             	mov    %eax,0x14(%edi)
5a4376:	e8 05 c4 f3 ff       	call   0x4e0780
5a437b:	83 c4 0c             	add    $0xc,%esp
5a437e:	5f                   	pop    %edi
5a437f:	5e                   	pop    %esi
5a4380:	b8 01 00 00 00       	mov    $0x1,%eax
5a4385:	5b                   	pop    %ebx
5a4386:	c3                   	ret
5a4387:	cc                   	int3
5a4388:	cc                   	int3
5a4389:	cc                   	int3
5a438a:	cc                   	int3
5a438b:	cc                   	int3
5a438c:	cc                   	int3
5a438d:	cc                   	int3
5a438e:	cc                   	int3
5a438f:	cc                   	int3
5a4390:	56                   	push   %esi
5a4391:	8b 74 24 08          	mov    0x8(%esp),%esi
5a4395:	6a 61                	push   $0x61
5a4397:	68 bc 7c 66 00       	push   $0x667cbc
5a439c:	6a 14                	push   $0x14
5a439e:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5a43a5:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
5a43ac:	e8 8f c6 f3 ff       	call   0x4e0a40
5a43b1:	83 c4 0c             	add    $0xc,%esp
5a43b4:	89 46 14             	mov    %eax,0x14(%esi)
5a43b7:	85 c0                	test   %eax,%eax
5a43b9:	75 1c                	jne    0x5a43d7
5a43bb:	6a 62                	push   $0x62
5a43bd:	68 bc 7c 66 00       	push   $0x667cbc
5a43c2:	6a 41                	push   $0x41
5a43c4:	68 79 02 00 00       	push   $0x279
5a43c9:	6a 14                	push   $0x14
5a43cb:	e8 b0 4b f3 ff       	call   0x4d8f80
5a43d0:	83 c4 14             	add    $0x14,%esp
5a43d3:	33 c0                	xor    %eax,%eax
5a43d5:	5e                   	pop    %esi
5a43d6:	c3                   	ret
5a43d7:	57                   	push   %edi
5a43d8:	8b 7c 24 10          	mov    0x10(%esp),%edi
5a43dc:	85 ff                	test   %edi,%edi
5a43de:	74 3a                	je     0x5a441a
5a43e0:	89 78 0c             	mov    %edi,0xc(%eax)
5a43e3:	8b 46 14             	mov    0x14(%esi),%eax
5a43e6:	89 78 08             	mov    %edi,0x8(%eax)
5a43e9:	8d 44 24 0c          	lea    0xc(%esp),%eax
5a43ed:	50                   	push   %eax
5a43ee:	57                   	push   %edi
5a43ef:	56                   	push   %esi
5a43f0:	e8 0b fc ff ff       	call   0x5a4000
5a43f5:	83 c4 0c             	add    $0xc,%esp
5a43f8:	85 c0                	test   %eax,%eax
5a43fa:	74 26                	je     0x5a4422
5a43fc:	01 7e 0c             	add    %edi,0xc(%esi)
5a43ff:	01 7e 08             	add    %edi,0x8(%esi)
5a4402:	8b 46 04             	mov    0x4(%esi),%eax
5a4405:	85 c0                	test   %eax,%eax
5a4407:	75 05                	jne    0x5a440e
5a4409:	8b 06                	mov    (%esi),%eax
5a440b:	8b 40 04             	mov    0x4(%eax),%eax
5a440e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5a4412:	2b c8                	sub    %eax,%ecx
5a4414:	8b 46 14             	mov    0x14(%esi),%eax
5a4417:	89 48 04             	mov    %ecx,0x4(%eax)
5a441a:	5f                   	pop    %edi
5a441b:	b8 01 00 00 00       	mov    $0x1,%eax
5a4420:	5e                   	pop    %esi
5a4421:	c3                   	ret
5a4422:	6a 6d                	push   $0x6d
5a4424:	68 bc 7c 66 00       	push   $0x667cbc
5a4429:	ff 76 14             	push   0x14(%esi)
5a442c:	e8 4f c3 f3 ff       	call   0x4e0780
5a4431:	83 c4 0c             	add    $0xc,%esp
5a4434:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
5a443b:	33 c0                	xor    %eax,%eax
5a443d:	5f                   	pop    %edi
5a443e:	5e                   	pop    %esi
5a443f:	c3                   	ret
5a4440:	b8 04 00 00 00       	mov    $0x4,%eax
5a4445:	e8 66 d3 02 00       	call   0x5d17b0
5a444a:	56                   	push   %esi
5a444b:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a444f:	57                   	push   %edi
5a4450:	8b 46 7c             	mov    0x7c(%esi),%eax
5a4453:	c7 80 e8 00 00 00 00 	movl   $0x0,0xe8(%eax)
5a445a:	00 00 00
5a445d:	8d 44 24 08          	lea    0x8(%esp),%eax
5a4461:	50                   	push   %eax
5a4462:	6a 00                	push   $0x0
5a4464:	6a 01                	push   $0x1
5a4466:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a446a:	c7 44 24 1c 02 00 00 	movl   $0x2,0x1c(%esp)
5a4471:	00
5a4472:	50                   	push   %eax
5a4473:	8b 46 7c             	mov    0x7c(%esi),%eax
5a4476:	05 ec 00 00 00       	add    $0xec,%eax
5a447b:	50                   	push   %eax
5a447c:	6a 15                	push   $0x15
5a447e:	56                   	push   %esi
5a447f:	e8 9c cf fe ff       	call   0x591420
5a4484:	8b f8                	mov    %eax,%edi
5a4486:	83 c4 1c             	add    $0x1c,%esp
5a4489:	85 ff                	test   %edi,%edi
5a448b:	7f 11                	jg     0x5a449e
5a448d:	8b 4e 7c             	mov    0x7c(%esi),%ecx
5a4490:	5f                   	pop    %edi
5a4491:	5e                   	pop    %esi
5a4492:	c7 81 e8 00 00 00 01 	movl   $0x1,0xe8(%ecx)
5a4499:	00 00 00
5a449c:	59                   	pop    %ecx
5a449d:	c3                   	ret
5a449e:	6a 00                	push   $0x0
5a44a0:	6a 00                	push   $0x0
5a44a2:	6a 0b                	push   $0xb
5a44a4:	ff 76 0c             	push   0xc(%esi)
5a44a7:	e8 84 46 f5 ff       	call   0x4f8b30
5a44ac:	8b 8e 84 00 00 00    	mov    0x84(%esi),%ecx
5a44b2:	83 c4 10             	add    $0x10,%esp
5a44b5:	85 c9                	test   %ecx,%ecx
5a44b7:	74 1d                	je     0x5a44d6
5a44b9:	ff b6 88 00 00 00    	push   0x88(%esi)
5a44bf:	8b 46 7c             	mov    0x7c(%esi),%eax
5a44c2:	56                   	push   %esi
5a44c3:	6a 02                	push   $0x2
5a44c5:	05 ec 00 00 00       	add    $0xec,%eax
5a44ca:	50                   	push   %eax
5a44cb:	6a 15                	push   $0x15
5a44cd:	ff 36                	push   (%esi)
5a44cf:	6a 01                	push   $0x1
5a44d1:	ff d1                	call   *%ecx
5a44d3:	83 c4 1c             	add    $0x1c,%esp
5a44d6:	8b 96 b4 04 00 00    	mov    0x4b4(%esi),%edx
5a44dc:	85 d2                	test   %edx,%edx
5a44de:	75 10                	jne    0x5a44f0
5a44e0:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
5a44e6:	8b 90 a0 00 00 00    	mov    0xa0(%eax),%edx
5a44ec:	85 d2                	test   %edx,%edx
5a44ee:	74 22                	je     0x5a4512
5a44f0:	8b 46 7c             	mov    0x7c(%esi),%eax
5a44f3:	0f b6 88 ec 00 00 00 	movzbl 0xec(%eax),%ecx
5a44fa:	0f b6 80 ed 00 00 00 	movzbl 0xed(%eax),%eax
5a4501:	c1 e1 08             	shl    $0x8,%ecx
5a4504:	0b c8                	or     %eax,%ecx
5a4506:	51                   	push   %ecx
5a4507:	68 08 40 00 00       	push   $0x4008
5a450c:	56                   	push   %esi
5a450d:	ff d2                	call   *%edx
5a450f:	83 c4 0c             	add    $0xc,%esp
5a4512:	8b c7                	mov    %edi,%eax
5a4514:	5f                   	pop    %edi
5a4515:	5e                   	pop    %esi
5a4516:	59                   	pop    %ecx
5a4517:	c3                   	ret
5a4518:	cc                   	int3
5a4519:	cc                   	int3
5a451a:	cc                   	int3
5a451b:	cc                   	int3
5a451c:	cc                   	int3
5a451d:	cc                   	int3
5a451e:	cc                   	int3
5a451f:	cc                   	int3
5a4520:	56                   	push   %esi
5a4521:	8b 74 24 08          	mov    0x8(%esp),%esi
5a4525:	b8 11 00 00 00       	mov    $0x11,%eax
5a452a:	57                   	push   %edi
5a452b:	bf 21 00 00 00       	mov    $0x21,%edi
5a4530:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5a4534:	0f 44 f8             	cmove  %eax,%edi
5a4537:	8b 46 7c             	mov    0x7c(%esi),%eax
5a453a:	83 b8 2c 02 00 00 00 	cmpl   $0x0,0x22c(%eax)
5a4541:	75 2f                	jne    0x5a4572
5a4543:	8b 8e 74 04 00 00    	mov    0x474(%esi),%ecx
5a4549:	85 c9                	test   %ecx,%ecx
5a454b:	74 41                	je     0x5a458e
5a454d:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
5a4551:	74 3b                	je     0x5a458e
5a4553:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
5a4559:	89 81 bc 01 00 00    	mov    %eax,0x1bc(%ecx)
5a455f:	8b 46 04             	mov    0x4(%esi),%eax
5a4562:	56                   	push   %esi
5a4563:	8b 40 64             	mov    0x64(%eax),%eax
5a4566:	8b 40 08             	mov    0x8(%eax),%eax
5a4569:	ff d0                	call   *%eax
5a456b:	83 c4 04             	add    $0x4,%esp
5a456e:	85 c0                	test   %eax,%eax
5a4570:	74 37                	je     0x5a45a9
5a4572:	8b 46 04             	mov    0x4(%esi),%eax
5a4575:	57                   	push   %edi
5a4576:	56                   	push   %esi
5a4577:	8b 40 64             	mov    0x64(%eax),%eax
5a457a:	8b 40 10             	mov    0x10(%eax),%eax
5a457d:	ff d0                	call   *%eax
5a457f:	83 c4 08             	add    $0x8,%esp
5a4582:	85 c0                	test   %eax,%eax
5a4584:	74 23                	je     0x5a45a9
5a4586:	5f                   	pop    %edi
5a4587:	b8 01 00 00 00       	mov    $0x1,%eax
5a458c:	5e                   	pop    %esi
5a458d:	c3                   	ret
5a458e:	6a 18                	push   $0x18
5a4590:	68 cc 7c 66 00       	push   $0x667ccc
5a4595:	68 85 00 00 00       	push   $0x85
5a459a:	68 24 01 00 00       	push   $0x124
5a459f:	6a 14                	push   $0x14
5a45a1:	e8 da 49 f3 ff       	call   0x4d8f80
5a45a6:	83 c4 14             	add    $0x14,%esp
5a45a9:	5f                   	pop    %edi
5a45aa:	33 c0                	xor    %eax,%eax
5a45ac:	5e                   	pop    %esi
5a45ad:	c3                   	ret
5a45ae:	cc                   	int3
5a45af:	cc                   	int3
5a45b0:	53                   	push   %ebx
5a45b1:	56                   	push   %esi
5a45b2:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a45b6:	8b 46 04             	mov    0x4(%esi),%eax
5a45b9:	8b 48 64             	mov    0x64(%eax),%ecx
5a45bc:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
5a45c0:	75 10                	jne    0x5a45d2
5a45c2:	8b 00                	mov    (%eax),%eax
5a45c4:	3d 04 03 00 00       	cmp    $0x304,%eax
5a45c9:	7c 07                	jl     0x5a45d2
5a45cb:	3d 00 00 01 00       	cmp    $0x10000,%eax
5a45d0:	75 2b                	jne    0x5a45fd
5a45d2:	8b 46 68             	mov    0x68(%esi),%eax
5a45d5:	83 f8 02             	cmp    $0x2,%eax
5a45d8:	74 23                	je     0x5a45fd
5a45da:	83 f8 01             	cmp    $0x1,%eax
5a45dd:	74 1e                	je     0x5a45fd
5a45df:	83 f8 04             	cmp    $0x4,%eax
5a45e2:	74 19                	je     0x5a45fd
5a45e4:	83 f8 03             	cmp    $0x3,%eax
5a45e7:	74 14                	je     0x5a45fd
5a45e9:	83 be 4c 04 00 00 01 	cmpl   $0x1,0x44c(%esi)
5a45f0:	74 0b                	je     0x5a45fd
5a45f2:	ff 74 24 14          	push   0x14(%esp)
5a45f6:	8b 41 28             	mov    0x28(%ecx),%eax
5a45f9:	ff d0                	call   *%eax
5a45fb:	eb 09                	jmp    0x5a4606
5a45fd:	ff 74 24 14          	push   0x14(%esp)
5a4601:	e8 4a 1f ff ff       	call   0x596550
5a4606:	83 c4 04             	add    $0x4,%esp
5a4609:	8b d8                	mov    %eax,%ebx
5a460b:	81 3e 00 03 00 00    	cmpl   $0x300,(%esi)
5a4611:	75 0a                	jne    0x5a461d
5a4613:	83 fb 46             	cmp    $0x46,%ebx
5a4616:	75 05                	jne    0x5a461d
5a4618:	8d 58 e2             	lea    -0x1e(%eax),%ebx
5a461b:	eb 04                	jmp    0x5a4621
5a461d:	85 db                	test   %ebx,%ebx
5a461f:	78 65                	js     0x5a4686
5a4621:	83 7c 24 10 02       	cmpl   $0x2,0x10(%esp)
5a4626:	75 19                	jne    0x5a4641
5a4628:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
5a462e:	85 c0                	test   %eax,%eax
5a4630:	74 0f                	je     0x5a4641