41c36d:	f7 41 00 00 24 42 00 	testl  $0x422400,0x0(%ecx)
41c374:	c4 45 41             	les    0x41(%ebp),%eax
41c377:	00 d4                	add    %dl,%ah
41c379:	25 42 00 54 26       	and    $0x26540042,%eax
41c37e:	42                   	inc    %edx
41c37f:	00 48 f8             	add    %cl,-0x8(%eax)
41c382:	41                   	inc    %ecx
41c383:	00 08                	add    %cl,(%eax)
41c385:	29 42 00             	sub    %eax,0x0(%edx)
41c388:	bc 29 42 00 fc       	mov    $0xfc004229,%esp
41c38d:	29 42 00             	sub    %eax,0x0(%edx)
41c390:	94                   	xchg   %eax,%esp
41c391:	f9                   	stc
41c392:	41                   	inc    %ecx
41c393:	00 58 2a             	add    %bl,0x2a(%eax)
41c396:	42                   	inc    %edx
41c397:	00 a4 2e 42 00 a0 36 	add    %ah,0x36a00042(%esi,%ebp,1)
41c39e:	42                   	inc    %edx
41c39f:	00 74 37 42          	add    %dh,0x42(%edi,%esi,1)
41c3a3:	00 7c fa 41          	add    %bh,0x41(%edx,%edi,8)
41c3a7:	00 98 38 42 00 ec    	add    %bl,-0x13ffbdc8(%eax)
41c3ad:	38 42 00             	cmp    %al,0x0(%edx)
41c3b0:	5c                   	pop    %esp
41c3b1:	23 42 00             	and    0x0(%edx),%eax
41c3b4:	98                   	cwtl
41c3b5:	f9                   	stc
41c3b6:	41                   	inc    %ecx
41c3b7:	00 20                	add    %ah,(%eax)
41c3b9:	fa                   	cli
41c3ba:	41                   	inc    %ecx
41c3bb:	00 20                	add    %ah,(%eax)
41c3bd:	2d 42 00 ac 3b       	sub    $0x3bac0042,%eax
41c3c2:	42                   	inc    %edx
41c3c3:	00 9c 2c 42 00 b4 3b 	add    %bl,0x3bb40042(%esp,%ebp,1)
41c3ca:	42                   	inc    %edx
41c3cb:	00 6c 29 42          	add    %ch,0x42(%ecx,%ebp,1)
41c3cf:	00 cc                	add    %cl,%ah
41c3d1:	29 42 00             	sub    %eax,0x0(%edx)
41c3d4:	68 35 42 00 07       	push   $0x7004235
41c3d9:	54                   	push   %esp
41c3da:	42                   	inc    %edx
41c3db:	69 74 6d 61 70 e4 c3 	imul   $0x41c3e470,0x61(%ebp,%ebp,2),%esi
41c3e2:	41
41c3e3:	00 07                	add    %al,(%edi)
41c3e5:	07                   	pop    %es
41c3e6:	54                   	push   %esp
41c3e7:	42                   	inc    %edx
41c3e8:	69 74 6d 61 70 68 c3 	imul   $0x41c36870,0x61(%ebp,%ebp,2),%esi
41c3ef:	41
41c3f0:	00 e0                	add    %ah,%al
41c3f2:	bf 41 00 00 00       	mov    $0x41,%edi
41c3f7:	08 47 72             	or     %al,0x72(%edi)
41c3fa:	61                   	popa
41c3fb:	70 68                	jo     0x41c465
41c3fd:	69 63 73 00 00 8b c0 	imul   $0xc08b0000,0x73(%ebx),%esp
41c404:	50                   	push   %eax
41c405:	c4 41 00             	les    0x0(%ecx),%eax
41c424:	54                   	push   %esp
41c425:	c4 41 00             	les    0x0(%ecx),%eax
41c428:	18 00                	sbb    %al,(%eax)
41c42a:	00 00                	add    %al,(%eax)
41c42c:	1c c1                	sbb    $0xc1,%al
41c42e:	41                   	inc    %ecx
41c42f:	00 90 34 40 00 9c    	add    %dl,-0x63ffbfcc(%eax)
41c435:	34 40                	xor    $0x40,%al
41c437:	00 a0 34 40 00 a4    	add    %ah,-0x5bffbfcc(%eax)
41c43d:	34 40                	xor    $0x40,%al
41c43f:	00 98 34 40 00 e0    	add    %bl,-0x1fffbfcc(%eax)
41c445:	31 40 00             	xor    %eax,0x0(%eax)
41c448:	fc                   	cld
41c449:	31 40 00             	xor    %eax,0x0(%eax)
41c44c:	54                   	push   %esp
41c44d:	3c 42                	cmp    $0x42,%al
41c44f:	00 84 3c 42 00 0a 54 	add    %al,0x540a0042(%esp,%edi,1)
41c456:	49                   	dec    %ecx
41c457:	63 6f 6e             	arpl   %ebp,0x6e(%edi)
41c45a:	49                   	dec    %ecx
41c45b:	6d                   	insl   (%dx),%es:(%edi)
41c45c:	61                   	popa
41c45d:	67 65 90             	addr16 gs nop
41c460:	ac                   	lods   %ds:(%esi),%al
41c461:	c4 41 00             	les    0x0(%ecx),%eax
41c470:	1c c5                	sbb    $0xc5,%al
41c472:	41                   	inc    %ecx
41c47f:	00 10                	add    %dl,(%eax)
41c481:	c5 41 00             	lds    0x0(%ecx),%eax
41c484:	34 00                	xor    $0x0,%al
41c486:	00 00                	add    %al,(%eax)
41c488:	1c bf                	sbb    $0xbf,%al
41c48a:	41                   	inc    %ecx
41c48b:	00 90 34 40 00 34    	add    %dl,0x34004034(%eax)
41c491:	45                   	inc    %ebp
41c492:	41                   	inc    %ecx
41c493:	00 a0 34 40 00 a4    	add    %ah,-0x5bffbfcc(%eax)
41c499:	34 40                	xor    $0x40,%al
41c49b:	00 98 34 40 00 e0    	add    %bl,-0x1fffbfcc(%eax)
41c4a1:	31 40 00             	xor    %eax,0x0(%eax)
41c4a4:	fc                   	cld
41c4a5:	31 40 00             	xor    %eax,0x0(%eax)
41c4a8:	f0 3c 42             	lock cmp $0x42,%al
41c4ab:	00 74 44 41          	add    %dh,0x41(%esp,%eax,2)
41c4af:	00 fc                	add    %bh,%ah
41c4b1:	f7 41 00 20 3d 42 00 	testl  $0x423d20,0x0(%ecx)
41c4b8:	c4 45 41             	les    0x41(%ebp),%eax
41c4bb:	00 8c f7 41 00 80 3d 	add    %cl,0x3d800041(%edi,%esi,8)
41c4c2:	42                   	inc    %edx
41c4c3:	00 48 f8             	add    %cl,-0x8(%eax)
41c4c6:	41                   	inc    %ecx
41c4c7:	00 c0                	add    %al,%al
41c4c9:	3d 42 00 ec 3d       	cmp    $0x3dec0042,%eax
41c4ce:	42                   	inc    %edx
41c4cf:	00 90 f9 41 00 94    	add    %dl,-0x6bffbe07(%eax)
41c4d5:	f9                   	stc
41c4d6:	41                   	inc    %ecx
41c4d7:	00 00                	add    %al,(%eax)
41c4d9:	3e 42                	ds inc %edx
41c4db:	00 14 fa             	add    %dl,(%edx,%edi,8)
41c4de:	41                   	inc    %ecx
41c4df:	00 84 40 42 00 78 fa 	add    %al,-0x587ffbe(%eax,%eax,2)
41c4e6:	41                   	inc    %ecx
41c4e7:	00 9c 40 42 00 a0 40 	add    %bl,0x40a00042(%eax,%eax,2)
41c4ee:	42                   	inc    %edx
41c4ef:	00 8c fa 41 00 9c 3c 	add    %cl,0x3c9c0041(%edx,%edi,8)
41c4f6:	42                   	inc    %edx
41c4f7:	00 98 f9 41 00 20    	add    %bl,0x200041f9(%eax)
41c4fd:	fa                   	cli
41c4fe:	41                   	inc    %ecx
41c4ff:	00 40 3f             	add    %al,0x3f(%eax)
41c502:	42                   	inc    %edx
41c503:	00 b8 40 42 00 e0    	add    %bh,-0x1fffbdc0(%eax)
41c509:	40                   	inc    %eax
41c50a:	42                   	inc    %edx
41c50b:	00 f4                	add    %dh,%ah
41c50d:	40                   	inc    %eax
41c50e:	42                   	inc    %edx
41c50f:	00 05 54 49 63 6f    	add    %al,0x6f634954
41c515:	6e                   	outsb  %ds:(%esi),(%dx)
41c516:	8b c0                	mov    %eax,%eax
41c518:	1c c5                	sbb    $0xc5,%al
41c51a:	41                   	inc    %ecx
41c51b:	00 07                	add    %al,(%edi)
41c51d:	05 54 49 63 6f       	add    $0x6f634954,%eax
41c522:	6e                   	outsb  %ds:(%esi),(%dx)
41c523:	ac                   	lods   %ds:(%esi),%al
41c524:	c4 41 00             	les    0x0(%ecx),%eax
41c527:	e0 bf                	loopne 0x41c4e8
41c529:	41                   	inc    %ecx
41c52a:	00 00                	add    %al,(%eax)
41c52c:	00 08                	add    %cl,(%eax)
41c52e:	47                   	inc    %edi
41c52f:	72 61                	jb     0x41c592
41c531:	70 68                	jo     0x41c59b
41c533:	69 63 73 00 00 85 c0 	imul   $0xc0850000,0x73(%ebx),%esp
41c53a:	74 0e                	je     0x41c54a
41c53c:	3b 05 8c e8 46 00    	cmp    0x46e88c,%eax
41c542:	74 06                	je     0x41c54a
41c544:	50                   	push   %eax
41c545:	e8 12 9d fe ff       	call   0x40625c
41c54a:	c3                   	ret
41c54b:	90                   	nop
41c54c:	98                   	cwtl
41c54d:	c5 41 00             	lds    0x0(%ecx),%eax
41c56c:	98                   	cwtl
41c56d:	c5 41 00             	lds    0x0(%ecx),%eax
41c570:	24 00                	and    $0x0,%al
41c572:	00 00                	add    %al,(%eax)
41c574:	a0 10 40 00 90       	mov    0x90004010,%al
41c579:	34 40                	xor    $0x40,%al
41c57b:	00 9c 34 40 00 a0 34 	add    %bl,0x34a00040(%esp,%esi,1)
41c582:	40                   	inc    %eax
41c583:	00 a4 34 40 00 98 34 	add    %ah,0x34980040(%esp,%esi,1)
41c58a:	40                   	inc    %eax
41c58b:	00 e0                	add    %ah,%al
41c58d:	31 40 00             	xor    %eax,0x0(%eax)
41c590:	fc                   	cld
41c591:	31 40 00             	xor    %eax,0x0(%eax)
41c594:	fc                   	cld
41c595:	c5 41 00             	lds    0x0(%ecx),%eax
41c598:	10 54 52 65          	adc    %dl,0x65(%edx,%edx,2)
41c59c:	73 6f                	jae    0x41c60d
41c59e:	75 72                	jne    0x41c612
41c5a0:	63 65 4d             	arpl   %esp,0x4d(%ebp)
41c5a3:	61                   	popa
41c5a4:	6e                   	outsb  %ds:(%esi),(%dx)
41c5a5:	61                   	popa
41c5a6:	67 65 72 8d          	addr16 gs jb 0x41c537
41c5aa:	40                   	inc    %eax
41c5ab:	00 89 d1 89 c2 31    	add    %cl,0x31c289d1(%ecx)
41c5b1:	c0 66 c1 c0          	shlb   $0xc0,-0x3f(%esi)
41c5b5:	05 32 02 42 49       	add    $0x49420232,%eax
41c5ba:	75 f6                	jne    0x41c5b2
41c5bc:	c3                   	ret
41c5bd:	8d 40 00             	lea    0x0(%eax),%eax
41c5c0:	53                   	push   %ebx
41c5c1:	56                   	push   %esi
41c5c2:	84 d2                	test   %dl,%dl
41c5c4:	74 08                	je     0x41c5ce
41c5c6:	83 c4 f0             	add    $0xfffffff0,%esp
41c5c9:	e8 9e 6f fe ff       	call   0x40356c
41c5ce:	8b da                	mov    %edx,%ebx
41c5d0:	8b f0                	mov    %eax,%esi
41c5d2:	66 89 4e 20          	mov    %cx,0x20(%esi)
41c5d6:	8d 46 08             	lea    0x8(%esi),%eax
41c5d9:	50                   	push   %eax
41c5da:	e8 3d 9b fe ff       	call   0x40611c
41c5df:	8b c6                	mov    %esi,%eax
41c5e1:	84 db                	test   %bl,%bl
41c5e3:	74 0f                	je     0x41c5f4
41c5e5:	e8 da 6f fe ff       	call   0x4035c4
41c5ea:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41c5f1:	83 c4 0c             	add    $0xc,%esp
41c5f4:	8b c6                	mov    %esi,%eax
41c5f6:	5e                   	pop    %esi
41c5f7:	5b                   	pop    %ebx
41c5f8:	c3                   	ret
41c5f9:	8d 40 00             	lea    0x0(%eax),%eax
41c5fc:	53                   	push   %ebx
41c5fd:	56                   	push   %esi
41c5fe:	e8 d1 6f fe ff       	call   0x4035d4
41c603:	8b da                	mov    %edx,%ebx
41c605:	8b f0                	mov    %eax,%esi
41c607:	8d 46 08             	lea    0x8(%esi),%eax
41c60a:	50                   	push   %eax
41c60b:	e8 a4 99 fe ff       	call   0x405fb4
41c610:	84 db                	test   %bl,%bl
41c612:	7e 07                	jle    0x41c61b
41c614:	8b c6                	mov    %esi,%eax
41c616:	e8 a1 6f fe ff       	call   0x4035bc
41c61b:	5e                   	pop    %esi
41c61c:	5b                   	pop    %ebx
41c61d:	c3                   	ret
41c61e:	8b c0                	mov    %eax,%eax
41c620:	83 c0 08             	add    $0x8,%eax
41c623:	50                   	push   %eax
41c624:	e8 93 99 fe ff       	call   0x405fbc
41c629:	c3                   	ret
41c62a:	8b c0                	mov    %eax,%eax
41c62c:	83 c0 08             	add    $0x8,%eax
41c62f:	50                   	push   %eax
41c630:	e8 ef 9a fe ff       	call   0x406124
41c635:	c3                   	ret
41c636:	8b c0                	mov    %eax,%eax
41c638:	55                   	push   %ebp
41c639:	8b ec                	mov    %esp,%ebp
41c63b:	83 c4 f8             	add    $0xfffffff8,%esp
41c63e:	53                   	push   %ebx
41c63f:	56                   	push   %esi
41c640:	8b da                	mov    %edx,%ebx
41c642:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c645:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c648:	0f b7 50 20          	movzwl 0x20(%eax),%edx
41c64c:	8b c3                	mov    %ebx,%eax
41c64e:	e8 59 ff ff ff       	call   0x41c5ac
41c653:	8b f0                	mov    %eax,%esi
41c655:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c658:	e8 c3 ff ff ff       	call   0x41c620
41c65d:	33 d2                	xor    %edx,%edx
41c65f:	55                   	push   %ebp
41c660:	68 0c c7 41 00       	push   $0x41c70c
41c665:	64 ff 32             	push   %fs:(%edx)
41c668:	64 89 22             	mov    %esp,%fs:(%edx)
41c66b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c66e:	8b 40 04             	mov    0x4(%eax),%eax
41c671:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c674:	eb 08                	jmp    0x41c67e
41c676:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c679:	8b 00                	mov    (%eax),%eax
41c67b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c67e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41c682:	74 21                	je     0x41c6a5
41c684:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c687:	66 3b 70 0c          	cmp    0xc(%eax),%si
41c68b:	75 e9                	jne    0x41c676
41c68d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c690:	0f b7 48 20          	movzwl 0x20(%eax),%ecx
41c694:	8b d3                	mov    %ebx,%edx
41c696:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c699:	83 c0 10             	add    $0x10,%eax
41c69c:	e8 6b b5 fe ff       	call   0x407c0c
41c6a1:	84 c0                	test   %al,%al
41c6a3:	74 d1                	je     0x41c676
41c6a5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41c6a9:	75 45                	jne    0x41c6f0
41c6ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c6ae:	0f b7 40 20          	movzwl 0x20(%eax),%eax
41c6b2:	83 c0 10             	add    $0x10,%eax
41c6b5:	e8 02 60 fe ff       	call   0x4026bc
41c6ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c6bd:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6c0:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c6c3:	8b 52 04             	mov    0x4(%edx),%edx
41c6c6:	89 10                	mov    %edx,(%eax)
41c6c8:	33 d2                	xor    %edx,%edx
41c6ca:	89 50 04             	mov    %edx,0x4(%eax)
41c6cd:	8b 13                	mov    (%ebx),%edx
41c6cf:	89 50 08             	mov    %edx,0x8(%eax)
41c6d2:	66 89 70 0c          	mov    %si,0xc(%eax)
41c6d6:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c6d9:	0f b7 4a 20          	movzwl 0x20(%edx),%ecx
41c6dd:	8d 50 10             	lea    0x10(%eax),%edx
41c6e0:	8b c3                	mov    %ebx,%eax
41c6e2:	e8 d1 61 fe ff       	call   0x4028b8
41c6e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c6ea:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c6ed:	89 50 04             	mov    %edx,0x4(%eax)
41c6f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6f3:	ff 40 04             	incl   0x4(%eax)
41c6f6:	33 c0                	xor    %eax,%eax
41c6f8:	5a                   	pop    %edx
41c6f9:	59                   	pop    %ecx
41c6fa:	59                   	pop    %ecx
41c6fb:	64 89 10             	mov    %edx,%fs:(%eax)
41c6fe:	68 13 c7 41 00       	push   $0x41c713
41c703:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c706:	e8 21 ff ff ff       	call   0x41c62c
41c70b:	c3                   	ret
41c70c:	e9 8b 72 fe ff       	jmp    0x40399c
41c711:	eb f0                	jmp    0x41c703
41c713:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c716:	5e                   	pop    %esi
41c717:	5b                   	pop    %ebx
41c718:	59                   	pop    %ecx
41c719:	59                   	pop    %ecx
41c71a:	5d                   	pop    %ebp
41c71b:	c3                   	ret
41c71c:	55                   	push   %ebp
41c71d:	8b ec                	mov    %esp,%ebp
41c71f:	83 c4 f0             	add    $0xfffffff0,%esp
41c722:	89 55 f8             	mov    %edx,-0x8(%ebp)
41c725:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c728:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41c72c:	0f 84 96 00 00 00    	je     0x41c7c8
41c732:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c735:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c738:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c73b:	e8 e0 fe ff ff       	call   0x41c620
41c740:	33 c9                	xor    %ecx,%ecx
41c742:	55                   	push   %ebp
41c743:	68 a3 c7 41 00       	push   $0x41c7a3
41c748:	64 ff 31             	push   %fs:(%ecx)
41c74b:	64 89 21             	mov    %esp,%fs:(%ecx)
41c74e:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c751:	ff 48 04             	decl   0x4(%eax)
41c754:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c757:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
41c75b:	0f 94 45 f7          	sete   -0x9(%ebp)
41c75f:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
41c763:	74 28                	je     0x41c78d
41c765:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c768:	8b 40 04             	mov    0x4(%eax),%eax