518fc6:	8b 4d 18             	mov    0x18(%ebp),%ecx
518fc9:	53                   	push   %ebx
518fca:	56                   	push   %esi
518fcb:	8b 00                	mov    (%eax),%eax
518fcd:	89 01                	mov    %eax,(%ecx)
518fcf:	99                   	cltd
518fd0:	57                   	push   %edi
518fd1:	8b f8                	mov    %eax,%edi
518fd3:	8b da                	mov    %edx,%ebx
518fd5:	8b 55 10             	mov    0x10(%ebp),%edx
518fd8:	8b f7                	mov    %edi,%esi
518fda:	83 ee 01             	sub    $0x1,%esi
518fdd:	8b cb                	mov    %ebx,%ecx
518fdf:	83 d9 00             	sbb    $0x0,%ecx
518fe2:	23 f7                	and    %edi,%esi
518fe4:	23 cb                	and    %ebx,%ecx
518fe6:	0b f1                	or     %ecx,%esi
518fe8:	75 4b                	jne    0x519035
518fea:	0b c3                	or     %ebx,%eax
518fec:	75 07                	jne    0x518ff5
518fee:	8d 48 01             	lea    0x1(%eax),%ecx
518ff1:	33 db                	xor    %ebx,%ebx
518ff3:	eb 08                	jmp    0x518ffd
518ff5:	8b cf                	mov    %edi,%ecx
518ff7:	0f a4 cb 01          	shld   $0x1,%ecx,%ebx
518ffb:	03 c9                	add    %ecx,%ecx
518ffd:	53                   	push   %ebx
518ffe:	8b c2                	mov    %edx,%eax
519000:	99                   	cltd
519001:	51                   	push   %ecx
519002:	52                   	push   %edx
519003:	50                   	push   %eax
519004:	e8 f7 8a 0c 00       	call   0x5e1b00
519009:	8b 5d 0c             	mov    0xc(%ebp),%ebx
51900c:	52                   	push   %edx
51900d:	50                   	push   %eax
51900e:	53                   	push   %ebx
51900f:	ff 75 08             	push   0x8(%ebp)
519012:	e8 49 85 00 00       	call   0x521560
519017:	8b f0                	mov    %eax,%esi
519019:	83 c4 10             	add    $0x10,%esp
51901c:	85 f6                	test   %esi,%esi
51901e:	75 10                	jne    0x519030
519020:	8b 45 18             	mov    0x18(%ebp),%eax
519023:	5f                   	pop    %edi
519024:	5e                   	pop    %esi
519025:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
51902b:	8b c3                	mov    %ebx,%eax
51902d:	5b                   	pop    %ebx
51902e:	5d                   	pop    %ebp
51902f:	c3                   	ret
519030:	8b 55 10             	mov    0x10(%ebp),%edx
519033:	eb 03                	jmp    0x519038
519035:	8b 75 0c             	mov    0xc(%ebp),%esi
519038:	0f af fa             	imul   %edx,%edi
51903b:	52                   	push   %edx
51903c:	6a 00                	push   $0x0
51903e:	03 fe                	add    %esi,%edi
519040:	57                   	push   %edi
519041:	e8 ba a9 0c 00       	call   0x5e3a00
519046:	8b 45 14             	mov    0x14(%ebp),%eax
519049:	83 c4 0c             	add    $0xc,%esp
51904c:	ff 00                	incl   (%eax)
51904e:	8b c6                	mov    %esi,%eax
519050:	5f                   	pop    %edi
519051:	5e                   	pop    %esi
519052:	5b                   	pop    %ebx
519053:	5d                   	pop    %ebp
519054:	c3                   	ret
519055:	cc                   	int3
519056:	cc                   	int3
519057:	cc                   	int3
519058:	cc                   	int3
519059:	cc                   	int3
51905a:	cc                   	int3
51905b:	cc                   	int3
51905c:	cc                   	int3
51905d:	cc                   	int3
51905e:	cc                   	int3
51905f:	cc                   	int3
519060:	55                   	push   %ebp
519061:	8b ec                	mov    %esp,%ebp
519063:	83 ec 34             	sub    $0x34,%esp
519066:	8b 55 10             	mov    0x10(%ebp),%edx
519069:	33 c0                	xor    %eax,%eax
51906b:	89 45 f4             	mov    %eax,-0xc(%ebp)
51906e:	0f 57 c0             	xorps  %xmm0,%xmm0
519071:	89 45 e4             	mov    %eax,-0x1c(%ebp)
519074:	8b 45 0c             	mov    0xc(%ebp),%eax
519077:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
51907e:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
519083:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
51908a:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
519091:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
519098:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
51909f:	f2 0f 11 00          	movsd  %xmm0,(%eax)
5190a3:	53                   	push   %ebx
5190a4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5190a7:	57                   	push   %edi
5190a8:	8b fb                	mov    %ebx,%edi
5190aa:	85 d2                	test   %edx,%edx
5190ac:	75 08                	jne    0x5190b6
5190ae:	5f                   	pop    %edi
5190af:	33 c0                	xor    %eax,%eax
5190b1:	5b                   	pop    %ebx
5190b2:	8b e5                	mov    %ebp,%esp
5190b4:	5d                   	pop    %ebp
5190b5:	c3                   	ret
5190b6:	8a 45 14             	mov    0x14(%ebp),%al
5190b9:	56                   	push   %esi
5190ba:	3c 01                	cmp    $0x1,%al
5190bc:	75 0a                	jne    0x5190c8
5190be:	b9 01 00 00 00       	mov    $0x1,%ecx
5190c3:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5190c6:	eb 45                	jmp    0x51910d
5190c8:	0f b6 f0             	movzbl %al,%esi
5190cb:	83 e2 fe             	and    $0xfffffffe,%edx
5190ce:	b8 03 00 00 00       	mov    $0x3,%eax
5190d3:	b9 02 00 00 00       	mov    $0x2,%ecx
5190d8:	2b c6                	sub    %esi,%eax
5190da:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5190dd:	3b c2                	cmp    %edx,%eax
5190df:	7d 0d                	jge    0x5190ee
5190e1:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
5190e5:	75 07                	jne    0x5190ee
5190e7:	83 c0 02             	add    $0x2,%eax
5190ea:	3b c2                	cmp    %edx,%eax
5190ec:	7c f3                	jl     0x5190e1
5190ee:	83 e6 01             	and    $0x1,%esi
5190f1:	c7 45 10 01 00 00 00 	movl   $0x1,0x10(%ebp)
5190f8:	03 de                	add    %esi,%ebx
5190fa:	3b c2                	cmp    %edx,%eax
5190fc:	be 9c ff ff ff       	mov    $0xffffff9c,%esi
519101:	0f 4d 75 10          	cmovge 0x10(%ebp),%esi
519105:	83 f0 01             	xor    $0x1,%eax
519108:	89 75 f0             	mov    %esi,-0x10(%ebp)
51910b:	8b d0                	mov    %eax,%edx
51910d:	8d 34 17             	lea    (%edi,%edx,1),%esi
519110:	89 75 e0             	mov    %esi,-0x20(%ebp)
519113:	3b de                	cmp    %esi,%ebx
519115:	73 1b                	jae    0x519132
519117:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
51911e:	00 00
519120:	0f b6 03             	movzbl (%ebx),%eax
519123:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
51912a:	74 0f                	je     0x51913b
51912c:	03 d9                	add    %ecx,%ebx
51912e:	3b de                	cmp    %esi,%ebx
519130:	72 ee                	jb     0x519120
519132:	33 c0                	xor    %eax,%eax
519134:	5e                   	pop    %esi
519135:	5f                   	pop    %edi
519136:	5b                   	pop    %ebx
519137:	8b e5                	mov    %ebp,%esp
519139:	5d                   	pop    %ebp
51913a:	c3                   	ret
51913b:	3b de                	cmp    %esi,%ebx
51913d:	73 f3                	jae    0x519132
51913f:	8a 03                	mov    (%ebx),%al
519141:	3c 2d                	cmp    $0x2d,%al
519143:	75 09                	jne    0x51914e
519145:	c7 45 d4 ff ff ff ff 	movl   $0xffffffff,-0x2c(%ebp)
51914c:	eb 04                	jmp    0x519152
51914e:	3c 2b                	cmp    $0x2b,%al
519150:	75 02                	jne    0x519154
519152:	03 d9                	add    %ecx,%ebx
519154:	8b 55 ec             	mov    -0x14(%ebp),%edx
519157:	8b 7d e8             	mov    -0x18(%ebp),%edi
51915a:	89 55 f8             	mov    %edx,-0x8(%ebp)
51915d:	89 7d ec             	mov    %edi,-0x14(%ebp)
519160:	3b de                	cmp    %esi,%ebx
519162:	0f 83 e3 01 00 00    	jae    0x51934b
519168:	8a 03                	mov    (%ebx),%al
51916a:	88 45 13             	mov    %al,0x13(%ebp)
51916d:	0f b6 c0             	movzbl %al,%eax
519170:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
519177:	0f 84 9b 00 00 00    	je     0x519218
51917d:	0f be 45 13          	movsbl 0x13(%ebp),%eax
519181:	8b cf                	mov    %edi,%ecx
519183:	83 e8 30             	sub    $0x30,%eax
519186:	99                   	cltd
519187:	8b f2                	mov    %edx,%esi
519189:	8b 55 f8             	mov    -0x8(%ebp),%edx
51918c:	0f a4 ca 02          	shld   $0x2,%ecx,%edx
519190:	c1 e1 02             	shl    $0x2,%ecx
519193:	03 f9                	add    %ecx,%edi
519195:	8b 4d d8             	mov    -0x28(%ebp),%ecx
519198:	13 55 f8             	adc    -0x8(%ebp),%edx
51919b:	0f a4 fa 01          	shld   $0x1,%edi,%edx
51919f:	03 ff                	add    %edi,%edi
5191a1:	03 f8                	add    %eax,%edi
5191a3:	89 7d ec             	mov    %edi,-0x14(%ebp)
5191a6:	13 d6                	adc    %esi,%edx
5191a8:	ff 45 e4             	incl   -0x1c(%ebp)
5191ab:	03 d9                	add    %ecx,%ebx
5191ad:	89 55 f8             	mov    %edx,-0x8(%ebp)
5191b0:	81 fa cc cc cc 0c    	cmp    $0xccccccc,%edx
5191b6:	7c 33                	jl     0x5191eb
5191b8:	7f 08                	jg     0x5191c2
5191ba:	81 ff cb cc cc cc    	cmp    $0xcccccccb,%edi
5191c0:	72 29                	jb     0x5191eb
5191c2:	8b 75 e0             	mov    -0x20(%ebp),%esi
5191c5:	3b de                	cmp    %esi,%ebx
5191c7:	73 2d                	jae    0x5191f6
5191c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5191d0:	0f b6 03             	movzbl (%ebx),%eax
5191d3:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
5191da:	74 12                	je     0x5191ee
5191dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
5191df:	03 d9                	add    %ecx,%ebx
5191e1:	40                   	inc    %eax
5191e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5191e5:	3b de                	cmp    %esi,%ebx
5191e7:	72 e7                	jb     0x5191d0
5191e9:	eb 0e                	jmp    0x5191f9
5191eb:	8b 75 e0             	mov    -0x20(%ebp),%esi
5191ee:	3b de                	cmp    %esi,%ebx
5191f0:	0f 82 72 ff ff ff    	jb     0x519168
5191f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5191f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5191fc:	0f af 4d d0          	imul   -0x30(%ebp),%ecx
519200:	03 c8                	add    %eax,%ecx
519202:	89 4d f4             	mov    %ecx,-0xc(%ebp)
519205:	0f 89 47 01 00 00    	jns    0x519352
51920b:	83 ce ff             	or     $0xffffffff,%esi
51920e:	f7 d9                	neg    %ecx
519210:	89 4d f4             	mov    %ecx,-0xc(%ebp)
519213:	e9 3f 01 00 00       	jmp    0x519357
519218:	80 3b 2e             	cmpb   $0x2e,(%ebx)
51921b:	75 77                	jne    0x519294
51921d:	ff 45 f0             	incl   -0x10(%ebp)
519220:	03 d9                	add    %ecx,%ebx
519222:	3b de                	cmp    %esi,%ebx
519224:	73 d0                	jae    0x5191f6
519226:	8a 03                	mov    (%ebx),%al
519228:	88 45 13             	mov    %al,0x13(%ebp)
51922b:	0f b6 c0             	movzbl %al,%eax
51922e:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
519235:	74 5d                	je     0x519294
519237:	81 fa cc cc cc 0c    	cmp    $0xccccccc,%edx
51923d:	7f 47                	jg     0x519286
51923f:	7c 08                	jl     0x519249
519241:	81 ff cb cc cc cc    	cmp    $0xcccccccb,%edi
519247:	73 3d                	jae    0x519286
519249:	0f be 45 13          	movsbl 0x13(%ebp),%eax
51924d:	8b cf                	mov    %edi,%ecx
51924f:	83 e8 30             	sub    $0x30,%eax
519252:	99                   	cltd
519253:	8b f2                	mov    %edx,%esi
519255:	8b 55 f8             	mov    -0x8(%ebp),%edx
519258:	0f a4 ca 02          	shld   $0x2,%ecx,%edx
51925c:	c1 e1 02             	shl    $0x2,%ecx
51925f:	03 f9                	add    %ecx,%edi
519261:	8b 4d d8             	mov    -0x28(%ebp),%ecx
519264:	13 55 f8             	adc    -0x8(%ebp),%edx
519267:	0f a4 fa 01          	shld   $0x1,%edi,%edx
51926b:	03 ff                	add    %edi,%edi
51926d:	03 f8                	add    %eax,%edi
51926f:	8b 45 fc             	mov    -0x4(%ebp),%eax
519272:	89 7d ec             	mov    %edi,-0x14(%ebp)
519275:	13 d6                	adc    %esi,%edx
519277:	8b 75 e0             	mov    -0x20(%ebp),%esi
51927a:	48                   	dec    %eax
51927b:	89 55 f8             	mov    %edx,-0x8(%ebp)
51927e:	ff 45 e4             	incl   -0x1c(%ebp)
519281:	89 45 fc             	mov    %eax,-0x4(%ebp)
519284:	eb 03                	jmp    0x519289
519286:	8b 45 fc             	mov    -0x4(%ebp),%eax
519289:	03 d9                	add    %ecx,%ebx
51928b:	3b de                	cmp    %esi,%ebx
51928d:	72 97                	jb     0x519226
51928f:	e9 65 ff ff ff       	jmp    0x5191f9
519294:	3b de                	cmp    %esi,%ebx
519296:	0f 83 5a ff ff ff    	jae    0x5191f6
51929c:	8a 03                	mov    (%ebx),%al
51929e:	3c 65                	cmp    $0x65,%al
5192a0:	74 04                	je     0x5192a6
5192a2:	3c 45                	cmp    $0x45,%al
5192a4:	75 78                	jne    0x51931e
5192a6:	ff 45 f0             	incl   -0x10(%ebp)
5192a9:	03 d9                	add    %ecx,%ebx
5192ab:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5192b2:	3b de                	cmp    %esi,%ebx
5192b4:	0f 83 3c ff ff ff    	jae    0x5191f6
5192ba:	8a 03                	mov    (%ebx),%al
5192bc:	3c 2d                	cmp    $0x2d,%al
5192be:	75 09                	jne    0x5192c9
5192c0:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
5192c7:	eb 04                	jmp    0x5192cd
5192c9:	3c 2b                	cmp    $0x2b,%al
5192cb:	75 02                	jne    0x5192cf
5192cd:	03 d9                	add    %ecx,%ebx
5192cf:	3b de                	cmp    %esi,%ebx
5192d1:	0f 83 1f ff ff ff    	jae    0x5191f6
5192d7:	8a 03                	mov    (%ebx),%al
5192d9:	88 45 13             	mov    %al,0x13(%ebp)
5192dc:	0f b6 c0             	movzbl %al,%eax
5192df:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
5192e6:	74 36                	je     0x51931e
5192e8:	8b 45 f4             	mov    -0xc(%ebp),%eax
5192eb:	3d 10 27 00 00       	cmp    $0x2710,%eax
5192f0:	7d 12                	jge    0x519304
5192f2:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5192f5:	0f be 45 13          	movsbl 0x13(%ebp),%eax
5192f9:	8d 04 48             	lea    (%eax,%ecx,2),%eax
5192fc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5192ff:	83 c0 d0             	add    $0xffffffd0,%eax
519302:	eb 05                	jmp    0x519309
519304:	b8 10 27 00 00       	mov    $0x2710,%eax
519309:	03 d9                	add    %ecx,%ebx
51930b:	89 45 f4             	mov    %eax,-0xc(%ebp)
51930e:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
519315:	3b de                	cmp    %esi,%ebx
519317:	72 be                	jb     0x5192d7
519319:	e9 d8 fe ff ff       	jmp    0x5191f6
51931e:	3b de                	cmp    %esi,%ebx
519320:	0f 83 d0 fe ff ff    	jae    0x5191f6
519326:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
51932d:	00 00 00
519330:	0f b6 03             	movzbl (%ebx),%eax
519333:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
51933a:	0f 84 b6 fe ff ff    	je     0x5191f6
519340:	03 d9                	add    %ecx,%ebx
519342:	3b de                	cmp    %esi,%ebx
519344:	72 ea                	jb     0x519330
519346:	e9 ab fe ff ff       	jmp    0x5191f6
51934b:	33 c0                	xor    %eax,%eax
51934d:	e9 a7 fe ff ff       	jmp    0x5191f9
519352:	be 01 00 00 00       	mov    $0x1,%esi
519357:	8b c7                	mov    %edi,%eax
519359:	89 75 10             	mov    %esi,0x10(%ebp)
51935c:	0b c2                	or     %edx,%eax
51935e:	75 16                	jne    0x519376
519360:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
519363:	0f 8d 56 01 00 00    	jge    0x5194bf
519369:	f2 0f 10 05 28 c6 6b 	movsd  0x6bc628,%xmm0
519370:	00
519371:	e9 49 01 00 00       	jmp    0x5194bf
519376:	85 c9                	test   %ecx,%ecx
519378:	0f 8e 89 00 00 00    	jle    0x519407
51937e:	66 90                	xchg   %ax,%ax
519380:	85 f6                	test   %esi,%esi
519382:	7e 29                	jle    0x5193ad
519384:	81 fa cc cc cc 0c    	cmp    $0xccccccc,%edx
51938a:	7f 78                	jg     0x519404
51938c:	7c 08                	jl     0x519396
51938e:	81 ff cc cc cc cc    	cmp    $0xcccccccc,%edi
519394:	73 6e                	jae    0x519404
519396:	8b c7                	mov    %edi,%eax
519398:	8b ca                	mov    %edx,%ecx