50e096:	39 06                	cmp    %eax,(%esi)
50e098:	75 23                	jne    0x50e0bd
50e09a:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
50e09e:	75 1d                	jne    0x50e0bd
50e0a0:	8b 5d e0             	mov    -0x20(%ebp),%ebx
50e0a3:	53                   	push   %ebx
50e0a4:	57                   	push   %edi
50e0a5:	e8 e6 04 00 00       	call   0x50e590
50e0aa:	8b f0                	mov    %eax,%esi
50e0ac:	83 c4 08             	add    $0x8,%esp
50e0af:	85 f6                	test   %esi,%esi
50e0b1:	0f 85 ce 00 00 00    	jne    0x50e185
50e0b7:	89 5f 18             	mov    %ebx,0x18(%edi)
50e0ba:	8d 77 48             	lea    0x48(%edi),%esi
50e0bd:	33 db                	xor    %ebx,%ebx
50e0bf:	39 5d ec             	cmp    %ebx,-0x14(%ebp)
50e0c2:	76 57                	jbe    0x50e11b
50e0c4:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
50e0c8:	74 2f                	je     0x50e0f9
50e0ca:	ff 47 64             	incl   0x64(%edi)
50e0cd:	8b 47 58             	mov    0x58(%edi),%eax
50e0d0:	85 c0                	test   %eax,%eax
50e0d2:	74 0e                	je     0x50e0e2
50e0d4:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
50e0db:	8b 40 2c             	mov    0x2c(%eax),%eax
50e0de:	85 c0                	test   %eax,%eax
50e0e0:	75 f2                	jne    0x50e0d4
50e0e2:	6a 00                	push   $0x0
50e0e4:	ff b7 d4 00 00 00    	push   0xd4(%edi)
50e0ea:	e8 b1 66 02 00       	call   0x5347a0
50e0ef:	83 c4 08             	add    $0x8,%esp
50e0f2:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
50e0f9:	6a 00                	push   $0x0
50e0fb:	6a 01                	push   $0x1
50e0fd:	6a 00                	push   $0x0
50e0ff:	56                   	push   %esi
50e100:	57                   	push   %edi
50e101:	e8 8a 01 00 00       	call   0x50e290
50e106:	8b f0                	mov    %eax,%esi
50e108:	83 c4 14             	add    $0x14,%esp
50e10b:	85 f6                	test   %esi,%esi
50e10d:	75 54                	jne    0x50e163
50e10f:	ff 45 e4             	incl   -0x1c(%ebp)
50e112:	8d 77 48             	lea    0x48(%edi),%esi
50e115:	43                   	inc    %ebx
50e116:	3b 5d ec             	cmp    -0x14(%ebp),%ebx
50e119:	72 a9                	jb     0x50e0c4
50e11b:	8b 45 f8             	mov    -0x8(%ebp),%eax
50e11e:	8d 77 48             	lea    0x48(%edi),%esi
50e121:	8d 4d e0             	lea    -0x20(%ebp),%ecx
50e124:	51                   	push   %ecx
50e125:	8d 4d ec             	lea    -0x14(%ebp),%ecx
50e128:	51                   	push   %ecx
50e129:	50                   	push   %eax
50e12a:	ff 75 f4             	push   -0xc(%ebp)
50e12d:	ff 75 0c             	push   0xc(%ebp)
50e130:	57                   	push   %edi
50e131:	e8 ca 33 00 00       	call   0x511500
50e136:	83 c4 18             	add    $0x18,%esp
50e139:	85 c0                	test   %eax,%eax
50e13b:	0f 84 d3 fe ff ff    	je     0x50e014
50e141:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
50e144:	33 f6                	xor    %esi,%esi
50e146:	83 f8 65             	cmp    $0x65,%eax
50e149:	0f 45 f0             	cmovne %eax,%esi
50e14c:	85 f6                	test   %esi,%esi
50e14e:	75 38                	jne    0x50e188
50e150:	6a ff                	push   $0xffffffff
50e152:	8d 45 d8             	lea    -0x28(%ebp),%eax
50e155:	50                   	push   %eax
50e156:	57                   	push   %edi
50e157:	e8 54 53 02 00       	call   0x5334b0
50e15c:	83 c4 0c             	add    $0xc,%esp
50e15f:	8b f0                	mov    %eax,%esi
50e161:	eb 25                	jmp    0x50e188
50e163:	83 fe 65             	cmp    $0x65,%esi
50e166:	75 10                	jne    0x50e178
50e168:	8b 45 f4             	mov    -0xc(%ebp),%eax
50e16b:	8d 77 48             	lea    0x48(%edi),%esi
50e16e:	89 06                	mov    %eax,(%esi)
50e170:	8b 45 f8             	mov    -0x8(%ebp),%eax
50e173:	89 46 04             	mov    %eax,0x4(%esi)
50e176:	eb a9                	jmp    0x50e121
50e178:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
50e17b:	81 fe 0a 02 00 00    	cmp    $0x20a,%esi
50e181:	74 cd                	je     0x50e150
50e183:	eb c7                	jmp    0x50e14c
50e185:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
50e188:	8a 47 0c             	mov    0xc(%edi),%al
50e18b:	88 47 12             	mov    %al,0x12(%edi)
50e18e:	85 f6                	test   %esi,%esi
50e190:	0f 85 b4 00 00 00    	jne    0x50e24a
50e196:	8b 07                	mov    (%edi),%eax
50e198:	8b 8f d0 00 00 00    	mov    0xd0(%edi),%ecx
50e19e:	89 4d e8             	mov    %ecx,-0x18(%ebp)
50e1a1:	8b 40 08             	mov    0x8(%eax),%eax
50e1a4:	40                   	inc    %eax
50e1a5:	50                   	push   %eax
50e1a6:	51                   	push   %ecx
50e1a7:	ff 77 40             	push   0x40(%edi)
50e1aa:	e8 91 35 00 00       	call   0x511740
50e1af:	8b f0                	mov    %eax,%esi
50e1b1:	83 c4 0c             	add    $0xc,%esp
50e1b4:	85 f6                	test   %esi,%esi
50e1b6:	0f 85 8e 00 00 00    	jne    0x50e24a
50e1bc:	8a 47 10             	mov    0x10(%edi),%al
50e1bf:	3c 04                	cmp    $0x4,%al
50e1c1:	73 04                	jae    0x50e1c7
50e1c3:	84 c0                	test   %al,%al
50e1c5:	75 4e                	jne    0x50e215
50e1c7:	8b 47 3c             	mov    0x3c(%edi),%eax
50e1ca:	8b 08                	mov    (%eax),%ecx
50e1cc:	85 c9                	test   %ecx,%ecx
50e1ce:	75 05                	jne    0x50e1d5
50e1d0:	8d 41 0c             	lea    0xc(%ecx),%eax
50e1d3:	eb 0d                	jmp    0x50e1e2
50e1d5:	6a 00                	push   $0x0
50e1d7:	6a 15                	push   $0x15
50e1d9:	50                   	push   %eax
50e1da:	8b 41 28             	mov    0x28(%ecx),%eax
50e1dd:	ff d0                	call   *%eax
50e1df:	83 c4 0c             	add    $0xc,%esp
50e1e2:	33 f6                	xor    %esi,%esi
50e1e4:	83 f8 0c             	cmp    $0xc,%eax
50e1e7:	0f 45 f0             	cmovne %eax,%esi
50e1ea:	85 f6                	test   %esi,%esi
50e1ec:	75 5c                	jne    0x50e24a
50e1ee:	80 7f 07 00          	cmpb   $0x0,0x7(%edi)
50e1f2:	75 1d                	jne    0x50e211
50e1f4:	0f b6 4f 0a          	movzbl 0xa(%edi),%ecx
50e1f8:	8b 57 3c             	mov    0x3c(%edi),%edx
50e1fb:	85 c9                	test   %ecx,%ecx
50e1fd:	74 10                	je     0x50e20f
50e1ff:	8b 02                	mov    (%edx),%eax
50e201:	51                   	push   %ecx
50e202:	52                   	push   %edx
50e203:	8b 40 14             	mov    0x14(%eax),%eax
50e206:	ff d0                	call   *%eax
50e208:	83 c4 08             	add    $0x8,%esp
50e20b:	8b f0                	mov    %eax,%esi
50e20d:	eb 02                	jmp    0x50e211
50e20f:	33 f6                	xor    %esi,%esi
50e211:	85 f6                	test   %esi,%esi
50e213:	75 35                	jne    0x50e24a
50e215:	8b 4d e8             	mov    -0x18(%ebp),%ecx
50e218:	33 c0                	xor    %eax,%eax
50e21a:	6a 00                	push   $0x0
50e21c:	38 01                	cmp    %al,(%ecx)
50e21e:	0f 95 c0             	setne  %al
50e221:	50                   	push   %eax
50e222:	57                   	push   %edi
50e223:	e8 68 f8 ff ff       	call   0x50da90
50e228:	8b f0                	mov    %eax,%esi
50e22a:	83 c4 0c             	add    $0xc,%esp
50e22d:	85 f6                	test   %esi,%esi
50e22f:	75 19                	jne    0x50e24a
50e231:	8b 45 e8             	mov    -0x18(%ebp),%eax
50e234:	80 38 00             	cmpb   $0x0,(%eax)
50e237:	74 11                	je     0x50e24a
50e239:	39 75 f0             	cmp    %esi,-0x10(%ebp)
50e23c:	74 0c                	je     0x50e24a
50e23e:	50                   	push   %eax
50e23f:	57                   	push   %edi
50e240:	e8 eb f5 ff ff       	call   0x50d830
50e245:	83 c4 08             	add    $0x8,%esp
50e248:	8b f0                	mov    %eax,%esi
50e24a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
50e24e:	74 1d                	je     0x50e26d
50e250:	85 db                	test   %ebx,%ebx
50e252:	74 19                	je     0x50e26d
50e254:	ff b7 ac 00 00 00    	push   0xac(%edi)
50e25a:	53                   	push   %ebx
50e25b:	68 2c 82 6b 00       	push   $0x6b822c
50e260:	68 1b 02 00 00       	push   $0x21b
50e265:	e8 76 1d fd ff       	call   0x4dffe0
50e26a:	83 c4 10             	add    $0x10,%esp
50e26d:	57                   	push   %edi
50e26e:	e8 ad 90 00 00       	call   0x517320
50e273:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50e276:	83 c4 04             	add    $0x4,%esp
50e279:	8b c6                	mov    %esi,%eax
50e27b:	33 cd                	xor    %ebp,%ecx
50e27d:	5f                   	pop    %edi
50e27e:	5e                   	pop    %esi
50e27f:	5b                   	pop    %ebx
50e280:	e8 55 32 0d 00       	call   0x5e14da
50e285:	8b e5                	mov    %ebp,%esp
50e287:	5d                   	pop    %ebp
50e288:	c3                   	ret
50e289:	cc                   	int3
50e28a:	cc                   	int3
50e28b:	cc                   	int3
50e28c:	cc                   	int3
50e28d:	cc                   	int3
50e28e:	cc                   	int3
50e28f:	cc                   	int3
50e290:	55                   	push   %ebp
50e291:	8b ec                	mov    %esp,%ebp
50e293:	83 ec 1c             	sub    $0x1c,%esp
50e296:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50e29b:	33 c5                	xor    %ebp,%eax
50e29d:	89 45 fc             	mov    %eax,-0x4(%ebp)
50e2a0:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
50e2a4:	8b 45 10             	mov    0x10(%ebp),%eax
50e2a7:	56                   	push   %esi
50e2a8:	8b 75 0c             	mov    0xc(%ebp),%esi
50e2ab:	57                   	push   %edi
50e2ac:	8b 7d 08             	mov    0x8(%ebp),%edi
50e2af:	89 45 e4             	mov    %eax,-0x1c(%ebp)
50e2b2:	89 75 e8             	mov    %esi,-0x18(%ebp)
50e2b5:	8b 87 d0 00 00 00    	mov    0xd0(%edi),%eax
50e2bb:	89 45 f0             	mov    %eax,-0x10(%ebp)
50e2be:	74 05                	je     0x50e2c5
50e2c0:	8b 4f 40             	mov    0x40(%edi),%ecx
50e2c3:	eb 03                	jmp    0x50e2c8
50e2c5:	8b 4f 44             	mov    0x44(%edi),%ecx
50e2c8:	ff 76 04             	push   0x4(%esi)
50e2cb:	8b 01                	mov    (%ecx),%eax
50e2cd:	8d 55 f8             	lea    -0x8(%ebp),%edx
50e2d0:	ff 36                	push   (%esi)
50e2d2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
50e2d5:	6a 04                	push   $0x4
50e2d7:	8b 40 08             	mov    0x8(%eax),%eax
50e2da:	52                   	push   %edx
50e2db:	51                   	push   %ecx
50e2dc:	ff d0                	call   *%eax
50e2de:	83 c4 14             	add    $0x14,%esp
50e2e1:	85 c0                	test   %eax,%eax
50e2e3:	0f 85 5e 02 00 00    	jne    0x50e547
50e2e9:	8b 16                	mov    (%esi),%edx
50e2eb:	8b 46 04             	mov    0x4(%esi),%eax
50e2ee:	83 c2 04             	add    $0x4,%edx
50e2f1:	8b 75 ec             	mov    -0x14(%ebp),%esi
50e2f4:	53                   	push   %ebx
50e2f5:	8b 5d f8             	mov    -0x8(%ebp),%ebx
50e2f8:	83 d0 00             	adc    $0x0,%eax
50e2fb:	50                   	push   %eax
50e2fc:	8b 0e                	mov    (%esi),%ecx
50e2fe:	52                   	push   %edx
50e2ff:	ff b7 98 00 00 00    	push   0x98(%edi)
50e305:	0f cb                	bswap  %ebx
50e307:	ff 75 f0             	push   -0x10(%ebp)
50e30a:	8b 41 08             	mov    0x8(%ecx),%eax
50e30d:	56                   	push   %esi
50e30e:	ff d0                	call   *%eax
50e310:	8b f0                	mov    %eax,%esi
50e312:	83 c4 14             	add    $0x14,%esp
50e315:	85 f6                	test   %esi,%esi
50e317:	0f 85 fe 01 00 00    	jne    0x50e51b
50e31d:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
50e323:	8b 4d 14             	mov    0x14(%ebp),%ecx
50e326:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50e329:	8b 4d e8             	mov    -0x18(%ebp),%ecx
50e32c:	83 c0 04             	add    $0x4,%eax
50e32f:	99                   	cltd
50e330:	01 01                	add    %eax,(%ecx)
50e332:	11 51 04             	adc    %edx,0x4(%ecx)
50e335:	85 db                	test   %ebx,%ebx
50e337:	0f 84 04 02 00 00    	je     0x50e541
50e33d:	a1 18 19 72 00       	mov    0x721918,%eax
50e342:	99                   	cltd
50e343:	f7 bf 98 00 00 00    	idivl  0x98(%edi)
50e349:	40                   	inc    %eax
50e34a:	3b d8                	cmp    %eax,%ebx
50e34c:	0f 84 ef 01 00 00    	je     0x50e541
50e352:	3b 5f 18             	cmp    0x18(%edi),%ebx
50e355:	0f 87 d3 01 00 00    	ja     0x50e52e
50e35b:	53                   	push   %ebx
50e35c:	ff 75 e4             	push   -0x1c(%ebp)
50e35f:	e8 ac c5 00 00       	call   0x51a910
50e364:	83 c4 08             	add    $0x8,%esp
50e367:	85 c0                	test   %eax,%eax
50e369:	0f 85 bf 01 00 00    	jne    0x50e52e
50e36f:	39 45 14             	cmp    %eax,0x14(%ebp)
50e372:	74 42                	je     0x50e3b6
50e374:	8d 45 f8             	lea    -0x8(%ebp),%eax
50e377:	50                   	push   %eax
50e378:	8b 45 e8             	mov    -0x18(%ebp),%eax
50e37b:	8b 08                	mov    (%eax),%ecx
50e37d:	8b 40 04             	mov    0x4(%eax),%eax
50e380:	83 e9 04             	sub    $0x4,%ecx
50e383:	1b c6                	sbb    %esi,%eax
50e385:	50                   	push   %eax
50e386:	51                   	push   %ecx
50e387:	ff 75 ec             	push   -0x14(%ebp)
50e38a:	e8 11 30 00 00       	call   0x5113a0
50e38f:	8b f0                	mov    %eax,%esi
50e391:	83 c4 10             	add    $0x10,%esp
50e394:	85 f6                	test   %esi,%esi
50e396:	0f 85 7f 01 00 00    	jne    0x50e51b
50e39c:	39 45 18             	cmp    %eax,0x18(%ebp)
50e39f:	75 15                	jne    0x50e3b6
50e3a1:	ff 75 f0             	push   -0x10(%ebp)
50e3a4:	57                   	push   %edi
50e3a5:	e8 16 f4 ff ff       	call   0x50d7c0
50e3aa:	83 c4 08             	add    $0x8,%esp
50e3ad:	3b 45 f8             	cmp    -0x8(%ebp),%eax
50e3b0:	0f 85 8b 01 00 00    	jne    0x50e541
50e3b6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
50e3b9:	85 c0                	test   %eax,%eax
50e3bb:	74 14                	je     0x50e3d1
50e3bd:	53                   	push   %ebx
50e3be:	50                   	push   %eax
50e3bf:	e8 7c c3 00 00       	call   0x51a740
50e3c4:	8b f0                	mov    %eax,%esi
50e3c6:	83 c4 08             	add    $0x8,%esp
50e3c9:	85 f6                	test   %esi,%esi
50e3cb:	0f 85 4a 01 00 00    	jne    0x50e51b
50e3d1:	83 fb 01             	cmp    $0x1,%ebx
50e3d4:	75 1c                	jne    0x50e3f2
50e3d6:	8b 45 f0             	mov    -0x10(%ebp),%eax
50e3d9:	8a 48 14             	mov    0x14(%eax),%cl
50e3dc:	0f b6 c1             	movzbl %cl,%eax
50e3df:	66 39 87 8e 00 00 00 	cmp    %ax,0x8e(%edi)
50e3e6:	74 0a                	je     0x50e3f2
50e3e8:	0f b6 c1             	movzbl %cl,%eax
50e3eb:	66 89 87 8e 00 00 00 	mov    %ax,0x8e(%edi)
50e3f2:	83 bf d8 00 00 00 00 	cmpl   $0x0,0xd8(%edi)
50e3f9:	74 04                	je     0x50e3ff
50e3fb:	33 c9                	xor    %ecx,%ecx
50e3fd:	eb 0c                	jmp    0x50e40b
50e3ff:	53                   	push   %ebx
50e400:	57                   	push   %edi
50e401:	e8 5a 44 02 00       	call   0x532860
50e406:	83 c4 08             	add    $0x8,%esp
50e409:	8b c8                	mov    %eax,%ecx
50e40b:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
50e40f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50e412:	74 7e                	je     0x50e492
50e414:	80 7f 07 00          	cmpb   $0x0,0x7(%edi)
50e418:	75 14                	jne    0x50e42e
50e41a:	8b 55 e8             	mov    -0x18(%ebp),%edx
50e41d:	8b 42 04             	mov    0x4(%edx),%eax
50e420:	3b 47 54             	cmp    0x54(%edi),%eax
50e423:	7c 09                	jl     0x50e42e
50e425:	7f 75                	jg     0x50e49c
50e427:	8b 02                	mov    (%edx),%eax
50e429:	3b 47 50             	cmp    0x50(%edi),%eax
50e42c:	77 6e                	ja     0x50e49c
50e42e:	b8 01 00 00 00       	mov    $0x1,%eax
50e433:	8b 57 3c             	mov    0x3c(%edi),%edx
50e436:	83 3a 00             	cmpl   $0x0,(%edx)
50e439:	74 65                	je     0x50e4a0
50e43b:	8a 57 10             	mov    0x10(%edi),%dl
50e43e:	80 fa 04             	cmp    $0x4,%dl
50e441:	73 04                	jae    0x50e447
50e443:	84 d2                	test   %dl,%dl
50e445:	75 59                	jne    0x50e4a0
50e447:	85 c0                	test   %eax,%eax
50e449:	74 55                	je     0x50e4a0