41c58b:	88 46 04             	mov    %al,0x4(%esi)
41c58e:	e9 80 00 00 00       	jmp    0x41c613
41c593:	84 c9                	test   %cl,%cl
41c595:	75 07                	jne    0x41c59e
41c597:	8b ce                	mov    %esi,%ecx
41c599:	e8 02 0e 00 00       	call   0x41d3a0
41c59e:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c5a2:	66 3b 45 e0          	cmp    -0x20(%ebp),%ax
41c5a6:	75 71                	jne    0x41c619
41c5a8:	8b c3                	mov    %ebx,%eax
41c5aa:	c6 00 2d             	movb   $0x2d,(%eax)
41c5ad:	8d 48 01             	lea    0x1(%eax),%ecx
41c5b0:	8b 1e                	mov    (%esi),%ebx
41c5b2:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
41c5b8:	85 db                	test   %ebx,%ebx
41c5ba:	74 4d                	je     0x41c609
41c5bc:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c5bf:	83 38 00             	cmpl   $0x0,(%eax)
41c5c2:	74 1b                	je     0x41c5df
41c5c4:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c5c7:	8b 01                	mov    (%ecx),%eax
41c5c9:	85 c0                	test   %eax,%eax
41c5cb:	7e 12                	jle    0x41c5df
41c5cd:	48                   	dec    %eax
41c5ce:	89 01                	mov    %eax,(%ecx)
41c5d0:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c5d3:	8b 11                	mov    (%ecx),%edx
41c5d5:	8d 42 02             	lea    0x2(%edx),%eax
41c5d8:	89 01                	mov    %eax,(%ecx)
41c5da:	0f b7 02             	movzwl (%edx),%eax
41c5dd:	eb 1a                	jmp    0x41c5f9
41c5df:	8b 03                	mov    (%ebx),%eax
41c5e1:	8b 78 1c             	mov    0x1c(%eax),%edi
41c5e4:	8b cf                	mov    %edi,%ecx
41c5e6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c5ec:	8b cb                	mov    %ebx,%ecx
41c5ee:	ff d7                	call   *%edi
41c5f0:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c5f6:	0f b7 c0             	movzwl %ax,%eax
41c5f9:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c5fe:	66 3b c8             	cmp    %ax,%cx
41c601:	74 06                	je     0x41c609
41c603:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41c607:	eb 0a                	jmp    0x41c613
41c609:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41c60f:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41c613:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41c619:	32 c0                	xor    %al,%al
41c61b:	66 c7 03 30 78       	movw   $0x7830,(%ebx)
41c620:	88 45 83             	mov    %al,-0x7d(%ebp)
41c623:	83 c3 02             	add    $0x2,%ebx
41c626:	33 c0                	xor    %eax,%eax
41c628:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
41c62e:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
41c635:	00 00 00
41c638:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
41c63e:	38 46 04             	cmp    %al,0x4(%esi)
41c641:	75 07                	jne    0x41c64a
41c643:	8b ce                	mov    %esi,%ecx
41c645:	e8 56 0d 00 00       	call   0x41d3a0
41c64a:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c64e:	75 07                	jne    0x41c657
41c650:	8b cf                	mov    %edi,%ecx
41c652:	e8 49 0d 00 00       	call   0x41d3a0
41c657:	83 3e 00             	cmpl   $0x0,(%esi)
41c65a:	8b 07                	mov    (%edi),%eax
41c65c:	75 0a                	jne    0x41c668
41c65e:	85 c0                	test   %eax,%eax
41c660:	0f 84 ab 00 00 00    	je     0x41c711
41c666:	eb 08                	jmp    0x41c670
41c668:	85 c0                	test   %eax,%eax
41c66a:	0f 85 a1 00 00 00    	jne    0x41c711
41c670:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c674:	75 07                	jne    0x41c67d
41c676:	8b ce                	mov    %esi,%ecx
41c678:	e8 23 0d 00 00       	call   0x41d3a0
41c67d:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c681:	66 3b 45 b4          	cmp    -0x4c(%ebp),%ax
41c685:	0f 85 86 00 00 00    	jne    0x41c711
41c68b:	8b 1e                	mov    (%esi),%ebx
41c68d:	85 db                	test   %ebx,%ebx
41c68f:	74 54                	je     0x41c6e5
41c691:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c694:	83 38 00             	cmpl   $0x0,(%eax)
41c697:	74 1b                	je     0x41c6b4
41c699:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c69c:	8b 01                	mov    (%ecx),%eax
41c69e:	85 c0                	test   %eax,%eax
41c6a0:	7e 12                	jle    0x41c6b4
41c6a2:	48                   	dec    %eax
41c6a3:	89 01                	mov    %eax,(%ecx)
41c6a5:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c6a8:	8b 11                	mov    (%ecx),%edx
41c6aa:	8d 42 02             	lea    0x2(%edx),%eax
41c6ad:	89 01                	mov    %eax,(%ecx)
41c6af:	0f b7 02             	movzwl (%edx),%eax
41c6b2:	eb 1a                	jmp    0x41c6ce
41c6b4:	8b 03                	mov    (%ebx),%eax
41c6b6:	8b 78 1c             	mov    0x1c(%eax),%edi
41c6b9:	8b cf                	mov    %edi,%ecx
41c6bb:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c6c1:	8b cb                	mov    %ebx,%ecx
41c6c3:	ff d7                	call   *%edi
41c6c5:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c6cb:	0f b7 c0             	movzwl %ax,%eax
41c6ce:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c6d3:	66 3b c8             	cmp    %ax,%cx
41c6d6:	74 0d                	je     0x41c6e5
41c6d8:	8b ce                	mov    %esi,%ecx
41c6da:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41c6de:	e8 bd 0c 00 00       	call   0x41d3a0
41c6e3:	eb 0a                	jmp    0x41c6ef
41c6e5:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41c6eb:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41c6ef:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c6f3:	75 07                	jne    0x41c6fc
41c6f5:	8b cf                	mov    %edi,%ecx
41c6f7:	e8 a4 0c 00 00       	call   0x41d3a0
41c6fc:	83 3e 00             	cmpl   $0x0,(%esi)
41c6ff:	8b 07                	mov    (%edi),%eax
41c701:	75 69                	jne    0x41c76c
41c703:	85 c0                	test   %eax,%eax
41c705:	75 69                	jne    0x41c770
41c707:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41c70b:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41c711:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
41c717:	b8 24 00 00 00       	mov    $0x24,%eax
41c71c:	ba 00 03 00 00       	mov    $0x300,%edx
41c721:	81 39 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%ecx)
41c727:	0f 44 c2             	cmove  %edx,%eax
41c72a:	83 7d 98 10          	cmpl   $0x10,-0x68(%ebp)
41c72e:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
41c734:	8d 45 84             	lea    -0x7c(%ebp),%eax
41c737:	0f 43 45 84          	cmovae -0x7c(%ebp),%eax
41c73b:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
41c741:	8a 00                	mov    (%eax),%al
41c743:	3c 7f                	cmp    $0x7f,%al
41c745:	0f 84 ed 03 00 00    	je     0x41cb38
41c74b:	84 c0                	test   %al,%al
41c74d:	0f 8e e5 03 00 00    	jle    0x41cb38
41c753:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
41c757:	0f 85 ac 00 00 00    	jne    0x41c809
41c75d:	c7 85 4c ff ff ff 00 	movl   $0x0,-0xb4(%ebp)
41c764:	00 00 00
41c767:	e9 bd 00 00 00       	jmp    0x41c829
41c76c:	85 c0                	test   %eax,%eax
41c76e:	75 97                	jne    0x41c707
41c770:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c774:	75 07                	jne    0x41c77d
41c776:	8b ce                	mov    %esi,%ecx
41c778:	e8 23 0c 00 00       	call   0x41d3a0
41c77d:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c781:	66 3b 45 e6          	cmp    -0x1a(%ebp),%ax
41c785:	74 1b                	je     0x41c7a2
41c787:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c78b:	75 07                	jne    0x41c794
41c78d:	8b ce                	mov    %esi,%ecx
41c78f:	e8 0c 0c 00 00       	call   0x41d3a0
41c794:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c798:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
41c79c:	0f 85 65 ff ff ff    	jne    0x41c707
41c7a2:	8b 1e                	mov    (%esi),%ebx
41c7a4:	85 db                	test   %ebx,%ebx
41c7a6:	74 51                	je     0x41c7f9
41c7a8:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c7ab:	83 38 00             	cmpl   $0x0,(%eax)
41c7ae:	74 1b                	je     0x41c7cb
41c7b0:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41c7b3:	8b 01                	mov    (%ecx),%eax
41c7b5:	85 c0                	test   %eax,%eax
41c7b7:	7e 12                	jle    0x41c7cb
41c7b9:	48                   	dec    %eax
41c7ba:	89 01                	mov    %eax,(%ecx)
41c7bc:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c7bf:	8b 11                	mov    (%ecx),%edx
41c7c1:	8d 42 02             	lea    0x2(%edx),%eax
41c7c4:	89 01                	mov    %eax,(%ecx)
41c7c6:	0f b7 02             	movzwl (%edx),%eax
41c7c9:	eb 1a                	jmp    0x41c7e5
41c7cb:	8b 03                	mov    (%ebx),%eax
41c7cd:	8b 78 1c             	mov    0x1c(%eax),%edi
41c7d0:	8b cf                	mov    %edi,%ecx
41c7d2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c7d8:	8b cb                	mov    %ebx,%ecx
41c7da:	ff d7                	call   *%edi
41c7dc:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c7e2:	0f b7 c0             	movzwl %ax,%eax
41c7e5:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41c7ea:	66 3b c8             	cmp    %ax,%cx
41c7ed:	74 0a                	je     0x41c7f9
41c7ef:	32 c0                	xor    %al,%al
41c7f1:	88 46 04             	mov    %al,0x4(%esi)
41c7f4:	e9 12 ff ff ff       	jmp    0x41c70b
41c7f9:	b0 01                	mov    $0x1,%al
41c7fb:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41c801:	88 46 04             	mov    %al,0x4(%esi)
41c804:	e9 02 ff ff ff       	jmp    0x41c70b
41c809:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
41c80f:	8b 03                	mov    (%ebx),%eax
41c811:	8b 78 10             	mov    0x10(%eax),%edi
41c814:	8b cf                	mov    %edi,%ecx
41c816:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41c81c:	8b cb                	mov    %ebx,%ecx
41c81e:	ff d7                	call   *%edi
41c820:	0f b7 c0             	movzwl %ax,%eax
41c823:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
41c829:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
41c830:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
41c837:	c7 45 b0 0f 00 00 00 	movl   $0xf,-0x50(%ebp)
41c83e:	66 c7 45 9c 00 00    	movw   $0x0,-0x64(%ebp)
41c844:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41c848:	33 db                	xor    %ebx,%ebx
41c84a:	8b 45 9c             	mov    -0x64(%ebp),%eax
41c84d:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
41c853:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
41c859:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
41c860:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c864:	75 07                	jne    0x41c86d
41c866:	8b ce                	mov    %esi,%ecx
41c868:	e8 33 0b 00 00       	call   0x41d3a0
41c86d:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41c873:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c877:	75 07                	jne    0x41c880
41c879:	8b cf                	mov    %edi,%ecx
41c87b:	e8 20 0b 00 00       	call   0x41d3a0
41c880:	83 3e 00             	cmpl   $0x0,(%esi)
41c883:	8b 07                	mov    (%edi),%eax
41c885:	0f 85 df 00 00 00    	jne    0x41c96a
41c88b:	85 c0                	test   %eax,%eax
41c88d:	0f 85 df 00 00 00    	jne    0x41c972
41c893:	8b 55 b0             	mov    -0x50(%ebp),%edx
41c896:	85 db                	test   %ebx,%ebx
41c898:	74 11                	je     0x41c8ab
41c89a:	83 fa 10             	cmp    $0x10,%edx
41c89d:	8d 45 9c             	lea    -0x64(%ebp),%eax
41c8a0:	0f 43 45 9c          	cmovae -0x64(%ebp),%eax
41c8a4:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
41c8a8:	7e 31                	jle    0x41c8db
41c8aa:	43                   	inc    %ebx
41c8ab:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
41c8b1:	85 db                	test   %ebx,%ebx
41c8b3:	74 2d                	je     0x41c8e2
41c8b5:	8a 09                	mov    (%ecx),%cl
41c8b7:	80 f9 7f             	cmp    $0x7f,%cl
41c8ba:	74 26                	je     0x41c8e2
41c8bc:	83 eb 01             	sub    $0x1,%ebx
41c8bf:	0f 84 38 02 00 00    	je     0x41cafd
41c8c5:	83 fa 10             	cmp    $0x10,%edx
41c8c8:	8d 45 9c             	lea    -0x64(%ebp),%eax
41c8cb:	0f 43 85 54 ff ff ff 	cmovae -0xac(%ebp),%eax
41c8d2:	3a 0c 18             	cmp    (%eax,%ebx,1),%cl
41c8d5:	0f 84 3b 02 00 00    	je     0x41cb16
41c8db:	c6 85 73 ff ff ff 01 	movb   $0x1,-0x8d(%ebp)
41c8e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41c8e6:	83 fa 10             	cmp    $0x10,%edx
41c8e9:	72 2e                	jb     0x41c919
41c8eb:	8d 4a 01             	lea    0x1(%edx),%ecx
41c8ee:	8b 55 9c             	mov    -0x64(%ebp),%edx
41c8f1:	8b c2                	mov    %edx,%eax
41c8f3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41c8f9:	72 14                	jb     0x41c90f
41c8fb:	8b 50 fc             	mov    -0x4(%eax),%edx
41c8fe:	83 c1 23             	add    $0x23,%ecx
41c901:	2b c2                	sub    %edx,%eax
41c903:	83 c0 fc             	add    $0xfffffffc,%eax
41c906:	83 f8 1f             	cmp    $0x1f,%eax
41c909:	0f 87 53 0a 00 00    	ja     0x41d362
41c90f:	51                   	push   %ecx
41c910:	52                   	push   %edx
41c911:	e8 f2 d0 04 00       	call   0x469a08
41c916:	83 c4 08             	add    $0x8,%esp
41c919:	80 7d 83 00          	cmpb   $0x0,-0x7d(%ebp)
41c91d:	74 19                	je     0x41c938
41c91f:	83 bd 64 ff ff ff 00 	cmpl   $0x0,-0x9c(%ebp)
41c926:	75 10                	jne    0x41c938
41c928:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
41c92e:	c6 00 30             	movb   $0x30,(%eax)
41c931:	40                   	inc    %eax
41c932:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
41c938:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c93c:	75 07                	jne    0x41c945
41c93e:	8b ce                	mov    %esi,%ecx
41c940:	e8 5b 0a 00 00       	call   0x41d3a0
41c945:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41c949:	75 07                	jne    0x41c952
41c94b:	8b cf                	mov    %edi,%ecx
41c94d:	e8 4e 0a 00 00       	call   0x41d3a0
41c952:	83 3e 00             	cmpl   $0x0,(%esi)
41c955:	8b 07                	mov    (%edi),%eax
41c957:	0f 85 da 02 00 00    	jne    0x41cc37
41c95d:	85 c0                	test   %eax,%eax
41c95f:	0f 84 80 03 00 00    	je     0x41cce5
41c965:	e9 d5 02 00 00       	jmp    0x41cc3f
41c96a:	85 c0                	test   %eax,%eax
41c96c:	0f 85 21 ff ff ff    	jne    0x41c893
41c972:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41c976:	75 07                	jne    0x41c97f
41c978:	8b ce                	mov    %esi,%ecx
41c97a:	e8 21 0a 00 00       	call   0x41d3a0
41c97f:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41c983:	50                   	push   %eax
41c984:	8d 45 ec             	lea    -0x14(%ebp),%eax
41c987:	50                   	push   %eax
41c988:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41c98b:	50                   	push   %eax
41c98c:	e8 8f c8 04 00       	call   0x469220
41c991:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41c994:	2b c1                	sub    %ecx,%eax
41c996:	d1 f8                	sar    $1,%eax
41c998:	83 f8 16             	cmp    $0x16,%eax
41c99b:	73 68                	jae    0x41ca05
41c99d:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
41c9a3:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41c9a7:	39 95 58 ff ff ff    	cmp    %edx,-0xa8(%ebp)
41c9ad:	7f 08                	jg     0x41c9b7
41c9af:	ff 85 6c ff ff ff    	incl   -0x94(%ebp)
41c9b5:	eb 24                	jmp    0x41c9db
41c9b7:	85 c0                	test   %eax,%eax
41c9b9:	75 04                	jne    0x41c9bf
41c9bb:	85 d2                	test   %edx,%edx
41c9bd:	74 1c                	je     0x41c9db
41c9bf:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
41c9c5:	8a 80 bc 32 4b 00    	mov    0x4b32bc(%eax),%al
41c9cb:	88 01                	mov    %al,(%ecx)
41c9cd:	41                   	inc    %ecx
41c9ce:	42                   	inc    %edx
41c9cf:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
41c9d5:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
41c9db:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41c9de:	8d 45 9c             	lea    -0x64(%ebp),%eax
41c9e1:	8b 55 9c             	mov    -0x64(%ebp),%edx
41c9e4:	83 f9 10             	cmp    $0x10,%ecx
41c9e7:	0f 43 c2             	cmovae %edx,%eax
41c9ea:	80 3c 18 7f          	cmpb   $0x7f,(%eax,%ebx,1)
41c9ee:	0f 84 9e 00 00 00    	je     0x41ca92
41c9f4:	83 f9 10             	cmp    $0x10,%ecx
41c9f7:	8d 45 9c             	lea    -0x64(%ebp),%eax
41c9fa:	0f 43 c2             	cmovae %edx,%eax
41c9fd:	fe 04 18             	incb   (%eax,%ebx,1)
41ca00:	e9 84 00 00 00       	jmp    0x41ca89
41ca05:	8b 55 b0             	mov    -0x50(%ebp),%edx
41ca08:	8d 45 9c             	lea    -0x64(%ebp),%eax
41ca0b:	83 fa 10             	cmp    $0x10,%edx
41ca0e:	0f 43 45 9c          	cmovae -0x64(%ebp),%eax
41ca12:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
41ca16:	0f 84 77 fe ff ff    	je     0x41c893
41ca1c:	66 83 bd 4c ff ff ff 	cmpw   $0x0,-0xb4(%ebp)
41ca23:	00
41ca24:	0f 84 69 fe ff ff    	je     0x41c893
41ca2a:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)