50c13c:	8d 8d 0c 02 00 00    	lea    0x20c(%ebp),%ecx
50c142:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
50c146:	e8 a2 97 f0 ff       	call   0x4158ed
50c14b:	ff b7 04 02 00 00    	push   0x204(%edi)
50c151:	8b 0b                	mov    (%ebx),%ecx
50c153:	ff b0 04 02 00 00    	push   0x204(%eax)
50c159:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
50c15d:	68 dc c6 bd 00       	push   $0xbdc6dc
50c162:	68 ec 5f bd 00       	push   $0xbd5fec
50c167:	53                   	push   %ebx
50c168:	ff 51 18             	call   *0x18(%ecx)
50c16b:	83 c4 14             	add    $0x14,%esp
50c16e:	8d 8d 0c 02 00 00    	lea    0x20c(%ebp),%ecx
50c174:	e8 73 83 f1 ff       	call   0x4244ec
50c179:	8d 4d 00             	lea    0x0(%ebp),%ecx
50c17c:	e8 6b 83 f1 ff       	call   0x4244ec
50c181:	8b 85 80 06 00 00    	mov    0x680(%ebp),%eax
50c187:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
50c18b:	83 f8 10             	cmp    $0x10,%eax
50c18e:	72 13                	jb     0x50c1a3
50c190:	40                   	inc    %eax
50c191:	8d 8d 6c 06 00 00    	lea    0x66c(%ebp),%ecx
50c197:	50                   	push   %eax
50c198:	ff b5 6c 06 00 00    	push   0x66c(%ebp)
50c19e:	e8 79 84 f2 ff       	call   0x43461c
50c1a3:	8a 5d f3             	mov    -0xd(%ebp),%bl
50c1a6:	8b 7d ec             	mov    -0x14(%ebp),%edi
50c1a9:	84 db                	test   %bl,%bl
50c1ab:	74 1e                	je     0x50c1cb
50c1ad:	80 bd 98 06 00 00 00 	cmpb   $0x0,0x698(%ebp)
50c1b4:	75 15                	jne    0x50c1cb
50c1b6:	ff b6 08 01 00 00    	push   0x108(%esi)
50c1bc:	8b cf                	mov    %edi,%ecx
50c1be:	e8 f1 56 f1 ff       	call   0x4218b4
50c1c3:	84 c0                	test   %al,%al
50c1c5:	0f 85 b2 02 00 00    	jne    0x50c47d
50c1cb:	ff b6 08 01 00 00    	push   0x108(%esi)
50c1d1:	8d 45 a0             	lea    -0x60(%ebp),%eax
50c1d4:	8b cf                	mov    %edi,%ecx
50c1d6:	50                   	push   %eax
50c1d7:	e8 26 92 ef ff       	call   0x405402
50c1dc:	8d 45 a0             	lea    -0x60(%ebp),%eax
50c1df:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
50c1e3:	6a 00                	push   $0x0
50c1e5:	50                   	push   %eax
50c1e6:	e8 3a 7c f1 ff       	call   0x423e25
50c1eb:	83 c4 08             	add    $0x8,%esp
50c1ee:	84 c0                	test   %al,%al
50c1f0:	0f 84 74 01 00 00    	je     0x50c36a
50c1f6:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
50c1fd:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
50c204:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
50c20b:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
50c212:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
50c219:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
50c220:	8b 4d a0             	mov    -0x60(%ebp),%ecx
50c223:	8d 45 d0             	lea    -0x30(%ebp),%eax
50c226:	50                   	push   %eax
50c227:	8d 45 a8             	lea    -0x58(%ebp),%eax
50c22a:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
50c22e:	50                   	push   %eax
50c22f:	ff b5 98 06 00 00    	push   0x698(%ebp)
50c235:	ff b6 08 01 00 00    	push   0x108(%esi)
50c23b:	ff 75 e8             	push   -0x18(%ebp)
50c23e:	e8 57 7b f0 ff       	call   0x413d9a
50c243:	8a d8                	mov    %al,%bl
50c245:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
50c24c:	8d 45 b4             	lea    -0x4c(%ebp),%eax
50c24f:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
50c256:	50                   	push   %eax
50c257:	8d 4d a0             	lea    -0x60(%ebp),%ecx
50c25a:	e8 c8 73 f2 ff       	call   0x433627
50c25f:	8b 7d b8             	mov    -0x48(%ebp),%edi
50c262:	85 ff                	test   %edi,%edi
50c264:	74 21                	je     0x50c287
50c266:	83 c8 ff             	or     $0xffffffff,%eax
50c269:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
50c26e:	75 17                	jne    0x50c287
50c270:	8b 07                	mov    (%edi),%eax
50c272:	8b cf                	mov    %edi,%ecx
50c274:	ff 10                	call   *(%eax)
50c276:	83 c8 ff             	or     $0xffffffff,%eax
50c279:	f0 0f c1 47 08       	lock xadd %eax,0x8(%edi)
50c27e:	75 07                	jne    0x50c287
50c280:	8b 07                	mov    (%edi),%eax
50c282:	8b cf                	mov    %edi,%ecx
50c284:	ff 50 04             	call   *0x4(%eax)
50c287:	84 db                	test   %bl,%bl
50c289:	0f 84 81 00 00 00    	je     0x50c310
50c28f:	8b 5d a8             	mov    -0x58(%ebp),%ebx
50c292:	33 c9                	xor    %ecx,%ecx
50c294:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
50c297:	b8 79 78 78 78       	mov    $0x78787879,%eax
50c29c:	8b 4d ac             	mov    -0x54(%ebp),%ecx
50c29f:	2b cb                	sub    %ebx,%ecx
50c2a1:	f7 e9                	imul   %ecx
50c2a3:	c1 fa 07             	sar    $0x7,%edx
50c2a6:	8b c2                	mov    %edx,%eax
50c2a8:	c1 e8 1f             	shr    $0x1f,%eax
50c2ab:	03 c2                	add    %edx,%eax
50c2ad:	74 61                	je     0x50c310
50c2af:	33 ff                	xor    %edi,%edi
50c2b1:	33 f6                	xor    %esi,%esi
50c2b3:	8b 4d d0             	mov    -0x30(%ebp),%ecx
50c2b6:	03 ce                	add    %esi,%ecx
50c2b8:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
50c2bc:	72 02                	jb     0x50c2c0
50c2be:	8b 09                	mov    (%ecx),%ecx
50c2c0:	51                   	push   %ecx
50c2c1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50c2c4:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
50c2c7:	50                   	push   %eax
50c2c8:	e8 87 6b f0 ff       	call   0x412e54
50c2cd:	84 c0                	test   %al,%al
50c2cf:	74 12                	je     0x50c2e3
50c2d1:	8b 45 a8             	mov    -0x58(%ebp),%eax
50c2d4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
50c2d7:	03 c7                	add    %edi,%eax
50c2d9:	50                   	push   %eax
50c2da:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
50c2de:	e8 e6 ad f2 ff       	call   0x4370c9
50c2e3:	8b 4d ac             	mov    -0x54(%ebp),%ecx
50c2e6:	b8 79 78 78 78       	mov    $0x78787879,%eax
50c2eb:	8b 5d a8             	mov    -0x58(%ebp),%ebx
50c2ee:	83 c6 18             	add    $0x18,%esi
50c2f1:	ff 45 e4             	incl   -0x1c(%ebp)
50c2f4:	2b cb                	sub    %ebx,%ecx
50c2f6:	f7 e9                	imul   %ecx
50c2f8:	81 c7 10 01 00 00    	add    $0x110,%edi
50c2fe:	c1 fa 07             	sar    $0x7,%edx
50c301:	8b c2                	mov    %edx,%eax
50c303:	c1 e8 1f             	shr    $0x1f,%eax
50c306:	03 c2                	add    %edx,%eax
50c308:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
50c30b:	72 a6                	jb     0x50c2b3
50c30d:	8b 75 dc             	mov    -0x24(%ebp),%esi
50c310:	8b 45 d0             	mov    -0x30(%ebp),%eax
50c313:	85 c0                	test   %eax,%eax
50c315:	74 4b                	je     0x50c362
50c317:	ff 75 9c             	push   -0x64(%ebp)
50c31a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
50c31d:	51                   	push   %ecx
50c31e:	ff 75 d4             	push   -0x2c(%ebp)
50c321:	50                   	push   %eax
50c322:	e8 13 2d f3 ff       	call   0x43f03a
50c327:	8b 4d d8             	mov    -0x28(%ebp),%ecx
50c32a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
50c32f:	8b 7d d0             	mov    -0x30(%ebp),%edi
50c332:	83 c4 10             	add    $0x10,%esp
50c335:	2b cf                	sub    %edi,%ecx
50c337:	f7 e9                	imul   %ecx
50c339:	8d 4d d0             	lea    -0x30(%ebp),%ecx
50c33c:	c1 fa 02             	sar    $0x2,%edx
50c33f:	8b c2                	mov    %edx,%eax
50c341:	c1 e8 1f             	shr    $0x1f,%eax
50c344:	03 c2                	add    %edx,%eax
50c346:	50                   	push   %eax
50c347:	57                   	push   %edi
50c348:	e8 09 3c f0 ff       	call   0x40ff56
50c34d:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
50c354:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
50c35b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
50c362:	8d 4d a8             	lea    -0x58(%ebp),%ecx
50c365:	e9 dc 00 00 00       	jmp    0x50c446
50c36a:	8b 5f 1c             	mov    0x1c(%edi),%ebx
50c36d:	8d 85 6c 06 00 00    	lea    0x66c(%ebp),%eax
50c373:	50                   	push   %eax
50c374:	8b ce                	mov    %esi,%ecx
50c376:	e8 6e d3 f2 ff       	call   0x4396e9
50c37b:	50                   	push   %eax
50c37c:	8d 8d 0c 02 00 00    	lea    0x20c(%ebp),%ecx
50c382:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
50c386:	e8 e0 05 f3 ff       	call   0x43c96b
50c38b:	8b f8                	mov    %eax,%edi
50c38d:	ff 75 e8             	push   -0x18(%ebp)
50c390:	8d 4d 00             	lea    0x0(%ebp),%ecx
50c393:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
50c397:	e8 51 95 f0 ff       	call   0x4158ed
50c39c:	ff b7 04 02 00 00    	push   0x204(%edi)
50c3a2:	8b 0b                	mov    (%ebx),%ecx
50c3a4:	ff b0 04 02 00 00    	push   0x204(%eax)
50c3aa:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
50c3ae:	68 20 c7 bd 00       	push   $0xbdc720
50c3b3:	68 ec 5f bd 00       	push   $0xbd5fec
50c3b8:	53                   	push   %ebx
50c3b9:	ff 51 18             	call   *0x18(%ecx)
50c3bc:	83 c4 14             	add    $0x14,%esp
50c3bf:	8d 4d 00             	lea    0x0(%ebp),%ecx
50c3c2:	e8 25 81 f1 ff       	call   0x4244ec
50c3c7:	8d 8d 0c 02 00 00    	lea    0x20c(%ebp),%ecx
50c3cd:	e8 1a 81 f1 ff       	call   0x4244ec
50c3d2:	8b 85 80 06 00 00    	mov    0x680(%ebp),%eax
50c3d8:	83 f8 10             	cmp    $0x10,%eax
50c3db:	72 13                	jb     0x50c3f0
50c3dd:	40                   	inc    %eax
50c3de:	8d 8d 6c 06 00 00    	lea    0x66c(%ebp),%ecx
50c3e4:	50                   	push   %eax
50c3e5:	ff b5 6c 06 00 00    	push   0x66c(%ebp)
50c3eb:	e8 2c 82 f2 ff       	call   0x43461c
50c3f0:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
50c3f7:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
50c3fe:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
50c405:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50c408:	8d 45 c4             	lea    -0x3c(%ebp),%eax
50c40b:	50                   	push   %eax
50c40c:	ff b5 98 06 00 00    	push   0x698(%ebp)
50c412:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
50c416:	ff b6 08 01 00 00    	push   0x108(%esi)
50c41c:	ff 75 e8             	push   -0x18(%ebp)
50c41f:	e8 29 e4 f0 ff       	call   0x41a84d
50c424:	84 c0                	test   %al,%al
50c426:	74 1b                	je     0x50c443
50c428:	ff 75 c8             	push   -0x38(%ebp)
50c42b:	8b 45 e0             	mov    -0x20(%ebp),%eax
50c42e:	8d 4d c0             	lea    -0x40(%ebp),%ecx
50c431:	ff 75 c4             	push   -0x3c(%ebp)
50c434:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
50c438:	ff 70 04             	push   0x4(%eax)
50c43b:	51                   	push   %ecx
50c43c:	8b c8                	mov    %eax,%ecx
50c43e:	e8 ba 05 f2 ff       	call   0x42c9fd
50c443:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
50c446:	e8 f4 84 ef ff       	call   0x40493f
50c44b:	8b 7d a4             	mov    -0x5c(%ebp),%edi
50c44e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
50c452:	85 ff                	test   %edi,%edi
50c454:	74 21                	je     0x50c477
50c456:	83 c8 ff             	or     $0xffffffff,%eax
50c459:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
50c45e:	75 17                	jne    0x50c477
50c460:	8b 07                	mov    (%edi),%eax
50c462:	8b cf                	mov    %edi,%ecx
50c464:	ff 10                	call   *(%eax)
50c466:	83 c8 ff             	or     $0xffffffff,%eax
50c469:	f0 0f c1 47 08       	lock xadd %eax,0x8(%edi)
50c46e:	75 07                	jne    0x50c477
50c470:	8b 07                	mov    (%edi),%eax
50c472:	8b cf                	mov    %edi,%ecx
50c474:	ff 50 04             	call   *0x4(%eax)
50c477:	8b 7d ec             	mov    -0x14(%ebp),%edi
50c47a:	8a 5d f3             	mov    -0xd(%ebp),%bl
50c47d:	8b 85 98 06 00 00    	mov    0x698(%ebp),%eax
50c483:	81 c6 10 01 00 00    	add    $0x110,%esi
50c489:	8b 8d 94 06 00 00    	mov    0x694(%ebp),%ecx
50c48f:	e9 6d fc ff ff       	jmp    0x50c101
50c494:	84 db                	test   %bl,%bl
50c496:	0f 85 af fa ff ff    	jne    0x50bf4b
50c49c:	80 bd a0 06 00 00 00 	cmpb   $0x0,0x6a0(%ebp)
50c4a3:	0f 84 a2 fa ff ff    	je     0x50bf4b
50c4a9:	8b 31                	mov    (%ecx),%esi
50c4ab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
50c4b0:	84 db                	test   %bl,%bl
50c4b2:	74 08                	je     0x50c4bc
50c4b4:	84 c0                	test   %al,%al
50c4b6:	0f 85 8f fa ff ff    	jne    0x50bf4b
50c4bc:	3b 71 04             	cmp    0x4(%ecx),%esi
50c4bf:	0f 84 86 fa ff ff    	je     0x50bf4b
50c4c5:	84 db                	test   %bl,%bl
50c4c7:	74 19                	je     0x50c4e2
50c4c9:	84 c0                	test   %al,%al
50c4cb:	75 15                	jne    0x50c4e2
50c4cd:	ff b6 08 01 00 00    	push   0x108(%esi)
50c4d3:	8b cf                	mov    %edi,%ecx
50c4d5:	e8 da 53 f1 ff       	call   0x4218b4
50c4da:	84 c0                	test   %al,%al
50c4dc:	0f 85 e8 00 00 00    	jne    0x50c5ca
50c4e2:	ff b6 08 01 00 00    	push   0x108(%esi)
50c4e8:	8d 45 bc             	lea    -0x44(%ebp),%eax
50c4eb:	8b cf                	mov    %edi,%ecx
50c4ed:	50                   	push   %eax
50c4ee:	e8 0f 8f ef ff       	call   0x405402
50c4f3:	8d 45 bc             	lea    -0x44(%ebp),%eax
50c4f6:	6a 00                	push   $0x0
50c4f8:	50                   	push   %eax
50c4f9:	e8 09 53 ef ff       	call   0x401807
50c4fe:	8b 7d c0             	mov    -0x40(%ebp),%edi
50c501:	83 c4 08             	add    $0x8,%esp
50c504:	84 c0                	test   %al,%al
50c506:	0f 85 92 00 00 00    	jne    0x50c59e
50c50c:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
50c513:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
50c51a:	85 ff                	test   %edi,%edi
50c51c:	74 21                	je     0x50c53f
50c51e:	83 c8 ff             	or     $0xffffffff,%eax
50c521:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
50c526:	75 17                	jne    0x50c53f
50c528:	8b 07                	mov    (%edi),%eax
50c52a:	8b cf                	mov    %edi,%ecx
50c52c:	ff 10                	call   *(%eax)
50c52e:	83 c8 ff             	or     $0xffffffff,%eax
50c531:	f0 0f c1 47 08       	lock xadd %eax,0x8(%edi)
50c536:	75 07                	jne    0x50c53f
50c538:	8b 07                	mov    (%edi),%eax
50c53a:	8b cf                	mov    %edi,%ecx
50c53c:	ff 50 04             	call   *0x4(%eax)
50c53f:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
50c546:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
50c54d:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
50c554:	8b 4d ec             	mov    -0x14(%ebp),%ecx
50c557:	8d 45 c4             	lea    -0x3c(%ebp),%eax
50c55a:	50                   	push   %eax
50c55b:	ff b5 98 06 00 00    	push   0x698(%ebp)
50c561:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
50c565:	ff b6 08 01 00 00    	push   0x108(%esi)
50c56b:	ff 75 e8             	push   -0x18(%ebp)
50c56e:	e8 da e2 f0 ff       	call   0x41a84d
50c573:	84 c0                	test   %al,%al
50c575:	74 1c                	je     0x50c593
50c577:	8b 45 e0             	mov    -0x20(%ebp),%eax
50c57a:	b3 01                	mov    $0x1,%bl
50c57c:	c6 45 dc 00          	movb   $0x0,-0x24(%ebp)
50c580:	8b c8                	mov    %eax,%ecx
50c582:	ff 75 dc             	push   -0x24(%ebp)
50c585:	ff 75 c8             	push   -0x38(%ebp)
50c588:	ff 75 c4             	push   -0x3c(%ebp)
50c58b:	ff 70 04             	push   0x4(%eax)
50c58e:	e8 4e 5c f2 ff       	call   0x4321e1
50c593:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
50c596:	e8 a4 83 ef ff       	call   0x40493f
50c59b:	8b 7d c0             	mov    -0x40(%ebp),%edi
50c59e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
50c5a2:	85 ff                	test   %edi,%edi
50c5a4:	74 21                	je     0x50c5c7
50c5a6:	83 c8 ff             	or     $0xffffffff,%eax
50c5a9:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
50c5ae:	75 17                	jne    0x50c5c7
50c5b0:	8b 07                	mov    (%edi),%eax
50c5b2:	8b cf                	mov    %edi,%ecx
50c5b4:	ff 10                	call   *(%eax)
50c5b6:	83 c8 ff             	or     $0xffffffff,%eax
50c5b9:	f0 0f c1 47 08       	lock xadd %eax,0x8(%edi)
50c5be:	75 07                	jne    0x50c5c7
50c5c0:	8b 07                	mov    (%edi),%eax
50c5c2:	8b cf                	mov    %edi,%ecx
50c5c4:	ff 50 04             	call   *0x4(%eax)
50c5c7:	8b 7d ec             	mov    -0x14(%ebp),%edi
50c5ca:	8b 85 98 06 00 00    	mov    0x698(%ebp),%eax
50c5d0:	81 c6 10 01 00 00    	add    $0x110,%esi
50c5d6:	8b 8d 94 06 00 00    	mov    0x694(%ebp),%ecx
50c5dc:	e9 cf fe ff ff       	jmp    0x50c4b0
50c5e1:	cc                   	int3
50c5e2:	cc                   	int3
50c5e3:	cc                   	int3
50c5e4:	cc                   	int3
50c5e5:	cc                   	int3
50c5e6:	cc                   	int3
50c5e7:	cc                   	int3
50c5e8:	cc                   	int3
50c5e9:	cc                   	int3
50c5ea:	cc                   	int3