505052:	8b 7d e4             	mov    -0x1c(%ebp),%edi
505055:	8d 41 01             	lea    0x1(%ecx),%eax
505058:	89 46 6c             	mov    %eax,0x6c(%esi)
50505b:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50505e:	8b 46 68             	mov    0x68(%esi),%eax
505061:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
505065:	8b 7d 08             	mov    0x8(%ebp),%edi
505068:	c7 04 88 79 00 00 00 	movl   $0x79,(%eax,%ecx,4)
50506f:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
505073:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
505077:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50507e:	00
50507f:	8b 46 6c             	mov    0x6c(%esi),%eax
505082:	8b 5d 14             	mov    0x14(%ebp),%ebx
505085:	85 c0                	test   %eax,%eax
505087:	0f 8e 66 01 00 00    	jle    0x5051f3
50508d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
505090:	ba 08 00 00 00       	mov    $0x8,%edx
505095:	8b 46 68             	mov    0x68(%esi),%eax
505098:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
50509d:	e9 51 01 00 00       	jmp    0x5051f3
5050a2:	8b 55 18             	mov    0x18(%ebp),%edx
5050a5:	8b 42 10             	mov    0x10(%edx),%eax
5050a8:	8b 56 6c             	mov    0x6c(%esi),%edx
5050ab:	89 45 18             	mov    %eax,0x18(%ebp)
5050ae:	39 56 70             	cmp    %edx,0x70(%esi)
5050b1:	7f 19                	jg     0x5050cc
5050b3:	ff 75 fc             	push   -0x4(%ebp)
5050b6:	8b 5d 14             	mov    0x14(%ebp),%ebx
5050b9:	53                   	push   %ebx
5050ba:	ff 75 f8             	push   -0x8(%ebp)
5050bd:	6a 5b                	push   $0x5b
5050bf:	56                   	push   %esi
5050c0:	e8 3b 14 00 00       	call   0x506500
5050c5:	83 c4 14             	add    $0x14,%esp
5050c8:	8b d0                	mov    %eax,%edx
5050ca:	eb 33                	jmp    0x5050ff
5050cc:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5050cf:	8d 42 01             	lea    0x1(%edx),%eax
5050d2:	8b 7d fc             	mov    -0x4(%ebp),%edi
5050d5:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5050d8:	89 46 6c             	mov    %eax,0x6c(%esi)
5050db:	8b 46 68             	mov    0x68(%esi),%eax
5050de:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
5050e2:	8b 5d 14             	mov    0x14(%ebp),%ebx
5050e5:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
5050e9:	8b 7d 08             	mov    0x8(%ebp),%edi
5050ec:	c7 04 88 5b 00 00 00 	movl   $0x5b,(%eax,%ecx,4)
5050f3:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
5050f7:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5050fe:	00
5050ff:	8b 0e                	mov    (%esi),%ecx
505101:	80 79 51 00          	cmpb   $0x0,0x51(%ecx)
505105:	74 15                	je     0x50511c
505107:	83 fb f4             	cmp    $0xfffffff4,%ebx
50510a:	74 5e                	je     0x50516a
50510c:	8b 45 18             	mov    0x18(%ebp),%eax
50510f:	50                   	push   %eax
505110:	53                   	push   %ebx
505111:	51                   	push   %ecx
505112:	e8 99 eb ff ff       	call   0x503cb0
505117:	83 c4 0c             	add    $0xc,%esp
50511a:	eb 4e                	jmp    0x50516a
50511c:	85 d2                	test   %edx,%edx
50511e:	79 04                	jns    0x505124
505120:	8b 56 6c             	mov    0x6c(%esi),%edx
505123:	4a                   	dec    %edx
505124:	8b 46 68             	mov    0x68(%esi),%eax
505127:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
50512a:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
50512d:	85 db                	test   %ebx,%ebx
50512f:	79 2a                	jns    0x50515b
505131:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
505135:	75 24                	jne    0x50515b
505137:	8b 45 18             	mov    0x18(%ebp),%eax
50513a:	83 fb fd             	cmp    $0xfffffffd,%ebx
50513d:	75 08                	jne    0x505147
50513f:	89 41 10             	mov    %eax,0x10(%ecx)
505142:	88 59 01             	mov    %bl,0x1(%ecx)
505145:	eb 23                	jmp    0x50516a
505147:	85 c0                	test   %eax,%eax
505149:	74 1f                	je     0x50516a
50514b:	89 41 10             	mov    %eax,0x10(%ecx)
50514e:	88 59 01             	mov    %bl,0x1(%ecx)
505151:	83 fb f4             	cmp    $0xfffffff4,%ebx
505154:	75 14                	jne    0x50516a
505156:	ff 40 0c             	incl   0xc(%eax)
505159:	eb 0f                	jmp    0x50516a
50515b:	8b 45 18             	mov    0x18(%ebp),%eax
50515e:	53                   	push   %ebx
50515f:	50                   	push   %eax
505160:	51                   	push   %ecx
505161:	56                   	push   %esi
505162:	e8 d9 4a 05 00       	call   0x559c40
505167:	83 c4 10             	add    $0x10,%esp
50516a:	53                   	push   %ebx
50516b:	ff 75 f8             	push   -0x8(%ebp)
50516e:	ff 75 fc             	push   -0x4(%ebp)
505171:	ff 75 e4             	push   -0x1c(%ebp)
505174:	68 83 00 00 00       	push   $0x83
505179:	56                   	push   %esi
50517a:	e8 91 ca 03 00       	call   0x541c10
50517f:	83 c4 18             	add    $0x18,%esp
505182:	eb 6f                	jmp    0x5051f3
505184:	8b 4e 6c             	mov    0x6c(%esi),%ecx
505187:	83 fa 09             	cmp    $0x9,%edx
50518a:	8b 55 18             	mov    0x18(%ebp),%edx
50518d:	75 49                	jne    0x5051d8
50518f:	8b 52 08             	mov    0x8(%edx),%edx
505192:	8b 5d 14             	mov    0x14(%ebp),%ebx
505195:	39 4e 70             	cmp    %ecx,0x70(%esi)
505198:	7f 11                	jg     0x5051ab
50519a:	6a 00                	push   $0x0
50519c:	53                   	push   %ebx
50519d:	52                   	push   %edx
50519e:	6a 50                	push   $0x50
5051a0:	56                   	push   %esi
5051a1:	e8 5a 13 00 00       	call   0x506500
5051a6:	83 c4 14             	add    $0x14,%esp
5051a9:	eb 48                	jmp    0x5051f3
5051ab:	8d 41 01             	lea    0x1(%ecx),%eax
5051ae:	89 46 6c             	mov    %eax,0x6c(%esi)
5051b1:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5051b4:	8b 46 68             	mov    0x68(%esi),%eax
5051b7:	c7 04 88 50 00 00 00 	movl   $0x50,(%eax,%ecx,4)
5051be:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5051c2:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
5051c6:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
5051cd:	00
5051ce:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5051d5:	00
5051d6:	eb 1b                	jmp    0x5051f3
5051d8:	8b 52 04             	mov    0x4(%edx),%edx
5051db:	39 4e 70             	cmp    %ecx,0x70(%esi)
5051de:	7f 3b                	jg     0x50521b
5051e0:	6a 00                	push   $0x0
5051e2:	6a 00                	push   $0x0
5051e4:	52                   	push   %edx
5051e5:	6a 0e                	push   $0xe
5051e7:	56                   	push   %esi
5051e8:	e8 13 13 00 00       	call   0x506500
5051ed:	83 c4 14             	add    $0x14,%esp
5051f0:	8b 5d 14             	mov    0x14(%ebp),%ebx
5051f3:	8b 55 f4             	mov    -0xc(%ebp),%edx
5051f6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5051f9:	85 c9                	test   %ecx,%ecx
5051fb:	0f 84 82 00 00 00    	je     0x505283
505201:	83 fa 0b             	cmp    $0xb,%edx
505204:	75 4b                	jne    0x505251
505206:	83 fb 01             	cmp    $0x1,%ebx
505209:	74 46                	je     0x505251
50520b:	3b 5f 1c             	cmp    0x1c(%edi),%ebx
50520e:	7e 5f                	jle    0x50526f
505210:	8b 45 f8             	mov    -0x8(%ebp),%eax
505213:	89 5f 1c             	mov    %ebx,0x1c(%edi)
505216:	89 47 20             	mov    %eax,0x20(%edi)
505219:	eb 54                	jmp    0x50526f
50521b:	8d 41 01             	lea    0x1(%ecx),%eax
50521e:	89 46 6c             	mov    %eax,0x6c(%esi)
505221:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505224:	8b 46 68             	mov    0x68(%esi),%eax
505227:	c7 04 88 0e 00 00 00 	movl   $0xe,(%eax,%ecx,4)
50522e:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505232:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
505239:	00
50523a:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505241:	00
505242:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505249:	00
50524a:	eb a4                	jmp    0x5051f0
50524c:	8b 5d 14             	mov    0x14(%ebp),%ebx
50524f:	eb a5                	jmp    0x5051f6
505251:	8b 4d f8             	mov    -0x8(%ebp),%ecx
505254:	85 c9                	test   %ecx,%ecx
505256:	74 14                	je     0x50526c
505258:	8a 47 13             	mov    0x13(%edi),%al
50525b:	3c 08                	cmp    $0x8,%al
50525d:	73 0d                	jae    0x50526c
50525f:	0f b6 c0             	movzbl %al,%eax
505262:	89 8c 87 94 00 00 00 	mov    %ecx,0x94(%edi,%eax,4)
505269:	fe 47 13             	incb   0x13(%edi)
50526c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50526f:	8a 47 13             	mov    0x13(%edi),%al
505272:	3c 08                	cmp    $0x8,%al
505274:	73 0d                	jae    0x505283
505276:	0f b6 c0             	movzbl %al,%eax
505279:	89 8c 87 94 00 00 00 	mov    %ecx,0x94(%edi,%eax,4)
505280:	fe 47 13             	incb   0x13(%edi)
505283:	8b 4e 0c             	mov    0xc(%esi),%ecx
505286:	8b 55 dc             	mov    -0x24(%ebp),%edx
505289:	f7 d2                	not    %edx
50528b:	8b 41 3c             	mov    0x3c(%ecx),%eax
50528e:	03 41 38             	add    0x38(%ecx),%eax
505291:	79 0d                	jns    0x5052a0
505293:	52                   	push   %edx
505294:	56                   	push   %esi
505295:	51                   	push   %ecx
505296:	e8 05 e5 00 00       	call   0x5137a0
50529b:	83 c4 0c             	add    $0xc,%esp
50529e:	eb 09                	jmp    0x5052a9
5052a0:	8b 49 40             	mov    0x40(%ecx),%ecx
5052a3:	8b 46 6c             	mov    0x6c(%esi),%eax
5052a6:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5052a9:	8b 5d 10             	mov    0x10(%ebp),%ebx
5052ac:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5052af:	f6 43 20 01          	testb  $0x1,0x20(%ebx)
5052b3:	74 30                	je     0x5052e5
5052b5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5052b8:	7f 16                	jg     0x5052d0
5052ba:	8b 55 e0             	mov    -0x20(%ebp),%edx
5052bd:	6a 00                	push   $0x0
5052bf:	52                   	push   %edx
5052c0:	ff 75 f0             	push   -0x10(%ebp)
5052c3:	6a 03                	push   $0x3
5052c5:	56                   	push   %esi
5052c6:	e8 35 12 00 00       	call   0x506500
5052cb:	83 c4 14             	add    $0x14,%esp
5052ce:	eb 61                	jmp    0x505331
5052d0:	8d 41 01             	lea    0x1(%ecx),%eax
5052d3:	89 46 6c             	mov    %eax,0x6c(%esi)
5052d6:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5052d9:	8b 46 68             	mov    0x68(%esi),%eax
5052dc:	c7 04 88 03 00 00 00 	movl   $0x3,(%eax,%ecx,4)
5052e3:	eb 2e                	jmp    0x505313
5052e5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5052e8:	7f 16                	jg     0x505300
5052ea:	8b 55 e0             	mov    -0x20(%ebp),%edx
5052ed:	6a 00                	push   $0x0
5052ef:	52                   	push   %edx
5052f0:	ff 75 f0             	push   -0x10(%ebp)
5052f3:	6a 05                	push   $0x5
5052f5:	56                   	push   %esi
5052f6:	e8 05 12 00 00       	call   0x506500
5052fb:	83 c4 14             	add    $0x14,%esp
5052fe:	eb 31                	jmp    0x505331
505300:	8d 41 01             	lea    0x1(%ecx),%eax
505303:	89 46 6c             	mov    %eax,0x6c(%esi)
505306:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505309:	8b 46 68             	mov    0x68(%esi),%eax
50530c:	c7 04 88 05 00 00 00 	movl   $0x5,(%eax,%ecx,4)
505313:	8b 55 f0             	mov    -0x10(%ebp),%edx
505316:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50531a:	8b 55 e0             	mov    -0x20(%ebp),%edx
50531d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505324:	00
505325:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50532c:	00
50532d:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
505331:	8b 53 0c             	mov    0xc(%ebx),%edx
505334:	85 d2                	test   %edx,%edx
505336:	74 49                	je     0x505381
505338:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50533b:	39 4e 70             	cmp    %ecx,0x70(%esi)
50533e:	7f 12                	jg     0x505352
505340:	6a 00                	push   $0x0
505342:	6a 00                	push   $0x0
505344:	52                   	push   %edx
505345:	6a 41                	push   $0x41
505347:	56                   	push   %esi
505348:	e8 b3 11 00 00       	call   0x506500
50534d:	83 c4 14             	add    $0x14,%esp
505350:	eb 2f                	jmp    0x505381
505352:	8d 41 01             	lea    0x1(%ecx),%eax
505355:	89 46 6c             	mov    %eax,0x6c(%esi)
505358:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50535b:	8b 46 68             	mov    0x68(%esi),%eax
50535e:	c7 04 88 41 00 00 00 	movl   $0x41,(%eax,%ecx,4)
505365:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
505369:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
505370:	00
505371:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
505378:	00
505379:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505380:	00
505381:	8b 4e 0c             	mov    0xc(%esi),%ecx
505384:	8b 55 e8             	mov    -0x18(%ebp),%edx
505387:	f7 d2                	not    %edx
505389:	8b 41 3c             	mov    0x3c(%ecx),%eax
50538c:	03 41 38             	add    0x38(%ecx),%eax
50538f:	79 12                	jns    0x5053a3
505391:	52                   	push   %edx
505392:	56                   	push   %esi
505393:	51                   	push   %ecx
505394:	e8 07 e4 00 00       	call   0x5137a0
505399:	83 c4 0c             	add    $0xc,%esp
50539c:	5f                   	pop    %edi
50539d:	5e                   	pop    %esi
50539e:	5b                   	pop    %ebx
50539f:	8b e5                	mov    %ebp,%esp
5053a1:	5d                   	pop    %ebp
5053a2:	c3                   	ret
5053a3:	8b 49 40             	mov    0x40(%ecx),%ecx
5053a6:	8b 46 6c             	mov    0x6c(%esi),%eax
5053a9:	5f                   	pop    %edi
5053aa:	5e                   	pop    %esi
5053ab:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5053ae:	5b                   	pop    %ebx
5053af:	8b e5                	mov    %ebp,%esp
5053b1:	5d                   	pop    %ebp
5053b2:	c3                   	ret
5053b3:	90                   	nop
5053b4:	4c                   	dec    %esp
5053b5:	52                   	push   %edx
5053b6:	50                   	push   %eax
5053b7:	00 a2 50 50 00 9a    	add    %ah,-0x65ffafb0(%edx)
5053bd:	4f                   	dec    %edi
5053be:	50                   	push   %eax
5053bf:	00 84 51 50 00 9a 4f 	add    %al,0x4f9a0050(%ecx,%edx,2)
5053c6:	50                   	push   %eax
5053c7:	00 cc                	add    %cl,%ah
5053c9:	cc                   	int3
5053ca:	cc                   	int3
5053cb:	cc                   	int3
5053cc:	cc                   	int3
5053cd:	cc                   	int3
5053ce:	cc                   	int3
5053cf:	cc                   	int3
5053d0:	55                   	push   %ebp
5053d1:	8b ec                	mov    %esp,%ebp
5053d3:	83 ec 50             	sub    $0x50,%esp
5053d6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5053db:	33 c5                	xor    %ebp,%eax
5053dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5053e0:	8b 45 10             	mov    0x10(%ebp),%eax
5053e3:	53                   	push   %ebx
5053e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5053e7:	56                   	push   %esi
5053e8:	57                   	push   %edi
5053e9:	8b 7d 0c             	mov    0xc(%ebp),%edi
5053ec:	8b 73 08             	mov    0x8(%ebx),%esi
5053ef:	89 45 b8             	mov    %eax,-0x48(%ebp)
5053f2:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
5053f5:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
5053f9:	8b 47 20             	mov    0x20(%edi),%eax
5053fc:	89 45 d8             	mov    %eax,-0x28(%ebp)
5053ff:	8b 47 1c             	mov    0x1c(%edi),%eax
505402:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
505409:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
505410:	8b 00                	mov    (%eax),%eax
505412:	89 45 dc             	mov    %eax,-0x24(%ebp)
505415:	8b 47 34             	mov    0x34(%edi),%eax
505418:	89 45 c0             	mov    %eax,-0x40(%ebp)
50541b:	74 1f                	je     0x50543c
50541d:	68 3c af 6b 00       	push   $0x6baf3c
505422:	53                   	push   %ebx
505423:	e8 38 de 01 00       	call   0x523260
505428:	83 c4 08             	add    $0x8,%esp
50542b:	5f                   	pop    %edi
50542c:	5e                   	pop    %esi
50542d:	5b                   	pop    %ebx