50be86:	89 85 84 06 00 00    	mov    %eax,0x684(%ebp)
50be8c:	53                   	push   %ebx
50be8d:	56                   	push   %esi
50be8e:	57                   	push   %edi
50be8f:	50                   	push   %eax
50be90:	8d 45 f4             	lea    -0xc(%ebp),%eax
50be93:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
50be99:	8b f9                	mov    %ecx,%edi
50be9b:	89 7d ec             	mov    %edi,-0x14(%ebp)
50be9e:	8b 85 90 06 00 00    	mov    0x690(%ebp),%eax
50bea4:	8d 8d 28 05 00 00    	lea    0x528(%ebp),%ecx
50beaa:	8b b5 a4 06 00 00    	mov    0x6a4(%ebp),%esi
50beb0:	50                   	push   %eax
50beb1:	68 d0 c6 bd 00       	push   $0xbdc6d0
50beb6:	89 45 e8             	mov    %eax,-0x18(%ebp)
50beb9:	89 75 e0             	mov    %esi,-0x20(%ebp)
50bebc:	e8 f1 50 f2 ff       	call   0x430fb2
50bec1:	ff 75 e8             	push   -0x18(%ebp)
50bec4:	32 db                	xor    %bl,%bl
50bec6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
50becd:	88 5d f3             	mov    %bl,-0xd(%ebp)
50bed0:	e8 34 98 ef ff       	call   0x405709
50bed5:	83 c4 04             	add    $0x4,%esp
50bed8:	ff 75 e8             	push   -0x18(%ebp)
50bedb:	84 c0                	test   %al,%al
50bedd:	0f 84 9a 00 00 00    	je     0x50bf7d
50bee3:	8d 85 0c 03 00 00    	lea    0x30c(%ebp),%eax
50bee9:	c7 85 08 03 00 00 f8 	movl   $0xbd1cf8,0x308(%ebp)
50bef0:	1c bd 00
50bef3:	8d 8d 08 03 00 00    	lea    0x308(%ebp),%ecx
50bef9:	89 85 10 04 00 00    	mov    %eax,0x410(%ebp)
50beff:	c7 85 14 04 00 00 04 	movl   $0x104,0x414(%ebp)
50bf06:	01 00 00
50bf09:	e8 68 3e f0 ff       	call   0x40fd76
50bf0e:	c7 85 08 03 00 00 04 	movl   $0xbd1d04,0x308(%ebp)
50bf15:	1d bd 00
50bf18:	6a 00                	push   $0x0
50bf1a:	8d 85 08 03 00 00    	lea    0x308(%ebp),%eax
50bf20:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
50bf24:	50                   	push   %eax
50bf25:	8b cf                	mov    %edi,%ecx
50bf27:	e8 28 6f f0 ff       	call   0x412e54
50bf2c:	8a d8                	mov    %al,%bl
50bf2e:	84 db                	test   %bl,%bl
50bf30:	74 0e                	je     0x50bf40
50bf32:	8d 85 08 03 00 00    	lea    0x308(%ebp),%eax
50bf38:	8b ce                	mov    %esi,%ecx
50bf3a:	50                   	push   %eax
50bf3b:	e8 89 b1 f2 ff       	call   0x4370c9
50bf40:	8d 8d 08 03 00 00    	lea    0x308(%ebp),%ecx
50bf46:	e8 ad 25 f0 ff       	call   0x40e4f8
50bf4b:	8d 8d 28 05 00 00    	lea    0x528(%ebp),%ecx
50bf51:	e8 b8 fb ef ff       	call   0x40bb0e
50bf56:	8a c3                	mov    %bl,%al
50bf58:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50bf5b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
50bf62:	59                   	pop    %ecx
50bf63:	5f                   	pop    %edi
50bf64:	5e                   	pop    %esi
50bf65:	5b                   	pop    %ebx
50bf66:	8b 8d 84 06 00 00    	mov    0x684(%ebp),%ecx
50bf6c:	33 cd                	xor    %ebp,%ecx
50bf6e:	e8 43 f8 f0 ff       	call   0x41b7b6
50bf73:	8d a5 88 06 00 00    	lea    0x688(%ebp),%esp
50bf79:	5d                   	pop    %ebp
50bf7a:	c2 18 00             	ret    $0x18
50bf7d:	e8 5a ff f0 ff       	call   0x41bedc
50bf82:	83 c4 04             	add    $0x4,%esp
50bf85:	84 c0                	test   %al,%al
50bf87:	0f 84 59 01 00 00    	je     0x50c0e6
50bf8d:	8d 85 1c 04 00 00    	lea    0x41c(%ebp),%eax
50bf93:	c7 85 24 05 00 00 04 	movl   $0x104,0x524(%ebp)
50bf9a:	01 00 00
50bf9d:	89 85 20 05 00 00    	mov    %eax,0x520(%ebp)
50bfa3:	c6 85 1c 04 00 00 00 	movb   $0x0,0x41c(%ebp)
50bfaa:	c7 85 18 04 00 00 04 	movl   $0xbd1d04,0x418(%ebp)
50bfb1:	1d bd 00
50bfb4:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
50bfb8:	33 f6                	xor    %esi,%esi
50bfba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
50bfc0:	84 db                	test   %bl,%bl
50bfc2:	74 0d                	je     0x50bfd1
50bfc4:	80 bd 98 06 00 00 00 	cmpb   $0x0,0x698(%ebp)
50bfcb:	0f 85 0a 01 00 00    	jne    0x50c0db
50bfd1:	8d 85 18 04 00 00    	lea    0x418(%ebp),%eax
50bfd7:	8b cf                	mov    %edi,%ecx
50bfd9:	50                   	push   %eax
50bfda:	56                   	push   %esi
50bfdb:	e8 fa 7a ef ff       	call   0x403ada
50bfe0:	84 c0                	test   %al,%al
50bfe2:	0f 84 f3 00 00 00    	je     0x50c0db
50bfe8:	ff b5 24 05 00 00    	push   0x524(%ebp)
50bfee:	8d 85 60 05 00 00    	lea    0x560(%ebp),%eax
50bff4:	c7 85 5c 05 00 00 f8 	movl   $0xbd1cf8,0x55c(%ebp)
50bffb:	1c bd 00
50bffe:	8d 8d 5c 05 00 00    	lea    0x55c(%ebp),%ecx
50c004:	89 85 64 06 00 00    	mov    %eax,0x664(%ebp)
50c00a:	c7 85 68 06 00 00 04 	movl   $0x104,0x668(%ebp)
50c011:	01 00 00
50c014:	e8 70 43 f0 ff       	call   0x410389
50c019:	ff b5 24 05 00 00    	push   0x524(%ebp)
50c01f:	ff b5 20 05 00 00    	push   0x520(%ebp)
50c025:	ff b5 64 06 00 00    	push   0x664(%ebp)
50c02b:	e8 52 86 f0 ff       	call   0x414682
50c030:	83 c4 0c             	add    $0xc,%esp
50c033:	c7 85 5c 05 00 00 04 	movl   $0xbd1d04,0x55c(%ebp)
50c03a:	1d bd 00
50c03d:	8b 85 64 06 00 00    	mov    0x664(%ebp),%eax
50c043:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
50c047:	80 38 00             	cmpb   $0x0,(%eax)
50c04a:	74 0b                	je     0x50c057
50c04c:	8d 8d 5c 05 00 00    	lea    0x55c(%ebp),%ecx
50c052:	e8 8e 5e f1 ff       	call   0x421ee5
50c057:	ff 75 e8             	push   -0x18(%ebp)
50c05a:	8d 8d 5c 05 00 00    	lea    0x55c(%ebp),%ecx
50c060:	e8 60 69 f2 ff       	call   0x4329c5
50c065:	8d 45 e4             	lea    -0x1c(%ebp),%eax
50c068:	c7 45 e4 07 00 00 00 	movl   $0x7,-0x1c(%ebp)
50c06f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
50c072:	8d 45 e8             	lea    -0x18(%ebp),%eax
50c075:	51                   	push   %ecx
50c076:	89 45 b8             	mov    %eax,-0x48(%ebp)
50c079:	8b cc                	mov    %esp,%ecx
50c07b:	8d 45 b4             	lea    -0x4c(%ebp),%eax
50c07e:	50                   	push   %eax
50c07f:	e8 c3 5f f2 ff       	call   0x432047
50c084:	8d 8d 5c 05 00 00    	lea    0x55c(%ebp),%ecx
50c08a:	e8 94 f1 f2 ff       	call   0x43b223
50c08f:	6a 00                	push   $0x0
50c091:	8d 85 5c 05 00 00    	lea    0x55c(%ebp),%eax
50c097:	8b cf                	mov    %edi,%ecx
50c099:	50                   	push   %eax
50c09a:	e8 b5 6d f0 ff       	call   0x412e54
50c09f:	84 c0                	test   %al,%al
50c0a1:	74 23                	je     0x50c0c6
50c0a3:	b3 01                	mov    $0x1,%bl
50c0a5:	85 f6                	test   %esi,%esi
50c0a7:	75 0e                	jne    0x50c0b7
50c0a9:	ff 75 e8             	push   -0x18(%ebp)
50c0ac:	8d 8d 5c 05 00 00    	lea    0x55c(%ebp),%ecx
50c0b2:	e8 bf 3c f0 ff       	call   0x40fd76
50c0b7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
50c0ba:	8d 85 5c 05 00 00    	lea    0x55c(%ebp),%eax
50c0c0:	50                   	push   %eax
50c0c1:	e8 03 b0 f2 ff       	call   0x4370c9
50c0c6:	8d 8d 5c 05 00 00    	lea    0x55c(%ebp),%ecx
50c0cc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
50c0d0:	e8 23 24 f0 ff       	call   0x40e4f8
50c0d5:	46                   	inc    %esi
50c0d6:	e9 e5 fe ff ff       	jmp    0x50bfc0
50c0db:	8d 8d 18 04 00 00    	lea    0x418(%ebp),%ecx
50c0e1:	e9 60 fe ff ff       	jmp    0x50bf46
50c0e6:	80 bd 9c 06 00 00 00 	cmpb   $0x0,0x69c(%ebp)
50c0ed:	8b 85 98 06 00 00    	mov    0x698(%ebp),%eax
50c0f3:	8b 8d 94 06 00 00    	mov    0x694(%ebp),%ecx
50c0f9:	0f 84 9d 03 00 00    	je     0x50c49c
50c0ff:	8b 31                	mov    (%ecx),%esi
50c101:	89 75 dc             	mov    %esi,-0x24(%ebp)
50c104:	84 db                	test   %bl,%bl
50c106:	74 08                	je     0x50c110
50c108:	84 c0                	test   %al,%al
50c10a:	0f 85 84 03 00 00    	jne    0x50c494
50c110:	3b 71 04             	cmp    0x4(%ecx),%esi
50c113:	0f 84 7b 03 00 00    	je     0x50c494
50c119:	8b 5f 1c             	mov    0x1c(%edi),%ebx
50c11c:	8d 85 6c 06 00 00    	lea    0x66c(%ebp),%eax
50c122:	50                   	push   %eax
50c123:	8b ce                	mov    %esi,%ecx
50c125:	e8 bf d5 f2 ff       	call   0x4396e9
50c12a:	50                   	push   %eax
50c12b:	8d 4d 00             	lea    0x0(%ebp),%ecx
50c12e:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
50c132:	e8 34 08 f3 ff       	call   0x43c96b
50c137:	8b f8                	mov    %eax,%edi
50c139:	ff 75 e8             	push   -0x18(%ebp)
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)