500111:	4a                   	dec    %edx
500112:	23 c2                	and    %edx,%eax
500114:	3b 04 b5 18 d7 68 00 	cmp    0x68d718(,%esi,4),%eax
50011b:	7d 0b                	jge    0x500128
50011d:	8b 14 b5 58 d7 68 00 	mov    0x68d758(,%esi,4),%edx
500124:	03 d0                	add    %eax,%edx
500126:	eb 02                	jmp    0x50012a
500128:	8b d0                	mov    %eax,%edx
50012a:	8b 04 ad 64 d9 68 00 	mov    0x68d964(,%ebp,4),%eax
500131:	8b 4c 24 10          	mov    0x10(%esp),%ecx
500135:	8b f2                	mov    %edx,%esi
500137:	66 89 34 41          	mov    %si,(%ecx,%eax,2)
50013b:	eb 0c                	jmp    0x500149
50013d:	83 f8 0f             	cmp    $0xf,%eax
500140:	0f 85 fb 00 00 00    	jne    0x500241
500146:	83 c5 0f             	add    $0xf,%ebp
500149:	45                   	inc    %ebp
50014a:	83 fd 40             	cmp    $0x40,%ebp
50014d:	0f 8c df fe ff ff    	jl     0x500032
500153:	e9 e9 00 00 00       	jmp    0x500241
500158:	bd 01 00 00 00       	mov    $0x1,%ebp
50015d:	83 fb 08             	cmp    $0x8,%ebx
500160:	7d 31                	jge    0x500193
500162:	6a 00                	push   $0x0
500164:	8d 44 24 34          	lea    0x34(%esp),%eax
500168:	8b cb                	mov    %ebx,%ecx
50016a:	8b d7                	mov    %edi,%edx
50016c:	e8 2f fa ff ff       	call   0x4ffba0
500171:	85 c0                	test   %eax,%eax
500173:	75 07                	jne    0x50017c
500175:	33 c0                	xor    %eax,%eax
500177:	e9 32 01 00 00       	jmp    0x5002ae
50017c:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
500180:	8b 5c 24 40          	mov    0x40(%esp),%ebx
500184:	83 fb 08             	cmp    $0x8,%ebx
500187:	7d 0a                	jge    0x500193
500189:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
500190:	00
500191:	eb 39                	jmp    0x5001cc
500193:	8d 4b f8             	lea    -0x8(%ebx),%ecx
500196:	8b c7                	mov    %edi,%eax
500198:	d3 f8                	sar    %cl,%eax
50019a:	25 ff 00 00 00       	and    $0xff,%eax
50019f:	8b 54 24 18          	mov    0x18(%esp),%edx
5001a3:	8b 94 82 d4 00 00 00 	mov    0xd4(%edx,%eax,4),%edx
5001aa:	89 54 24 24          	mov    %edx,0x24(%esp)
5001ae:	85 d2                	test   %edx,%edx
5001b0:	74 12                	je     0x5001c4
5001b2:	2b 5c 24 24          	sub    0x24(%esp),%ebx
5001b6:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5001ba:	0f b6 b4 01 d4 04 00 	movzbl 0x4d4(%ecx,%eax,1),%esi
5001c1:	00
5001c2:	eb 34                	jmp    0x5001f8
5001c4:	c7 44 24 24 09 00 00 	movl   $0x9,0x24(%esp)
5001cb:	00
5001cc:	8b 44 24 18          	mov    0x18(%esp),%eax
5001d0:	8b cb                	mov    %ebx,%ecx
5001d2:	50                   	push   %eax
5001d3:	8b 54 24 28          	mov    0x28(%esp),%edx
5001d7:	52                   	push   %edx
5001d8:	8b d7                	mov    %edi,%edx
5001da:	8d 44 24 38          	lea    0x38(%esp),%eax
5001de:	e8 cd fa ff ff       	call   0x4ffcb0
5001e3:	8b f0                	mov    %eax,%esi
5001e5:	85 c0                	test   %eax,%eax
5001e7:	7d 07                	jge    0x5001f0
5001e9:	33 c0                	xor    %eax,%eax
5001eb:	e9 be 00 00 00       	jmp    0x5002ae
5001f0:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5001f4:	8b 5c 24 40          	mov    0x40(%esp),%ebx
5001f8:	8b c6                	mov    %esi,%eax
5001fa:	c1 f8 04             	sar    $0x4,%eax
5001fd:	83 e6 0f             	and    $0xf,%esi
500200:	85 f6                	test   %esi,%esi
500202:	74 2b                	je     0x50022f
500204:	03 e8                	add    %eax,%ebp
500206:	3b f3                	cmp    %ebx,%esi
500208:	7e 21                	jle    0x50022b
50020a:	56                   	push   %esi
50020b:	8d 44 24 34          	lea    0x34(%esp),%eax
50020f:	8b cb                	mov    %ebx,%ecx
500211:	8b d7                	mov    %edi,%edx
500213:	e8 88 f9 ff ff       	call   0x4ffba0
500218:	85 c0                	test   %eax,%eax
50021a:	75 07                	jne    0x500223
50021c:	33 c0                	xor    %eax,%eax
50021e:	e9 8b 00 00 00       	jmp    0x5002ae
500223:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
500227:	8b 5c 24 40          	mov    0x40(%esp),%ebx
50022b:	2b de                	sub    %esi,%ebx
50022d:	eb 08                	jmp    0x500237
50022f:	83 f8 0f             	cmp    $0xf,%eax
500232:	75 0d                	jne    0x500241
500234:	83 c5 0f             	add    $0xf,%ebp
500237:	45                   	inc    %ebp
500238:	83 fd 40             	cmp    $0x40,%ebp
50023b:	0f 8c 1c ff ff ff    	jl     0x50015d
500241:	ff 44 24 08          	incl   0x8(%esp)
500245:	83 44 24 2c 04       	addl   $0x4,0x2c(%esp)
50024a:	83 44 24 28 04       	addl   $0x4,0x28(%esp)
50024f:	8b 04 24             	mov    (%esp),%eax
500252:	8b 90 5c 01 00 00    	mov    0x15c(%eax),%edx
500258:	3b 54 24 08          	cmp    0x8(%esp),%edx
50025c:	0f 8f 70 fc ff ff    	jg     0x4ffed2
500262:	8b 0c 24             	mov    (%esp),%ecx
500265:	8b 54 24 30          	mov    0x30(%esp),%edx
500269:	8d 74 24 4c          	lea    0x4c(%esp),%esi
50026d:	8b 41 14             	mov    0x14(%ecx),%eax
500270:	89 10                	mov    %edx,(%eax)
500272:	8b 4c 24 34          	mov    0x34(%esp),%ecx
500276:	89 48 04             	mov    %ecx,0x4(%eax)
500279:	8b 04 24             	mov    (%esp),%eax
50027c:	8b 54 24 38          	mov    0x38(%esp),%edx
500280:	89 90 98 01 00 00    	mov    %edx,0x198(%eax)
500286:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50028a:	89 79 08             	mov    %edi,0x8(%ecx)
50028d:	b9 04 00 00 00       	mov    $0x4,%ecx
500292:	8b 44 24 04          	mov    0x4(%esp),%eax
500296:	89 58 0c             	mov    %ebx,0xc(%eax)
500299:	8b 54 24 04          	mov    0x4(%esp),%edx
50029d:	8d 7a 14             	lea    0x14(%edx),%edi
5002a0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5002a2:	8b 44 24 04          	mov    0x4(%esp),%eax
5002a6:	ff 48 24             	decl   0x24(%eax)
5002a9:	b8 01 00 00 00       	mov    $0x1,%eax
5002ae:	83 c4 5c             	add    $0x5c,%esp
5002b1:	5d                   	pop    %ebp
5002b2:	5f                   	pop    %edi
5002b3:	5e                   	pop    %esi
5002b4:	5b                   	pop    %ebx
5002b5:	c3                   	ret
5002b6:	90                   	nop
5002b7:	90                   	nop
5002b8:	53                   	push   %ebx
5002b9:	8b d8                	mov    %eax,%ebx
5002bb:	8b c3                	mov    %ebx,%eax
5002bd:	56                   	push   %esi
5002be:	b9 48 00 00 00       	mov    $0x48,%ecx
5002c3:	ba 01 00 00 00       	mov    $0x1,%edx
5002c8:	8b 70 04             	mov    0x4(%eax),%esi
5002cb:	ff 16                	call   *(%esi)
5002cd:	89 83 b4 01 00 00    	mov    %eax,0x1b4(%ebx)
5002d3:	c7 00 68 f8 4f 00    	movl   $0x4ff868,(%eax)
5002d9:	c7 40 04 1c fe 4f 00 	movl   $0x4ffe1c,0x4(%eax)
5002e0:	33 d2                	xor    %edx,%edx
5002e2:	83 c0 38             	add    $0x38,%eax
5002e5:	33 c9                	xor    %ecx,%ecx
5002e7:	89 08                	mov    %ecx,(%eax)
5002e9:	89 48 f0             	mov    %ecx,-0x10(%eax)
5002ec:	42                   	inc    %edx
5002ed:	83 c0 04             	add    $0x4,%eax
5002f0:	83 fa 04             	cmp    $0x4,%edx
5002f3:	7c f0                	jl     0x5002e5
5002f5:	5e                   	pop    %esi
5002f6:	5b                   	pop    %ebx
5002f7:	c3                   	ret
5002f8:	53                   	push   %ebx
5002f9:	56                   	push   %esi
5002fa:	8b f0                	mov    %eax,%esi
5002fc:	57                   	push   %edi
5002fd:	8b c6                	mov    %esi,%eax
5002ff:	b9 00 04 00 00       	mov    $0x400,%ecx
500304:	8b 9e bc 01 00 00    	mov    0x1bc(%esi),%ebx
50030a:	ba 01 00 00 00       	mov    $0x1,%edx
50030f:	8b 78 04             	mov    0x4(%eax),%edi
500312:	ff 17                	call   *(%edi)
500314:	89 43 10             	mov    %eax,0x10(%ebx)
500317:	8b c6                	mov    %esi,%eax
500319:	b9 00 04 00 00       	mov    $0x400,%ecx
50031e:	ba 01 00 00 00       	mov    $0x1,%edx
500323:	8b 78 04             	mov    0x4(%eax),%edi
500326:	ff 17                	call   *(%edi)
500328:	89 43 14             	mov    %eax,0x14(%ebx)
50032b:	8b c6                	mov    %esi,%eax
50032d:	b9 00 04 00 00       	mov    $0x400,%ecx
500332:	ba 01 00 00 00       	mov    $0x1,%edx
500337:	8b 78 04             	mov    0x4(%eax),%edi
50033a:	ff 17                	call   *(%edi)
50033c:	89 43 18             	mov    %eax,0x18(%ebx)
50033f:	8b c6                	mov    %esi,%eax
500341:	b9 00 04 00 00       	mov    $0x400,%ecx
500346:	ba 01 00 00 00       	mov    $0x1,%edx
50034b:	8b 70 04             	mov    0x4(%eax),%esi
50034e:	ff 16                	call   *(%esi)
500350:	89 43 1c             	mov    %eax,0x1c(%ebx)
500353:	33 c0                	xor    %eax,%eax
500355:	ba 80 ff ff ff       	mov    $0xffffff80,%edx
50035a:	69 ca e9 66 01 00    	imul   $0x166e9,%edx,%ecx
500360:	81 c1 00 80 00 00    	add    $0x8000,%ecx
500366:	8b 73 10             	mov    0x10(%ebx),%esi
500369:	c1 f9 10             	sar    $0x10,%ecx
50036c:	89 0c 86             	mov    %ecx,(%esi,%eax,4)
50036f:	69 ca a2 c5 01 00    	imul   $0x1c5a2,%edx,%ecx
500375:	81 c1 00 80 00 00    	add    $0x8000,%ecx
50037b:	8b 73 14             	mov    0x14(%ebx),%esi
50037e:	c1 f9 10             	sar    $0x10,%ecx
500381:	89 0c 86             	mov    %ecx,(%esi,%eax,4)
500384:	69 ca 2e 49 ff ff    	imul   $0xffff492e,%edx,%ecx
50038a:	8b 73 18             	mov    0x18(%ebx),%esi
50038d:	89 0c 86             	mov    %ecx,(%esi,%eax,4)
500390:	69 ca e6 a7 ff ff    	imul   $0xffffa7e6,%edx,%ecx
500396:	8b 73 1c             	mov    0x1c(%ebx),%esi
500399:	81 c1 00 80 00 00    	add    $0x8000,%ecx
50039f:	42                   	inc    %edx
5003a0:	89 0c 86             	mov    %ecx,(%esi,%eax,4)
5003a3:	40                   	inc    %eax
5003a4:	3d ff 00 00 00       	cmp    $0xff,%eax
5003a9:	7e af                	jle    0x50035a
5003ab:	5f                   	pop    %edi
5003ac:	5e                   	pop    %esi
5003ad:	5b                   	pop    %ebx
5003ae:	c3                   	ret
5003af:	90                   	nop
5003b0:	8b 90 bc 01 00 00    	mov    0x1bc(%eax),%edx
5003b6:	33 c9                	xor    %ecx,%ecx
5003b8:	89 4a 24             	mov    %ecx,0x24(%edx)
5003bb:	8b 40 70             	mov    0x70(%eax),%eax
5003be:	89 42 2c             	mov    %eax,0x2c(%edx)
5003c1:	c3                   	ret
5003c2:	90                   	nop
5003c3:	90                   	nop
5003c4:	55                   	push   %ebp
5003c5:	8b ec                	mov    %esp,%ebp
5003c7:	83 c4 ec             	add    $0xffffffec,%esp
5003ca:	53                   	push   %ebx
5003cb:	56                   	push   %esi
5003cc:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5003cf:	89 55 f8             	mov    %edx,-0x8(%ebp)
5003d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5003d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5003d8:	8b 4d 08             	mov    0x8(%ebp),%ecx
5003db:	8b 55 10             	mov    0x10(%ebp),%edx
5003de:	8b 98 bc 01 00 00    	mov    0x1bc(%eax),%ebx
5003e4:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
5003e8:	74 28                	je     0x500412
5003ea:	6a 00                	push   $0x0
5003ec:	6a 01                	push   $0x1
5003ee:	8b 43 28             	mov    0x28(%ebx),%eax
5003f1:	50                   	push   %eax
5003f2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5003f5:	8b 09                	mov    (%ecx),%ecx
5003f7:	c1 e1 02             	shl    $0x2,%ecx
5003fa:	03 ca                	add    %edx,%ecx
5003fc:	8d 43 20             	lea    0x20(%ebx),%eax
5003ff:	33 d2                	xor    %edx,%edx
500401:	e8 8e 77 00 00       	call   0x507b94
500406:	be 01 00 00 00       	mov    $0x1,%esi
50040b:	33 c0                	xor    %eax,%eax
50040d:	89 43 24             	mov    %eax,0x24(%ebx)
500410:	eb 4e                	jmp    0x500460
500412:	be 02 00 00 00       	mov    $0x2,%esi
500417:	8b 43 2c             	mov    0x2c(%ebx),%eax
50041a:	3b f0                	cmp    %eax,%esi
50041c:	76 02                	jbe    0x500420
50041e:	8b f0                	mov    %eax,%esi
500420:	8b 45 0c             	mov    0xc(%ebp),%eax
500423:	8b 00                	mov    (%eax),%eax
500425:	2b c8                	sub    %eax,%ecx
500427:	3b ce                	cmp    %esi,%ecx
500429:	73 02                	jae    0x50042d
50042b:	8b f1                	mov    %ecx,%esi
50042d:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
500430:	83 fe 01             	cmp    $0x1,%esi
500433:	89 4d ec             	mov    %ecx,-0x14(%ebp)
500436:	76 09                	jbe    0x500441
500438:	8b 44 82 04          	mov    0x4(%edx,%eax,4),%eax
50043c:	89 45 f0             	mov    %eax,-0x10(%ebp)
50043f:	eb 0d                	jmp    0x50044e
500441:	8b 53 20             	mov    0x20(%ebx),%edx
500444:	89 55 f0             	mov    %edx,-0x10(%ebp)
500447:	c7 43 24 01 00 00 00 	movl   $0x1,0x24(%ebx)
50044e:	8d 45 ec             	lea    -0x14(%ebp),%eax
500451:	50                   	push   %eax
500452:	8b 55 f4             	mov    -0xc(%ebp),%edx
500455:	8b 45 fc             	mov    -0x4(%ebp),%eax
500458:	8b 0a                	mov    (%edx),%ecx
50045a:	8b 55 f8             	mov    -0x8(%ebp),%edx
50045d:	ff 53 0c             	call   *0xc(%ebx)
500460:	8b 4d 0c             	mov    0xc(%ebp),%ecx
500463:	01 31                	add    %esi,(%ecx)
500465:	29 73 2c             	sub    %esi,0x2c(%ebx)
500468:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
50046c:	75 05                	jne    0x500473
50046e:	8b 45 f4             	mov    -0xc(%ebp),%eax
500471:	ff 00                	incl   (%eax)
500473:	5e                   	pop    %esi
500474:	5b                   	pop    %ebx
500475:	8b e5                	mov    %ebp,%esp
500477:	5d                   	pop    %ebp
500478:	c2 10 00             	ret    $0x10
50047b:	90                   	nop
50047c:	55                   	push   %ebp
50047d:	8b ec                	mov    %esp,%ebp
50047f:	51                   	push   %ecx
500480:	53                   	push   %ebx
500481:	56                   	push   %esi
500482:	89 55 fc             	mov    %edx,-0x4(%ebp)
500485:	8b d9                	mov    %ecx,%ebx
500487:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50048a:	8b 90 bc 01 00 00    	mov    0x1bc(%eax),%edx
500490:	8b f2                	mov    %edx,%esi
500492:	8b 09                	mov    (%ecx),%ecx
500494:	c1 e1 02             	shl    $0x2,%ecx
500497:	03 4d 10             	add    0x10(%ebp),%ecx
50049a:	51                   	push   %ecx
50049b:	8b 0b                	mov    (%ebx),%ecx
50049d:	8b 55 fc             	mov    -0x4(%ebp),%edx
5004a0:	ff 56 0c             	call   *0xc(%esi)
5004a3:	8b 45 0c             	mov    0xc(%ebp),%eax
5004a6:	ff 00                	incl   (%eax)
5004a8:	ff 03                	incl   (%ebx)
5004aa:	5e                   	pop    %esi
5004ab:	5b                   	pop    %ebx
5004ac:	59                   	pop    %ecx
5004ad:	5d                   	pop    %ebp
5004ae:	c2 10 00             	ret    $0x10
5004b1:	90                   	nop
5004b2:	90                   	nop
5004b3:	90                   	nop
5004b4:	55                   	push   %ebp
5004b5:	8b ec                	mov    %esp,%ebp
5004b7:	83 c4 d0             	add    $0xffffffd0,%esp
5004ba:	53                   	push   %ebx
5004bb:	56                   	push   %esi
5004bc:	57                   	push   %edi
5004bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5004c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5004c3:	8b 98 bc 01 00 00    	mov    0x1bc(%eax),%ebx
5004c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5004cc:	8b 73 10             	mov    0x10(%ebx),%esi
5004cf:	8b 80 3c 01 00 00    	mov    0x13c(%eax),%eax
5004d5:	89 75 dc             	mov    %esi,-0x24(%ebp)
5004d8:	8b 73 14             	mov    0x14(%ebx),%esi
5004db:	89 75 d8             	mov    %esi,-0x28(%ebp)
5004de:	8b 73 18             	mov    0x18(%ebx),%esi
5004e1:	89 75 d4             	mov    %esi,-0x2c(%ebp)
5004e4:	8b 5b 1c             	mov    0x1c(%ebx),%ebx
5004e7:	89 5d d0             	mov    %ebx,-0x30(%ebp)
5004ea:	8b 1a                	mov    (%edx),%ebx
5004ec:	8b 1c 8b             	mov    (%ebx,%ecx,4),%ebx
5004ef:	89 5d ec             	mov    %ebx,-0x14(%ebp)
5004f2:	8b 5a 04             	mov    0x4(%edx),%ebx
5004f5:	8b 1c 8b             	mov    (%ebx,%ecx,4),%ebx
5004f8:	89 5d e8             	mov    %ebx,-0x18(%ebp)
5004fb:	8b 52 08             	mov    0x8(%edx),%edx
5004fe:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
500501:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
500504:	8b 4d fc             	mov    -0x4(%ebp),%ecx
500507:	8b 55 08             	mov    0x8(%ebp),%edx
50050a:	8b 49 6c             	mov    0x6c(%ecx),%ecx