5b3efe:	8b 77 04             	mov    0x4(%edi),%esi
5b3f01:	75 73                	jne    0x5b3f76
5b3f03:	83 fe 04             	cmp    $0x4,%esi
5b3f06:	72 47                	jb     0x5b3f4f
5b3f08:	8b 0f                	mov    (%edi),%ecx
5b3f0a:	0f b6 11             	movzbl (%ecx),%edx
5b3f0d:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
5b3f11:	c1 e2 08             	shl    $0x8,%edx
5b3f14:	0b d0                	or     %eax,%edx
5b3f16:	0f b6 41 02          	movzbl 0x2(%ecx),%eax
5b3f1a:	c1 e2 08             	shl    $0x8,%edx
5b3f1d:	0b d0                	or     %eax,%edx
5b3f1f:	0f b6 41 03          	movzbl 0x3(%ecx),%eax
5b3f23:	c1 e2 08             	shl    $0x8,%edx
5b3f26:	0b d0                	or     %eax,%edx
5b3f28:	8d 41 04             	lea    0x4(%ecx),%eax
5b3f2b:	89 07                	mov    %eax,(%edi)
5b3f2d:	8d 46 fc             	lea    -0x4(%esi),%eax
5b3f30:	89 47 04             	mov    %eax,0x4(%edi)
5b3f33:	85 c0                	test   %eax,%eax
5b3f35:	75 18                	jne    0x5b3f4f
5b3f37:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b3f3b:	5f                   	pop    %edi
5b3f3c:	5e                   	pop    %esi
5b3f3d:	8b 80 74 04 00 00    	mov    0x474(%eax),%eax
5b3f43:	89 90 e4 01 00 00    	mov    %edx,0x1e4(%eax)
5b3f49:	b8 01 00 00 00       	mov    $0x1,%eax
5b3f4e:	c3                   	ret
5b3f4f:	68 77 07 00 00       	push   $0x777
5b3f54:	68 90 9b 66 00       	push   $0x669b90
5b3f59:	68 ae 00 00 00       	push   $0xae
5b3f5e:	68 1a 02 00 00       	push   $0x21a
5b3f63:	6a 32                	push   $0x32
5b3f65:	ff 74 24 20          	push   0x20(%esp)
5b3f69:	e8 a2 b1 fd ff       	call   0x58f110
5b3f6e:	83 c4 18             	add    $0x18,%esp
5b3f71:	33 c0                	xor    %eax,%eax
5b3f73:	5f                   	pop    %edi
5b3f74:	5e                   	pop    %esi
5b3f75:	c3                   	ret
5b3f76:	85 f6                	test   %esi,%esi
5b3f78:	74 24                	je     0x5b3f9e
5b3f7a:	68 82 07 00 00       	push   $0x782
5b3f7f:	68 90 9b 66 00       	push   $0x669b90
5b3f84:	6a 6e                	push   $0x6e
5b3f86:	68 1a 02 00 00       	push   $0x21a
5b3f8b:	6a 32                	push   $0x32
5b3f8d:	ff 74 24 20          	push   0x20(%esp)
5b3f91:	e8 7a b1 fd ff       	call   0x58f110
5b3f96:	83 c4 18             	add    $0x18,%esp
5b3f99:	33 c0                	xor    %eax,%eax
5b3f9b:	5f                   	pop    %edi
5b3f9c:	5e                   	pop    %esi
5b3f9d:	c3                   	ret
5b3f9e:	8b 44 24 0c          	mov    0xc(%esp),%eax
5b3fa2:	83 b8 b0 05 00 00 00 	cmpl   $0x0,0x5b0(%eax)
5b3fa9:	74 1b                	je     0x5b3fc6
5b3fab:	83 b8 8c 00 00 00 00 	cmpl   $0x0,0x8c(%eax)
5b3fb2:	74 12                	je     0x5b3fc6
5b3fb4:	5f                   	pop    %edi
5b3fb5:	c7 80 ac 05 00 00 02 	movl   $0x2,0x5ac(%eax)
5b3fbc:	00 00 00
5b3fbf:	b8 01 00 00 00       	mov    $0x1,%eax
5b3fc4:	5e                   	pop    %esi
5b3fc5:	c3                   	ret
5b3fc6:	68 8e 07 00 00       	push   $0x78e
5b3fcb:	68 90 9b 66 00       	push   $0x669b90
5b3fd0:	6a 6e                	push   $0x6e
5b3fd2:	68 1a 02 00 00       	push   $0x21a
5b3fd7:	6a 2f                	push   $0x2f
5b3fd9:	50                   	push   %eax
5b3fda:	e8 31 b1 fd ff       	call   0x58f110
5b3fdf:	83 c4 18             	add    $0x18,%esp
5b3fe2:	33 c0                	xor    %eax,%eax
5b3fe4:	5f                   	pop    %edi
5b3fe5:	5e                   	pop    %esi
5b3fe6:	c3                   	ret
5b3fe7:	cc                   	int3
5b3fe8:	cc                   	int3
5b3fe9:	cc                   	int3
5b3fea:	cc                   	int3
5b3feb:	cc                   	int3
5b3fec:	cc                   	int3
5b3fed:	cc                   	int3
5b3fee:	cc                   	int3
5b3fef:	cc                   	int3
5b3ff0:	b8 08 00 00 00       	mov    $0x8,%eax
5b3ff5:	e8 b6 d7 01 00       	call   0x5d17b0
5b3ffa:	8b 44 24 10          	mov    0x10(%esp),%eax
5b3ffe:	56                   	push   %esi
5b3fff:	57                   	push   %edi
5b4000:	8b 48 04             	mov    0x4(%eax),%ecx
5b4003:	8b 10                	mov    (%eax),%edx
5b4005:	85 c9                	test   %ecx,%ecx
5b4007:	0f 84 0c 01 00 00    	je     0x5b4119
5b400d:	0f b6 3a             	movzbl (%edx),%edi
5b4010:	49                   	dec    %ecx
5b4011:	42                   	inc    %edx
5b4012:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
5b4016:	3b cf                	cmp    %edi,%ecx
5b4018:	0f 82 fb 00 00 00    	jb     0x5b4119
5b401e:	8d 34 3a             	lea    (%edx,%edi,1),%esi
5b4021:	2b cf                	sub    %edi,%ecx
5b4023:	0f 85 f0 00 00 00    	jne    0x5b4119
5b4029:	89 30                	mov    %esi,(%eax)
5b402b:	8b 74 24 14          	mov    0x14(%esp),%esi
5b402f:	89 48 04             	mov    %ecx,0x4(%eax)
5b4032:	89 54 24 08          	mov    %edx,0x8(%esp)
5b4036:	89 7c 24 0c          	mov    %edi,0xc(%esp)
5b403a:	39 8e 8c 00 00 00    	cmp    %ecx,0x8c(%esi)
5b4040:	0f 85 c8 00 00 00    	jne    0x5b410e
5b4046:	85 ff                	test   %edi,%edi
5b4048:	75 27                	jne    0x5b4071
5b404a:	68 5a 05 00 00       	push   $0x55a
5b404f:	68 90 9b 66 00       	push   $0x669b90
5b4054:	68 0f 01 00 00       	push   $0x10f
5b4059:	68 44 02 00 00       	push   $0x244
5b405e:	6a 32                	push   $0x32
5b4060:	56                   	push   %esi
5b4061:	e8 aa b0 fd ff       	call   0x58f110
5b4066:	83 c4 18             	add    $0x18,%esp
5b4069:	33 c0                	xor    %eax,%eax
5b406b:	5f                   	pop    %edi
5b406c:	5e                   	pop    %esi
5b406d:	83 c4 08             	add    $0x8,%esp
5b4070:	c3                   	ret
5b4071:	68 5f 05 00 00       	push   $0x55f
5b4076:	68 90 9b 66 00       	push   $0x669b90
5b407b:	ff b6 6c 05 00 00    	push   0x56c(%esi)
5b4081:	c7 86 68 05 00 00 00 	movl   $0x0,0x568(%esi)
5b4088:	00 00 00
5b408b:	e8 f0 c6 f2 ff       	call   0x4e0780
5b4090:	68 60 05 00 00       	push   $0x560
5b4095:	68 90 9b 66 00       	push   $0x669b90
5b409a:	57                   	push   %edi
5b409b:	e8 b0 c6 f2 ff       	call   0x4e0750
5b40a0:	83 c4 18             	add    $0x18,%esp
5b40a3:	89 86 6c 05 00 00    	mov    %eax,0x56c(%esi)
5b40a9:	85 c0                	test   %eax,%eax
5b40ab:	75 24                	jne    0x5b40d1
5b40ad:	68 63 05 00 00       	push   $0x563
5b40b2:	68 90 9b 66 00       	push   $0x669b90
5b40b7:	6a 44                	push   $0x44
5b40b9:	68 44 02 00 00       	push   $0x244
5b40be:	6a 50                	push   $0x50
5b40c0:	56                   	push   %esi
5b40c1:	e8 4a b0 fd ff       	call   0x58f110
5b40c6:	83 c4 18             	add    $0x18,%esp
5b40c9:	33 c0                	xor    %eax,%eax
5b40cb:	5f                   	pop    %edi
5b40cc:	5e                   	pop    %esi
5b40cd:	83 c4 08             	add    $0x8,%esp
5b40d0:	c3                   	ret
5b40d1:	57                   	push   %edi
5b40d2:	50                   	push   %eax
5b40d3:	8d 44 24 10          	lea    0x10(%esp),%eax
5b40d7:	89 be 68 05 00 00    	mov    %edi,0x568(%esi)
5b40dd:	50                   	push   %eax
5b40de:	e8 7d 73 fe ff       	call   0x59b460
5b40e3:	83 c4 0c             	add    $0xc,%esp
5b40e6:	85 c0                	test   %eax,%eax
5b40e8:	75 24                	jne    0x5b410e
5b40ea:	68 6d 05 00 00       	push   $0x56d
5b40ef:	68 90 9b 66 00       	push   $0x669b90
5b40f4:	6a 44                	push   $0x44
5b40f6:	68 44 02 00 00       	push   $0x244
5b40fb:	6a 50                	push   $0x50
5b40fd:	56                   	push   %esi
5b40fe:	e8 0d b0 fd ff       	call   0x58f110
5b4103:	83 c4 18             	add    $0x18,%esp
5b4106:	33 c0                	xor    %eax,%eax
5b4108:	5f                   	pop    %edi
5b4109:	5e                   	pop    %esi
5b410a:	83 c4 08             	add    $0x8,%esp
5b410d:	c3                   	ret
5b410e:	5f                   	pop    %edi
5b410f:	b8 01 00 00 00       	mov    $0x1,%eax
5b4114:	5e                   	pop    %esi
5b4115:	83 c4 08             	add    $0x8,%esp
5b4118:	c3                   	ret
5b4119:	68 53 05 00 00       	push   $0x553
5b411e:	68 90 9b 66 00       	push   $0x669b90
5b4123:	6a 6e                	push   $0x6e
5b4125:	68 44 02 00 00       	push   $0x244
5b412a:	6a 32                	push   $0x32
5b412c:	ff 74 24 28          	push   0x28(%esp)
5b4130:	e8 db af fd ff       	call   0x58f110
5b4135:	83 c4 18             	add    $0x18,%esp
5b4138:	33 c0                	xor    %eax,%eax
5b413a:	5f                   	pop    %edi
5b413b:	5e                   	pop    %esi
5b413c:	83 c4 08             	add    $0x8,%esp
5b413f:	c3                   	ret
5b4140:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5b4144:	8b 41 7c             	mov    0x7c(%ecx),%eax
5b4147:	81 08 00 02 00 00    	orl    $0x200,(%eax)
5b414d:	83 b9 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ecx)
5b4154:	75 0d                	jne    0x5b4163
5b4156:	8b 81 74 04 00 00    	mov    0x474(%ecx),%eax
5b415c:	83 88 00 02 00 00 01 	orl    $0x1,0x200(%eax)
5b4163:	b8 01 00 00 00       	mov    $0x1,%eax
5b4168:	c3                   	ret
5b4169:	cc                   	int3
5b416a:	cc                   	int3
5b416b:	cc                   	int3
5b416c:	cc                   	int3
5b416d:	cc                   	int3
5b416e:	cc                   	int3
5b416f:	cc                   	int3
5b4170:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5b4174:	f7 81 ec 04 00 00 00 	testl  $0x80000,0x4ec(%ecx)
5b417b:	00 08 00
5b417e:	75 21                	jne    0x5b41a1
5b4180:	8b 41 7c             	mov    0x7c(%ecx),%eax
5b4183:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
5b4189:	83 78 1c 40          	cmpl   $0x40,0x1c(%eax)
5b418d:	74 12                	je     0x5b41a1
5b418f:	83 78 18 04          	cmpl   $0x4,0x18(%eax)
5b4193:	b8 01 00 00 00       	mov    $0x1,%eax
5b4198:	74 0c                	je     0x5b41a6
5b419a:	89 81 a8 05 00 00    	mov    %eax,0x5a8(%ecx)
5b41a0:	c3                   	ret
5b41a1:	b8 01 00 00 00       	mov    $0x1,%eax
5b41a6:	c3                   	ret
5b41a7:	cc                   	int3
5b41a8:	cc                   	int3
5b41a9:	cc                   	int3
5b41aa:	cc                   	int3
5b41ab:	cc                   	int3
5b41ac:	cc                   	int3
5b41ad:	cc                   	int3
5b41ae:	cc                   	int3
5b41af:	cc                   	int3
5b41b0:	b8 08 00 00 00       	mov    $0x8,%eax
5b41b5:	e8 f6 d5 01 00       	call   0x5d17b0
5b41ba:	53                   	push   %ebx
5b41bb:	56                   	push   %esi
5b41bc:	8b 74 24 14          	mov    0x14(%esp),%esi
5b41c0:	8b 46 7c             	mov    0x7c(%esi),%eax
5b41c3:	8b 98 14 02 00 00    	mov    0x214(%eax),%ebx
5b41c9:	85 db                	test   %ebx,%ebx
5b41cb:	0f 84 59 02 00 00    	je     0x5b442a
5b41d1:	83 b8 58 03 00 00 00 	cmpl   $0x0,0x358(%eax)
5b41d8:	0f 85 4c 02 00 00    	jne    0x5b442a
5b41de:	8b 54 24 18          	mov    0x18(%esp),%edx
5b41e2:	55                   	push   %ebp
5b41e3:	8b 6a 04             	mov    0x4(%edx),%ebp
5b41e6:	83 fd 02             	cmp    $0x2,%ebp
5b41e9:	73 28                	jae    0x5b4213
5b41eb:	68 09 07 00 00       	push   $0x709
5b41f0:	68 90 9b 66 00       	push   $0x669b90
5b41f5:	68 9f 00 00 00       	push   $0x9f
5b41fa:	68 bd 01 00 00       	push   $0x1bd
5b41ff:	6a 32                	push   $0x32
5b4201:	56                   	push   %esi
5b4202:	e8 09 af fd ff       	call   0x58f110
5b4207:	83 c4 18             	add    $0x18,%esp
5b420a:	33 c0                	xor    %eax,%eax
5b420c:	5d                   	pop    %ebp
5b420d:	5e                   	pop    %esi
5b420e:	5b                   	pop    %ebx
5b420f:	83 c4 08             	add    $0x8,%esp
5b4212:	c3                   	ret
5b4213:	8b 0a                	mov    (%edx),%ecx
5b4215:	83 c5 fe             	add    $0xfffffffe,%ebp
5b4218:	57                   	push   %edi
5b4219:	0f b6 01             	movzbl (%ecx),%eax
5b421c:	0f b6 79 01          	movzbl 0x1(%ecx),%edi
5b4220:	c1 e0 08             	shl    $0x8,%eax
5b4223:	0b f8                	or     %eax,%edi
5b4225:	89 6a 04             	mov    %ebp,0x4(%edx)
5b4228:	f7 44 24 24 00 08 00 	testl  $0x800,0x24(%esp)
5b422f:	00
5b4230:	8d 41 02             	lea    0x2(%ecx),%eax
5b4233:	89 02                	mov    %eax,(%edx)
5b4235:	0f 84 ce 00 00 00    	je     0x5b4309
5b423b:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
5b4242:	00
5b4243:	85 ed                	test   %ebp,%ebp
5b4245:	74 0a                	je     0x5b4251
5b4247:	68 13 07 00 00       	push   $0x713
5b424c:	e9 b5 01 00 00       	jmp    0x5b4406
5b4251:	8b 46 7c             	mov    0x7c(%esi),%eax
5b4254:	0f b7 80 56 03 00 00 	movzwl 0x356(%eax),%eax
5b425b:	3b f8                	cmp    %eax,%edi
5b425d:	75 26                	jne    0x5b4285
5b425f:	68 1d 07 00 00       	push   $0x71d
5b4264:	68 90 9b 66 00       	push   $0x669b90
5b4269:	6a 6c                	push   $0x6c
5b426b:	68 bd 01 00 00       	push   $0x1bd
5b4270:	6a 2f                	push   $0x2f
5b4272:	56                   	push   %esi
5b4273:	e8 98 ae fd ff       	call   0x58f110
5b4278:	83 c4 18             	add    $0x18,%esp
5b427b:	33 c0                	xor    %eax,%eax
5b427d:	5f                   	pop    %edi
5b427e:	5d                   	pop    %ebp
5b427f:	5e                   	pop    %esi
5b4280:	5b                   	pop    %ebx
5b4281:	83 c4 08             	add    $0x8,%esp
5b4284:	c3                   	ret
5b4285:	8d 44 24 10          	lea    0x10(%esp),%eax
5b4289:	50                   	push   %eax
5b428a:	8d 44 24 20          	lea    0x20(%esp),%eax
5b428e:	50                   	push   %eax
5b428f:	56                   	push   %esi
5b4290:	e8 cb 58 fe ff       	call   0x599b60
5b4295:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5b4299:	83 c4 0c             	add    $0xc,%esp
5b429c:	33 c9                	xor    %ecx,%ecx
5b429e:	85 d2                	test   %edx,%edx
5b42a0:	74 11                	je     0x5b42b3
5b42a2:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5b42a6:	0f b7 04 4b          	movzwl (%ebx,%ecx,2),%eax
5b42aa:	3b f8                	cmp    %eax,%edi
5b42ac:	74 0c                	je     0x5b42ba
5b42ae:	41                   	inc    %ecx
5b42af:	3b ca                	cmp    %edx,%ecx
5b42b1:	72 f3                	jb     0x5b42a6
5b42b3:	68 2a 07 00 00       	push   $0x72a
5b42b8:	eb aa                	jmp    0x5b4264
5b42ba:	3b ca                	cmp    %edx,%ecx
5b42bc:	73 f5                	jae    0x5b42b3
5b42be:	68 04 00 02 00       	push   $0x20004
5b42c3:	0f b7 ff             	movzwl %di,%edi
5b42c6:	57                   	push   %edi
5b42c7:	56                   	push   %esi
5b42c8:	e8 b3 6b fe ff       	call   0x59ae80
5b42cd:	83 c4 0c             	add    $0xc,%esp
5b42d0:	85 c0                	test   %eax,%eax
5b42d2:	74 df                	je     0x5b42b3
5b42d4:	8b 46 7c             	mov    0x7c(%esi),%eax
5b42d7:	66 89 b8 56 03 00 00 	mov    %di,0x356(%eax)
5b42de:	8b 46 7c             	mov    0x7c(%esi),%eax
5b42e1:	ff b0 14 02 00 00    	push   0x214(%eax)
5b42e7:	e8 f4 c9 f3 ff       	call   0x4f0ce0
5b42ec:	8b 46 7c             	mov    0x7c(%esi),%eax
5b42ef:	83 c4 04             	add    $0x4,%esp
5b42f2:	5f                   	pop    %edi
5b42f3:	5d                   	pop    %ebp
5b42f4:	5e                   	pop    %esi
5b42f5:	c7 80 14 02 00 00 00 	movl   $0x0,0x214(%eax)
5b42fc:	00 00 00
5b42ff:	b8 01 00 00 00       	mov    $0x1,%eax
5b4304:	5b                   	pop    %ebx
5b4305:	83 c4 08             	add    $0x8,%esp
5b4308:	c3                   	ret
5b4309:	8b 46 7c             	mov    0x7c(%esi),%eax
5b430c:	0f b7 80 56 03 00 00 	movzwl 0x356(%eax),%eax
5b4313:	3b f8                	cmp    %eax,%edi