50c02e:	83 c0 04             	add    $0x4,%eax
50c031:	46                   	inc    %esi
50c032:	89 45 f4             	mov    %eax,-0xc(%ebp)
50c035:	89 75 10             	mov    %esi,0x10(%ebp)
50c038:	83 3b 00             	cmpl   $0x0,(%ebx)
50c03b:	0f 85 5f ff ff ff    	jne    0x50bfa0
50c041:	5e                   	pop    %esi
50c042:	5f                   	pop    %edi
50c043:	5b                   	pop    %ebx
50c044:	8b e5                	mov    %ebp,%esp
50c046:	5d                   	pop    %ebp
50c047:	c3                   	ret
50c048:	e8 b3 53 0d 00       	call   0x5e1400
50c04d:	cc                   	int3
50c04e:	cc                   	int3
50c04f:	cc                   	int3
50c050:	55                   	push   %ebp
50c051:	8b ec                	mov    %esp,%ebp
50c053:	8b 4d 08             	mov    0x8(%ebp),%ecx
50c056:	83 f9 31             	cmp    $0x31,%ecx
50c059:	75 05                	jne    0x50c060
50c05b:	8d 41 d0             	lea    -0x30(%ecx),%eax
50c05e:	5d                   	pop    %ebp
50c05f:	c3                   	ret
50c060:	83 f9 32             	cmp    $0x32,%ecx
50c063:	75 07                	jne    0x50c06c
50c065:	b8 00 01 00 00       	mov    $0x100,%eax
50c06a:	5d                   	pop    %ebp
50c06b:	c3                   	ret
50c06c:	83 f9 2d             	cmp    $0x2d,%ecx
50c06f:	75 05                	jne    0x50c076
50c071:	8d 41 53             	lea    0x53(%ecx),%eax
50c074:	5d                   	pop    %ebp
50c075:	c3                   	ret
50c076:	b8 02 00 00 00       	mov    $0x2,%eax
50c07b:	83 c1 cb             	add    $0xffffffcb,%ecx
50c07e:	66 d3 e0             	shl    %cl,%ax
50c081:	0f b7 c0             	movzwl %ax,%eax
50c084:	5d                   	pop    %ebp
50c085:	c3                   	ret
50c086:	cc                   	int3
50c087:	cc                   	int3
50c088:	cc                   	int3
50c089:	cc                   	int3
50c08a:	cc                   	int3
50c08b:	cc                   	int3
50c08c:	cc                   	int3
50c08d:	cc                   	int3
50c08e:	cc                   	int3
50c08f:	cc                   	int3
50c090:	55                   	push   %ebp
50c091:	8b ec                	mov    %esp,%ebp
50c093:	8b 45 0c             	mov    0xc(%ebp),%eax
50c096:	8b 40 08             	mov    0x8(%eax),%eax
50c099:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
50c09c:	8b 45 08             	mov    0x8(%ebp),%eax
50c09f:	8b 40 58             	mov    0x58(%eax),%eax
50c0a2:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
50c0a5:	b9 00 24 00 00       	mov    $0x2400,%ecx
50c0aa:	66 85 48 08          	test   %cx,0x8(%eax)
50c0ae:	74 0b                	je     0x50c0bb
50c0b0:	50                   	push   %eax
50c0b1:	e8 1a 00 00 00       	call   0x50c0d0
50c0b6:	83 c4 04             	add    $0x4,%esp
50c0b9:	5d                   	pop    %ebp
50c0ba:	c3                   	ret
50c0bb:	b9 04 00 00 00       	mov    $0x4,%ecx
50c0c0:	66 89 48 08          	mov    %cx,0x8(%eax)
50c0c4:	5d                   	pop    %ebp
50c0c5:	c3                   	ret
50c0c6:	cc                   	int3
50c0c7:	cc                   	int3
50c0c8:	cc                   	int3
50c0c9:	cc                   	int3
50c0ca:	cc                   	int3
50c0cb:	cc                   	int3
50c0cc:	cc                   	int3
50c0cd:	cc                   	int3
50c0ce:	cc                   	int3
50c0cf:	cc                   	int3
50c0d0:	55                   	push   %ebp
50c0d1:	8b ec                	mov    %esp,%ebp
50c0d3:	56                   	push   %esi
50c0d4:	8b 75 08             	mov    0x8(%ebp),%esi
50c0d7:	b8 00 24 00 00       	mov    $0x2400,%eax
50c0dc:	66 85 46 08          	test   %ax,0x8(%esi)
50c0e0:	74 17                	je     0x50c0f9
50c0e2:	56                   	push   %esi
50c0e3:	e8 68 ed 04 00       	call   0x55ae50
50c0e8:	83 c4 04             	add    $0x4,%esp
50c0eb:	b8 04 00 00 00       	mov    $0x4,%eax
50c0f0:	66 89 46 08          	mov    %ax,0x8(%esi)
50c0f4:	8b c6                	mov    %esi,%eax
50c0f6:	5e                   	pop    %esi
50c0f7:	5d                   	pop    %ebp
50c0f8:	c3                   	ret
50c0f9:	b8 01 00 00 00       	mov    $0x1,%eax
50c0fe:	66 89 46 08          	mov    %ax,0x8(%esi)
50c102:	b8 04 00 00 00       	mov    $0x4,%eax
50c107:	66 89 46 08          	mov    %ax,0x8(%esi)
50c10b:	8b c6                	mov    %esi,%eax
50c10d:	5e                   	pop    %esi
50c10e:	5d                   	pop    %ebp
50c10f:	c3                   	ret
50c110:	55                   	push   %ebp
50c111:	8b ec                	mov    %esp,%ebp
50c113:	83 ec 08             	sub    $0x8,%esp
50c116:	8b 55 08             	mov    0x8(%ebp),%edx
50c119:	53                   	push   %ebx
50c11a:	56                   	push   %esi
50c11b:	57                   	push   %edi
50c11c:	0f b6 42 09          	movzbl 0x9(%edx),%eax
50c120:	8b 7a 38             	mov    0x38(%edx),%edi
50c123:	89 45 f8             	mov    %eax,-0x8(%ebp)
50c126:	8d 48 01             	lea    0x1(%eax),%ecx
50c129:	0f b6 44 39 01       	movzbl 0x1(%ecx,%edi,1),%eax
50c12e:	89 4d 08             	mov    %ecx,0x8(%ebp)
50c131:	0f b6 0c 39          	movzbl (%ecx,%edi,1),%ecx
50c135:	c1 e1 08             	shl    $0x8,%ecx
50c138:	0b c1                	or     %ecx,%eax
50c13a:	8b 4a 34             	mov    0x34(%edx),%ecx
50c13d:	8b 49 24             	mov    0x24(%ecx),%ecx
50c140:	8b d9                	mov    %ecx,%ebx
50c142:	2b 5d 0c             	sub    0xc(%ebp),%ebx
50c145:	89 4d fc             	mov    %ecx,-0x4(%ebp)
50c148:	3b c3                	cmp    %ebx,%eax
50c14a:	7f 3d                	jg     0x50c189
50c14c:	0f 1f 40 00          	nopl   0x0(%eax)
50c150:	0f b6 74 07 02       	movzbl 0x2(%edi,%eax,1),%esi
50c155:	0f b6 4c 07 03       	movzbl 0x3(%edi,%eax,1),%ecx
50c15a:	c1 e6 08             	shl    $0x8,%esi
50c15d:	0b f1                	or     %ecx,%esi
50c15f:	8b d6                	mov    %esi,%edx
50c161:	2b 55 0c             	sub    0xc(%ebp),%edx
50c164:	79 6a                	jns    0x50c1d0
50c166:	0f b6 14 38          	movzbl (%eax,%edi,1),%edx
50c16a:	0f b6 4c 38 01       	movzbl 0x1(%eax,%edi,1),%ecx
50c16f:	89 45 08             	mov    %eax,0x8(%ebp)
50c172:	c1 e2 08             	shl    $0x8,%edx
50c175:	8b c2                	mov    %edx,%eax
50c177:	0b c1                	or     %ecx,%eax
50c179:	8b 4d 08             	mov    0x8(%ebp),%ecx
50c17c:	03 ce                	add    %esi,%ecx
50c17e:	3b c1                	cmp    %ecx,%eax
50c180:	76 3e                	jbe    0x50c1c0
50c182:	3b c3                	cmp    %ebx,%eax
50c184:	7e ca                	jle    0x50c150
50c186:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50c189:	83 c1 fc             	add    $0xfffffffc,%ecx
50c18c:	3b c1                	cmp    %ecx,%eax
50c18e:	7e 27                	jle    0x50c1b7
50c190:	68 fc c4 6b 00       	push   $0x6bc4fc
50c195:	68 98 00 01 00       	push   $0x10098
50c19a:	68 94 c4 6b 00       	push   $0x6bc494
50c19f:	68 78 c4 6b 00       	push   $0x6bc478
50c1a4:	6a 0b                	push   $0xb
50c1a6:	e8 35 3e fd ff       	call   0x4dffe0
50c1ab:	8b 45 10             	mov    0x10(%ebp),%eax
50c1ae:	83 c4 14             	add    $0x14,%esp
50c1b1:	c7 00 0b 00 00 00    	movl   $0xb,(%eax)
50c1b7:	5f                   	pop    %edi
50c1b8:	5e                   	pop    %esi
50c1b9:	33 c0                	xor    %eax,%eax
50c1bb:	5b                   	pop    %ebx
50c1bc:	8b e5                	mov    %ebp,%esp
50c1be:	5d                   	pop    %ebp
50c1bf:	c3                   	ret
50c1c0:	85 c0                	test   %eax,%eax
50c1c2:	74 f3                	je     0x50c1b7
50c1c4:	68 fc c4 6b 00       	push   $0x6bc4fc
50c1c9:	68 91 00 01 00       	push   $0x10091
50c1ce:	eb ca                	jmp    0x50c19a
50c1d0:	83 fa 04             	cmp    $0x4,%edx
50c1d3:	7d 24                	jge    0x50c1f9
50c1d5:	8b 5d f8             	mov    -0x8(%ebp),%ebx
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