531f2e:	e8 11 cc ff ff       	call   0x52eb44
531f33:	8b 97 08 02 00 00    	mov    0x208(%edi),%edx
531f39:	8b c7                	mov    %edi,%eax
531f3b:	e8 00 d9 ff ff       	call   0x52f840
531f40:	eb 0d                	jmp    0x531f4f
531f42:	f6 45 ff 01          	testb  $0x1,-0x1(%ebp)
531f46:	75 07                	jne    0x531f4f
531f48:	8b c7                	mov    %edi,%eax
531f4a:	e8 71 cd ff ff       	call   0x52ecc0
531f4f:	5f                   	pop    %edi
531f50:	5e                   	pop    %esi
531f51:	5b                   	pop    %ebx
531f52:	8b e5                	mov    %ebp,%esp
531f54:	5d                   	pop    %ebp
531f55:	c2 08 00             	ret    $0x8
531f58:	55                   	push   %ebp
531f59:	8b ec                	mov    %esp,%ebp
531f5b:	83 c4 d0             	add    $0xffffffd0,%esp
531f5e:	53                   	push   %ebx
531f5f:	56                   	push   %esi
531f60:	57                   	push   %edi
531f61:	88 4d fe             	mov    %cl,-0x2(%ebp)
531f64:	88 55 ff             	mov    %dl,-0x1(%ebp)
531f67:	8b d8                	mov    %eax,%ebx
531f69:	8b 75 0c             	mov    0xc(%ebp),%esi
531f6c:	56                   	push   %esi
531f6d:	8b 45 08             	mov    0x8(%ebp),%eax
531f70:	50                   	push   %eax
531f71:	8a 4d fe             	mov    -0x2(%ebp),%cl
531f74:	8a 55 ff             	mov    -0x1(%ebp),%dl
531f77:	8b c3                	mov    %ebx,%eax
531f79:	e8 66 c3 0a 00       	call   0x5de2e4
531f7e:	80 bb 19 06 00 00 08 	cmpb   $0x8,0x619(%ebx)
531f85:	0f 85 81 00 00 00    	jne    0x53200c
531f8b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
531f8f:	75 7b                	jne    0x53200c
531f91:	8b 93 1c 06 00 00    	mov    0x61c(%ebx),%edx
531f97:	8b c3                	mov    %ebx,%eax
531f99:	e8 5a cf ff ff       	call   0x52eef8
531f9e:	8b 10                	mov    (%eax),%edx
531fa0:	89 93 30 06 00 00    	mov    %edx,0x630(%ebx)
531fa6:	8b 50 04             	mov    0x4(%eax),%edx
531fa9:	89 93 34 06 00 00    	mov    %edx,0x634(%ebx)
531faf:	8b 50 08             	mov    0x8(%eax),%edx
531fb2:	89 93 38 06 00 00    	mov    %edx,0x638(%ebx)
531fb8:	8b 40 0c             	mov    0xc(%eax),%eax
531fbb:	89 83 3c 06 00 00    	mov    %eax,0x63c(%ebx)
531fc1:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
531fc6:	8b c3                	mov    %ebx,%eax
531fc8:	e8 77 cb ff ff       	call   0x52eb44
531fcd:	8b c3                	mov    %ebx,%eax
531fcf:	8b 10                	mov    (%eax),%edx
531fd1:	ff 92 54 01 00 00    	call   *0x154(%edx)
531fd7:	66 83 bb 5a 07 00 00 	cmpw   $0x0,0x75a(%ebx)
531fde:	00
531fdf:	74 15                	je     0x531ff6
531fe1:	8b 8b 48 07 00 00    	mov    0x748(%ebx),%ecx
531fe7:	49                   	dec    %ecx
531fe8:	8b d3                	mov    %ebx,%edx
531fea:	8b 83 5c 07 00 00    	mov    0x75c(%ebx),%eax
531ff0:	ff 93 58 07 00 00    	call   *0x758(%ebx)
531ff6:	c6 83 19 06 00 00 00 	movb   $0x0,0x619(%ebx)
531ffd:	8b c3                	mov    %ebx,%eax
531fff:	8b 10                	mov    (%eax),%edx
532001:	ff 92 88 00 00 00    	call   *0x88(%edx)
532007:	e9 9a 05 00 00       	jmp    0x5325a6
53200c:	3b b3 28 04 00 00    	cmp    0x428(%ebx),%esi
532012:	75 0b                	jne    0x53201f
532014:	8b 45 08             	mov    0x8(%ebp),%eax
532017:	3b 83 2c 04 00 00    	cmp    0x42c(%ebx),%eax
53201d:	74 04                	je     0x532023
53201f:	33 c0                	xor    %eax,%eax
532021:	eb 02                	jmp    0x532025
532023:	b0 01                	mov    $0x1,%al
532025:	8a 93 19 06 00 00    	mov    0x619(%ebx),%dl
53202b:	80 fa 08             	cmp    $0x8,%dl
53202e:	0f 84 66 05 00 00    	je     0x53259a
532034:	80 fa 09             	cmp    $0x9,%dl
532037:	0f 84 5d 05 00 00    	je     0x53259a
53203d:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
532041:	0f 85 53 05 00 00    	jne    0x53259a
532047:	84 c0                	test   %al,%al
532049:	74 09                	je     0x532054
53204b:	f6 83 41 05 00 00 80 	testb  $0x80,0x541(%ebx)
532052:	74 23                	je     0x532077
532054:	84 c0                	test   %al,%al
532056:	74 1f                	je     0x532077
532058:	f6 83 40 05 00 00 80 	testb  $0x80,0x540(%ebx)
53205f:	75 16                	jne    0x532077
532061:	f6 83 40 05 00 00 02 	testb  $0x2,0x540(%ebx)
532068:	75 0d                	jne    0x532077
53206a:	f6 83 40 05 00 00 01 	testb  $0x1,0x540(%ebx)
532071:	0f 84 fd 04 00 00    	je     0x532574
532077:	83 bb 34 07 00 00 00 	cmpl   $0x0,0x734(%ebx)
53207e:	0f 8d 22 05 00 00    	jge    0x5325a6
532084:	80 bb 19 06 00 00 00 	cmpb   $0x0,0x619(%ebx)
53208b:	0f 84 c2 01 00 00    	je     0x532253
532091:	8d bb 30 06 00 00    	lea    0x630(%ebx),%edi
532097:	8b 83 28 04 00 00    	mov    0x428(%ebx),%eax
53209d:	3b 83 74 05 00 00    	cmp    0x574(%ebx),%eax
5320a3:	75 0e                	jne    0x5320b3
5320a5:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
5320ab:	3b 83 78 05 00 00    	cmp    0x578(%ebx),%eax
5320b1:	74 44                	je     0x5320f7
5320b3:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
5320b9:	8b c3                	mov    %ebx,%eax
5320bb:	e8 f0 70 0a 00       	call   0x5d91b0
5320c0:	89 07                	mov    %eax,(%edi)
5320c2:	8b 93 2c 04 00 00    	mov    0x42c(%ebx),%edx
5320c8:	8b c3                	mov    %ebx,%eax
5320ca:	e8 2d 71 0a 00       	call   0x5d91fc
5320cf:	89 47 04             	mov    %eax,0x4(%edi)
5320d2:	8b 93 74 05 00 00    	mov    0x574(%ebx),%edx
5320d8:	8b c3                	mov    %ebx,%eax
5320da:	e8 d1 70 0a 00       	call   0x5d91b0
5320df:	89 47 08             	mov    %eax,0x8(%edi)
5320e2:	8b 93 78 05 00 00    	mov    0x578(%ebx),%edx
5320e8:	8b c3                	mov    %ebx,%eax
5320ea:	e8 0d 71 0a 00       	call   0x5d91fc
5320ef:	89 47 0c             	mov    %eax,0xc(%edi)
5320f2:	e9 83 00 00 00       	jmp    0x53217a
5320f7:	8b 47 08             	mov    0x8(%edi),%eax
5320fa:	2b 07                	sub    (%edi),%eax
5320fc:	89 45 f8             	mov    %eax,-0x8(%ebp)
5320ff:	8b 47 0c             	mov    0xc(%edi),%eax
532102:	2b 47 04             	sub    0x4(%edi),%eax
532105:	89 45 f4             	mov    %eax,-0xc(%ebp)
532108:	80 bb 95 07 00 00 00 	cmpb   $0x0,0x795(%ebx)
53210f:	74 39                	je     0x53214a
532111:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
532117:	8b c3                	mov    %ebx,%eax
532119:	e8 92 70 0a 00       	call   0x5d91b0
53211e:	8b 55 f8             	mov    -0x8(%ebp),%edx
532121:	d1 fa                	sar    $1,%edx
532123:	79 03                	jns    0x532128
532125:	83 d2 00             	adc    $0x0,%edx
532128:	2b c2                	sub    %edx,%eax
53212a:	89 07                	mov    %eax,(%edi)
53212c:	8b 93 2c 04 00 00    	mov    0x42c(%ebx),%edx
532132:	8b c3                	mov    %ebx,%eax
532134:	e8 c3 70 0a 00       	call   0x5d91fc
532139:	8b 55 f4             	mov    -0xc(%ebp),%edx
53213c:	d1 fa                	sar    $1,%edx
53213e:	79 03                	jns    0x532143
532140:	83 d2 00             	adc    $0x0,%edx
532143:	2b c2                	sub    %edx,%eax
532145:	89 47 04             	mov    %eax,0x4(%edi)
532148:	eb 1f                	jmp    0x532169
53214a:	8b 93 28 04 00 00    	mov    0x428(%ebx),%edx
532150:	8b c3                	mov    %ebx,%eax
532152:	e8 59 70 0a 00       	call   0x5d91b0
532157:	89 07                	mov    %eax,(%edi)
532159:	8b 93 2c 04 00 00    	mov    0x42c(%ebx),%edx
53215f:	8b c3                	mov    %ebx,%eax
532161:	e8 96 70 0a 00       	call   0x5d91fc
532166:	89 47 04             	mov    %eax,0x4(%edi)
532169:	8b 07                	mov    (%edi),%eax
53216b:	03 45 f8             	add    -0x8(%ebp),%eax
53216e:	89 47 08             	mov    %eax,0x8(%edi)
532171:	8b 47 04             	mov    0x4(%edi),%eax
532174:	03 45 f4             	add    -0xc(%ebp),%eax
532177:	89 47 0c             	mov    %eax,0xc(%edi)
53217a:	8a 83 19 06 00 00    	mov    0x619(%ebx),%al
532180:	88 47 10             	mov    %al,0x10(%edi)
532183:	f6 83 41 05 00 00 01 	testb  $0x1,0x541(%ebx)
53218a:	0f 85 88 00 00 00    	jne    0x532218
532190:	8b c3                	mov    %ebx,%eax
532192:	8b 10                	mov    (%eax),%edx
532194:	ff 92 60 01 00 00    	call   *0x160(%edx)
53219a:	8d 93 30 06 00 00    	lea    0x630(%ebx),%edx
5321a0:	8b c3                	mov    %ebx,%eax
5321a2:	e8 15 d7 ff ff       	call   0x52f8bc
5321a7:	8b c3                	mov    %ebx,%eax
5321a9:	e8 12 cb ff ff       	call   0x52ecc0
5321ae:	66 83 bb 5a 07 00 00 	cmpw   $0x0,0x75a(%ebx)
5321b5:	00
5321b6:	74 15                	je     0x5321cd
5321b8:	8b 8b 48 07 00 00    	mov    0x748(%ebx),%ecx
5321be:	49                   	dec    %ecx
5321bf:	8b d3                	mov    %ebx,%edx
5321c1:	8b 83 5c 07 00 00    	mov    0x75c(%ebx),%eax
5321c7:	ff 93 58 07 00 00    	call   *0x758(%ebx)
5321cd:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
5321d2:	8b c3                	mov    %ebx,%eax
5321d4:	e8 6b c9 ff ff       	call   0x52eb44
5321d9:	80 bb aa 07 00 00 00 	cmpb   $0x0,0x7aa(%ebx)
5321e0:	74 27                	je     0x532209
5321e2:	8a 83 40 06 00 00    	mov    0x640(%ebx),%al
5321e8:	3c 06                	cmp    $0x6,%al
5321ea:	74 04                	je     0x5321f0
5321ec:	3c 0a                	cmp    $0xa,%al
5321ee:	75 19                	jne    0x532209
5321f0:	8b 83 48 07 00 00    	mov    0x748(%ebx),%eax
5321f6:	48                   	dec    %eax
5321f7:	89 83 34 07 00 00    	mov    %eax,0x734(%ebx)
5321fd:	8b c3                	mov    %ebx,%eax
5321ff:	e8 1c 64 00 00       	call   0x538620
532204:	e9 31 01 00 00       	jmp    0x53233a
532209:	8b c3                	mov    %ebx,%eax
53220b:	8b 10                	mov    (%eax),%edx
53220d:	ff 92 54 01 00 00    	call   *0x154(%edx)
532213:	e9 22 01 00 00       	jmp    0x53233a
532218:	8b c3                	mov    %ebx,%eax
53221a:	e8 95 e6 ff ff       	call   0x5308b4
53221f:	c6 83 c8 05 00 00 00 	movb   $0x0,0x5c8(%ebx)
532226:	66 83 bb 92 05 00 00 	cmpw   $0x0,0x592(%ebx)
53222d:	00
53222e:	0f 84 06 01 00 00    	je     0x53233a
532234:	ff b3 b4 05 00 00    	push   0x5b4(%ebx)
53223a:	ff b3 b0 05 00 00    	push   0x5b0(%ebx)
532240:	8b d3                	mov    %ebx,%edx
532242:	8b 83 94 05 00 00    	mov    0x594(%ebx),%eax
532248:	ff 93 90 05 00 00    	call   *0x590(%ebx)
53224e:	e9 e7 00 00 00       	jmp    0x53233a
532253:	8b bb 30 07 00 00    	mov    0x730(%ebx),%edi
532259:	85 ff                	test   %edi,%edi
53225b:	74 0a                	je     0x532267
53225d:	83 ff 03             	cmp    $0x3,%edi
532260:	0f 94 c2             	sete   %dl
532263:	84 c2                	test   %al,%dl
532265:	74 6c                	je     0x5322d3
532267:	f6 83 40 05 00 00 80 	testb  $0x80,0x540(%ebx)
53226e:	75 09                	jne    0x532279
532270:	f6 83 41 05 00 00 40 	testb  $0x40,0x541(%ebx)
532277:	74 5a                	je     0x5322d3
532279:	8b 83 28 04 00 00    	mov    0x428(%ebx),%eax
53227f:	3b 83 74 05 00 00    	cmp    0x574(%ebx),%eax
532285:	75 4c                	jne    0x5322d3
532287:	8b 83 2c 04 00 00    	mov    0x42c(%ebx),%eax
53228d:	3b 83 78 05 00 00    	cmp    0x578(%ebx),%eax
532293:	75 3e                	jne    0x5322d3
532295:	80 bb 0c 06 00 00 00 	cmpb   $0x0,0x60c(%ebx)
53229c:	74 21                	je     0x5322bf
53229e:	80 bb 0d 06 00 00 00 	cmpb   $0x0,0x60d(%ebx)
5322a5:	0f 84 8f 00 00 00    	je     0x53233a
5322ab:	8b 45 08             	mov    0x8(%ebp),%eax
5322ae:	50                   	push   %eax
5322af:	6a 00                	push   $0x0
5322b1:	8b ce                	mov    %esi,%ecx
5322b3:	8a 55 fe             	mov    -0x2(%ebp),%dl
5322b6:	8b c3                	mov    %ebx,%eax
5322b8:	e8 b3 fb ff ff       	call   0x531e70
5322bd:	eb 7b                	jmp    0x53233a
5322bf:	8b 45 08             	mov    0x8(%ebp),%eax
5322c2:	50                   	push   %eax
5322c3:	6a 00                	push   $0x0
5322c5:	8b ce                	mov    %esi,%ecx
5322c7:	8a 55 fe             	mov    -0x2(%ebp),%dl
5322ca:	8b c3                	mov    %ebx,%eax
5322cc:	e8 9f fb ff ff       	call   0x531e70
5322d1:	eb 67                	jmp    0x53233a
5322d3:	83 bb 30 07 00 00 00 	cmpl   $0x0,0x730(%ebx)
5322da:	74 5e                	je     0x53233a
5322dc:	8b bb 2c 07 00 00    	mov    0x72c(%ebx),%edi
5322e2:	4f                   	dec    %edi
5322e3:	85 ff                	test   %edi,%edi
5322e5:	7c 49                	jl     0x532330
5322e7:	47                   	inc    %edi
5322e8:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5322ef:	8b 83 28 07 00 00    	mov    0x728(%ebx),%eax
5322f5:	8b 55 f8             	mov    -0x8(%ebp),%edx
5322f8:	8b 14 90             	mov    (%eax,%edx,4),%edx
5322fb:	8b c3                	mov    %ebx,%eax
5322fd:	e8 f6 cb ff ff       	call   0x52eef8
532302:	8a 50 10             	mov    0x10(%eax),%dl
532305:	80 fa 01             	cmp    $0x1,%dl
532308:	74 20                	je     0x53232a
53230a:	80 fa 07             	cmp    $0x7,%dl
53230d:	74 1b                	je     0x53232a
53230f:	80 fa 08             	cmp    $0x8,%dl
532312:	74 16                	je     0x53232a
532314:	80 fa 0b             	cmp    $0xb,%dl
532317:	74 11                	je     0x53232a
532319:	8d 50 0c             	lea    0xc(%eax),%edx
53231c:	52                   	push   %edx
53231d:	8d 48 08             	lea    0x8(%eax),%ecx
532320:	8d 50 04             	lea    0x4(%eax),%edx
532323:	52                   	push   %edx
532324:	5a                   	pop    %edx
532325:	e8 5e 71 07 00       	call   0x5a9488
53232a:	ff 45 f8             	incl   -0x8(%ebp)
53232d:	4f                   	dec    %edi
53232e:	75 bf                	jne    0x5322ef
532330:	8b c3                	mov    %ebx,%eax
532332:	8b 10                	mov    (%eax),%edx
532334:	ff 92 54 01 00 00    	call   *0x154(%edx)
53233a:	83 bb 04 06 00 00 ff 	cmpl   $0xffffffff,0x604(%ebx)
532341:	0f 8e be 00 00 00    	jle    0x532405
532347:	f6 45 fe 04          	testb  $0x4,-0x2(%ebp)
53234b:	0f 84 b4 00 00 00    	je     0x532405
532351:	83 bb 2c 07 00 00 01 	cmpl   $0x1,0x72c(%ebx)
532358:	0f 85 a7 00 00 00    	jne    0x532405
53235e:	8b 83 28 07 00 00    	mov    0x728(%ebx),%eax
532364:	8b 10                	mov    (%eax),%edx
532366:	8b c3                	mov    %ebx,%eax
532368:	e8 8b cb ff ff       	call   0x52eef8
53236d:	8b f8                	mov    %eax,%edi
53236f:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
532375:	83 f8 02             	cmp    $0x2,%eax
532378:	0f 8e 87 00 00 00    	jle    0x532405
53237e:	c1 e0 03             	shl    $0x3,%eax
532381:	e8 26 04 ed ff       	call   0x4027ac
532386:	89 45 f0             	mov    %eax,-0x10(%ebp)
532389:	8b 8f 98 00 00 00    	mov    0x98(%edi),%ecx
53238f:	c1 e1 03             	shl    $0x3,%ecx
532392:	8b 55 f0             	mov    -0x10(%ebp),%edx
532395:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
53239b:	e8 80 06 ed ff       	call   0x402a20
5323a0:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
5323a6:	e8 21 04 ed ff       	call   0x4027cc
5323ab:	8b 45 f0             	mov    -0x10(%ebp),%eax
5323ae:	89 87 94 00 00 00    	mov    %eax,0x94(%edi)
5323b4:	8b 97 98 00 00 00    	mov    0x98(%edi),%edx
5323ba:	4a                   	dec    %edx
5323bb:	8b 83 04 06 00 00    	mov    0x604(%ebx),%eax
5323c1:	3b d0                	cmp    %eax,%edx
5323c3:	7e 22                	jle    0x5323e7
5323c5:	8b 55 f0             	mov    -0x10(%ebp),%edx
5323c8:	8d 14 c2             	lea    (%edx,%eax,8),%edx
5323cb:	52                   	push   %edx
5323cc:	8b 55 f0             	mov    -0x10(%ebp),%edx
5323cf:	8d 54 c2 08          	lea    0x8(%edx,%eax,8),%edx
5323d3:	8b 8f 98 00 00 00    	mov    0x98(%edi),%ecx
5323d9:	2b c8                	sub    %eax,%ecx
5323db:	49                   	dec    %ecx
5323dc:	c1 e1 03             	shl    $0x3,%ecx
5323df:	8b c2                	mov    %edx,%eax
5323e1:	5a                   	pop    %edx
5323e2:	e8 39 06 ed ff       	call   0x402a20
5323e7:	ff 8f 98 00 00 00    	decl   0x98(%edi)
5323ed:	8b 83 28 07 00 00    	mov    0x728(%ebx),%eax
5323f3:	8b 10                	mov    (%eax),%edx
5323f5:	8b c3                	mov    %ebx,%eax
5323f7:	e8 fc ca ff ff       	call   0x52eef8
5323fc:	8b d0                	mov    %eax,%edx
5323fe:	8b c3                	mov    %ebx,%eax
532400:	e8 47 52 00 00       	call   0x53764c
532405:	83 bb 08 06 00 00 ff 	cmpl   $0xffffffff,0x608(%ebx)
53240c:	0f 8e 31 01 00 00    	jle    0x532543
532412:	83 bb 2c 07 00 00 01 	cmpl   $0x1,0x72c(%ebx)
532419:	0f 85 24 01 00 00    	jne    0x532543
53241f:	8b 83 28 07 00 00    	mov    0x728(%ebx),%eax
532425:	8b 10                	mov    (%eax),%edx
532427:	8b c3                	mov    %ebx,%eax
532429:	e8 ca ca ff ff       	call   0x52eef8
53242e:	8b f8                	mov    %eax,%edi
532430:	89 75 f8             	mov    %esi,-0x8(%ebp)
532433:	8b 45 08             	mov    0x8(%ebp),%eax
532436:	89 45 f4             	mov    %eax,-0xc(%ebp)
532439:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax