518158:	80 fb 43             	cmp    $0x43,%bl
51815b:	75 04                	jne    0x518161
51815d:	b3 45                	mov    $0x45,%bl
51815f:	eb 0e                	jmp    0x51816f
518161:	8b c1                	mov    %ecx,%eax
518163:	25 ff ff ff 00       	and    $0xffffff,%eax
518168:	3d 74 6e 69 00       	cmp    $0x696e74,%eax
51816d:	74 0c                	je     0x51817b
51816f:	8a 06                	mov    (%esi),%al
518171:	84 c0                	test   %al,%al
518173:	0f 85 5f ff ff ff    	jne    0x5180d8
518179:	eb 02                	jmp    0x51817d
51817b:	b3 44                	mov    $0x44,%bl
51817d:	8b 75 0c             	mov    0xc(%ebp),%esi
518180:	85 f6                	test   %esi,%esi
518182:	74 62                	je     0x5181e6
518184:	33 c9                	xor    %ecx,%ecx
518186:	89 4d 08             	mov    %ecx,0x8(%ebp)
518189:	80 fb 43             	cmp    $0x43,%bl
51818c:	7d 3f                	jge    0x5181cd
51818e:	85 d2                	test   %edx,%edx
518190:	74 36                	je     0x5181c8
518192:	8a 02                	mov    (%edx),%al
518194:	84 c0                	test   %al,%al
518196:	74 35                	je     0x5181cd
518198:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
51819f:	00
5181a0:	0f b6 c0             	movzbl %al,%eax
5181a3:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
5181aa:	75 0a                	jne    0x5181b6
5181ac:	8a 42 01             	mov    0x1(%edx),%al
5181af:	42                   	inc    %edx
5181b0:	84 c0                	test   %al,%al
5181b2:	75 ec                	jne    0x5181a0
5181b4:	eb 17                	jmp    0x5181cd
5181b6:	8d 45 08             	lea    0x8(%ebp),%eax
5181b9:	50                   	push   %eax
5181ba:	52                   	push   %edx
5181bb:	e8 e0 4b 01 00       	call   0x52cda0
5181c0:	8b 4d 08             	mov    0x8(%ebp),%ecx
5181c3:	83 c4 08             	add    $0x8,%esp
5181c6:	eb 05                	jmp    0x5181cd
5181c8:	b9 10 00 00 00       	mov    $0x10,%ecx
5181cd:	8b c1                	mov    %ecx,%eax
5181cf:	b9 ff 00 00 00       	mov    $0xff,%ecx
5181d4:	99                   	cltd
5181d5:	83 e2 03             	and    $0x3,%edx
5181d8:	03 c2                	add    %edx,%eax
5181da:	c1 f8 02             	sar    $0x2,%eax
5181dd:	40                   	inc    %eax
5181de:	3b c1                	cmp    %ecx,%eax
5181e0:	0f 4f c1             	cmovg  %ecx,%eax
5181e3:	88 46 0e             	mov    %al,0xe(%esi)
5181e6:	5e                   	pop    %esi
5181e7:	8a c3                	mov    %bl,%al
5181e9:	5b                   	pop    %ebx
5181ea:	5d                   	pop    %ebp
5181eb:	c3                   	ret
5181ec:	cc                   	int3
5181ed:	cc                   	int3
5181ee:	cc                   	int3
5181ef:	cc                   	int3
5181f0:	55                   	push   %ebp
5181f1:	8b ec                	mov    %esp,%ebp
5181f3:	83 ec 08             	sub    $0x8,%esp
5181f6:	8b 45 0c             	mov    0xc(%ebp),%eax
5181f9:	53                   	push   %ebx
5181fa:	0f bf d8             	movswl %ax,%ebx
5181fd:	56                   	push   %esi
5181fe:	57                   	push   %edi
5181ff:	8d 04 9d 09 00 00 00 	lea    0x9(,%ebx,4),%eax
518206:	03 c3                	add    %ebx,%eax
518208:	8d 0c 9d 07 00 00 00 	lea    0x7(,%ebx,4),%ecx
51820f:	83 e0 f8             	and    $0xfffffff8,%eax
518212:	83 e1 f8             	and    $0xfffffff8,%ecx
518215:	83 c0 48             	add    $0x48,%eax
518218:	89 4d fc             	mov    %ecx,-0x4(%ebp)
51821b:	03 c8                	add    %eax,%ecx
51821d:	8b 45 10             	mov    0x10(%ebp),%eax
518220:	03 c1                	add    %ecx,%eax
518222:	89 4d f8             	mov    %ecx,-0x8(%ebp)
518225:	99                   	cltd
518226:	8b f8                	mov    %eax,%edi
518228:	8b 45 08             	mov    0x8(%ebp),%eax
51822b:	52                   	push   %edx
51822c:	57                   	push   %edi
51822d:	85 c0                	test   %eax,%eax
51822f:	74 0b                	je     0x51823c
518231:	50                   	push   %eax
518232:	e8 a9 91 00 00       	call   0x5213e0
518237:	83 c4 0c             	add    $0xc,%esp
51823a:	eb 08                	jmp    0x518244
51823c:	e8 1f 8d 01 00       	call   0x530f60
518241:	83 c4 08             	add    $0x8,%esp
518244:	8b f0                	mov    %eax,%esi
518246:	85 f6                	test   %esi,%esi
518248:	74 3d                	je     0x518287
51824a:	57                   	push   %edi
51824b:	6a 00                	push   $0x0
51824d:	56                   	push   %esi
51824e:	e8 ad b7 0c 00       	call   0x5e3a00
518253:	8b 4d f8             	mov    -0x8(%ebp),%ecx
518256:	8d 46 48             	lea    0x48(%esi),%eax
518259:	89 46 20             	mov    %eax,0x20(%esi)
51825c:	83 c4 0c             	add    $0xc,%esp
51825f:	03 45 fc             	add    -0x4(%ebp),%eax
518262:	89 46 08             	mov    %eax,0x8(%esi)
518265:	8d 04 58             	lea    (%eax,%ebx,2),%eax
518268:	83 c0 02             	add    $0x2,%eax
51826b:	89 46 04             	mov    %eax,0x4(%esi)
51826e:	8d 04 58             	lea    (%eax,%ebx,2),%eax
518271:	89 46 1c             	mov    %eax,0x1c(%esi)
518274:	8b 45 0c             	mov    0xc(%ebp),%eax
518277:	66 89 46 34          	mov    %ax,0x34(%esi)
51827b:	48                   	dec    %eax
51827c:	66 89 46 32          	mov    %ax,0x32(%esi)
518280:	03 ce                	add    %esi,%ecx
518282:	8b 45 14             	mov    0x14(%ebp),%eax
518285:	89 08                	mov    %ecx,(%eax)
518287:	5f                   	pop    %edi
518288:	8b c6                	mov    %esi,%eax
51828a:	5e                   	pop    %esi
51828b:	5b                   	pop    %ebx
51828c:	8b e5                	mov    %ebp,%esp
51828e:	5d                   	pop    %ebp
51828f:	c3                   	ret
518290:	55                   	push   %ebp
518291:	8b ec                	mov    %esp,%ebp
518293:	83 ec 0c             	sub    $0xc,%esp
518296:	53                   	push   %ebx
518297:	56                   	push   %esi
518298:	8b 75 08             	mov    0x8(%ebp),%esi
51829b:	8b 1e                	mov    (%esi),%ebx
51829d:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
5182a1:	0f 85 91 01 00 00    	jne    0x518438
5182a7:	8b 45 0c             	mov    0xc(%ebp),%eax
5182aa:	57                   	push   %edi
5182ab:	83 c0 08             	add    $0x8,%eax
5182ae:	50                   	push   %eax
5182af:	6a 00                	push   $0x0
5182b1:	56                   	push   %esi
5182b2:	e8 79 89 01 00       	call   0x530c30
5182b7:	8b f8                	mov    %eax,%edi
5182b9:	83 c4 0c             	add    $0xc,%esp
5182bc:	89 7d f8             	mov    %edi,-0x8(%ebp)
5182bf:	85 ff                	test   %edi,%edi
5182c1:	0f 84 70 01 00 00    	je     0x518437
5182c7:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
5182cb:	74 21                	je     0x5182ee
5182cd:	68 08 99 6b 00       	push   $0x6b9908
5182d2:	56                   	push   %esi
5182d3:	e8 88 af 00 00       	call   0x523260
5182d8:	83 c4 08             	add    $0x8,%esp
5182db:	5f                   	pop    %edi
5182dc:	ff 75 0c             	push   0xc(%ebp)
5182df:	53                   	push   %ebx
5182e0:	e8 8b 4a 02 00       	call   0x53cd70
5182e5:	83 c4 08             	add    $0x8,%esp
5182e8:	5e                   	pop    %esi
5182e9:	5b                   	pop    %ebx
5182ea:	8b e5                	mov    %ebp,%esp
5182ec:	5d                   	pop    %ebp
5182ed:	c3                   	ret
5182ee:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
5182f2:	74 21                	je     0x518315
5182f4:	68 2c 99 6b 00       	push   $0x6b992c
5182f9:	56                   	push   %esi
5182fa:	e8 61 af 00 00       	call   0x523260
5182ff:	83 c4 08             	add    $0x8,%esp
518302:	5f                   	pop    %edi
518303:	ff 75 0c             	push   0xc(%ebp)
518306:	53                   	push   %ebx
518307:	e8 64 4a 02 00       	call   0x53cd70
51830c:	83 c4 08             	add    $0x8,%esp
51830f:	5e                   	pop    %esi
518310:	5b                   	pop    %ebx
518311:	8b e5                	mov    %ebp,%esp
518313:	5d                   	pop    %ebp
518314:	c3                   	ret
518315:	57                   	push   %edi
518316:	56                   	push   %esi
518317:	e8 34 f3 fe ff       	call   0x507650
51831c:	83 c4 08             	add    $0x8,%esp
51831f:	85 c0                	test   %eax,%eax
518321:	0f 85 10 01 00 00    	jne    0x518437
518327:	8b 46 74             	mov    0x74(%esi),%eax
51832a:	8b ce                	mov    %esi,%ecx
51832c:	85 c0                	test   %eax,%eax
51832e:	0f 45 c8             	cmovne %eax,%ecx
518331:	c6 41 15 01          	movb   $0x1,0x15(%ecx)
518335:	ff 77 48             	push   0x48(%edi)
518338:	53                   	push   %ebx
518339:	e8 22 17 02 00       	call   0x539a60
51833e:	6a 00                	push   $0x0
518340:	6a 50                	push   $0x50
518342:	53                   	push   %ebx
518343:	89 45 f4             	mov    %eax,-0xc(%ebp)
518346:	e8 d5 91 00 00       	call   0x521520
51834b:	8b f8                	mov    %eax,%edi
51834d:	83 c4 14             	add    $0x14,%esp
518350:	85 ff                	test   %edi,%edi
518352:	0f 84 df 00 00 00    	je     0x518437
518358:	89 be e4 00 00 00    	mov    %edi,0xe4(%esi)
51835e:	8b 75 f8             	mov    -0x8(%ebp),%esi
518361:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
518368:	6a 00                	push   $0x0
51836a:	0f b7 4e 2a          	movzwl 0x2a(%esi),%ecx
51836e:	0f bf c1             	movswl %cx,%eax
518371:	48                   	dec    %eax
518372:	66 89 4f 2a          	mov    %cx,0x2a(%edi)
518376:	99                   	cltd
518377:	83 e2 07             	and    $0x7,%edx
51837a:	03 c2                	add    %edx,%eax
51837c:	c1 f8 03             	sar    $0x3,%eax
51837f:	40                   	inc    %eax
518380:	8d 04 80             	lea    (%eax,%eax,4),%eax
518383:	c1 e0 05             	shl    $0x5,%eax
518386:	50                   	push   %eax
518387:	53                   	push   %ebx
518388:	e8 93 91 00 00       	call   0x521520
51838d:	89 47 04             	mov    %eax,0x4(%edi)
518390:	ff 36                	push   (%esi)
518392:	68 4c 99 6b 00       	push   $0x6b994c
518397:	53                   	push   %ebx
518398:	e8 a3 8b 01 00       	call   0x530f40
51839d:	8b 4f 04             	mov    0x4(%edi),%ecx
5183a0:	83 c4 18             	add    $0x18,%esp
5183a3:	89 07                	mov    %eax,(%edi)
5183a5:	85 c9                	test   %ecx,%ecx
5183a7:	0f 84 8a 00 00 00    	je     0x518437
5183ad:	85 c0                	test   %eax,%eax
5183af:	0f 84 82 00 00 00    	je     0x518437
5183b5:	0f bf 47 2a          	movswl 0x2a(%edi),%eax
5183b9:	8d 04 80             	lea    (%eax,%eax,4),%eax
5183bc:	c1 e0 02             	shl    $0x2,%eax
5183bf:	50                   	push   %eax
5183c0:	ff 76 04             	push   0x4(%esi)
5183c3:	51                   	push   %ecx
5183c4:	e8 37 ab 0c 00       	call   0x5e2f00
5183c9:	33 c0                	xor    %eax,%eax
5183cb:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
5183d2:	83 c4 0c             	add    $0xc,%esp
5183d5:	66 3b 47 2a          	cmp    0x2a(%edi),%ax
5183d9:	7d 40                	jge    0x51841b
5183db:	33 c9                	xor    %ecx,%ecx
5183dd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5183e0:	8b 77 04             	mov    0x4(%edi),%esi
5183e3:	03 f1                	add    %ecx,%esi
5183e5:	ff 36                	push   (%esi)
5183e7:	53                   	push   %ebx
5183e8:	e8 c3 92 00 00       	call   0x5216b0
5183ed:	8b 55 08             	mov    0x8(%ebp),%edx
5183f0:	83 c4 08             	add    $0x8,%esp
5183f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5183f6:	42                   	inc    %edx
5183f7:	89 06                	mov    %eax,(%esi)
5183f9:	83 c1 14             	add    $0x14,%ecx
5183fc:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
518403:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
51840a:	0f bf 47 2a          	movswl 0x2a(%edi),%eax
51840e:	89 55 08             	mov    %edx,0x8(%ebp)
518411:	89 4d fc             	mov    %ecx,-0x4(%ebp)
518414:	3b d0                	cmp    %eax,%edx
518416:	7c c8                	jl     0x5183e0
518418:	8b 75 f8             	mov    -0x8(%ebp),%esi
51841b:	8b 43 10             	mov    0x10(%ebx),%eax
51841e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
518421:	03 c9                	add    %ecx,%ecx
518423:	8b 44 c8 0c          	mov    0xc(%eax,%ecx,8),%eax
518427:	89 47 48             	mov    %eax,0x48(%edi)
51842a:	8b 46 34             	mov    0x34(%esi),%eax
51842d:	89 47 34             	mov    %eax,0x34(%edi)
518430:	c7 47 20 01 00 00 00 	movl   $0x1,0x20(%edi)
518437:	5f                   	pop    %edi
518438:	ff 75 0c             	push   0xc(%ebp)
51843b:	53                   	push   %ebx
51843c:	e8 2f 49 02 00       	call   0x53cd70
518441:	83 c4 08             	add    $0x8,%esp
518444:	5e                   	pop    %esi
518445:	5b                   	pop    %ebx
518446:	8b e5                	mov    %ebp,%esp
518448:	5d                   	pop    %ebp
518449:	c3                   	ret
51844a:	cc                   	int3
51844b:	cc                   	int3
51844c:	cc                   	int3
51844d:	cc                   	int3
51844e:	cc                   	int3
51844f:	cc                   	int3
518450:	55                   	push   %ebp
518451:	8b ec                	mov    %esp,%ebp
518453:	83 ec 1c             	sub    $0x1c,%esp
518456:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51845b:	33 c5                	xor    %ebp,%eax
51845d:	89 45 fc             	mov    %eax,-0x4(%ebp)
518460:	8b 4d 0c             	mov    0xc(%ebp),%ecx
518463:	57                   	push   %edi
518464:	8b 7d 08             	mov    0x8(%ebp),%edi
518467:	89 4d f0             	mov    %ecx,-0x10(%ebp)
51846a:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
51846e:	8b 17                	mov    (%edi),%edx
518470:	89 55 f4             	mov    %edx,-0xc(%ebp)
518473:	0f 85 d0 02 00 00    	jne    0x518749
518479:	80 7a 51 00          	cmpb   $0x0,0x51(%edx)
51847d:	0f 85 c6 02 00 00    	jne    0x518749
518483:	53                   	push   %ebx
518484:	56                   	push   %esi
518485:	8b b7 e4 00 00 00    	mov    0xe4(%edi),%esi
51848b:	bb c0 bd f0 ff       	mov    $0xfff0bdc0,%ebx
518490:	89 75 e8             	mov    %esi,-0x18(%ebp)
518493:	8b 4e 48             	mov    0x48(%esi),%ecx
518496:	85 c9                	test   %ecx,%ecx
518498:	74 14                	je     0x5184ae
51849a:	8b 42 10             	mov    0x10(%edx),%eax
51849d:	33 db                	xor    %ebx,%ebx
51849f:	83 c0 0c             	add    $0xc,%eax
5184a2:	39 08                	cmp    %ecx,(%eax)
5184a4:	74 08                	je     0x5184ae
5184a6:	8d 40 10             	lea    0x10(%eax),%eax
5184a9:	43                   	inc    %ebx
5184aa:	39 08                	cmp    %ecx,(%eax)
5184ac:	75 f8                	jne    0x5184a6
5184ae:	8b 42 10             	mov    0x10(%edx),%eax
5184b1:	8b cb                	mov    %ebx,%ecx
5184b3:	03 c9                	add    %ecx,%ecx
5184b5:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
5184b8:	89 45 ec             	mov    %eax,-0x14(%ebp)
5184bb:	8b 06                	mov    (%esi),%eax
5184bd:	ff 75 ec             	push   -0x14(%ebp)
5184c0:	83 c0 10             	add    $0x10,%eax
5184c3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5184c6:	0f bf 46 2a          	movswl 0x2a(%esi),%eax
5184ca:	ff 75 e4             	push   -0x1c(%ebp)
5184cd:	52                   	push   %edx
5184ce:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5184d1:	8b 46 04             	mov    0x4(%esi),%eax
5184d4:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5184d7:	83 c0 ec             	add    $0xffffffec,%eax
5184da:	89 45 f8             	mov    %eax,-0x8(%ebp)
5184dd:	8b 70 04             	mov    0x4(%eax),%esi
5184e0:	e8 db 04 01 00       	call   0x5289c0
5184e5:	6a 00                	push   $0x0
5184e7:	ff 30                	push   (%eax)
5184e9:	ff 75 ec             	push   -0x14(%ebp)
5184ec:	6a 1a                	push   $0x1a
5184ee:	57                   	push   %edi
5184ef:	e8 ac 12 00 00       	call   0x5197a0
5184f4:	83 c4 20             	add    $0x20,%esp
5184f7:	85 c0                	test   %eax,%eax
5184f9:	0f 85 48 02 00 00    	jne    0x518747