520f7c:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
520f82:	8b 15 ac 84 40 00    	mov    0x4084ac,%edx
520f88:	e8 9f 44 ee ff       	call   0x40542c
520f8d:	8d 45 fc             	lea    -0x4(%ebp),%eax
520f90:	e8 d3 38 ee ff       	call   0x404868
520f95:	c3                   	ret
520f96:	e9 71 32 ee ff       	jmp    0x40420c
520f9b:	eb df                	jmp    0x520f7c
520f9d:	8b 45 f0             	mov    -0x10(%ebp),%eax
520fa0:	8b 55 f4             	mov    -0xc(%ebp),%edx
520fa3:	8b e5                	mov    %ebp,%esp
520fa5:	5d                   	pop    %ebp
520fa6:	c3                   	ret
520fa7:	90                   	nop
520fa8:	55                   	push   %ebp
520fa9:	8b ec                	mov    %esp,%ebp
520fab:	83 c4 f8             	add    $0xfffffff8,%esp
520fae:	53                   	push   %ebx
520faf:	56                   	push   %esi
520fb0:	57                   	push   %edi
520fb1:	8b d9                	mov    %ecx,%ebx
520fb3:	8b f0                	mov    %eax,%esi
520fb5:	33 c0                	xor    %eax,%eax
520fb7:	55                   	push   %ebp
520fb8:	68 b1 13 52 00       	push   $0x5213b1
520fbd:	64 ff 30             	push   %fs:(%eax)
520fc0:	64 89 20             	mov    %esp,%fs:(%eax)
520fc3:	66 83 3b 41          	cmpw   $0x41,(%ebx)
520fc7:	75 09                	jne    0x520fd2
520fc9:	33 d2                	xor    %edx,%edx
520fcb:	8b c6                	mov    %esi,%eax
520fcd:	e8 a6 f6 ff ff       	call   0x520678
520fd2:	66 83 3b 42          	cmpw   $0x42,(%ebx)
520fd6:	74 06                	je     0x520fde
520fd8:	66 83 3b 20          	cmpw   $0x20,(%ebx)
520fdc:	75 09                	jne    0x520fe7
520fde:	33 d2                	xor    %edx,%edx
520fe0:	8b c6                	mov    %esi,%eax
520fe2:	e8 ad f7 ff ff       	call   0x520794
520fe7:	66 81 3b bb 00       	cmpw   $0xbb,(%ebx)
520fec:	74 06                	je     0x520ff4
520fee:	66 83 3b 6b          	cmpw   $0x6b,(%ebx)
520ff2:	75 0d                	jne    0x521001
520ff4:	8b 96 b0 05 00 00    	mov    0x5b0(%esi),%edx
520ffa:	8b c6                	mov    %esi,%eax
520ffc:	e8 d3 f8 ff ff       	call   0x5208d4
521001:	66 81 3b bd 00       	cmpw   $0xbd,(%ebx)
521006:	74 06                	je     0x52100e
521008:	66 83 3b 6d          	cmpw   $0x6d,(%ebx)
52100c:	75 0d                	jne    0x52101b
52100e:	8b 96 b0 05 00 00    	mov    0x5b0(%esi),%edx
521014:	8b c6                	mov    %esi,%eax
521016:	e8 61 f9 ff ff       	call   0x52097c
52101b:	a0 c4 13 52 00       	mov    0x5213c4,%al
521020:	3a 45 08             	cmp    0x8(%ebp),%al
521023:	0f 85 7e 03 00 00    	jne    0x5213a7
521029:	66 83 3b 31          	cmpw   $0x31,(%ebx)
52102d:	74 06                	je     0x521035
52102f:	66 83 3b 61          	cmpw   $0x61,(%ebx)
521033:	75 55                	jne    0x52108a
521035:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
52103b:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
521041:	d8 1d c8 13 52 00    	fcomps 0x5213c8
521047:	df e0                	fnstsw %ax
521049:	9e                   	sahf
52104a:	74 3e                	je     0x52108a
52104c:	68 00 00 59 40       	push   $0x40590000
521051:	6a 00                	push   $0x0
521053:	6a 01                	push   $0x1
521055:	8b 47 4c             	mov    0x4c(%edi),%eax
521058:	d1 f8                	sar    $1,%eax
52105a:	79 03                	jns    0x52105f
52105c:	83 d0 00             	adc    $0x0,%eax
52105f:	89 45 fc             	mov    %eax,-0x4(%ebp)
521062:	db 45 fc             	fildl  -0x4(%ebp)
521065:	e8 56 1c ee ff       	call   0x402cc0
52106a:	50                   	push   %eax
52106b:	8b 47 48             	mov    0x48(%edi),%eax
52106e:	d1 f8                	sar    $1,%eax
521070:	79 03                	jns    0x521075
521072:	83 d0 00             	adc    $0x0,%eax
521075:	89 45 f8             	mov    %eax,-0x8(%ebp)
521078:	db 45 f8             	fildl  -0x8(%ebp)
52107b:	e8 40 1c ee ff       	call   0x402cc0
521080:	8b d0                	mov    %eax,%edx
521082:	8b c7                	mov    %edi,%eax
521084:	59                   	pop    %ecx
521085:	e8 da 86 0b 00       	call   0x5d9764
52108a:	66 83 3b 32          	cmpw   $0x32,(%ebx)
52108e:	74 06                	je     0x521096
521090:	66 83 3b 62          	cmpw   $0x62,(%ebx)
521094:	75 55                	jne    0x5210eb
521096:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
52109c:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
5210a2:	d8 1d cc 13 52 00    	fcomps 0x5213cc
5210a8:	df e0                	fnstsw %ax
5210aa:	9e                   	sahf
5210ab:	74 3e                	je     0x5210eb
5210ad:	68 00 00 69 40       	push   $0x40690000
5210b2:	6a 00                	push   $0x0
5210b4:	6a 01                	push   $0x1
5210b6:	8b 47 4c             	mov    0x4c(%edi),%eax
5210b9:	d1 f8                	sar    $1,%eax
5210bb:	79 03                	jns    0x5210c0
5210bd:	83 d0 00             	adc    $0x0,%eax
5210c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5210c3:	db 45 fc             	fildl  -0x4(%ebp)
5210c6:	e8 f5 1b ee ff       	call   0x402cc0
5210cb:	50                   	push   %eax
5210cc:	8b 47 48             	mov    0x48(%edi),%eax
5210cf:	d1 f8                	sar    $1,%eax
5210d1:	79 03                	jns    0x5210d6
5210d3:	83 d0 00             	adc    $0x0,%eax
5210d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5210d9:	db 45 f8             	fildl  -0x8(%ebp)
5210dc:	e8 df 1b ee ff       	call   0x402cc0
5210e1:	8b d0                	mov    %eax,%edx
5210e3:	8b c7                	mov    %edi,%eax
5210e5:	59                   	pop    %ecx
5210e6:	e8 79 86 0b 00       	call   0x5d9764
5210eb:	66 83 3b 33          	cmpw   $0x33,(%ebx)
5210ef:	74 06                	je     0x5210f7
5210f1:	66 83 3b 63          	cmpw   $0x63,(%ebx)
5210f5:	75 55                	jne    0x52114c
5210f7:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
5210fd:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
521103:	d8 1d d0 13 52 00    	fcomps 0x5213d0
521109:	df e0                	fnstsw %ax
52110b:	9e                   	sahf
52110c:	74 3e                	je     0x52114c
52110e:	68 00 c0 72 40       	push   $0x4072c000
521113:	6a 00                	push   $0x0
521115:	6a 01                	push   $0x1
521117:	8b 47 4c             	mov    0x4c(%edi),%eax
52111a:	d1 f8                	sar    $1,%eax
52111c:	79 03                	jns    0x521121
52111e:	83 d0 00             	adc    $0x0,%eax
521121:	89 45 fc             	mov    %eax,-0x4(%ebp)
521124:	db 45 fc             	fildl  -0x4(%ebp)
521127:	e8 94 1b ee ff       	call   0x402cc0
52112c:	50                   	push   %eax
52112d:	8b 47 48             	mov    0x48(%edi),%eax
521130:	d1 f8                	sar    $1,%eax
521132:	79 03                	jns    0x521137
521134:	83 d0 00             	adc    $0x0,%eax
521137:	89 45 f8             	mov    %eax,-0x8(%ebp)
52113a:	db 45 f8             	fildl  -0x8(%ebp)
52113d:	e8 7e 1b ee ff       	call   0x402cc0
521142:	8b d0                	mov    %eax,%edx
521144:	8b c7                	mov    %edi,%eax
521146:	59                   	pop    %ecx
521147:	e8 18 86 0b 00       	call   0x5d9764
52114c:	66 83 3b 34          	cmpw   $0x34,(%ebx)
521150:	74 06                	je     0x521158
521152:	66 83 3b 64          	cmpw   $0x64,(%ebx)
521156:	75 55                	jne    0x5211ad
521158:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
52115e:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
521164:	d8 1d d4 13 52 00    	fcomps 0x5213d4
52116a:	df e0                	fnstsw %ax
52116c:	9e                   	sahf
52116d:	74 3e                	je     0x5211ad
52116f:	68 00 00 79 40       	push   $0x40790000
521174:	6a 00                	push   $0x0
521176:	6a 01                	push   $0x1
521178:	8b 47 4c             	mov    0x4c(%edi),%eax
52117b:	d1 f8                	sar    $1,%eax
52117d:	79 03                	jns    0x521182
52117f:	83 d0 00             	adc    $0x0,%eax
521182:	89 45 fc             	mov    %eax,-0x4(%ebp)
521185:	db 45 fc             	fildl  -0x4(%ebp)
521188:	e8 33 1b ee ff       	call   0x402cc0
52118d:	50                   	push   %eax
52118e:	8b 47 48             	mov    0x48(%edi),%eax
521191:	d1 f8                	sar    $1,%eax
521193:	79 03                	jns    0x521198
521195:	83 d0 00             	adc    $0x0,%eax
521198:	89 45 f8             	mov    %eax,-0x8(%ebp)
52119b:	db 45 f8             	fildl  -0x8(%ebp)
52119e:	e8 1d 1b ee ff       	call   0x402cc0
5211a3:	8b d0                	mov    %eax,%edx
5211a5:	8b c7                	mov    %edi,%eax
5211a7:	59                   	pop    %ecx
5211a8:	e8 b7 85 0b 00       	call   0x5d9764
5211ad:	66 83 3b 35          	cmpw   $0x35,(%ebx)
5211b1:	74 06                	je     0x5211b9
5211b3:	66 83 3b 65          	cmpw   $0x65,(%ebx)
5211b7:	75 55                	jne    0x52120e
5211b9:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
5211bf:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
5211c5:	d8 1d d8 13 52 00    	fcomps 0x5213d8
5211cb:	df e0                	fnstsw %ax
5211cd:	9e                   	sahf
5211ce:	74 3e                	je     0x52120e
5211d0:	68 00 40 7f 40       	push   $0x407f4000
5211d5:	6a 00                	push   $0x0
5211d7:	6a 01                	push   $0x1
5211d9:	8b 47 4c             	mov    0x4c(%edi),%eax
5211dc:	d1 f8                	sar    $1,%eax
5211de:	79 03                	jns    0x5211e3
5211e0:	83 d0 00             	adc    $0x0,%eax
5211e3:	89 45 fc             	mov    %eax,-0x4(%ebp)
5211e6:	db 45 fc             	fildl  -0x4(%ebp)
5211e9:	e8 d2 1a ee ff       	call   0x402cc0
5211ee:	50                   	push   %eax
5211ef:	8b 47 48             	mov    0x48(%edi),%eax
5211f2:	d1 f8                	sar    $1,%eax
5211f4:	79 03                	jns    0x5211f9
5211f6:	83 d0 00             	adc    $0x0,%eax
5211f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
5211fc:	db 45 f8             	fildl  -0x8(%ebp)
5211ff:	e8 bc 1a ee ff       	call   0x402cc0
521204:	8b d0                	mov    %eax,%edx
521206:	8b c7                	mov    %edi,%eax
521208:	59                   	pop    %ecx
521209:	e8 56 85 0b 00       	call   0x5d9764
52120e:	66 83 3b 36          	cmpw   $0x36,(%ebx)
521212:	74 06                	je     0x52121a
521214:	66 83 3b 66          	cmpw   $0x66,(%ebx)
521218:	75 55                	jne    0x52126f
52121a:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
521220:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
521226:	d8 1d dc 13 52 00    	fcomps 0x5213dc
52122c:	df e0                	fnstsw %ax
52122e:	9e                   	sahf
52122f:	74 3e                	je     0x52126f
521231:	68 00 c0 82 40       	push   $0x4082c000
521236:	6a 00                	push   $0x0
521238:	6a 01                	push   $0x1
52123a:	8b 47 4c             	mov    0x4c(%edi),%eax
52123d:	d1 f8                	sar    $1,%eax
52123f:	79 03                	jns    0x521244
521241:	83 d0 00             	adc    $0x0,%eax
521244:	89 45 fc             	mov    %eax,-0x4(%ebp)
521247:	db 45 fc             	fildl  -0x4(%ebp)
52124a:	e8 71 1a ee ff       	call   0x402cc0
52124f:	50                   	push   %eax
521250:	8b 47 48             	mov    0x48(%edi),%eax
521253:	d1 f8                	sar    $1,%eax
521255:	79 03                	jns    0x52125a
521257:	83 d0 00             	adc    $0x0,%eax
52125a:	89 45 f8             	mov    %eax,-0x8(%ebp)
52125d:	db 45 f8             	fildl  -0x8(%ebp)
521260:	e8 5b 1a ee ff       	call   0x402cc0
521265:	8b d0                	mov    %eax,%edx
521267:	8b c7                	mov    %edi,%eax
521269:	59                   	pop    %ecx
52126a:	e8 f5 84 0b 00       	call   0x5d9764
52126f:	66 83 3b 37          	cmpw   $0x37,(%ebx)
521273:	74 06                	je     0x52127b
521275:	66 83 3b 67          	cmpw   $0x67,(%ebx)
521279:	75 55                	jne    0x5212d0
52127b:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
521281:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
521287:	d8 1d e0 13 52 00    	fcomps 0x5213e0
52128d:	df e0                	fnstsw %ax
52128f:	9e                   	sahf
521290:	74 3e                	je     0x5212d0
521292:	68 00 e0 85 40       	push   $0x4085e000
521297:	6a 00                	push   $0x0
521299:	6a 01                	push   $0x1
52129b:	8b 47 4c             	mov    0x4c(%edi),%eax
52129e:	d1 f8                	sar    $1,%eax
5212a0:	79 03                	jns    0x5212a5
5212a2:	83 d0 00             	adc    $0x0,%eax
5212a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
5212a8:	db 45 fc             	fildl  -0x4(%ebp)
5212ab:	e8 10 1a ee ff       	call   0x402cc0
5212b0:	50                   	push   %eax
5212b1:	8b 47 48             	mov    0x48(%edi),%eax
5212b4:	d1 f8                	sar    $1,%eax
5212b6:	79 03                	jns    0x5212bb
5212b8:	83 d0 00             	adc    $0x0,%eax
5212bb:	89 45 f8             	mov    %eax,-0x8(%ebp)
5212be:	db 45 f8             	fildl  -0x8(%ebp)
5212c1:	e8 fa 19 ee ff       	call   0x402cc0
5212c6:	8b d0                	mov    %eax,%edx
5212c8:	8b c7                	mov    %edi,%eax
5212ca:	59                   	pop    %ecx
5212cb:	e8 94 84 0b 00       	call   0x5d9764
5212d0:	66 83 3b 38          	cmpw   $0x38,(%ebx)
5212d4:	74 06                	je     0x5212dc
5212d6:	66 83 3b 68          	cmpw   $0x68,(%ebx)
5212da:	75 55                	jne    0x521331
5212dc:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
5212e2:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
5212e8:	d8 1d e4 13 52 00    	fcomps 0x5213e4
5212ee:	df e0                	fnstsw %ax
5212f0:	9e                   	sahf
5212f1:	74 3e                	je     0x521331
5212f3:	68 00 00 89 40       	push   $0x40890000
5212f8:	6a 00                	push   $0x0
5212fa:	6a 01                	push   $0x1
5212fc:	8b 47 4c             	mov    0x4c(%edi),%eax
5212ff:	d1 f8                	sar    $1,%eax
521301:	79 03                	jns    0x521306
521303:	83 d0 00             	adc    $0x0,%eax
521306:	89 45 fc             	mov    %eax,-0x4(%ebp)
521309:	db 45 fc             	fildl  -0x4(%ebp)
52130c:	e8 af 19 ee ff       	call   0x402cc0
521311:	50                   	push   %eax
521312:	8b 47 48             	mov    0x48(%edi),%eax
521315:	d1 f8                	sar    $1,%eax
521317:	79 03                	jns    0x52131c
521319:	83 d0 00             	adc    $0x0,%eax
52131c:	89 45 f8             	mov    %eax,-0x8(%ebp)
52131f:	db 45 f8             	fildl  -0x8(%ebp)
521322:	e8 99 19 ee ff       	call   0x402cc0
521327:	8b d0                	mov    %eax,%edx
521329:	8b c7                	mov    %edi,%eax
52132b:	59                   	pop    %ecx
52132c:	e8 33 84 0b 00       	call   0x5d9764
521331:	66 83 3b 39          	cmpw   $0x39,(%ebx)
521335:	74 06                	je     0x52133d
521337:	66 83 3b 69          	cmpw   $0x69,(%ebx)
52133b:	75 55                	jne    0x521392
52133d:	8b be b0 05 00 00    	mov    0x5b0(%esi),%edi
521343:	dd 87 a0 03 00 00    	fldl   0x3a0(%edi)
521349:	d8 1d e8 13 52 00    	fcomps 0x5213e8
52134f:	df e0                	fnstsw %ax
521351:	9e                   	sahf
521352:	74 3e                	je     0x521392
521354:	68 00 20 8c 40       	push   $0x408c2000
521359:	6a 00                	push   $0x0
52135b:	6a 01                	push   $0x1
52135d:	8b 47 4c             	mov    0x4c(%edi),%eax
521360:	d1 f8                	sar    $1,%eax
521362:	79 03                	jns    0x521367
521364:	83 d0 00             	adc    $0x0,%eax
521367:	89 45 fc             	mov    %eax,-0x4(%ebp)
52136a:	db 45 fc             	fildl  -0x4(%ebp)
52136d:	e8 4e 19 ee ff       	call   0x402cc0
521372:	50                   	push   %eax
521373:	8b 47 48             	mov    0x48(%edi),%eax
521376:	d1 f8                	sar    $1,%eax
521378:	79 03                	jns    0x52137d
52137a:	83 d0 00             	adc    $0x0,%eax
52137d:	89 45 f8             	mov    %eax,-0x8(%ebp)
521380:	db 45 f8             	fildl  -0x8(%ebp)
521383:	e8 38 19 ee ff       	call   0x402cc0
521388:	8b d0                	mov    %eax,%edx
52138a:	8b c7                	mov    %edi,%eax
52138c:	59                   	pop    %ecx
52138d:	e8 d2 83 0b 00       	call   0x5d9764
521392:	66 83 3b 30          	cmpw   $0x30,(%ebx)
521396:	74 06                	je     0x52139e
521398:	66 83 3b 60          	cmpw   $0x60,(%ebx)
52139c:	75 09                	jne    0x5213a7
52139e:	33 d2                	xor    %edx,%edx
5213a0:	8b c6                	mov    %esi,%eax