4710c6:	f7 c3 00 02 00 00    	test   $0x200,%ebx
4710cc:	74 05                	je     0x4710d3
4710ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
4710d1:	eb 04                	jmp    0x4710d7
4710d3:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4710d7:	8b fb                	mov    %ebx,%edi
4710d9:	c1 ef 0f             	shr    $0xf,%edi
4710dc:	23 f8                	and    %eax,%edi
4710de:	80 fb 01             	cmp    $0x1,%bl
4710e1:	7e 0d                	jle    0x4710f0
4710e3:	8b 45 08             	mov    0x8(%ebp),%eax
4710e6:	89 30                	mov    %esi,(%eax)
4710e8:	89 58 04             	mov    %ebx,0x4(%eax)
4710eb:	e9 72 01 00 00       	jmp    0x471262
4710f0:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
4710f5:	8a 00                	mov    (%eax),%al
4710f7:	84 c0                	test   %al,%al
4710f9:	0f 84 c8 00 00 00    	je     0x4711c7
4710ff:	3c 40                	cmp    $0x40,%al
471101:	0f 84 c0 00 00 00    	je     0x4711c7
471107:	8d 45 d8             	lea    -0x28(%ebp),%eax
47110a:	50                   	push   %eax
47110b:	e8 55 1e 00 00       	call   0x472f65
471110:	8b 45 d8             	mov    -0x28(%ebp),%eax
471113:	59                   	pop    %ecx
471114:	85 c0                	test   %eax,%eax
471116:	0f 84 ab 00 00 00    	je     0x4711c7
47111c:	80 3d 98 83 4c 00 00 	cmpb   $0x0,0x4c8398
471123:	8d 4d e0             	lea    -0x20(%ebp),%ecx
471126:	74 64                	je     0x47118c
471128:	8d 45 d8             	lea    -0x28(%ebp),%eax
47112b:	c6 05 98 83 4c 00 00 	movb   $0x0,0x4c8398
471132:	50                   	push   %eax
471133:	89 75 e0             	mov    %esi,-0x20(%ebp)
471136:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
471139:	e8 fd da ff ff       	call   0x46ec3b
47113e:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471143:	8b 75 e0             	mov    -0x20(%ebp),%esi
471146:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
471149:	89 75 e8             	mov    %esi,-0x18(%ebp)
47114c:	80 38 40             	cmpb   $0x40,(%eax)
47114f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
471152:	74 73                	je     0x4711c7
471154:	8d 45 d0             	lea    -0x30(%ebp),%eax
471157:	50                   	push   %eax
471158:	e8 08 1e 00 00       	call   0x472f65
47115d:	59                   	pop    %ecx
47115e:	c7 45 d8 18 12 4a 00 	movl   $0x4a1218,-0x28(%ebp)
471165:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
47116c:	8b 08                	mov    (%eax),%ecx
47116e:	8b 40 04             	mov    0x4(%eax),%eax
471171:	89 45 e4             	mov    %eax,-0x1c(%ebp)
471174:	8d 45 d8             	lea    -0x28(%ebp),%eax
471177:	89 4d e0             	mov    %ecx,-0x20(%ebp)
47117a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47117d:	50                   	push   %eax
47117e:	e8 60 da ff ff       	call   0x46ebe3
471183:	8d 45 e8             	lea    -0x18(%ebp),%eax
471186:	50                   	push   %eax
471187:	8d 45 d0             	lea    -0x30(%ebp),%eax
47118a:	eb 27                	jmp    0x4711b3
47118c:	89 45 e0             	mov    %eax,-0x20(%ebp)
47118f:	8b 45 dc             	mov    -0x24(%ebp),%eax
471192:	89 45 e4             	mov    %eax,-0x1c(%ebp)
471195:	8d 45 d0             	lea    -0x30(%ebp),%eax
471198:	50                   	push   %eax
471199:	c7 45 d0 18 12 4a 00 	movl   $0x4a1218,-0x30(%ebp)
4711a0:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
4711a7:	e8 37 da ff ff       	call   0x46ebe3
4711ac:	8d 45 e8             	lea    -0x18(%ebp),%eax
4711af:	50                   	push   %eax
4711b0:	8d 45 d8             	lea    -0x28(%ebp),%eax
4711b3:	50                   	push   %eax
4711b4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4711b7:	e8 c1 d9 ff ff       	call   0x46eb7d
4711bc:	8b 58 04             	mov    0x4(%eax),%ebx
4711bf:	8b 30                	mov    (%eax),%esi
4711c1:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4711c4:	89 75 e8             	mov    %esi,-0x18(%ebp)
4711c7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4711ca:	85 c9                	test   %ecx,%ecx
4711cc:	74 0d                	je     0x4711db
4711ce:	85 f6                	test   %esi,%esi
4711d0:	74 09                	je     0x4711db
4711d2:	81 cb 00 02 00 00    	or     $0x200,%ebx
4711d8:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4711db:	ba 00 80 00 00       	mov    $0x8000,%edx
4711e0:	85 ff                	test   %edi,%edi
4711e2:	74 05                	je     0x4711e9
4711e4:	0b da                	or     %edx,%ebx
4711e6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4711e9:	85 f6                	test   %esi,%esi
4711eb:	0f 84 f2 fe ff ff    	je     0x4710e3
4711f1:	bf 00 10 00 00       	mov    $0x1000,%edi
4711f6:	85 df                	test   %ebx,%edi
4711f8:	0f 85 e5 fe ff ff    	jne    0x4710e3
4711fe:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471203:	8a 00                	mov    (%eax),%al
471205:	84 c0                	test   %al,%al
471207:	74 0e                	je     0x471217
471209:	3c 40                	cmp    $0x40,%al
47120b:	74 04                	je     0x471211
47120d:	6a 02                	push   $0x2
47120f:	eb 46                	jmp    0x471257
471211:	ff 05 8c 83 4c 00    	incl   0x4c838c
471217:	85 3d 94 83 4c 00    	test   %edi,0x4c8394
47121d:	74 22                	je     0x471241
47121f:	85 c9                	test   %ecx,%ecx
471221:	75 1e                	jne    0x471241
471223:	85 da                	test   %ebx,%edx
471225:	75 1a                	jne    0x471241
471227:	21 4d d0             	and    %ecx,-0x30(%ebp)
47122a:	8d 45 d0             	lea    -0x30(%ebp),%eax
47122d:	21 4d d4             	and    %ecx,-0x2c(%ebp)
471230:	50                   	push   %eax
471231:	8d 45 d8             	lea    -0x28(%ebp),%eax
471234:	50                   	push   %eax
471235:	e8 a5 db ff ff       	call   0x46eddf
47123a:	59                   	pop    %ecx
47123b:	59                   	pop    %ecx
47123c:	e9 a2 fe ff ff       	jmp    0x4710e3
471241:	8d 45 e8             	lea    -0x18(%ebp),%eax
471244:	50                   	push   %eax
471245:	ff 75 08             	push   0x8(%ebp)
471248:	e8 92 db ff ff       	call   0x46eddf
47124d:	59                   	pop    %ecx
47124e:	59                   	pop    %ecx
47124f:	eb 0e                	jmp    0x47125f
471251:	84 c0                	test   %al,%al
471253:	75 b8                	jne    0x47120d
471255:	6a 01                	push   $0x1
471257:	8b 4d 08             	mov    0x8(%ebp),%ecx
47125a:	e8 f7 d5 ff ff       	call   0x46e856
47125f:	8b 45 08             	mov    0x8(%ebp),%eax
471262:	ff 0d a4 83 4c 00    	decl   0x4c83a4
471268:	e8 5c 8e ff ff       	call   0x46a0c9
47126d:	c3                   	ret
47126e:	55                   	push   %ebp
47126f:	8b ec                	mov    %esp,%ebp
471271:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471276:	83 ec 28             	sub    $0x28,%esp
471279:	53                   	push   %ebx
47127a:	32 db                	xor    %bl,%bl
47127c:	80 38 51             	cmpb   $0x51,(%eax)
47127f:	75 08                	jne    0x471289
471281:	fe c3                	inc    %bl
471283:	40                   	inc    %eax
471284:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
471289:	8a 08                	mov    (%eax),%cl
47128b:	84 c9                	test   %cl,%cl
47128d:	75 12                	jne    0x4712a1
47128f:	8b 4d 08             	mov    0x8(%ebp),%ecx
471292:	6a 01                	push   $0x1
471294:	e8 bd d5 ff ff       	call   0x46e856
471299:	8b 45 08             	mov    0x8(%ebp),%eax
47129c:	e9 d8 00 00 00       	jmp    0x471379
4712a1:	56                   	push   %esi
4712a2:	80 f9 30             	cmp    $0x30,%cl
4712a5:	7c 55                	jl     0x4712fc
4712a7:	80 f9 39             	cmp    $0x39,%cl
4712aa:	7f 50                	jg     0x4712fc
4712ac:	40                   	inc    %eax
4712ad:	0f be c9             	movsbl %cl,%ecx
4712b0:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
4712b5:	84 db                	test   %bl,%bl
4712b7:	74 2e                	je     0x4712e7
4712b9:	8d 41 d1             	lea    -0x2f(%ecx),%eax
4712bc:	99                   	cltd
4712bd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4712c0:	52                   	push   %edx
4712c1:	50                   	push   %eax
4712c2:	e8 62 d6 ff ff       	call   0x46e929
4712c7:	68 70 40 4c 00       	push   $0x4c4070
4712cc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4712cf:	8b f0                	mov    %eax,%esi
4712d1:	e8 10 d5 ff ff       	call   0x46e7e6
4712d6:	56                   	push   %esi
4712d7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4712da:	51                   	push   %ecx
4712db:	8b c8                	mov    %eax,%ecx
4712dd:	e8 9b d8 ff ff       	call   0x46eb7d
4712e2:	8d 55 f8             	lea    -0x8(%ebp),%edx
4712e5:	eb 73                	jmp    0x47135a
4712e7:	8b c1                	mov    %ecx,%eax
4712e9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4712ec:	99                   	cltd
4712ed:	83 c0 d1             	add    $0xffffffd1,%eax
4712f0:	83 d2 ff             	adc    $0xffffffff,%edx
4712f3:	52                   	push   %edx
4712f4:	50                   	push   %eax
4712f5:	e8 2f d6 ff ff       	call   0x46e929
4712fa:	eb 5c                	jmp    0x471358
4712fc:	8d 45 d8             	lea    -0x28(%ebp),%eax
4712ff:	50                   	push   %eax
471300:	e8 d3 31 00 00       	call   0x4744d8
471305:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
471309:	59                   	pop    %ecx
47130a:	74 38                	je     0x471344
47130c:	ff 75 dc             	push   -0x24(%ebp)
47130f:	ff 05 8c 83 4c 00    	incl   0x4c838c
471315:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
471319:	ff 75 d8             	push   -0x28(%ebp)
47131c:	74 18                	je     0x471336
47131e:	84 db                	test   %bl,%bl
471320:	74 0a                	je     0x47132c
471322:	8d 4d e0             	lea    -0x20(%ebp),%ecx
471325:	e8 6c d5 ff ff       	call   0x46e896
47132a:	eb 9b                	jmp    0x4712c7
47132c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47132f:	e8 62 d5 ff ff       	call   0x46e896
471334:	eb 22                	jmp    0x471358
471336:	84 db                	test   %bl,%bl
471338:	74 05                	je     0x47133f
47133a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47133d:	eb 83                	jmp    0x4712c2
47133f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
471342:	eb b1                	jmp    0x4712f5
471344:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471349:	80 38 00             	cmpb   $0x0,(%eax)
47134c:	75 10                	jne    0x47135e
47134e:	6a 01                	push   $0x1
471350:	8d 4d e0             	lea    -0x20(%ebp),%ecx
471353:	e8 fe d4 ff ff       	call   0x46e856
471358:	8b d0                	mov    %eax,%edx
47135a:	8b 0a                	mov    (%edx),%ecx
47135c:	eb 0f                	jmp    0x47136d
47135e:	33 c9                	xor    %ecx,%ecx
471360:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
471367:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47136a:	8d 55 f8             	lea    -0x8(%ebp),%edx
47136d:	8b 45 08             	mov    0x8(%ebp),%eax
471370:	5e                   	pop    %esi
471371:	89 08                	mov    %ecx,(%eax)
471373:	8b 4a 04             	mov    0x4(%edx),%ecx
471376:	89 48 04             	mov    %ecx,0x4(%eax)
471379:	5b                   	pop    %ebx
47137a:	c9                   	leave
47137b:	c3                   	ret
47137c:	55                   	push   %ebp
47137d:	8b ec                	mov    %esp,%ebp
47137f:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471384:	8a 08                	mov    (%eax),%cl
471386:	84 c9                	test   %cl,%cl
471388:	74 39                	je     0x4713c3
47138a:	80 f9 5f             	cmp    $0x5f,%cl
47138d:	75 34                	jne    0x4713c3
47138f:	8a 48 01             	mov    0x1(%eax),%cl
471392:	84 c9                	test   %cl,%cl
471394:	74 2d                	je     0x4713c3
471396:	80 f9 5f             	cmp    $0x5f,%cl
471399:	75 28                	jne    0x4713c3
47139b:	83 c0 02             	add    $0x2,%eax
47139e:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
4713a3:	0f be 08             	movsbl (%eax),%ecx
4713a6:	83 e9 41             	sub    $0x41,%ecx
4713a9:	40                   	inc    %eax
4713aa:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
4713af:	83 f9 03             	cmp    $0x3,%ecx
4713b2:	76 0f                	jbe    0x4713c3
4713b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4713b7:	6a 02                	push   $0x2
4713b9:	e8 98 d4 ff ff       	call   0x46e856
4713be:	8b 45 08             	mov    0x8(%ebp),%eax
4713c1:	5d                   	pop    %ebp
4713c2:	c3                   	ret
4713c3:	8b 45 08             	mov    0x8(%ebp),%eax
4713c6:	83 20 00             	andl   $0x0,(%eax)
4713c9:	83 60 04 00          	andl   $0x0,0x4(%eax)
4713cd:	5d                   	pop    %ebp
4713ce:	c3                   	ret
4713cf:	55                   	push   %ebp
4713d0:	8b ec                	mov    %esp,%ebp
4713d2:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
4713d8:	83 ec 28             	sub    $0x28,%esp
4713db:	8a 11                	mov    (%ecx),%dl
4713dd:	84 d2                	test   %dl,%dl
4713df:	75 2b                	jne    0x47140c
4713e1:	8d 45 f0             	lea    -0x10(%ebp),%eax
4713e4:	c7 45 f0 b0 15 4a 00 	movl   $0x4a15b0,-0x10(%ebp)
4713eb:	50                   	push   %eax
4713ec:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4713ef:	c7 45 f4 0e 00 00 00 	movl   $0xe,-0xc(%ebp)
4713f6:	e8 eb d3 ff ff       	call   0x46e7e6
4713fb:	6a 01                	push   $0x1
4713fd:	ff 75 08             	push   0x8(%ebp)
471400:	8b c8                	mov    %eax,%ecx
471402:	e8 ba d7 ff ff       	call   0x46ebc1
471407:	8b 45 08             	mov    0x8(%ebp),%eax
47140a:	c9                   	leave
47140b:	c3                   	ret
47140c:	56                   	push   %esi
47140d:	57                   	push   %edi
47140e:	33 ff                	xor    %edi,%edi
471410:	89 7d f0             	mov    %edi,-0x10(%ebp)
471413:	89 7d f4             	mov    %edi,-0xc(%ebp)
471416:	80 fa 57             	cmp    $0x57,%dl
471419:	75 4f                	jne    0x47146a
47141b:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471420:	c1 e8 0f             	shr    $0xf,%eax
471423:	f7 d0                	not    %eax
471425:	a9 01 00 00 00       	test   $0x1,%eax
47142a:	75 57                	jne    0x471483
47142c:	41                   	inc    %ecx
47142d:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471433:	80 fa 57             	cmp    $0x57,%dl
471436:	75 0a                	jne    0x471442
471438:	8d 45 d8             	lea    -0x28(%ebp),%eax
47143b:	50                   	push   %eax
47143c:	e8 20 01 00 00       	call   0x471561
471441:	59                   	pop    %ecx
471442:	8d 45 e8             	lea    -0x18(%ebp),%eax
471445:	50                   	push   %eax
471446:	e8 d8 1e 00 00       	call   0x473323
47144b:	59                   	pop    %ecx
47144c:	8d 45 e8             	lea    -0x18(%ebp),%eax
47144f:	50                   	push   %eax
471450:	8d 4d f0             	lea    -0x10(%ebp),%ecx
471453:	e8 e3 d7 ff ff       	call   0x46ec3b
471458:	8b 45 08             	mov    0x8(%ebp),%eax
47145b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47145e:	5f                   	pop    %edi
47145f:	5e                   	pop    %esi
471460:	89 08                	mov    %ecx,(%eax)
471462:	8b 4d f4             	mov    -0xc(%ebp),%ecx
471465:	89 48 04             	mov    %ecx,0x4(%eax)
471468:	c9                   	leave
471469:	c3                   	ret
47146a:	8b 35 94 83 4c 00    	mov    0x4c8394,%esi
471470:	8b c6                	mov    %esi,%eax
471472:	c1 e8 0f             	shr    $0xf,%eax
471475:	f7 d0                	not    %eax
471477:	a8 01                	test   $0x1,%al
471479:	74 b1                	je     0x47142c
47147b:	f7 c6 00 10 00 00    	test   $0x1000,%esi
471481:	75 a9                	jne    0x47142c
471483:	41                   	inc    %ecx
471484:	0f be c2             	movsbl %dl,%eax
471487:	89 7d f8             	mov    %edi,-0x8(%ebp)
47148a:	89 7d fc             	mov    %edi,-0x4(%ebp)
47148d:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471493:	83 e8 54             	sub    $0x54,%eax
471496:	0f 84 9a 00 00 00    	je     0x471536
47149c:	83 e8 01             	sub    $0x1,%eax
47149f:	0f 84 81 00 00 00    	je     0x471526
4714a5:	83 e8 01             	sub    $0x1,%eax
4714a8:	74 73                	je     0x47151d
4714aa:	83 e8 01             	sub    $0x1,%eax
4714ad:	74 2e                	je     0x4714dd
4714af:	83 e8 01             	sub    $0x1,%eax
4714b2:	74 19                	je     0x4714cd