5f5108:	5f                   	pop    %edi
5f5109:	89 06                	mov    %eax,(%esi)
5f510b:	5e                   	pop    %esi
5f510c:	5d                   	pop    %ebp
5f510d:	c3                   	ret
5f510e:	8b ff                	mov    %edi,%edi
5f5110:	55                   	push   %ebp
5f5111:	8b ec                	mov    %esp,%ebp
5f5113:	56                   	push   %esi
5f5114:	8b 75 14             	mov    0x14(%ebp),%esi
5f5117:	85 f6                	test   %esi,%esi
5f5119:	7e 0d                	jle    0x5f5128
5f511b:	56                   	push   %esi
5f511c:	ff 75 10             	push   0x10(%ebp)
5f511f:	e8 84 36 ff ff       	call   0x5e87a8
5f5124:	59                   	pop    %ecx
5f5125:	59                   	pop    %ecx
5f5126:	8b f0                	mov    %eax,%esi
5f5128:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f512b:	85 c0                	test   %eax,%eax
5f512d:	7e 0b                	jle    0x5f513a
5f512f:	50                   	push   %eax
5f5130:	ff 75 18             	push   0x18(%ebp)
5f5133:	e8 70 36 ff ff       	call   0x5e87a8
5f5138:	59                   	pop    %ecx
5f5139:	59                   	pop    %ecx
5f513a:	85 f6                	test   %esi,%esi
5f513c:	74 1e                	je     0x5f515c
5f513e:	85 c0                	test   %eax,%eax
5f5140:	74 1a                	je     0x5f515c
5f5142:	33 c9                	xor    %ecx,%ecx
5f5144:	51                   	push   %ecx
5f5145:	51                   	push   %ecx
5f5146:	51                   	push   %ecx
5f5147:	50                   	push   %eax
5f5148:	ff 75 18             	push   0x18(%ebp)
5f514b:	56                   	push   %esi
5f514c:	ff 75 10             	push   0x10(%ebp)
5f514f:	ff 75 0c             	push   0xc(%ebp)
5f5152:	ff 75 08             	push   0x8(%ebp)
5f5155:	e8 8b 5d ff ff       	call   0x5eaee5
5f515a:	eb 14                	jmp    0x5f5170
5f515c:	2b f0                	sub    %eax,%esi
5f515e:	75 05                	jne    0x5f5165
5f5160:	6a 02                	push   $0x2
5f5162:	5e                   	pop    %esi
5f5163:	eb 09                	jmp    0x5f516e
5f5165:	c1 fe 1f             	sar    $0x1f,%esi
5f5168:	83 e6 fe             	and    $0xfffffffe,%esi
5f516b:	83 c6 03             	add    $0x3,%esi
5f516e:	8b c6                	mov    %esi,%eax
5f5170:	5e                   	pop    %esi
5f5171:	5d                   	pop    %ebp
5f5172:	c3                   	ret
5f5173:	8b ff                	mov    %edi,%edi
5f5175:	55                   	push   %ebp
5f5176:	8b ec                	mov    %esp,%ebp
5f5178:	83 ec 28             	sub    $0x28,%esp
5f517b:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5f5180:	33 c5                	xor    %ebp,%eax
5f5182:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f5185:	8b 45 08             	mov    0x8(%ebp),%eax
5f5188:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5f518b:	53                   	push   %ebx
5f518c:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f518f:	8b 45 0c             	mov    0xc(%ebp),%eax
5f5192:	56                   	push   %esi
5f5193:	8b 75 18             	mov    0x18(%ebp),%esi
5f5196:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f5199:	8b 45 14             	mov    0x14(%ebp),%eax
5f519c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f519f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5f51a2:	57                   	push   %edi
5f51a3:	85 f6                	test   %esi,%esi
5f51a5:	7e 10                	jle    0x5f51b7
5f51a7:	56                   	push   %esi
5f51a8:	50                   	push   %eax
5f51a9:	e8 bc 34 ff ff       	call   0x5e866a
5f51ae:	59                   	pop    %ecx
5f51af:	59                   	pop    %ecx
5f51b0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5f51b3:	8b f0                	mov    %eax,%esi
5f51b5:	eb 09                	jmp    0x5f51c0
5f51b7:	83 fe ff             	cmp    $0xffffffff,%esi
5f51ba:	0f 8c fb 01 00 00    	jl     0x5f53bb
5f51c0:	8b 7d 20             	mov    0x20(%ebp),%edi
5f51c3:	85 ff                	test   %edi,%edi
5f51c5:	7e 10                	jle    0x5f51d7
5f51c7:	57                   	push   %edi
5f51c8:	51                   	push   %ecx
5f51c9:	e8 9c 34 ff ff       	call   0x5e866a
5f51ce:	59                   	pop    %ecx
5f51cf:	8b f8                	mov    %eax,%edi
5f51d1:	59                   	pop    %ecx
5f51d2:	89 7d 20             	mov    %edi,0x20(%ebp)
5f51d5:	eb 09                	jmp    0x5f51e0
5f51d7:	83 ff ff             	cmp    $0xffffffff,%edi
5f51da:	0f 8c db 01 00 00    	jl     0x5f53bb
5f51e0:	8b 5d 24             	mov    0x24(%ebp),%ebx
5f51e3:	85 db                	test   %ebx,%ebx
5f51e5:	75 0b                	jne    0x5f51f2
5f51e7:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f51ea:	8b 00                	mov    (%eax),%eax
5f51ec:	8b 58 08             	mov    0x8(%eax),%ebx
5f51ef:	89 5d 24             	mov    %ebx,0x24(%ebp)
5f51f2:	85 f6                	test   %esi,%esi
5f51f4:	74 08                	je     0x5f51fe
5f51f6:	85 ff                	test   %edi,%edi
5f51f8:	0f 85 9f 00 00 00    	jne    0x5f529d
5f51fe:	3b f7                	cmp    %edi,%esi
5f5200:	0f 84 05 02 00 00    	je     0x5f540b
5f5206:	83 ff 01             	cmp    $0x1,%edi
5f5209:	0f 8f 86 00 00 00    	jg     0x5f5295
5f520f:	83 fe 01             	cmp    $0x1,%esi
5f5212:	7f 46                	jg     0x5f525a
5f5214:	8d 45 e8             	lea    -0x18(%ebp),%eax
5f5217:	50                   	push   %eax
5f5218:	53                   	push   %ebx
5f5219:	ff 15 80 21 60 00    	call   *0x602180
5f521f:	85 c0                	test   %eax,%eax
5f5221:	0f 84 94 01 00 00    	je     0x5f53bb
5f5227:	85 f6                	test   %esi,%esi
5f5229:	7e 37                	jle    0x5f5262
5f522b:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
5f522f:	72 29                	jb     0x5f525a
5f5231:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
5f5235:	8d 45 ee             	lea    -0x12(%ebp),%eax
5f5238:	74 20                	je     0x5f525a
5f523a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5f523d:	8a 48 01             	mov    0x1(%eax),%cl
5f5240:	84 c9                	test   %cl,%cl
5f5242:	74 16                	je     0x5f525a
5f5244:	8a 16                	mov    (%esi),%dl
5f5246:	3a 10                	cmp    (%eax),%dl
5f5248:	72 08                	jb     0x5f5252
5f524a:	3a d1                	cmp    %cl,%dl
5f524c:	0f 86 b9 01 00 00    	jbe    0x5f540b
5f5252:	83 c0 02             	add    $0x2,%eax
5f5255:	80 38 00             	cmpb   $0x0,(%eax)
5f5258:	75 e3                	jne    0x5f523d
5f525a:	6a 03                	push   $0x3
5f525c:	58                   	pop    %eax
5f525d:	e9 5b 01 00 00       	jmp    0x5f53bd
5f5262:	85 ff                	test   %edi,%edi
5f5264:	7e 37                	jle    0x5f529d
5f5266:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
5f526a:	72 29                	jb     0x5f5295
5f526c:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
5f5270:	8d 45 ee             	lea    -0x12(%ebp),%eax
5f5273:	74 20                	je     0x5f5295
5f5275:	8b 7d e0             	mov    -0x20(%ebp),%edi
5f5278:	8a 48 01             	mov    0x1(%eax),%cl
5f527b:	84 c9                	test   %cl,%cl
5f527d:	74 16                	je     0x5f5295
5f527f:	8a 17                	mov    (%edi),%dl
5f5281:	3a 10                	cmp    (%eax),%dl
5f5283:	72 08                	jb     0x5f528d
5f5285:	3a d1                	cmp    %cl,%dl
5f5287:	0f 86 7e 01 00 00    	jbe    0x5f540b
5f528d:	83 c0 02             	add    $0x2,%eax
5f5290:	80 38 00             	cmpb   $0x0,(%eax)
5f5293:	75 e3                	jne    0x5f5278
5f5295:	33 c0                	xor    %eax,%eax
5f5297:	40                   	inc    %eax
5f5298:	e9 20 01 00 00       	jmp    0x5f53bd
5f529d:	6a 00                	push   $0x0
5f529f:	6a 00                	push   $0x0
5f52a1:	56                   	push   %esi
5f52a2:	ff 75 e4             	push   -0x1c(%ebp)
5f52a5:	6a 09                	push   $0x9
5f52a7:	53                   	push   %ebx
5f52a8:	e8 94 98 ff ff       	call   0x5eeb41
5f52ad:	83 c4 18             	add    $0x18,%esp
5f52b0:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f52b3:	85 c0                	test   %eax,%eax
5f52b5:	0f 84 00 01 00 00    	je     0x5f53bb
5f52bb:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
5f52be:	8d 51 08             	lea    0x8(%ecx),%edx
5f52c1:	3b ca                	cmp    %edx,%ecx
5f52c3:	1b c0                	sbb    %eax,%eax
5f52c5:	23 c2                	and    %edx,%eax
5f52c7:	0f 84 3a 01 00 00    	je     0x5f5407
5f52cd:	3d 00 04 00 00       	cmp    $0x400,%eax
5f52d2:	77 17                	ja     0x5f52eb
5f52d4:	e8 97 bf fd ff       	call   0x5d1270
5f52d9:	8b dc                	mov    %esp,%ebx
5f52db:	85 db                	test   %ebx,%ebx
5f52dd:	0f 84 24 01 00 00    	je     0x5f5407
5f52e3:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
5f52e9:	eb 17                	jmp    0x5f5302
5f52eb:	50                   	push   %eax
5f52ec:	e8 6b 5f ff ff       	call   0x5eb25c
5f52f1:	8b d8                	mov    %eax,%ebx
5f52f3:	59                   	pop    %ecx
5f52f4:	85 db                	test   %ebx,%ebx
5f52f6:	0f 84 0b 01 00 00    	je     0x5f5407
5f52fc:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
5f5302:	83 c3 08             	add    $0x8,%ebx
5f5305:	85 db                	test   %ebx,%ebx
5f5307:	0f 84 fa 00 00 00    	je     0x5f5407
5f530d:	ff 75 dc             	push   -0x24(%ebp)
5f5310:	53                   	push   %ebx
5f5311:	56                   	push   %esi
5f5312:	ff 75 e4             	push   -0x1c(%ebp)
5f5315:	8b 75 24             	mov    0x24(%ebp),%esi
5f5318:	6a 01                	push   $0x1
5f531a:	56                   	push   %esi
5f531b:	e8 21 98 ff ff       	call   0x5eeb41
5f5320:	83 c4 18             	add    $0x18,%esp
5f5323:	85 c0                	test   %eax,%eax
5f5325:	0f 84 d4 00 00 00    	je     0x5f53ff
5f532b:	6a 00                	push   $0x0
5f532d:	6a 00                	push   $0x0
5f532f:	57                   	push   %edi
5f5330:	8b 7d e0             	mov    -0x20(%ebp),%edi
5f5333:	57                   	push   %edi
5f5334:	6a 09                	push   $0x9
5f5336:	56                   	push   %esi
5f5337:	e8 05 98 ff ff       	call   0x5eeb41
5f533c:	83 c4 18             	add    $0x18,%esp
5f533f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f5342:	85 c0                	test   %eax,%eax
5f5344:	0f 84 b5 00 00 00    	je     0x5f53ff
5f534a:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
5f534d:	8d 51 08             	lea    0x8(%ecx),%edx
5f5350:	3b ca                	cmp    %edx,%ecx
5f5352:	1b c0                	sbb    %eax,%eax
5f5354:	23 c2                	and    %edx,%eax
5f5356:	0f 84 9f 00 00 00    	je     0x5f53fb
5f535c:	3d 00 04 00 00       	cmp    $0x400,%eax
5f5361:	77 17                	ja     0x5f537a
5f5363:	e8 08 bf fd ff       	call   0x5d1270
5f5368:	8b fc                	mov    %esp,%edi
5f536a:	85 ff                	test   %edi,%edi
5f536c:	0f 84 89 00 00 00    	je     0x5f53fb
5f5372:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
5f5378:	eb 13                	jmp    0x5f538d
5f537a:	50                   	push   %eax
5f537b:	e8 dc 5e ff ff       	call   0x5eb25c
5f5380:	8b f8                	mov    %eax,%edi
5f5382:	59                   	pop    %ecx
5f5383:	85 ff                	test   %edi,%edi
5f5385:	74 74                	je     0x5f53fb
5f5387:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
5f538d:	83 c7 08             	add    $0x8,%edi
5f5390:	85 ff                	test   %edi,%edi
5f5392:	74 67                	je     0x5f53fb
5f5394:	ff 75 e4             	push   -0x1c(%ebp)
5f5397:	57                   	push   %edi
5f5398:	ff 75 20             	push   0x20(%ebp)
5f539b:	ff 75 e0             	push   -0x20(%ebp)
5f539e:	6a 01                	push   $0x1
5f53a0:	56                   	push   %esi
5f53a1:	e8 9b 97 ff ff       	call   0x5eeb41
5f53a6:	83 c4 18             	add    $0x18,%esp
5f53a9:	85 c0                	test   %eax,%eax
5f53ab:	75 22                	jne    0x5f53cf
5f53ad:	57                   	push   %edi
5f53ae:	e8 48 bd fd ff       	call   0x5d10fb
5f53b3:	53                   	push   %ebx
5f53b4:	e8 42 bd fd ff       	call   0x5d10fb
5f53b9:	59                   	pop    %ecx
5f53ba:	59                   	pop    %ecx
5f53bb:	33 c0                	xor    %eax,%eax
5f53bd:	8d 65 cc             	lea    -0x34(%ebp),%esp
5f53c0:	5f                   	pop    %edi
5f53c1:	5e                   	pop    %esi
5f53c2:	5b                   	pop    %ebx
5f53c3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f53c6:	33 cd                	xor    %ebp,%ecx
5f53c8:	e8 59 c6 fd ff       	call   0x5d1a26
5f53cd:	c9                   	leave
5f53ce:	c3                   	ret
5f53cf:	33 c0                	xor    %eax,%eax
5f53d1:	50                   	push   %eax
5f53d2:	50                   	push   %eax
5f53d3:	50                   	push   %eax
5f53d4:	ff 75 e4             	push   -0x1c(%ebp)
5f53d7:	57                   	push   %edi
5f53d8:	ff 75 dc             	push   -0x24(%ebp)
5f53db:	53                   	push   %ebx
5f53dc:	ff 75 10             	push   0x10(%ebp)
5f53df:	ff 75 d8             	push   -0x28(%ebp)
5f53e2:	e8 fe 5a ff ff       	call   0x5eaee5
5f53e7:	57                   	push   %edi
5f53e8:	8b f0                	mov    %eax,%esi
5f53ea:	e8 0c bd fd ff       	call   0x5d10fb
5f53ef:	53                   	push   %ebx
5f53f0:	e8 06 bd fd ff       	call   0x5d10fb
5f53f5:	59                   	pop    %ecx
5f53f6:	59                   	pop    %ecx
5f53f7:	8b c6                	mov    %esi,%eax
5f53f9:	eb c2                	jmp    0x5f53bd
5f53fb:	6a 00                	push   $0x0
5f53fd:	eb af                	jmp    0x5f53ae
5f53ff:	53                   	push   %ebx
5f5400:	e8 f6 bc fd ff       	call   0x5d10fb
5f5405:	eb b3                	jmp    0x5f53ba
5f5407:	6a 00                	push   $0x0
5f5409:	eb f5                	jmp    0x5f5400
5f540b:	6a 02                	push   $0x2
5f540d:	e9 4a fe ff ff       	jmp    0x5f525c
5f5412:	8b ff                	mov    %edi,%edi
5f5414:	55                   	push   %ebp
5f5415:	8b ec                	mov    %esp,%ebp
5f5417:	83 ec 10             	sub    $0x10,%esp
5f541a:	ff 75 08             	push   0x8(%ebp)
5f541d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5f5420:	e8 b0 58 fe ff       	call   0x5dacd5
5f5425:	ff 75 24             	push   0x24(%ebp)
5f5428:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f542b:	ff 75 20             	push   0x20(%ebp)
5f542e:	ff 75 1c             	push   0x1c(%ebp)
5f5431:	ff 75 18             	push   0x18(%ebp)
5f5434:	ff 75 14             	push   0x14(%ebp)
5f5437:	ff 75 10             	push   0x10(%ebp)
5f543a:	ff 75 0c             	push   0xc(%ebp)
5f543d:	50                   	push   %eax
5f543e:	e8 30 fd ff ff       	call   0x5f5173
5f5443:	83 c4 20             	add    $0x20,%esp
5f5446:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
5f544a:	74 0a                	je     0x5f5456
5f544c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f544f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f5456:	c9                   	leave
5f5457:	c3                   	ret
5f5458:	8b ff                	mov    %edi,%edi
5f545a:	53                   	push   %ebx
5f545b:	8b dc                	mov    %esp,%ebx
5f545d:	51                   	push   %ecx
5f545e:	51                   	push   %ecx
5f545f:	83 e4 f0             	and    $0xfffffff0,%esp
5f5462:	83 c4 04             	add    $0x4,%esp
5f5465:	55                   	push   %ebp
5f5466:	8b 6b 04             	mov    0x4(%ebx),%ebp
5f5469:	89 6c 24 04          	mov    %ebp,0x4(%esp)
5f546d:	8b ec                	mov    %esp,%ebp
5f546f:	81 ec 88 00 00 00    	sub    $0x88,%esp
5f5475:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5f547a:	33 c5                	xor    %ebp,%eax
5f547c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f547f:	8b 43 10             	mov    0x10(%ebx),%eax
5f5482:	56                   	push   %esi
5f5483:	8b 73 0c             	mov    0xc(%ebx),%esi
5f5486:	57                   	push   %edi
5f5487:	0f b7 08             	movzwl (%eax),%ecx
5f548a:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
5f5490:	8b 06                	mov    (%esi),%eax
5f5492:	83 e8 01             	sub    $0x1,%eax
5f5495:	74 2f                	je     0x5f54c6