50c1d8:	80 7c 1f 07 39       	cmpb   $0x39,0x7(%edi,%ebx,1)
50c1dd:	77 d8                	ja     0x50c1b7
50c1df:	66 8b 0c 38          	mov    (%eax,%edi,1),%cx
50c1e3:	03 c2                	add    %edx,%eax
50c1e5:	8b 75 08             	mov    0x8(%ebp),%esi
50c1e8:	66 89 0c 3e          	mov    %cx,(%esi,%edi,1)
50c1ec:	00 54 1f 07          	add    %dl,0x7(%edi,%ebx,1)
50c1f0:	03 c7                	add    %edi,%eax
50c1f2:	5f                   	pop    %edi
50c1f3:	5e                   	pop    %esi
50c1f4:	5b                   	pop    %ebx
50c1f5:	8b e5                	mov    %ebp,%esp
50c1f7:	5d                   	pop    %ebp
50c1f8:	c3                   	ret
50c1f9:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
50c1fc:	3b cb                	cmp    %ebx,%ecx
50c1fe:	7e 0c                	jle    0x50c20c
50c200:	68 fc c4 6b 00       	push   $0x6bc4fc
50c205:	68 83 00 01 00       	push   $0x10083
50c20a:	eb 8e                	jmp    0x50c19a
50c20c:	8b ca                	mov    %edx,%ecx
50c20e:	88 54 38 03          	mov    %dl,0x3(%eax,%edi,1)
50c212:	c1 f9 08             	sar    $0x8,%ecx
50c215:	88 4c 38 02          	mov    %cl,0x2(%eax,%edi,1)
50c219:	03 c2                	add    %edx,%eax
50c21b:	03 c7                	add    %edi,%eax
50c21d:	5f                   	pop    %edi
50c21e:	5e                   	pop    %esi
50c21f:	5b                   	pop    %ebx
50c220:	8b e5                	mov    %ebp,%esp
50c222:	5d                   	pop    %ebp
50c223:	c3                   	ret
50c224:	cc                   	int3
50c225:	cc                   	int3
50c226:	cc                   	int3
50c227:	cc                   	int3
50c228:	cc                   	int3
50c229:	cc                   	int3
50c22a:	cc                   	int3
50c22b:	cc                   	int3
50c22c:	cc                   	int3
50c22d:	cc                   	int3
50c22e:	cc                   	int3
50c22f:	cc                   	int3
50c230:	55                   	push   %ebp
50c231:	8b ec                	mov    %esp,%ebp
50c233:	83 ec 24             	sub    $0x24,%esp
50c236:	8b 55 08             	mov    0x8(%ebp),%edx
50c239:	53                   	push   %ebx
50c23a:	56                   	push   %esi
50c23b:	57                   	push   %edi
50c23c:	8b 42 34             	mov    0x34(%edx),%eax
50c23f:	8b 72 38             	mov    0x38(%edx),%esi
50c242:	0f b6 4a 0a          	movzbl 0xa(%edx),%ecx
50c246:	8b 7d 0c             	mov    0xc(%ebp),%edi
50c249:	03 ce                	add    %esi,%ecx
50c24b:	8b 58 24             	mov    0x24(%eax),%ebx
50c24e:	0f b6 42 09          	movzbl 0x9(%edx),%eax
50c252:	03 de                	add    %esi,%ebx
50c254:	83 c0 08             	add    $0x8,%eax
50c257:	89 75 ec             	mov    %esi,-0x14(%ebp)
50c25a:	03 c1                	add    %ecx,%eax
50c25c:	89 5d e8             	mov    %ebx,-0x18(%ebp)
50c25f:	89 45 e0             	mov    %eax,-0x20(%ebp)
50c262:	33 f6                	xor    %esi,%esi
50c264:	8b 45 10             	mov    0x10(%ebp),%eax
50c267:	33 d2                	xor    %edx,%edx
50c269:	03 c7                	add    %edi,%eax
50c26b:	89 75 fc             	mov    %esi,-0x4(%ebp)
50c26e:	33 c9                	xor    %ecx,%ecx
50c270:	89 45 0c             	mov    %eax,0xc(%ebp)
50c273:	89 55 10             	mov    %edx,0x10(%ebp)
50c276:	3b f8                	cmp    %eax,%edi
50c278:	0f 8d d8 03 00 00    	jge    0x50c656
50c27e:	66 90                	xchg   %ax,%ax
50c280:	8b 45 14             	mov    0x14(%ebp),%eax
50c283:	8b 40 08             	mov    0x8(%eax),%eax
50c286:	8b 34 b8             	mov    (%eax,%edi,4),%esi
50c289:	3b 75 e0             	cmp    -0x20(%ebp),%esi
50c28c:	72 50                	jb     0x50c2de
50c28e:	3b f3                	cmp    %ebx,%esi
50c290:	73 4c                	jae    0x50c2de
50c292:	8b 45 14             	mov    0x14(%ebp),%eax
50c295:	8b 40 0c             	mov    0xc(%eax),%eax
50c298:	0f b7 1c 78          	movzwl (%eax,%edi,2),%ebx
50c29c:	8d 04 33             	lea    (%ebx,%esi,1),%eax
50c29f:	3b c8                	cmp    %eax,%ecx
50c2a1:	74 2e                	je     0x50c2d1
50c2a3:	85 c9                	test   %ecx,%ecx
50c2a5:	74 13                	je     0x50c2ba
50c2a7:	2b 4d ec             	sub    -0x14(%ebp),%ecx
50c2aa:	52                   	push   %edx
50c2ab:	51                   	push   %ecx
50c2ac:	ff 75 08             	push   0x8(%ebp)
50c2af:	e8 dc 7d ff ff       	call   0x504090
50c2b4:	83 c4 0c             	add    $0xc,%esp
50c2b7:	8d 04 33             	lea    (%ebx,%esi,1),%eax
50c2ba:	8b d3                	mov    %ebx,%edx
50c2bc:	8b ce                	mov    %esi,%ecx
50c2be:	8b 5d e8             	mov    -0x18(%ebp),%ebx
50c2c1:	89 55 10             	mov    %edx,0x10(%ebp)
50c2c4:	3b c3                	cmp    %ebx,%eax
50c2c6:	76 13                	jbe    0x50c2db
50c2c8:	5f                   	pop    %edi
50c2c9:	5e                   	pop    %esi
50c2ca:	33 c0                	xor    %eax,%eax
50c2cc:	5b                   	pop    %ebx
50c2cd:	8b e5                	mov    %ebp,%esp
50c2cf:	5d                   	pop    %ebp
50c2d0:	c3                   	ret
50c2d1:	03 d3                	add    %ebx,%edx
50c2d3:	8b ce                	mov    %esi,%ecx
50c2d5:	8b 5d e8             	mov    -0x18(%ebp),%ebx
50c2d8:	89 55 10             	mov    %edx,0x10(%ebp)
50c2db:	ff 45 fc             	incl   -0x4(%ebp)
50c2de:	47                   	inc    %edi
50c2df:	3b 7d 0c             	cmp    0xc(%ebp),%edi
50c2e2:	7c 9c                	jl     0x50c280
50c2e4:	85 c9                	test   %ecx,%ecx
50c2e6:	0f 84 67 03 00 00    	je     0x50c653
50c2ec:	2b 4d ec             	sub    -0x14(%ebp),%ecx
50c2ef:	0f b7 c2             	movzwl %dx,%eax
50c2f2:	89 45 e8             	mov    %eax,-0x18(%ebp)
50c2f5:	8b 45 10             	mov    0x10(%ebp),%eax
50c2f8:	0f b7 c0             	movzwl %ax,%eax
50c2fb:	89 45 dc             	mov    %eax,-0x24(%ebp)
50c2fe:	0f b7 d1             	movzwl %cx,%edx
50c301:	0f b7 ca             	movzwl %dx,%ecx
50c304:	03 c1                	add    %ecx,%eax
50c306:	89 55 ec             	mov    %edx,-0x14(%ebp)
50c309:	89 45 f0             	mov    %eax,-0x10(%ebp)
50c30c:	8b 45 08             	mov    0x8(%ebp),%eax
50c30f:	c6 45 0f 00          	movb   $0x0,0xf(%ebp)
50c313:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
50c316:	8b 70 38             	mov    0x38(%eax),%esi
50c319:	8a 40 09             	mov    0x9(%eax),%al
50c31c:	88 45 13             	mov    %al,0x13(%ebp)
50c31f:	0f b6 c0             	movzbl %al,%eax
50c322:	66 40                	inc    %ax
50c324:	0f b7 f8             	movzwl %ax,%edi
50c327:	8b c7                	mov    %edi,%eax
50c329:	89 7d f8             	mov    %edi,-0x8(%ebp)
50c32c:	8a 5c 30 01          	mov    0x1(%eax,%esi,1),%bl
50c330:	84 db                	test   %bl,%bl
50c332:	75 0c                	jne    0x50c340
50c334:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
50c337:	75 07                	jne    0x50c340
50c339:	33 db                	xor    %ebx,%ebx
50c33b:	e9 1d 02 00 00       	jmp    0x50c55d
50c340:	0f b6 0c 30          	movzbl (%eax,%esi,1),%ecx
50c344:	66 c1 e1 08          	shl    $0x8,%cx
50c348:	0f b6 c3             	movzbl %bl,%eax
50c34b:	66 0b c8             	or     %ax,%cx
50c34e:	0f b7 d9             	movzwl %cx,%ebx
50c351:	66 3b da             	cmp    %dx,%bx
50c354:	73 5f                	jae    0x50c3b5
50c356:	0f b7 c7             	movzwl %di,%eax
50c359:	0f b7 d3             	movzwl %bx,%edx
50c35c:	83 c0 04             	add    $0x4,%eax
50c35f:	3b d0                	cmp    %eax,%edx
50c361:	72 20                	jb     0x50c383
50c363:	0f b6 0c 32          	movzbl (%edx,%esi,1),%ecx
50c367:	0f b6 44 32 01       	movzbl 0x1(%edx,%esi,1),%eax
50c36c:	8b 55 ec             	mov    -0x14(%ebp),%edx
50c36f:	66 c1 e1 08          	shl    $0x8,%cx
50c373:	66 0b c8             	or     %ax,%cx
50c376:	0f b7 fb             	movzwl %bx,%edi
50c379:	0f b7 d9             	movzwl %cx,%ebx
50c37c:	66 3b da             	cmp    %dx,%bx
50c37f:	72 d5                	jb     0x50c356
50c381:	eb 32                	jmp    0x50c3b5
50c383:	66 85 db             	test   %bx,%bx
50c386:	74 2a                	je     0x50c3b2
50c388:	68 fc c4 6b 00       	push   $0x6bc4fc
50c38d:	68 27 01 01 00       	push   $0x10127
50c392:	68 94 c4 6b 00       	push   $0x6bc494
50c397:	68 78 c4 6b 00       	push   $0x6bc478
50c39c:	6a 0b                	push   $0xb
50c39e:	e8 3d 3c fd ff       	call   0x4dffe0
50c3a3:	8b 75 fc             	mov    -0x4(%ebp),%esi
50c3a6:	83 c4 14             	add    $0x14,%esp
50c3a9:	8b c6                	mov    %esi,%eax
50c3ab:	5f                   	pop    %edi
50c3ac:	5e                   	pop    %esi
50c3ad:	5b                   	pop    %ebx
50c3ae:	8b e5                	mov    %ebp,%esp
50c3b0:	5d                   	pop    %ebp
50c3b1:	c3                   	ret
50c3b2:	8b 55 ec             	mov    -0x14(%ebp),%edx
50c3b5:	8b 45 08             	mov    0x8(%ebp),%eax
50c3b8:	0f b7 cb             	movzwl %bx,%ecx
50c3bb:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50c3be:	8b 40 34             	mov    0x34(%eax),%eax
50c3c1:	8b 40 24             	mov    0x24(%eax),%eax
50c3c4:	89 45 e0             	mov    %eax,-0x20(%ebp)
50c3c7:	83 c0 fc             	add    $0xfffffffc,%eax
50c3ca:	3b c8                	cmp    %eax,%ecx
50c3cc:	76 2a                	jbe    0x50c3f8
50c3ce:	68 fc c4 6b 00       	push   $0x6bc4fc
50c3d3:	68 2c 01 01 00       	push   $0x1012c
50c3d8:	68 94 c4 6b 00       	push   $0x6bc494
50c3dd:	68 78 c4 6b 00       	push   $0x6bc478
50c3e2:	6a 0b                	push   $0xb
50c3e4:	e8 f7 3b fd ff       	call   0x4dffe0
50c3e9:	8b 75 fc             	mov    -0x4(%ebp),%esi
50c3ec:	83 c4 14             	add    $0x14,%esp
50c3ef:	8b c6                	mov    %esi,%eax
50c3f1:	5f                   	pop    %edi
50c3f2:	5e                   	pop    %esi
50c3f3:	5b                   	pop    %ebx
50c3f4:	8b e5                	mov    %ebp,%esp
50c3f6:	5d                   	pop    %ebp
50c3f7:	c3                   	ret
50c3f8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50c3fb:	66 85 db             	test   %bx,%bx
50c3fe:	0f 84 94 00 00 00    	je     0x50c498
50c404:	8d 41 03             	lea    0x3(%ecx),%eax
50c407:	3b 45 f4             	cmp    -0xc(%ebp),%eax
50c40a:	0f 82 88 00 00 00    	jb     0x50c498
50c410:	8a c3                	mov    %bl,%al
50c412:	8b 5d f4             	mov    -0xc(%ebp),%ebx
50c415:	2a c1                	sub    %cl,%al
50c417:	88 45 0f             	mov    %al,0xf(%ebp)
50c41a:	3b cb                	cmp    %ebx,%ecx
50c41c:	76 2a                	jbe    0x50c448
50c41e:	68 fc c4 6b 00       	push   $0x6bc4fc
50c423:	68 38 01 01 00       	push   $0x10138
50c428:	68 94 c4 6b 00       	push   $0x6bc494
50c42d:	68 78 c4 6b 00       	push   $0x6bc478
50c432:	6a 0b                	push   $0xb
50c434:	e8 a7 3b fd ff       	call   0x4dffe0
50c439:	8b 75 fc             	mov    -0x4(%ebp),%esi
50c43c:	83 c4 14             	add    $0x14,%esp
50c43f:	8b c6                	mov    %esi,%eax
50c441:	5f                   	pop    %edi
50c442:	5e                   	pop    %esi
50c443:	5b                   	pop    %ebx
50c444:	8b e5                	mov    %ebp,%esp
50c446:	5d                   	pop    %ebp
50c447:	c3                   	ret
50c448:	0f b6 4c 33 02       	movzbl 0x2(%ebx,%esi,1),%ecx
50c44d:	0f b6 44 33 03       	movzbl 0x3(%ebx,%esi,1),%eax
50c452:	c1 e1 08             	shl    $0x8,%ecx
50c455:	0b c8                	or     %eax,%ecx
50c457:	03 cb                	add    %ebx,%ecx
50c459:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50c45c:	3b 4d e0             	cmp    -0x20(%ebp),%ecx
50c45f:	76 19                	jbe    0x50c47a
50c461:	68 3b 01 01 00       	push   $0x1013b
50c466:	e8 45 39 01 00       	call   0x51fdb0
50c46b:	8b 75 fc             	mov    -0x4(%ebp),%esi
50c46e:	83 c4 04             	add    $0x4,%esp
50c471:	8b c6                	mov    %esi,%eax
50c473:	5f                   	pop    %edi
50c474:	5e                   	pop    %esi
50c475:	5b                   	pop    %ebx
50c476:	8b e5                	mov    %ebp,%esp
50c478:	5d                   	pop    %ebp
50c479:	c3                   	ret
50c47a:	2b ca                	sub    %edx,%ecx
50c47c:	0f b7 c1             	movzwl %cx,%eax
50c47f:	0f b6 4c 33 01       	movzbl 0x1(%ebx,%esi,1),%ecx
50c484:	89 45 e8             	mov    %eax,-0x18(%ebp)
50c487:	0f b6 04 33          	movzbl (%ebx,%esi,1),%eax
50c48b:	66 c1 e0 08          	shl    $0x8,%ax
50c48f:	66 0b c8             	or     %ax,%cx
50c492:	0f b7 d9             	movzwl %cx,%ebx
50c495:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50c498:	0f b6 45 13          	movzbl 0x13(%ebp),%eax
50c49c:	89 45 e0             	mov    %eax,-0x20(%ebp)
50c49f:	0f b7 c7             	movzwl %di,%eax
50c4a2:	89 45 f8             	mov    %eax,-0x8(%ebp)
50c4a5:	8b 45 e0             	mov    -0x20(%ebp),%eax
50c4a8:	40                   	inc    %eax
50c4a9:	39 45 f8             	cmp    %eax,-0x8(%ebp)
50c4ac:	76 71                	jbe    0x50c51f
50c4ae:	8b 45 f8             	mov    -0x8(%ebp),%eax
50c4b1:	0f b6 44 30 02       	movzbl 0x2(%eax,%esi,1),%eax
50c4b6:	c1 e0 08             	shl    $0x8,%eax
50c4b9:	89 45 f4             	mov    %eax,-0xc(%ebp)
50c4bc:	8b 45 f8             	mov    -0x8(%ebp),%eax
50c4bf:	0f b6 44 30 03       	movzbl 0x3(%eax,%esi,1),%eax
50c4c4:	09 45 f4             	or     %eax,-0xc(%ebp)
50c4c7:	8b 45 f4             	mov    -0xc(%ebp),%eax
50c4ca:	03 45 f8             	add    -0x8(%ebp),%eax
50c4cd:	89 45 f4             	mov    %eax,-0xc(%ebp)
50c4d0:	83 c0 03             	add    $0x3,%eax
50c4d3:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
50c4d6:	7c 47                	jl     0x50c51f
50c4d8:	8b 45 f4             	mov    -0xc(%ebp),%eax
50c4db:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
50c4de:	7e 2a                	jle    0x50c50a
50c4e0:	68 fc c4 6b 00       	push   $0x6bc4fc
50c4e5:	68 48 01 01 00       	push   $0x10148
50c4ea:	68 94 c4 6b 00       	push   $0x6bc494
50c4ef:	68 78 c4 6b 00       	push   $0x6bc478
50c4f4:	6a 0b                	push   $0xb
50c4f6:	e8 e5 3a fd ff       	call   0x4dffe0
50c4fb:	8b 75 fc             	mov    -0x4(%ebp),%esi
50c4fe:	83 c4 14             	add    $0x14,%esp
50c501:	8b c6                	mov    %esi,%eax
50c503:	5f                   	pop    %edi
50c504:	5e                   	pop    %esi
50c505:	5b                   	pop    %ebx
50c506:	8b e5                	mov    %ebp,%esp
50c508:	5d                   	pop    %ebp
50c509:	c3                   	ret
50c50a:	2a d0                	sub    %al,%dl
50c50c:	8b c1                	mov    %ecx,%eax
50c50e:	00 55 0f             	add    %dl,0xf(%ebp)
50c511:	2b c7                	sub    %edi,%eax
50c513:	0f b7 c0             	movzwl %ax,%eax
50c516:	0f b7 d7             	movzwl %di,%edx
50c519:	89 45 e8             	mov    %eax,-0x18(%ebp)
50c51c:	89 55 ec             	mov    %edx,-0x14(%ebp)
50c51f:	8b 7d e0             	mov    -0x20(%ebp),%edi
50c522:	8a 4d 0f             	mov    0xf(%ebp),%cl
50c525:	8a 44 37 07          	mov    0x7(%edi,%esi,1),%al
50c529:	3a c8                	cmp    %al,%cl
50c52b:	76 2a                	jbe    0x50c557
50c52d:	68 fc c4 6b 00       	push   $0x6bc4fc
50c532:	68 4e 01 01 00       	push   $0x1014e
50c537:	68 94 c4 6b 00       	push   $0x6bc494
50c53c:	68 78 c4 6b 00       	push   $0x6bc478
50c541:	6a 0b                	push   $0xb
50c543:	e8 98 3a fd ff       	call   0x4dffe0
50c548:	8b 75 fc             	mov    -0x4(%ebp),%esi
50c54b:	83 c4 14             	add    $0x14,%esp
50c54e:	8b c6                	mov    %esi,%eax
50c550:	5f                   	pop    %edi
50c551:	5e                   	pop    %esi
50c552:	5b                   	pop    %ebx
50c553:	8b e5                	mov    %ebp,%esp
50c555:	5d                   	pop    %ebp
50c556:	c3                   	ret
50c557:	2a c1                	sub    %cl,%al
50c559:	88 44 37 07          	mov    %al,0x7(%edi,%esi,1)
50c55d:	0f b6 7d 13          	movzbl 0x13(%ebp),%edi
50c561:	0f b6 4c 37 05       	movzbl 0x5(%edi,%esi,1),%ecx
50c566:	0f b6 44 37 06       	movzbl 0x6(%edi,%esi,1),%eax
50c56b:	66 c1 e1 08          	shl    $0x8,%cx
50c56f:	66 0b c8             	or     %ax,%cx
50c572:	0f b7 c1             	movzwl %cx,%eax
50c575:	66 3b d0             	cmp    %ax,%dx
50c578:	0f 87 7d 00 00 00    	ja     0x50c5fb
50c57e:	73 2a                	jae    0x50c5aa
50c580:	68 fc c4 6b 00       	push   $0x6bc4fc
50c585:	68 56 01 01 00       	push   $0x10156
50c58a:	68 94 c4 6b 00       	push   $0x6bc494
50c58f:	68 78 c4 6b 00       	push   $0x6bc478