41c250:	0f 94 c3             	sete   %bl
41c253:	83 66 04 00          	andl   $0x0,0x4(%esi)
41c257:	83 c8 01             	or     $0x1,%eax
41c25a:	8b c8                	mov    %eax,%ecx
41c25c:	c1 e9 16             	shr    $0x16,%ecx
41c25f:	83 e1 01             	and    $0x1,%ecx
41c262:	3b cb                	cmp    %ebx,%ecx
41c264:	74 30                	je     0x41c296
41c266:	8b d0                	mov    %eax,%edx
41c268:	c1 ea 0f             	shr    $0xf,%edx
41c26b:	83 e2 7f             	and    $0x7f,%edx
41c26e:	76 1a                	jbe    0x41c28a
41c270:	33 c9                	xor    %ecx,%ecx
41c272:	89 56 04             	mov    %edx,0x4(%esi)
41c275:	83 ff 01             	cmp    $0x1,%edi
41c278:	0f 94 c1             	sete   %cl
41c27b:	25 ff 7f c0 ff       	and    $0xffc07fff,%eax
41c280:	8d 0c 8d 01 00 00 00 	lea    0x1(,%ecx,4),%ecx
41c287:	89 4e 08             	mov    %ecx,0x8(%esi)
41c28a:	8b cb                	mov    %ebx,%ecx
41c28c:	25 ff ff bf ff       	and    $0xffbfffff,%eax
41c291:	c1 e1 16             	shl    $0x16,%ecx
41c294:	0b c1                	or     %ecx,%eax
41c296:	8b d0                	mov    %eax,%edx
41c298:	c1 ea 0f             	shr    $0xf,%edx
41c29b:	83 e2 7f             	and    $0x7f,%edx
41c29e:	8d 4a 01             	lea    0x1(%edx),%ecx
41c2a1:	83 f9 7f             	cmp    $0x7f,%ecx
41c2a4:	77 04                	ja     0x41c2aa
41c2a6:	3b ca                	cmp    %edx,%ecx
41c2a8:	73 09                	jae    0x41c2b3
41c2aa:	33 c9                	xor    %ecx,%ecx
41c2ac:	89 7e 08             	mov    %edi,0x8(%esi)
41c2af:	41                   	inc    %ecx
41c2b0:	89 56 04             	mov    %edx,0x4(%esi)
41c2b3:	c1 e1 0f             	shl    $0xf,%ecx
41c2b6:	8d 55 fc             	lea    -0x4(%ebp),%edx
41c2b9:	33 c8                	xor    %eax,%ecx
41c2bb:	81 e1 00 80 3f 00    	and    $0x3f8000,%ecx
41c2c1:	33 c8                	xor    %eax,%ecx
41c2c3:	51                   	push   %ecx
41c2c4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c2c7:	e8 41 ff ff ff       	call   0x41c20d
41c2cc:	85 c0                	test   %eax,%eax
41c2ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c2d1:	74 80                	je     0x41c253
41c2d3:	f7 d0                	not    %eax
41c2d5:	83 e0 01             	and    $0x1,%eax
41c2d8:	83 66 10 00          	andl   $0x0,0x10(%esi)
41c2dc:	5f                   	pop    %edi
41c2dd:	89 06                	mov    %eax,(%esi)
41c2df:	5e                   	pop    %esi
41c2e0:	5b                   	pop    %ebx
41c2e1:	c9                   	leave
41c2e2:	c2 08 00             	ret    $0x8
41c2e5:	8b ff                	mov    %edi,%edi
41c2e7:	55                   	push   %ebp
41c2e8:	8b ec                	mov    %esp,%ebp
41c2ea:	51                   	push   %ecx
41c2eb:	51                   	push   %ecx
41c2ec:	53                   	push   %ebx
41c2ed:	56                   	push   %esi
41c2ee:	8b 75 0c             	mov    0xc(%ebp),%esi
41c2f1:	8b c1                	mov    %ecx,%eax
41c2f3:	57                   	push   %edi
41c2f4:	8b fa                	mov    %edx,%edi
41c2f6:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c2f9:	33 db                	xor    %ebx,%ebx
41c2fb:	83 ff 04             	cmp    $0x4,%edi
41c2fe:	8b 00                	mov    (%eax),%eax
41c300:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c303:	0f 94 c3             	sete   %bl
41c306:	83 66 04 00          	andl   $0x0,0x4(%esi)
41c30a:	83 c8 01             	or     $0x1,%eax
41c30d:	8b c8                	mov    %eax,%ecx
41c30f:	c1 e9 0e             	shr    $0xe,%ecx
41c312:	83 e1 01             	and    $0x1,%ecx
41c315:	3b cb                	cmp    %ebx,%ecx
41c317:	74 30                	je     0x41c349
41c319:	8b d0                	mov    %eax,%edx
41c31b:	c1 ea 05             	shr    $0x5,%edx
41c31e:	81 e2 ff 01 00 00    	and    $0x1ff,%edx
41c324:	76 17                	jbe    0x41c33d
41c326:	8b cf                	mov    %edi,%ecx
41c328:	89 56 04             	mov    %edx,0x4(%esi)
41c32b:	f7 d9                	neg    %ecx
41c32d:	1b c9                	sbb    %ecx,%ecx
41c32f:	83 e1 fc             	and    $0xfffffffc,%ecx
41c332:	83 c1 04             	add    $0x4,%ecx
41c335:	25 1f c0 ff ff       	and    $0xffffc01f,%eax
41c33a:	89 4e 08             	mov    %ecx,0x8(%esi)
41c33d:	8b cb                	mov    %ebx,%ecx
41c33f:	25 ff bf ff ff       	and    $0xffffbfff,%eax
41c344:	c1 e1 0e             	shl    $0xe,%ecx
41c347:	0b c1                	or     %ecx,%eax
41c349:	8b d0                	mov    %eax,%edx
41c34b:	c1 ea 05             	shr    $0x5,%edx
41c34e:	81 e2 ff 01 00 00    	and    $0x1ff,%edx
41c354:	8d 4a 01             	lea    0x1(%edx),%ecx
41c357:	81 f9 ff 01 00 00    	cmp    $0x1ff,%ecx
41c35d:	77 04                	ja     0x41c363
41c35f:	3b ca                	cmp    %edx,%ecx
41c361:	73 09                	jae    0x41c36c
41c363:	33 c9                	xor    %ecx,%ecx
41c365:	89 7e 08             	mov    %edi,0x8(%esi)
41c368:	41                   	inc    %ecx
41c369:	89 56 04             	mov    %edx,0x4(%esi)
41c36c:	c1 e1 05             	shl    $0x5,%ecx
41c36f:	8d 55 fc             	lea    -0x4(%ebp),%edx
41c372:	33 c8                	xor    %eax,%ecx
41c374:	81 e1 e0 3f 00 00    	and    $0x3fe0,%ecx
41c37a:	33 c8                	xor    %eax,%ecx
41c37c:	51                   	push   %ecx
41c37d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c380:	e8 88 fe ff ff       	call   0x41c20d
41c385:	85 c0                	test   %eax,%eax
41c387:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c38a:	0f 84 76 ff ff ff    	je     0x41c306
41c390:	f7 d0                	not    %eax
41c392:	83 e0 01             	and    $0x1,%eax
41c395:	83 66 10 00          	andl   $0x0,0x10(%esi)
41c399:	5f                   	pop    %edi
41c39a:	89 06                	mov    %eax,(%esi)
41c39c:	5e                   	pop    %esi
41c39d:	5b                   	pop    %ebx
41c39e:	c9                   	leave
41c39f:	c2 08 00             	ret    $0x8
41c3a2:	8b ff                	mov    %edi,%edi
41c3a4:	55                   	push   %ebp
41c3a5:	8b ec                	mov    %esp,%ebp
41c3a7:	83 ec 14             	sub    $0x14,%esp
41c3aa:	53                   	push   %ebx
41c3ab:	56                   	push   %esi
41c3ac:	8b 75 08             	mov    0x8(%ebp),%esi
41c3af:	8b da                	mov    %edx,%ebx
41c3b1:	57                   	push   %edi
41c3b2:	8b d1                	mov    %ecx,%edx
41c3b4:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41c3b7:	6a 06                	push   $0x6
41c3b9:	33 c0                	xor    %eax,%eax
41c3bb:	89 55 f8             	mov    %edx,-0x8(%ebp)
41c3be:	8b fe                	mov    %esi,%edi
41c3c0:	59                   	pop    %ecx
41c3c1:	f3 ab                	rep stos %eax,%es:(%edi)
41c3c3:	83 fb 07             	cmp    $0x7,%ebx
41c3c6:	0f 87 a1 00 00 00    	ja     0x41c46d
41c3cc:	0f b6 83 f2 c4 41 00 	movzbl 0x41c4f2(%ebx),%eax
41c3d3:	ff 24 85 e6 c4 41 00 	jmp    *0x41c4e6(,%eax,4)
41c3da:	33 f6                	xor    %esi,%esi
41c3dc:	4b                   	dec    %ebx
41c3dd:	83 eb 01             	sub    $0x1,%ebx
41c3e0:	74 1b                	je     0x41c3fd
41c3e2:	83 eb 01             	sub    $0x1,%ebx
41c3e5:	74 12                	je     0x41c3f9
41c3e7:	83 eb 03             	sub    $0x3,%ebx
41c3ea:	74 09                	je     0x41c3f5
41c3ec:	83 eb 01             	sub    $0x1,%ebx
41c3ef:	75 0f                	jne    0x41c400
41c3f1:	6a 10                	push   $0x10
41c3f3:	eb 0a                	jmp    0x41c3ff
41c3f5:	6a 04                	push   $0x4
41c3f7:	eb 06                	jmp    0x41c3ff
41c3f9:	6a 08                	push   $0x8
41c3fb:	eb 02                	jmp    0x41c3ff
41c3fd:	6a 02                	push   $0x2
41c3ff:	5e                   	pop    %esi
41c400:	8b 0a                	mov    (%edx),%ecx
41c402:	33 db                	xor    %ebx,%ebx
41c404:	8b 7d 08             	mov    0x8(%ebp),%edi
41c407:	43                   	inc    %ebx
41c408:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c40b:	8b c6                	mov    %esi,%eax
41c40d:	33 d2                	xor    %edx,%edx
41c40f:	0b c1                	or     %ecx,%eax
41c411:	3b c1                	cmp    %ecx,%eax
41c413:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c416:	0f 94 c2             	sete   %dl
41c419:	89 57 10             	mov    %edx,0x10(%edi)
41c41c:	85 d2                	test   %edx,%edx
41c41e:	75 05                	jne    0x41c425
41c420:	0b c3                	or     %ebx,%eax
41c422:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c425:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c428:	8d 55 fc             	lea    -0x4(%ebp),%edx
41c42b:	50                   	push   %eax
41c42c:	e8 dc fd ff ff       	call   0x41c20d
41c431:	85 c0                	test   %eax,%eax
41c433:	75 05                	jne    0x41c43a
41c435:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c438:	eb d1                	jmp    0x41c40b
41c43a:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
41c43e:	74 06                	je     0x41c446
41c440:	f6 45 fc 01          	testb  $0x1,-0x4(%ebp)
41c444:	74 02                	je     0x41c448
41c446:	33 db                	xor    %ebx,%ebx
41c448:	8b f7                	mov    %edi,%esi
41c44a:	89 1e                	mov    %ebx,(%esi)
41c44c:	e9 8a 00 00 00       	jmp    0x41c4db
41c451:	56                   	push   %esi
41c452:	51                   	push   %ecx
41c453:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c456:	8b d3                	mov    %ebx,%edx
41c458:	e8 88 fe ff ff       	call   0x41c2e5
41c45d:	eb 7c                	jmp    0x41c4db
41c45f:	56                   	push   %esi
41c460:	51                   	push   %ecx
41c461:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41c464:	8b d3                	mov    %ebx,%edx
41c466:	e8 c7 fd ff ff       	call   0x41c232
41c46b:	eb 6e                	jmp    0x41c4db
41c46d:	33 ff                	xor    %edi,%edi
41c46f:	8d 8b c0 fe ff ff    	lea    -0x140(%ebx),%ecx
41c475:	47                   	inc    %edi
41c476:	83 f9 40             	cmp    $0x40,%ecx
41c479:	73 56                	jae    0x41c4d1
41c47b:	8d 42 04             	lea    0x4(%edx),%eax
41c47e:	8b d9                	mov    %ecx,%ebx
41c480:	8b d1                	mov    %ecx,%edx
41c482:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c485:	8b 00                	mov    (%eax),%eax
41c487:	83 e2 3f             	and    $0x3f,%edx
41c48a:	c1 e2 05             	shl    $0x5,%edx
41c48d:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c490:	89 55 fc             	mov    %edx,-0x4(%ebp)
41c493:	a8 10                	test   $0x10,%al
41c495:	74 10                	je     0x41c4a7
41c497:	8b c8                	mov    %eax,%ecx
41c499:	c1 e9 05             	shr    $0x5,%ecx
41c49c:	83 e1 3f             	and    $0x3f,%ecx
41c49f:	3b cb                	cmp    %ebx,%ecx
41c4a1:	75 04                	jne    0x41c4a7
41c4a3:	8b cf                	mov    %edi,%ecx
41c4a5:	eb 02                	jmp    0x41c4a9
41c4a7:	33 c9                	xor    %ecx,%ecx
41c4a9:	25 1f f8 ff ff       	and    $0xfffff81f,%eax
41c4ae:	89 4e 10             	mov    %ecx,0x10(%esi)
41c4b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c4b4:	0b c2                	or     %edx,%eax
41c4b6:	83 c8 10             	or     $0x10,%eax
41c4b9:	8d 55 f4             	lea    -0xc(%ebp),%edx
41c4bc:	50                   	push   %eax
41c4bd:	e8 4b fd ff ff       	call   0x41c20d
41c4c2:	85 c0                	test   %eax,%eax
41c4c4:	75 08                	jne    0x41c4ce
41c4c6:	8b 45 f4             	mov    -0xc(%ebp),%eax
41c4c9:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c4cc:	eb c5                	jmp    0x41c493
41c4ce:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41c4d1:	83 66 0c 00          	andl   $0x0,0xc(%esi)
41c4d5:	89 5e 08             	mov    %ebx,0x8(%esi)
41c4d8:	89 7e 04             	mov    %edi,0x4(%esi)
41c4db:	5f                   	pop    %edi
41c4dc:	8b c6                	mov    %esi,%eax
41c4de:	5e                   	pop    %esi
41c4df:	5b                   	pop    %ebx
41c4e0:	c9                   	leave
41c4e1:	c2 0c 00             	ret    $0xc
41c4e4:	8b ff                	mov    %edi,%edi
41c4e6:	51                   	push   %ecx
41c4e7:	c4 41 00             	les    0x0(%ecx),%eax
41c4ea:	5f                   	pop    %edi
41c4eb:	c4 41 00             	les    0x0(%ecx),%eax
41c4ee:	da c3                	fcmovb %st(3),%st
41c4f0:	41                   	inc    %ecx
41c4f1:	00 00                	add    %al,(%eax)
41c4f3:	01 02                	add    %eax,(%edx)
41c4f5:	02 00                	add    (%eax),%al
41c4f7:	01 02                	add    %eax,(%edx)
41c4f9:	02 8b c1 83 e8 00    	add    0xe883c1(%ebx),%cl
41c4ff:	0f 84 8f 00 00 00    	je     0x41c594
41c505:	83 e8 01             	sub    $0x1,%eax
41c508:	74 7f                	je     0x41c589
41c50a:	83 e8 01             	sub    $0x1,%eax
41c50d:	74 6b                	je     0x41c57a
41c50f:	83 e8 01             	sub    $0x1,%eax
41c512:	74 57                	je     0x41c56b
41c514:	83 e8 01             	sub    $0x1,%eax
41c517:	74 43                	je     0x41c55c
41c519:	83 e8 01             	sub    $0x1,%eax
41c51c:	74 2f                	je     0x41c54d
41c51e:	83 e8 01             	sub    $0x1,%eax
41c521:	74 1b                	je     0x41c53e
41c523:	80 e9 64             	sub    $0x64,%cl
41c526:	80 f9 31             	cmp    $0x31,%cl
41c529:	77 69                	ja     0x41c594
41c52b:	f7 da                	neg    %edx
41c52d:	0f b6 c1             	movzbl %cl,%eax
41c530:	1b d2                	sbb    %edx,%edx
41c532:	83 e2 ce             	and    $0xffffffce,%edx
41c535:	81 c2 96 00 00 00    	add    $0x96,%edx
41c53b:	03 c2                	add    %edx,%eax
41c53d:	c3                   	ret
41c53e:	33 c0                	xor    %eax,%eax
41c540:	85 d2                	test   %edx,%edx
41c542:	0f 94 c0             	sete   %al
41c545:	8d 04 45 09 00 00 00 	lea    0x9(,%eax,2),%eax
41c54c:	c3                   	ret
41c54d:	33 c0                	xor    %eax,%eax
41c54f:	85 d2                	test   %edx,%edx
41c551:	0f 94 c0             	sete   %al
41c554:	8d 04 45 08 00 00 00 	lea    0x8(,%eax,2),%eax
41c55b:	c3                   	ret
41c55c:	33 c0                	xor    %eax,%eax
41c55e:	85 d2                	test   %edx,%edx
41c560:	0f 94 c0             	sete   %al
41c563:	8d 04 85 03 00 00 00 	lea    0x3(,%eax,4),%eax
41c56a:	c3                   	ret
41c56b:	33 c0                	xor    %eax,%eax
41c56d:	85 d2                	test   %edx,%edx
41c56f:	0f 94 c0             	sete   %al
41c572:	8d 04 85 02 00 00 00 	lea    0x2(,%eax,4),%eax
41c579:	c3                   	ret
41c57a:	33 c0                	xor    %eax,%eax
41c57c:	85 d2                	test   %edx,%edx
41c57e:	0f 94 c0             	sete   %al
41c581:	8d 04 85 01 00 00 00 	lea    0x1(,%eax,4),%eax
41c588:	c3                   	ret
41c589:	f7 da                	neg    %edx
41c58b:	1b d2                	sbb    %edx,%edx
41c58d:	83 e2 fc             	and    $0xfffffffc,%edx
41c590:	8d 42 04             	lea    0x4(%edx),%eax
41c593:	c3                   	ret
41c594:	b8 ff 00 00 00       	mov    $0xff,%eax
41c599:	c3                   	ret
41c59a:	8b ff                	mov    %edi,%edi
41c59c:	55                   	push   %ebp
41c59d:	8b ec                	mov    %esp,%ebp
41c59f:	56                   	push   %esi
41c5a0:	8b 35 50 8a 43 00    	mov    0x438a50,%esi
41c5a6:	57                   	push   %edi
41c5a7:	8b f9                	mov    %ecx,%edi
41c5a9:	85 f6                	test   %esi,%esi
41c5ab:	75 24                	jne    0x41c5d1
41c5ad:	68 6c 51 40 00       	push   $0x40516c
41c5b2:	e8 5c 24 01 00       	call   0x42ea13
41c5b7:	50                   	push   %eax
41c5b8:	ff 15 54 a1 43 00    	call   *0x43a154
41c5be:	8b f0                	mov    %eax,%esi
41c5c0:	89 35 50 8a 43 00    	mov    %esi,0x438a50
41c5c6:	85 f6                	test   %esi,%esi
41c5c8:	75 07                	jne    0x41c5d1
41c5ca:	b8 39 01 00 c0       	mov    $0xc0000139,%eax
41c5cf:	eb 18                	jmp    0x41c5e9
41c5d1:	ff 75 14             	push   0x14(%ebp)
41c5d4:	8b ce                	mov    %esi,%ecx
41c5d6:	ff 75 10             	push   0x10(%ebp)
41c5d9:	ff 75 0c             	push   0xc(%ebp)
41c5dc:	6a 00                	push   $0x0
41c5de:	6a 00                	push   $0x0
41c5e0:	57                   	push   %edi