41c372:	1b c0                	sbb    %eax,%eax
41c374:	59                   	pop    %ecx
41c375:	40                   	inc    %eax
41c376:	5d                   	pop    %ebp
41c377:	c2 04 00             	ret    $0x4
41c37a:	8b ff                	mov    %edi,%edi
41c37c:	55                   	push   %ebp
41c37d:	8b ec                	mov    %esp,%ebp
41c37f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41c383:	75 04                	jne    0x41c389
41c385:	33 c0                	xor    %eax,%eax
41c387:	5d                   	pop    %ebp
41c388:	c3                   	ret
41c389:	8b 55 0c             	mov    0xc(%ebp),%edx
41c38c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c38f:	ff 4d 10             	decl   0x10(%ebp)
41c392:	74 13                	je     0x41c3a7
41c394:	0f b7 01             	movzwl (%ecx),%eax
41c397:	66 85 c0             	test   %ax,%ax
41c39a:	74 0b                	je     0x41c3a7
41c39c:	66 3b 02             	cmp    (%edx),%ax
41c39f:	75 06                	jne    0x41c3a7
41c3a1:	41                   	inc    %ecx
41c3a2:	41                   	inc    %ecx
41c3a3:	42                   	inc    %edx
41c3a4:	42                   	inc    %edx
41c3a5:	eb e8                	jmp    0x41c38f
41c3a7:	0f b7 01             	movzwl (%ecx),%eax
41c3aa:	0f b7 0a             	movzwl (%edx),%ecx
41c3ad:	2b c1                	sub    %ecx,%eax
41c3af:	5d                   	pop    %ebp
41c3b0:	c3                   	ret
41c3b1:	8b ff                	mov    %edi,%edi
41c3b3:	55                   	push   %ebp
41c3b4:	8b ec                	mov    %esp,%ebp
41c3b6:	8b 4d 10             	mov    0x10(%ebp),%ecx
41c3b9:	56                   	push   %esi
41c3ba:	57                   	push   %edi
41c3bb:	8b 7d 08             	mov    0x8(%ebp),%edi
41c3be:	8b f7                	mov    %edi,%esi
41c3c0:	85 c9                	test   %ecx,%ecx
41c3c2:	74 31                	je     0x41c3f5
41c3c4:	8b 55 0c             	mov    0xc(%ebp),%edx
41c3c7:	0f b7 02             	movzwl (%edx),%eax
41c3ca:	66 89 07             	mov    %ax,(%edi)
41c3cd:	47                   	inc    %edi
41c3ce:	47                   	inc    %edi
41c3cf:	42                   	inc    %edx
41c3d0:	42                   	inc    %edx
41c3d1:	66 85 c0             	test   %ax,%ax
41c3d4:	74 03                	je     0x41c3d9
41c3d6:	49                   	dec    %ecx
41c3d7:	75 ee                	jne    0x41c3c7
41c3d9:	85 c9                	test   %ecx,%ecx
41c3db:	74 18                	je     0x41c3f5
41c3dd:	49                   	dec    %ecx
41c3de:	74 15                	je     0x41c3f5
41c3e0:	33 c0                	xor    %eax,%eax
41c3e2:	0f b7 d0             	movzwl %ax,%edx
41c3e5:	8b c2                	mov    %edx,%eax
41c3e7:	c1 e2 10             	shl    $0x10,%edx
41c3ea:	0b c2                	or     %edx,%eax
41c3ec:	d1 e9                	shr    $1,%ecx
41c3ee:	f3 ab                	rep stos %eax,%es:(%edi)
41c3f0:	13 c9                	adc    %ecx,%ecx
41c3f2:	66 f3 ab             	rep stos %ax,%es:(%edi)
41c3f5:	5f                   	pop    %edi
41c3f6:	8b c6                	mov    %esi,%eax
41c3f8:	5e                   	pop    %esi
41c3f9:	5d                   	pop    %ebp
41c3fa:	c3                   	ret
41c3fb:	8b ff                	mov    %edi,%edi
41c3fd:	55                   	push   %ebp
41c3fe:	8b ec                	mov    %esp,%ebp
41c400:	5d                   	pop    %ebp
41c401:	e9 d1 da ff ff       	jmp    0x419ed7
41c406:	8b ff                	mov    %edi,%edi
41c408:	55                   	push   %ebp
41c409:	8b ec                	mov    %esp,%ebp
41c40b:	8b 45 08             	mov    0x8(%ebp),%eax
41c40e:	0f b7 10             	movzwl (%eax),%edx
41c411:	53                   	push   %ebx
41c412:	56                   	push   %esi
41c413:	57                   	push   %edi
41c414:	66 85 d2             	test   %dx,%dx
41c417:	74 29                	je     0x41c442
41c419:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41c41c:	0f b7 3b             	movzwl (%ebx),%edi
41c41f:	8b f3                	mov    %ebx,%esi
41c421:	66 85 ff             	test   %di,%di
41c424:	74 12                	je     0x41c438
41c426:	0f b7 cf             	movzwl %di,%ecx
41c429:	66 3b ca             	cmp    %dx,%cx
41c42c:	74 16                	je     0x41c444
41c42e:	46                   	inc    %esi
41c42f:	46                   	inc    %esi
41c430:	0f b7 0e             	movzwl (%esi),%ecx
41c433:	66 85 c9             	test   %cx,%cx
41c436:	75 f1                	jne    0x41c429
41c438:	40                   	inc    %eax
41c439:	40                   	inc    %eax
41c43a:	0f b7 10             	movzwl (%eax),%edx
41c43d:	66 85 d2             	test   %dx,%dx
41c440:	75 dd                	jne    0x41c41f
41c442:	33 c0                	xor    %eax,%eax
41c444:	5f                   	pop    %edi
41c445:	5e                   	pop    %esi
41c446:	5b                   	pop    %ebx
41c447:	5d                   	pop    %ebp
41c448:	c3                   	ret
41c449:	8b ff                	mov    %edi,%edi
41c44b:	55                   	push   %ebp
41c44c:	8b ec                	mov    %esp,%ebp
41c44e:	8b 45 08             	mov    0x8(%ebp),%eax
41c451:	66 8b 55 0c          	mov    0xc(%ebp),%dx
41c455:	eb 07                	jmp    0x41c45e
41c457:	66 3b ca             	cmp    %dx,%cx
41c45a:	74 11                	je     0x41c46d
41c45c:	40                   	inc    %eax
41c45d:	40                   	inc    %eax
41c45e:	0f b7 08             	movzwl (%eax),%ecx
41c461:	66 85 c9             	test   %cx,%cx
41c464:	75 f1                	jne    0x41c457
41c466:	66 39 10             	cmp    %dx,(%eax)
41c469:	74 02                	je     0x41c46d
41c46b:	33 c0                	xor    %eax,%eax
41c46d:	5d                   	pop    %ebp
41c46e:	c3                   	ret
41c46f:	8b ff                	mov    %edi,%edi
41c471:	55                   	push   %ebp
41c472:	8b ec                	mov    %esp,%ebp
41c474:	8b 45 08             	mov    0x8(%ebp),%eax
41c477:	8b d0                	mov    %eax,%edx
41c479:	66 8b 08             	mov    (%eax),%cx
41c47c:	40                   	inc    %eax
41c47d:	40                   	inc    %eax
41c47e:	66 85 c9             	test   %cx,%cx
41c481:	75 f6                	jne    0x41c479
41c483:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
41c487:	48                   	dec    %eax
41c488:	48                   	dec    %eax
41c489:	3b c2                	cmp    %edx,%eax
41c48b:	74 05                	je     0x41c492
41c48d:	66 39 08             	cmp    %cx,(%eax)
41c490:	75 f5                	jne    0x41c487
41c492:	66 39 08             	cmp    %cx,(%eax)
41c495:	74 02                	je     0x41c499
41c497:	33 c0                	xor    %eax,%eax
41c499:	5d                   	pop    %ebp
41c49a:	c3                   	ret
41c49b:	cc                   	int3
41c49c:	cc                   	int3
41c49d:	cc                   	int3
41c49e:	cc                   	int3
41c49f:	cc                   	int3
41c4a0:	8d 42 ff             	lea    -0x1(%edx),%eax
41c4a3:	5b                   	pop    %ebx
41c4a4:	c3                   	ret
41c4a5:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41c4ac:	8d 64 24 00          	lea    0x0(%esp),%esp
41c4b0:	33 c0                	xor    %eax,%eax
41c4b2:	8a 44 24 08          	mov    0x8(%esp),%al
41c4b6:	53                   	push   %ebx
41c4b7:	8b d8                	mov    %eax,%ebx
41c4b9:	c1 e0 08             	shl    $0x8,%eax
41c4bc:	8b 54 24 08          	mov    0x8(%esp),%edx
41c4c0:	f7 c2 03 00 00 00    	test   $0x3,%edx
41c4c6:	74 15                	je     0x41c4dd
41c4c8:	8a 0a                	mov    (%edx),%cl
41c4ca:	83 c2 01             	add    $0x1,%edx
41c4cd:	3a cb                	cmp    %bl,%cl
41c4cf:	74 cf                	je     0x41c4a0
41c4d1:	84 c9                	test   %cl,%cl
41c4d3:	74 51                	je     0x41c526
41c4d5:	f7 c2 03 00 00 00    	test   $0x3,%edx
41c4db:	75 eb                	jne    0x41c4c8
41c4dd:	0b d8                	or     %eax,%ebx
41c4df:	57                   	push   %edi
41c4e0:	8b c3                	mov    %ebx,%eax
41c4e2:	c1 e3 10             	shl    $0x10,%ebx
41c4e5:	56                   	push   %esi
41c4e6:	0b d8                	or     %eax,%ebx
41c4e8:	8b 0a                	mov    (%edx),%ecx
41c4ea:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
41c4ef:	8b c1                	mov    %ecx,%eax
41c4f1:	8b f7                	mov    %edi,%esi
41c4f3:	33 cb                	xor    %ebx,%ecx
41c4f5:	03 f0                	add    %eax,%esi
41c4f7:	03 f9                	add    %ecx,%edi
41c4f9:	83 f1 ff             	xor    $0xffffffff,%ecx
41c4fc:	83 f0 ff             	xor    $0xffffffff,%eax
41c4ff:	33 cf                	xor    %edi,%ecx
41c501:	33 c6                	xor    %esi,%eax
41c503:	83 c2 04             	add    $0x4,%edx
41c506:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
41c50c:	75 1c                	jne    0x41c52a
41c50e:	25 00 01 01 81       	and    $0x81010100,%eax
41c513:	74 d3                	je     0x41c4e8
41c515:	25 00 01 01 01       	and    $0x1010100,%eax
41c51a:	75 08                	jne    0x41c524
41c51c:	81 e6 00 00 00 80    	and    $0x80000000,%esi
41c522:	75 c4                	jne    0x41c4e8
41c524:	5e                   	pop    %esi
41c525:	5f                   	pop    %edi
41c526:	5b                   	pop    %ebx
41c527:	33 c0                	xor    %eax,%eax
41c529:	c3                   	ret
41c52a:	8b 42 fc             	mov    -0x4(%edx),%eax
41c52d:	3a c3                	cmp    %bl,%al
41c52f:	74 36                	je     0x41c567
41c531:	84 c0                	test   %al,%al
41c533:	74 ef                	je     0x41c524
41c535:	3a e3                	cmp    %bl,%ah
41c537:	74 27                	je     0x41c560
41c539:	84 e4                	test   %ah,%ah
41c53b:	74 e7                	je     0x41c524
41c53d:	c1 e8 10             	shr    $0x10,%eax
41c540:	3a c3                	cmp    %bl,%al
41c542:	74 15                	je     0x41c559
41c544:	84 c0                	test   %al,%al
41c546:	74 dc                	je     0x41c524
41c548:	3a e3                	cmp    %bl,%ah
41c54a:	74 06                	je     0x41c552
41c54c:	84 e4                	test   %ah,%ah
41c54e:	74 d4                	je     0x41c524
41c550:	eb 96                	jmp    0x41c4e8
41c552:	5e                   	pop    %esi
41c553:	5f                   	pop    %edi
41c554:	8d 42 ff             	lea    -0x1(%edx),%eax
41c557:	5b                   	pop    %ebx
41c558:	c3                   	ret
41c559:	8d 42 fe             	lea    -0x2(%edx),%eax
41c55c:	5e                   	pop    %esi
41c55d:	5f                   	pop    %edi
41c55e:	5b                   	pop    %ebx
41c55f:	c3                   	ret
41c560:	8d 42 fd             	lea    -0x3(%edx),%eax
41c563:	5e                   	pop    %esi
41c564:	5f                   	pop    %edi
41c565:	5b                   	pop    %ebx
41c566:	c3                   	ret
41c567:	8d 42 fc             	lea    -0x4(%edx),%eax
41c56a:	5e                   	pop    %esi
41c56b:	5f                   	pop    %edi
41c56c:	5b                   	pop    %ebx
41c56d:	c3                   	ret
41c56e:	cc                   	int3
41c56f:	cc                   	int3
41c570:	55                   	push   %ebp
41c571:	8b ec                	mov    %esp,%ebp
41c573:	57                   	push   %edi
41c574:	56                   	push   %esi
41c575:	8b 75 0c             	mov    0xc(%ebp),%esi
41c578:	8b 4d 10             	mov    0x10(%ebp),%ecx
41c57b:	8b 7d 08             	mov    0x8(%ebp),%edi
41c57e:	8b c1                	mov    %ecx,%eax
41c580:	8b d1                	mov    %ecx,%edx
41c582:	03 c6                	add    %esi,%eax
41c584:	3b fe                	cmp    %esi,%edi
41c586:	76 08                	jbe    0x41c590
41c588:	3b f8                	cmp    %eax,%edi
41c58a:	0f 82 a4 01 00 00    	jb     0x41c734
41c590:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
41c596:	72 1f                	jb     0x41c5b7
41c598:	83 3d d8 08 45 00 00 	cmpl   $0x0,0x4508d8
41c59f:	74 16                	je     0x41c5b7
41c5a1:	57                   	push   %edi
41c5a2:	56                   	push   %esi
41c5a3:	83 e7 0f             	and    $0xf,%edi
41c5a6:	83 e6 0f             	and    $0xf,%esi
41c5a9:	3b fe                	cmp    %esi,%edi
41c5ab:	5e                   	pop    %esi
41c5ac:	5f                   	pop    %edi
41c5ad:	75 08                	jne    0x41c5b7
41c5af:	5e                   	pop    %esi
41c5b0:	5f                   	pop    %edi
41c5b1:	5d                   	pop    %ebp
41c5b2:	e9 29 43 00 00       	jmp    0x4208e0
41c5b7:	f7 c7 03 00 00 00    	test   $0x3,%edi
41c5bd:	75 15                	jne    0x41c5d4
41c5bf:	c1 e9 02             	shr    $0x2,%ecx
41c5c2:	83 e2 03             	and    $0x3,%edx
41c5c5:	83 f9 08             	cmp    $0x8,%ecx
41c5c8:	72 2a                	jb     0x41c5f4
41c5ca:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41c5cc:	ff 24 95 e4 c6 41 00 	jmp    *0x41c6e4(,%edx,4)
41c5d3:	90                   	nop
41c5d4:	8b c7                	mov    %edi,%eax
41c5d6:	ba 03 00 00 00       	mov    $0x3,%edx
41c5db:	83 e9 04             	sub    $0x4,%ecx
41c5de:	72 0c                	jb     0x41c5ec
41c5e0:	83 e0 03             	and    $0x3,%eax
41c5e3:	03 c8                	add    %eax,%ecx
41c5e5:	ff 24 85 f8 c5 41 00 	jmp    *0x41c5f8(,%eax,4)
41c5ec:	ff 24 8d f4 c6 41 00 	jmp    *0x41c6f4(,%ecx,4)
41c5f3:	90                   	nop
41c5f4:	ff 24 8d 78 c6 41 00 	jmp    *0x41c678(,%ecx,4)
41c5fb:	90                   	nop
41c5fc:	08 c6                	or     %al,%dh
41c5fe:	41                   	inc    %ecx
41c5ff:	00 34 c6             	add    %dh,(%esi,%eax,8)
41c602:	41                   	inc    %ecx
41c603:	00 58 c6             	add    %bl,-0x3a(%eax)
41c606:	41                   	inc    %ecx
41c607:	00 23                	add    %ah,(%ebx)
41c609:	d1 8a 06 88 07 8a    	rorl   $1,-0x75f877fa(%edx)
41c60f:	46                   	inc    %esi
41c610:	01 88 47 01 8a 46    	add    %ecx,0x468a0147(%eax)
41c616:	02 c1                	add    %cl,%al
41c618:	e9 02 88 47 02       	jmp    0x2894e1f
41c61d:	83 c6 03             	add    $0x3,%esi
41c620:	83 c7 03             	add    $0x3,%edi
41c623:	83 f9 08             	cmp    $0x8,%ecx
41c626:	72 cc                	jb     0x41c5f4
41c628:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41c62a:	ff 24 95 e4 c6 41 00 	jmp    *0x41c6e4(,%edx,4)
41c631:	8d 49 00             	lea    0x0(%ecx),%ecx
41c634:	23 d1                	and    %ecx,%edx
41c636:	8a 06                	mov    (%esi),%al
41c638:	88 07                	mov    %al,(%edi)
41c63a:	8a 46 01             	mov    0x1(%esi),%al
41c63d:	c1 e9 02             	shr    $0x2,%ecx
41c640:	88 47 01             	mov    %al,0x1(%edi)
41c643:	83 c6 02             	add    $0x2,%esi
41c646:	83 c7 02             	add    $0x2,%edi
41c649:	83 f9 08             	cmp    $0x8,%ecx
41c64c:	72 a6                	jb     0x41c5f4
41c64e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41c650:	ff 24 95 e4 c6 41 00 	jmp    *0x41c6e4(,%edx,4)
41c657:	90                   	nop
41c658:	23 d1                	and    %ecx,%edx
41c65a:	8a 06                	mov    (%esi),%al
41c65c:	88 07                	mov    %al,(%edi)
41c65e:	83 c6 01             	add    $0x1,%esi
41c661:	c1 e9 02             	shr    $0x2,%ecx
41c664:	83 c7 01             	add    $0x1,%edi
41c667:	83 f9 08             	cmp    $0x8,%ecx
41c66a:	72 88                	jb     0x41c5f4
41c66c:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41c66e:	ff 24 95 e4 c6 41 00 	jmp    *0x41c6e4(,%edx,4)
41c675:	8d 49 00             	lea    0x0(%ecx),%ecx
41c678:	db c6                	fcmovnb %st(6),%st
41c67a:	41                   	inc    %ecx
41c67b:	00 c8                	add    %cl,%al
41c67d:	c6 41 00 c0          	movb   $0xc0,0x0(%ecx)
41c681:	c6 41 00 b8          	movb   $0xb8,0x0(%ecx)
41c685:	c6 41 00 b0          	movb   $0xb0,0x0(%ecx)
41c689:	c6 41 00 a8          	movb   $0xa8,0x0(%ecx)
41c68d:	c6 41 00 a0          	movb   $0xa0,0x0(%ecx)
41c691:	c6 41 00 98          	movb   $0x98,0x0(%ecx)