41c148:	e8 93 1e ff ff       	call   0x40dfe0
41c14d:	e9 17 ff ff ff       	jmp    0x41c069
41c152:	5f                   	pop    %edi
41c153:	32 c0                	xor    %al,%al
41c155:	5e                   	pop    %esi
41c156:	5d                   	pop    %ebp
41c157:	c3                   	ret
41c158:	33 c9                	xor    %ecx,%ecx
41c15a:	eb c6                	jmp    0x41c122
41c15c:	56                   	push   %esi
41c15d:	8b f1                	mov    %ecx,%esi
41c15f:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
41c163:	75 0b                	jne    0x41c170
41c165:	8b 06                	mov    (%esi),%eax
41c167:	5e                   	pop    %esi
41c168:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
41c16f:	c3                   	ret
41c170:	e8 3a 00 00 00       	call   0x41c1af
41c175:	eb ee                	jmp    0x41c165
41c177:	55                   	push   %ebp
41c178:	8b ec                	mov    %esp,%ebp
41c17a:	83 79 0c 05          	cmpl   $0x5,0xc(%ecx)
41c17e:	75 27                	jne    0x41c1a7
41c180:	8b 11                	mov    (%ecx),%edx
41c182:	56                   	push   %esi
41c183:	8b b2 10 02 00 00    	mov    0x210(%edx),%esi
41c189:	83 fe 40             	cmp    $0x40,%esi
41c18c:	7d 1d                	jge    0x41c1ab
41c18e:	8b 45 08             	mov    0x8(%ebp),%eax
41c191:	89 84 b2 0c 01 00 00 	mov    %eax,0x10c(%edx,%esi,4)
41c198:	8b 01                	mov    (%ecx),%eax
41c19a:	ff 80 10 02 00 00    	incl   0x210(%eax)
41c1a0:	b0 01                	mov    $0x1,%al
41c1a2:	5e                   	pop    %esi
41c1a3:	5d                   	pop    %ebp
41c1a4:	c2 04 00             	ret    $0x4
41c1a7:	32 c0                	xor    %al,%al
41c1a9:	eb f8                	jmp    0x41c1a3
41c1ab:	32 c0                	xor    %al,%al
41c1ad:	eb f3                	jmp    0x41c1a2
41c1af:	56                   	push   %esi
41c1b0:	8b f1                	mov    %ecx,%esi
41c1b2:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
41c1b6:	74 37                	je     0x41c1ef
41c1b8:	e8 63 6a ff ff       	call   0x412c20
41c1bd:	68 14 02 00 00       	push   $0x214
41c1c2:	e8 23 33 00 00       	call   0x41f4ea
41c1c7:	89 06                	mov    %eax,(%esi)
41c1c9:	59                   	pop    %ecx
41c1ca:	33 c9                	xor    %ecx,%ecx
41c1cc:	89 08                	mov    %ecx,(%eax)
41c1ce:	8b 06                	mov    (%esi),%eax
41c1d0:	89 48 04             	mov    %ecx,0x4(%eax)
41c1d3:	8b 06                	mov    (%esi),%eax
41c1d5:	89 48 08             	mov    %ecx,0x8(%eax)
41c1d8:	8b 06                	mov    (%esi),%eax
41c1da:	89 88 0c 02 00 00    	mov    %ecx,0x20c(%eax)
41c1e0:	8b 06                	mov    (%esi),%eax
41c1e2:	89 88 10 02 00 00    	mov    %ecx,0x210(%eax)
41c1e8:	c7 46 0c 05 00 00 00 	movl   $0x5,0xc(%esi)
41c1ef:	5e                   	pop    %esi
41c1f0:	c3                   	ret
41c1f1:	55                   	push   %ebp
41c1f2:	8b ec                	mov    %esp,%ebp
41c1f4:	8b 45 08             	mov    0x8(%ebp),%eax
41c1f7:	8b 55 0c             	mov    0xc(%ebp),%edx
41c1fa:	53                   	push   %ebx
41c1fb:	8b 58 04             	mov    0x4(%eax),%ebx
41c1fe:	56                   	push   %esi
41c1ff:	57                   	push   %edi
41c200:	33 c9                	xor    %ecx,%ecx
41c202:	8b 3a                	mov    (%edx),%edi
41c204:	8b 34 bb             	mov    (%ebx,%edi,4),%esi
41c207:	0f bf 46 08          	movswl 0x8(%esi),%eax
41c20b:	83 f8 47             	cmp    $0x47,%eax
41c20e:	74 31                	je     0x41c241
41c210:	83 f8 48             	cmp    $0x48,%eax
41c213:	74 2f                	je     0x41c244
41c215:	83 f8 7f             	cmp    $0x7f,%eax
41c218:	74 36                	je     0x41c250
41c21a:	85 c9                	test   %ecx,%ecx
41c21c:	75 09                	jne    0x41c227
41c21e:	85 c0                	test   %eax,%eax
41c220:	74 0c                	je     0x41c22e
41c222:	83 f8 40             	cmp    $0x40,%eax
41c225:	74 11                	je     0x41c238
41c227:	8d 47 01             	lea    0x1(%edi),%eax
41c22a:	89 02                	mov    %eax,(%edx)
41c22c:	eb d4                	jmp    0x41c202
41c22e:	83 3e 03             	cmpl   $0x3,(%esi)
41c231:	74 f4                	je     0x41c227
41c233:	83 3e 26             	cmpl   $0x26,(%esi)
41c236:	7f 11                	jg     0x41c249
41c238:	33 c0                	xor    %eax,%eax
41c23a:	5f                   	pop    %edi
41c23b:	5e                   	pop    %esi
41c23c:	5b                   	pop    %ebx
41c23d:	5d                   	pop    %ebp
41c23e:	c2 08 00             	ret    $0x8
41c241:	41                   	inc    %ecx
41c242:	eb d6                	jmp    0x41c21a
41c244:	49                   	dec    %ecx
41c245:	78 f1                	js     0x41c238
41c247:	eb cc                	jmp    0x41c215
41c249:	83 3e 2a             	cmpl   $0x2a,(%esi)
41c24c:	7f ea                	jg     0x41c238
41c24e:	eb d7                	jmp    0x41c227
41c250:	f7 d9                	neg    %ecx
41c252:	1b c9                	sbb    %ecx,%ecx
41c254:	8b c1                	mov    %ecx,%eax
41c256:	eb e2                	jmp    0x41c23a
41c258:	55                   	push   %ebp
41c259:	8b ec                	mov    %esp,%ebp
41c25b:	53                   	push   %ebx
41c25c:	56                   	push   %esi
41c25d:	33 f6                	xor    %esi,%esi
41c25f:	57                   	push   %edi
41c260:	8b 7d 08             	mov    0x8(%ebp),%edi
41c263:	8b de                	mov    %esi,%ebx
41c265:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
41c269:	50                   	push   %eax
41c26a:	89 45 08             	mov    %eax,0x8(%ebp)
41c26d:	e8 3b 54 00 00       	call   0x4216ad
41c272:	59                   	pop    %ecx
41c273:	85 c0                	test   %eax,%eax
41c275:	74 10                	je     0x41c287
41c277:	ff 75 08             	push   0x8(%ebp)
41c27a:	e8 51 54 00 00       	call   0x4216d0
41c27f:	59                   	pop    %ecx
41c280:	85 c0                	test   %eax,%eax
41c282:	74 03                	je     0x41c287
41c284:	46                   	inc    %esi
41c285:	eb de                	jmp    0x41c265
41c287:	0f b7 04 77          	movzwl (%edi,%esi,2),%eax
41c28b:	66 85 c0             	test   %ax,%ax
41c28e:	74 08                	je     0x41c298
41c290:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
41c294:	43                   	inc    %ebx
41c295:	46                   	inc    %esi
41c296:	eb ef                	jmp    0x41c287
41c298:	33 c0                	xor    %eax,%eax
41c29a:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
41c29e:	5f                   	pop    %edi
41c29f:	5e                   	pop    %esi
41c2a0:	5b                   	pop    %ebx
41c2a1:	5d                   	pop    %ebp
41c2a2:	c2 04 00             	ret    $0x4
41c2a5:	55                   	push   %ebp
41c2a6:	8b ec                	mov    %esp,%ebp
41c2a8:	56                   	push   %esi
41c2a9:	57                   	push   %edi
41c2aa:	8b 7d 08             	mov    0x8(%ebp),%edi
41c2ad:	33 f6                	xor    %esi,%esi
41c2af:	ff 37                	push   (%edi)
41c2b1:	ff 34 b5 58 b7 4b 00 	push   0x4bb758(,%esi,4)
41c2b8:	e8 26 53 00 00       	call   0x4215e3
41c2bd:	59                   	pop    %ecx
41c2be:	59                   	pop    %ecx
41c2bf:	85 c0                	test   %eax,%eax
41c2c1:	74 0b                	je     0x41c2ce
41c2c3:	46                   	inc    %esi
41c2c4:	83 fe 2d             	cmp    $0x2d,%esi
41c2c7:	7c e6                	jl     0x41c2af
41c2c9:	83 c8 ff             	or     $0xffffffff,%eax
41c2cc:	eb 02                	jmp    0x41c2d0
41c2ce:	8b c6                	mov    %esi,%eax
41c2d0:	5f                   	pop    %edi
41c2d1:	5e                   	pop    %esi
41c2d2:	5d                   	pop    %ebp
41c2d3:	c2 04 00             	ret    $0x4
41c2d6:	55                   	push   %ebp
41c2d7:	8b ec                	mov    %esp,%ebp
41c2d9:	56                   	push   %esi
41c2da:	8b f1                	mov    %ecx,%esi
41c2dc:	57                   	push   %edi
41c2dd:	8b 46 0c             	mov    0xc(%esi),%eax
41c2e0:	39 46 08             	cmp    %eax,0x8(%esi)
41c2e3:	74 32                	je     0x41c317
41c2e5:	6a 10                	push   $0x10
41c2e7:	e8 fe 31 00 00       	call   0x41f4ea
41c2ec:	8b f8                	mov    %eax,%edi
41c2ee:	59                   	pop    %ecx
41c2ef:	85 ff                	test   %edi,%edi
41c2f1:	0f 84 4a 62 05 00    	je     0x472541
41c2f7:	ff 75 08             	push   0x8(%ebp)
41c2fa:	83 67 08 00          	andl   $0x0,0x8(%edi)
41c2fe:	8b cf                	mov    %edi,%ecx
41c300:	e8 1b 54 ff ff       	call   0x411720
41c305:	8b 4e 08             	mov    0x8(%esi),%ecx
41c308:	8b 46 04             	mov    0x4(%esi),%eax
41c30b:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
41c30e:	ff 46 08             	incl   0x8(%esi)
41c311:	5f                   	pop    %edi
41c312:	5e                   	pop    %esi
41c313:	5d                   	pop    %ebp
41c314:	c2 04 00             	ret    $0x4
41c317:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
41c31a:	6a 08                	push   $0x8
41c31c:	58                   	pop    %eax
41c31d:	3b c8                	cmp    %eax,%ecx
41c31f:	73 25                	jae    0x41c346
41c321:	33 c9                	xor    %ecx,%ecx
41c323:	6a 04                	push   $0x4
41c325:	5a                   	pop    %edx
41c326:	89 46 0c             	mov    %eax,0xc(%esi)
41c329:	f7 e2                	mul    %edx
41c32b:	0f 90 c1             	seto   %cl
41c32e:	f7 d9                	neg    %ecx
41c330:	0b c8                	or     %eax,%ecx
41c332:	51                   	push   %ecx
41c333:	e8 b2 31 00 00       	call   0x41f4ea
41c338:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41c33c:	59                   	pop    %ecx
41c33d:	8b f8                	mov    %eax,%edi
41c33f:	75 09                	jne    0x41c34a
41c341:	89 7e 04             	mov    %edi,0x4(%esi)
41c344:	eb 9f                	jmp    0x41c2e5
41c346:	8b c1                	mov    %ecx,%eax
41c348:	eb d7                	jmp    0x41c321
41c34a:	8b 46 08             	mov    0x8(%esi),%eax
41c34d:	85 c0                	test   %eax,%eax
41c34f:	74 f0                	je     0x41c341
41c351:	c1 e0 02             	shl    $0x2,%eax
41c354:	50                   	push   %eax
41c355:	ff 76 04             	push   0x4(%esi)
41c358:	57                   	push   %edi
41c359:	e8 22 2b 00 00       	call   0x41ee80
41c35e:	ff 76 04             	push   0x4(%esi)
41c361:	e8 f8 31 00 00       	call   0x41f55e
41c366:	83 c4 10             	add    $0x10,%esp
41c369:	eb d6                	jmp    0x41c341
41c36b:	55                   	push   %ebp
41c36c:	8b ec                	mov    %esp,%ebp
41c36e:	51                   	push   %ecx
41c36f:	8b 45 10             	mov    0x10(%ebp),%eax
41c372:	53                   	push   %ebx
41c373:	56                   	push   %esi
41c374:	8b 75 0c             	mov    0xc(%ebp),%esi
41c377:	57                   	push   %edi
41c378:	ff 06                	incl   (%esi)
41c37a:	8b 16                	mov    (%esi),%edx
41c37c:	89 10                	mov    %edx,(%eax)
41c37e:	8b 45 08             	mov    0x8(%ebp),%eax
41c381:	8b d9                	mov    %ecx,%ebx
41c383:	8b 48 04             	mov    0x4(%eax),%ecx
41c386:	33 ff                	xor    %edi,%edi
41c388:	8b 04 91             	mov    (%ecx,%edx,4),%eax
41c38b:	0f bf 40 08          	movswl 0x8(%eax),%eax
41c38f:	83 e8 47             	sub    $0x47,%eax
41c392:	74 2c                	je     0x41c3c0
41c394:	48                   	dec    %eax
41c395:	74 0e                	je     0x41c3a5
41c397:	83 e8 37             	sub    $0x37,%eax
41c39a:	0f 84 a6 aa 05 00    	je     0x476e46
41c3a0:	42                   	inc    %edx
41c3a1:	89 16                	mov    %edx,(%esi)
41c3a3:	eb e3                	jmp    0x41c388
41c3a5:	85 ff                	test   %edi,%edi
41c3a7:	75 14                	jne    0x41c3bd
41c3a9:	8b 45 14             	mov    0x14(%ebp),%eax
41c3ac:	89 10                	mov    %edx,(%eax)
41c3ae:	8d 42 01             	lea    0x1(%edx),%eax
41c3b1:	89 06                	mov    %eax,(%esi)
41c3b3:	33 c0                	xor    %eax,%eax
41c3b5:	5f                   	pop    %edi
41c3b6:	5e                   	pop    %esi
41c3b7:	5b                   	pop    %ebx
41c3b8:	59                   	pop    %ecx
41c3b9:	5d                   	pop    %ebp
41c3ba:	c2 10 00             	ret    $0x10
41c3bd:	4f                   	dec    %edi
41c3be:	eb e0                	jmp    0x41c3a0
41c3c0:	47                   	inc    %edi
41c3c1:	eb dd                	jmp    0x41c3a0
41c3c3:	55                   	push   %ebp
41c3c4:	8b ec                	mov    %esp,%ebp
41c3c6:	56                   	push   %esi
41c3c7:	8b f1                	mov    %ecx,%esi
41c3c9:	8b 46 0c             	mov    0xc(%esi),%eax
41c3cc:	39 46 08             	cmp    %eax,0x8(%esi)
41c3cf:	74 2a                	je     0x41c3fb
41c3d1:	6a 01                	push   $0x1
41c3d3:	e8 12 31 00 00       	call   0x41f4ea
41c3d8:	8b d0                	mov    %eax,%edx
41c3da:	59                   	pop    %ecx
41c3db:	85 d2                	test   %edx,%edx
41c3dd:	0f 84 65 61 05 00    	je     0x472548
41c3e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c3e6:	8a 09                	mov    (%ecx),%cl
41c3e8:	88 0a                	mov    %cl,(%edx)
41c3ea:	8b 4e 08             	mov    0x8(%esi),%ecx
41c3ed:	8b 46 04             	mov    0x4(%esi),%eax
41c3f0:	89 14 88             	mov    %edx,(%eax,%ecx,4)
41c3f3:	ff 46 08             	incl   0x8(%esi)
41c3f6:	5e                   	pop    %esi
41c3f7:	5d                   	pop    %ebp
41c3f8:	c2 04 00             	ret    $0x4
41c3fb:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
41c3fe:	6a 08                	push   $0x8
41c400:	58                   	pop    %eax
41c401:	3b c8                	cmp    %eax,%ecx
41c403:	73 27                	jae    0x41c42c
41c405:	57                   	push   %edi
41c406:	33 c9                	xor    %ecx,%ecx
41c408:	6a 04                	push   $0x4
41c40a:	5a                   	pop    %edx
41c40b:	89 46 0c             	mov    %eax,0xc(%esi)
41c40e:	f7 e2                	mul    %edx
41c410:	0f 90 c1             	seto   %cl
41c413:	f7 d9                	neg    %ecx
41c415:	0b c8                	or     %eax,%ecx
41c417:	51                   	push   %ecx
41c418:	e8 cd 30 00 00       	call   0x41f4ea
41c41d:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41c421:	59                   	pop    %ecx
41c422:	8b f8                	mov    %eax,%edi
41c424:	75 0a                	jne    0x41c430
41c426:	89 7e 04             	mov    %edi,0x4(%esi)
41c429:	5f                   	pop    %edi
41c42a:	eb a5                	jmp    0x41c3d1
41c42c:	8b c1                	mov    %ecx,%eax
41c42e:	eb d5                	jmp    0x41c405
41c430:	8b 46 08             	mov    0x8(%esi),%eax
41c433:	85 c0                	test   %eax,%eax
41c435:	74 ef                	je     0x41c426
41c437:	c1 e0 02             	shl    $0x2,%eax
41c43a:	50                   	push   %eax
41c43b:	ff 76 04             	push   0x4(%esi)
41c43e:	57                   	push   %edi
41c43f:	e8 3c 2a 00 00       	call   0x41ee80
41c444:	ff 76 04             	push   0x4(%esi)
41c447:	e8 12 31 00 00       	call   0x41f55e
41c44c:	83 c4 10             	add    $0x10,%esp
41c44f:	eb d5                	jmp    0x41c426
41c451:	55                   	push   %ebp
41c452:	8b ec                	mov    %esp,%ebp
41c454:	83 ec 0c             	sub    $0xc,%esp
41c457:	53                   	push   %ebx
41c458:	56                   	push   %esi
41c459:	8b c1                	mov    %ecx,%eax
41c45b:	57                   	push   %edi
41c45c:	50                   	push   %eax
41c45d:	8b f2                	mov    %edx,%esi
41c45f:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c462:	e8 74 48 00 00       	call   0x420cdb
41c467:	83 26 00             	andl   $0x0,(%esi)
41c46a:	83 66 04 00          	andl   $0x0,0x4(%esi)
41c46e:	59                   	pop    %ecx
41c46f:	33 c9                	xor    %ecx,%ecx
41c471:	21 4d f8             	and    %ecx,-0x8(%ebp)