5a40fc:	89 4e 14             	mov    %ecx,0x14(%esi)
5a40ff:	89 41 0c             	mov    %eax,0xc(%ecx)
5a4102:	b8 01 00 00 00       	mov    $0x1,%eax
5a4107:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
5a410e:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
5a4115:	5e                   	pop    %esi
5a4116:	c3                   	ret
5a4117:	cc                   	int3
5a4118:	cc                   	int3
5a4119:	cc                   	int3
5a411a:	cc                   	int3
5a411b:	cc                   	int3
5a411c:	cc                   	int3
5a411d:	cc                   	int3
5a411e:	cc                   	int3
5a411f:	cc                   	int3
5a4120:	53                   	push   %ebx
5a4121:	56                   	push   %esi
5a4122:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a4126:	57                   	push   %edi
5a4127:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
5a412b:	74 35                	je     0x5a4162
5a412d:	68 19 01 00 00       	push   $0x119
5a4132:	68 bc 7c 66 00       	push   $0x667cbc
5a4137:	6a 14                	push   $0x14
5a4139:	e8 02 c9 f3 ff       	call   0x4e0a40
5a413e:	8b f8                	mov    %eax,%edi
5a4140:	83 c4 0c             	add    $0xc,%esp
5a4143:	85 ff                	test   %edi,%edi
5a4145:	75 21                	jne    0x5a4168
5a4147:	68 1a 01 00 00       	push   $0x11a
5a414c:	68 bc 7c 66 00       	push   $0x667cbc
5a4151:	6a 41                	push   $0x41
5a4153:	68 7a 02 00 00       	push   $0x27a
5a4158:	6a 14                	push   $0x14
5a415a:	e8 21 4e f3 ff       	call   0x4d8f80
5a415f:	83 c4 14             	add    $0x14,%esp
5a4162:	5f                   	pop    %edi
5a4163:	5e                   	pop    %esi
5a4164:	33 c0                	xor    %eax,%eax
5a4166:	5b                   	pop    %ebx
5a4167:	c3                   	ret
5a4168:	8b 46 14             	mov    0x14(%esi),%eax
5a416b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5a416f:	89 07                	mov    %eax,(%edi)
5a4171:	8b 46 0c             	mov    0xc(%esi),%eax
5a4174:	03 c3                	add    %ebx,%eax
5a4176:	89 7e 14             	mov    %edi,0x14(%esi)
5a4179:	89 47 0c             	mov    %eax,0xc(%edi)
5a417c:	89 5f 08             	mov    %ebx,0x8(%edi)
5a417f:	85 db                	test   %ebx,%ebx
5a4181:	75 0a                	jne    0x5a418d
5a4183:	89 5f 04             	mov    %ebx,0x4(%edi)
5a4186:	8d 43 01             	lea    0x1(%ebx),%eax
5a4189:	5f                   	pop    %edi
5a418a:	5e                   	pop    %esi
5a418b:	5b                   	pop    %ebx
5a418c:	c3                   	ret
5a418d:	8d 44 24 10          	lea    0x10(%esp),%eax
5a4191:	50                   	push   %eax
5a4192:	53                   	push   %ebx
5a4193:	56                   	push   %esi
5a4194:	e8 67 fe ff ff       	call   0x5a4000
5a4199:	83 c4 0c             	add    $0xc,%esp
5a419c:	85 c0                	test   %eax,%eax
5a419e:	74 c2                	je     0x5a4162
5a41a0:	01 5e 0c             	add    %ebx,0xc(%esi)
5a41a3:	01 5e 08             	add    %ebx,0x8(%esi)
5a41a6:	8b 4e 04             	mov    0x4(%esi),%ecx
5a41a9:	85 c9                	test   %ecx,%ecx
5a41ab:	75 05                	jne    0x5a41b2
5a41ad:	8b 06                	mov    (%esi),%eax
5a41af:	8b 48 04             	mov    0x4(%eax),%ecx
5a41b2:	8b 44 24 10          	mov    0x10(%esp),%eax
5a41b6:	2b c1                	sub    %ecx,%eax
5a41b8:	89 47 04             	mov    %eax,0x4(%edi)
5a41bb:	b8 01 00 00 00       	mov    $0x1,%eax
5a41c0:	5f                   	pop    %edi
5a41c1:	5e                   	pop    %esi
5a41c2:	5b                   	pop    %ebx
5a41c3:	c3                   	ret
5a41c4:	cc                   	int3
5a41c5:	cc                   	int3
5a41c6:	cc                   	int3
5a41c7:	cc                   	int3
5a41c8:	cc                   	int3
5a41c9:	cc                   	int3
5a41ca:	cc                   	int3
5a41cb:	cc                   	int3
5a41cc:	cc                   	int3
5a41cd:	cc                   	int3
5a41ce:	cc                   	int3
5a41cf:	cc                   	int3
5a41d0:	56                   	push   %esi
5a41d1:	8b 74 24 08          	mov    0x8(%esp),%esi
5a41d5:	57                   	push   %edi
5a41d6:	ff 74 24 18          	push   0x18(%esp)
5a41da:	56                   	push   %esi
5a41db:	e8 40 ff ff ff       	call   0x5a4120
5a41e0:	83 c4 08             	add    $0x8,%esp
5a41e3:	85 c0                	test   %eax,%eax
5a41e5:	74 40                	je     0x5a4227
5a41e7:	ff 74 24 14          	push   0x14(%esp)
5a41eb:	8b 7c 24 14          	mov    0x14(%esp),%edi
5a41ef:	57                   	push   %edi
5a41f0:	56                   	push   %esi
5a41f1:	e8 0a fe ff ff       	call   0x5a4000
5a41f6:	83 c4 0c             	add    $0xc,%esp
5a41f9:	85 c0                	test   %eax,%eax
5a41fb:	74 2a                	je     0x5a4227
5a41fd:	01 7e 0c             	add    %edi,0xc(%esi)
5a4200:	01 7e 08             	add    %edi,0x8(%esi)
5a4203:	8b 46 14             	mov    0x14(%esi),%eax
5a4206:	85 c0                	test   %eax,%eax
5a4208:	74 1d                	je     0x5a4227
5a420a:	83 38 00             	cmpl   $0x0,(%eax)
5a420d:	74 18                	je     0x5a4227
5a420f:	6a 01                	push   $0x1
5a4211:	50                   	push   %eax
5a4212:	56                   	push   %esi
5a4213:	e8 c8 00 00 00       	call   0x5a42e0
5a4218:	83 c4 0c             	add    $0xc,%esp
5a421b:	85 c0                	test   %eax,%eax
5a421d:	74 08                	je     0x5a4227
5a421f:	5f                   	pop    %edi
5a4220:	b8 01 00 00 00       	mov    $0x1,%eax
5a4225:	5e                   	pop    %esi
5a4226:	c3                   	ret
5a4227:	5f                   	pop    %edi
5a4228:	33 c0                	xor    %eax,%eax
5a422a:	5e                   	pop    %esi
5a422b:	c3                   	ret
5a422c:	cc                   	int3
5a422d:	cc                   	int3
5a422e:	cc                   	int3
5a422f:	cc                   	int3
5a4230:	b8 04 00 00 00       	mov    $0x4,%eax
5a4235:	e8 76 d5 02 00       	call   0x5d17b0
5a423a:	56                   	push   %esi
5a423b:	8b 74 24 0c          	mov    0xc(%esp),%esi
5a423f:	57                   	push   %edi
5a4240:	ff 74 24 1c          	push   0x1c(%esp)
5a4244:	56                   	push   %esi
5a4245:	e8 d6 fe ff ff       	call   0x5a4120
5a424a:	83 c4 08             	add    $0x8,%esp
5a424d:	85 c0                	test   %eax,%eax
5a424f:	74 57                	je     0x5a42a8
5a4251:	8b 7c 24 18          	mov    0x18(%esp),%edi
5a4255:	85 ff                	test   %edi,%edi
5a4257:	74 2a                	je     0x5a4283
5a4259:	8d 44 24 08          	lea    0x8(%esp),%eax
5a425d:	50                   	push   %eax
5a425e:	57                   	push   %edi
5a425f:	56                   	push   %esi
5a4260:	e8 9b fd ff ff       	call   0x5a4000
5a4265:	83 c4 0c             	add    $0xc,%esp
5a4268:	85 c0                	test   %eax,%eax
5a426a:	74 3c                	je     0x5a42a8
5a426c:	01 7e 0c             	add    %edi,0xc(%esi)
5a426f:	01 7e 08             	add    %edi,0x8(%esi)
5a4272:	57                   	push   %edi
5a4273:	ff 74 24 18          	push   0x18(%esp)
5a4277:	ff 74 24 10          	push   0x10(%esp)
5a427b:	e8 50 eb 02 00       	call   0x5d2dd0
5a4280:	83 c4 0c             	add    $0xc,%esp
5a4283:	8b 46 14             	mov    0x14(%esi),%eax
5a4286:	85 c0                	test   %eax,%eax
5a4288:	74 1e                	je     0x5a42a8
5a428a:	83 38 00             	cmpl   $0x0,(%eax)
5a428d:	74 19                	je     0x5a42a8
5a428f:	6a 01                	push   $0x1
5a4291:	50                   	push   %eax
5a4292:	56                   	push   %esi
5a4293:	e8 48 00 00 00       	call   0x5a42e0
5a4298:	83 c4 0c             	add    $0xc,%esp
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