517f90:	8b 45 f8             	mov    -0x8(%ebp),%eax
517f93:	85 c0                	test   %eax,%eax
517f95:	0f 84 db 00 00 00    	je     0x518076
517f9b:	f6 40 10 04          	testb  $0x4,0x10(%eax)
517f9f:	75 3a                	jne    0x517fdb
517fa1:	b8 ad 57 6e 00       	mov    $0x6e57ad,%eax
517fa6:	eb 48                	jmp    0x517ff0
517fa8:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
517faf:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
517fb6:	2b c1                	sub    %ecx,%eax
517fb8:	75 06                	jne    0x517fc0
517fba:	42                   	inc    %edx
517fbb:	e9 76 ff ff ff       	jmp    0x517f36
517fc0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
517fc3:	47                   	inc    %edi
517fc4:	83 c3 14             	add    $0x14,%ebx
517fc7:	0f bf 41 2a          	movswl 0x2a(%ecx),%eax
517fcb:	3b f8                	cmp    %eax,%edi
517fcd:	7d 08                	jge    0x517fd7
517fcf:	8b 45 ec             	mov    -0x14(%ebp),%eax
517fd2:	e9 59 ff ff ff       	jmp    0x517f30
517fd7:	8b d9                	mov    %ecx,%ebx
517fd9:	eb 96                	jmp    0x517f71
517fdb:	8b 10                	mov    (%eax),%edx
517fdd:	8b ca                	mov    %edx,%ecx
517fdf:	8d 71 01             	lea    0x1(%ecx),%esi
517fe2:	8a 01                	mov    (%ecx),%al
517fe4:	41                   	inc    %ecx
517fe5:	84 c0                	test   %al,%al
517fe7:	75 f9                	jne    0x517fe2
517fe9:	2b ce                	sub    %esi,%ecx
517feb:	8d 41 01             	lea    0x1(%ecx),%eax
517fee:	03 c2                	add    %edx,%eax
517ff0:	68 50 9f 6b 00       	push   $0x6b9f50
517ff5:	50                   	push   %eax
517ff6:	e8 35 5c 02 00       	call   0x53dc30
517ffb:	83 c4 08             	add    $0x8,%esp
517ffe:	85 c0                	test   %eax,%eax
518000:	8b 45 18             	mov    0x18(%ebp),%eax
518003:	75 74                	jne    0x518079
518005:	83 f8 01             	cmp    $0x1,%eax
518008:	74 6f                	je     0x518079
51800a:	8b 75 08             	mov    0x8(%ebp),%esi
51800d:	8b 55 0c             	mov    0xc(%ebp),%edx
518010:	80 be c8 00 00 00 02 	cmpb   $0x2,0xc8(%esi)
518017:	72 1a                	jb     0x518033
518019:	85 d2                	test   %edx,%edx
51801b:	74 16                	je     0x518033
51801d:	ff 72 04             	push   0x4(%edx)
518020:	e8 fb fc 00 00       	call   0x527d20
518025:	50                   	push   %eax
518026:	8d 43 28             	lea    0x28(%ebx),%eax
518029:	50                   	push   %eax
51802a:	56                   	push   %esi
51802b:	e8 d0 fe 01 00       	call   0x537f00
518030:	83 c4 10             	add    $0x10,%esp
518033:	8a 45 10             	mov    0x10(%ebp),%al
518036:	88 43 32             	mov    %al,0x32(%ebx)
518039:	8b 45 14             	mov    0x14(%ebp),%eax
51803c:	c1 e0 03             	shl    $0x3,%eax
51803f:	09 43 24             	or     %eax,0x24(%ebx)
518042:	66 89 7b 28          	mov    %di,0x28(%ebx)
518046:	85 d2                	test   %edx,%edx
518048:	74 09                	je     0x518053
51804a:	8a 42 0c             	mov    0xc(%edx),%al
51804d:	88 86 c6 00 00 00    	mov    %al,0xc6(%esi)
518053:	52                   	push   %edx
518054:	56                   	push   %esi
518055:	e8 26 59 01 00       	call   0x52d980
51805a:	83 c4 08             	add    $0x8,%esp
51805d:	8b 45 0c             	mov    0xc(%ebp),%eax
518060:	85 c0                	test   %eax,%eax
518062:	74 0b                	je     0x51806f
518064:	50                   	push   %eax
518065:	ff 36                	push   (%esi)
518067:	e8 94 8f fe ff       	call   0x501000
51806c:	83 c4 08             	add    $0x8,%esp
51806f:	5f                   	pop    %edi
518070:	5e                   	pop    %esi
518071:	5b                   	pop    %ebx
518072:	8b e5                	mov    %ebp,%esp
518074:	5d                   	pop    %ebp
518075:	c3                   	ret
518076:	8b 45 18             	mov    0x18(%ebp),%eax
518079:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
51807d:	74 10                	je     0x51808f
51807f:	8b 75 08             	mov    0x8(%ebp),%esi
518082:	68 58 9f 6b 00       	push   $0x6b9f58
518087:	56                   	push   %esi
518088:	e8 d3 b1 00 00       	call   0x523260
51808d:	eb cb                	jmp    0x51805a
51808f:	6a 02                	push   $0x2
518091:	6a 00                	push   $0x0
518093:	50                   	push   %eax
518094:	8b 45 0c             	mov    0xc(%ebp),%eax
518097:	6a 00                	push   $0x0
518099:	6a 00                	push   $0x0
51809b:	ff 75 10             	push   0x10(%ebp)
51809e:	50                   	push   %eax
51809f:	6a 00                	push   $0x0
5180a1:	6a 00                	push   $0x0
5180a3:	6a 00                	push   $0x0
5180a5:	ff 75 08             	push   0x8(%ebp)
5180a8:	e8 b3 84 00 00       	call   0x520560
5180ad:	83 c4 2c             	add    $0x2c,%esp
5180b0:	5f                   	pop    %edi
5180b1:	5e                   	pop    %esi
5180b2:	5b                   	pop    %ebx
5180b3:	8b e5                	mov    %ebp,%esp
5180b5:	5d                   	pop    %ebp
5180b6:	c3                   	ret
5180b7:	cc                   	int3
5180b8:	cc                   	int3
5180b9:	cc                   	int3
5180ba:	cc                   	int3
5180bb:	cc                   	int3
5180bc:	cc                   	int3
5180bd:	cc                   	int3
5180be:	cc                   	int3
5180bf:	cc                   	int3
5180c0:	55                   	push   %ebp
5180c1:	8b ec                	mov    %esp,%ebp
5180c3:	53                   	push   %ebx
5180c4:	56                   	push   %esi
5180c5:	8b 75 08             	mov    0x8(%ebp),%esi
5180c8:	33 c9                	xor    %ecx,%ecx
5180ca:	33 d2                	xor    %edx,%edx
5180cc:	b3 43                	mov    $0x43,%bl
5180ce:	8a 06                	mov    (%esi),%al
5180d0:	84 c0                	test   %al,%al
5180d2:	0f 84 a5 00 00 00    	je     0x51817d
5180d8:	0f b6 c0             	movzbl %al,%eax
5180db:	46                   	inc    %esi
5180dc:	c1 e1 08             	shl    $0x8,%ecx
5180df:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
5180e6:	03 c8                	add    %eax,%ecx
5180e8:	81 f9 72 61 68 63    	cmp    $0x63686172,%ecx
5180ee:	75 06                	jne    0x5180f6
5180f0:	b3 42                	mov    $0x42,%bl
5180f2:	8b d6                	mov    %esi,%edx
5180f4:	eb 79                	jmp    0x51816f
5180f6:	81 f9 62 6f 6c 63    	cmp    $0x636c6f62,%ecx
5180fc:	75 04                	jne    0x518102
5180fe:	b3 42                	mov    $0x42,%bl
518100:	eb 6d                	jmp    0x51816f
518102:	81 f9 74 78 65 74    	cmp    $0x74657874,%ecx
518108:	75 04                	jne    0x51810e
51810a:	b3 42                	mov    $0x42,%bl
51810c:	eb 61                	jmp    0x51816f
51810e:	81 f9 62 6f 6c 62    	cmp    $0x626c6f62,%ecx
518114:	75 18                	jne    0x51812e
518116:	80 fb 43             	cmp    $0x43,%bl
518119:	74 05                	je     0x518120
51811b:	80 fb 45             	cmp    $0x45,%bl
51811e:	75 41                	jne    0x518161
518120:	80 3e 28             	cmpb   $0x28,(%esi)
518123:	8b c6                	mov    %esi,%eax
518125:	b3 41                	mov    $0x41,%bl
518127:	0f 45 c2             	cmovne %edx,%eax
51812a:	8b d0                	mov    %eax,%edx
51812c:	eb 41                	jmp    0x51816f
51812e:	81 f9 6c 61 65 72    	cmp    $0x7265616c,%ecx
518134:	75 09                	jne    0x51813f
518136:	80 fb 43             	cmp    $0x43,%bl
518139:	75 26                	jne    0x518161
51813b:	b3 45                	mov    $0x45,%bl
51813d:	eb 30                	jmp    0x51816f
51813f:	81 f9 61 6f 6c 66    	cmp    $0x666c6f61,%ecx
518145:	75 09                	jne    0x518150
518147:	80 fb 43             	cmp    $0x43,%bl
51814a:	75 15                	jne    0x518161
51814c:	b3 45                	mov    $0x45,%bl
51814e:	eb 1f                	jmp    0x51816f
518150:	81 f9 62 75 6f 64    	cmp    $0x646f7562,%ecx
518156:	75 09                	jne    0x518161
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