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)
41ca2e:	75 0a                	jne    0x41ca3a
41ca30:	8b ce                	mov    %esi,%ecx
41ca32:	e8 69 09 00 00       	call   0x41d3a0
41ca37:	8b 55 b0             	mov    -0x50(%ebp),%edx
41ca3a:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41ca3e:	66 3b 85 4c ff ff ff 	cmp    -0xb4(%ebp),%ax
41ca45:	0f 85 48 fe ff ff    	jne    0x41c893
41ca4b:	8b 4d ac             	mov    -0x54(%ebp),%ecx
41ca4e:	3b ca                	cmp    %edx,%ecx
41ca50:	73 18                	jae    0x41ca6a
41ca52:	8d 41 01             	lea    0x1(%ecx),%eax
41ca55:	83 fa 10             	cmp    $0x10,%edx
41ca58:	89 45 ac             	mov    %eax,-0x54(%ebp)
41ca5b:	8d 45 9c             	lea    -0x64(%ebp),%eax
41ca5e:	0f 43 45 9c          	cmovae -0x64(%ebp),%eax
41ca62:	66 c7 04 08 00 00    	movw   $0x0,(%eax,%ecx,1)
41ca68:	eb 18                	jmp    0x41ca82
41ca6a:	6a 00                	push   $0x0
41ca6c:	c6 85 60 ff ff ff 00 	movb   $0x0,-0xa0(%ebp)
41ca73:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
41ca79:	51                   	push   %ecx
41ca7a:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
41ca7d:	e8 3e 52 ff ff       	call   0x411cc0
41ca82:	43                   	inc    %ebx
41ca83:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
41ca89:	8b 45 9c             	mov    -0x64(%ebp),%eax
41ca8c:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
41ca92:	8b 1e                	mov    (%esi),%ebx
41ca94:	85 db                	test   %ebx,%ebx
41ca96:	74 50                	je     0x41cae8
41ca98:	8b 43 1c             	mov    0x1c(%ebx),%eax
41ca9b:	83 38 00             	cmpl   $0x0,(%eax)
41ca9e:	74 1b                	je     0x41cabb
41caa0:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41caa3:	8b 01                	mov    (%ecx),%eax
41caa5:	85 c0                	test   %eax,%eax
41caa7:	7e 12                	jle    0x41cabb
41caa9:	48                   	dec    %eax
41caaa:	89 01                	mov    %eax,(%ecx)
41caac:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41caaf:	8b 11                	mov    (%ecx),%edx
41cab1:	8d 42 02             	lea    0x2(%edx),%eax
41cab4:	89 01                	mov    %eax,(%ecx)
41cab6:	0f b7 02             	movzwl (%edx),%eax
41cab9:	eb 14                	jmp    0x41cacf
41cabb:	8b 03                	mov    (%ebx),%eax
41cabd:	8b 78 1c             	mov    0x1c(%eax),%edi
41cac0:	8b cf                	mov    %edi,%ecx
41cac2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41cac8:	8b cb                	mov    %ebx,%ecx
41caca:	ff d7                	call   *%edi
41cacc:	0f b7 c0             	movzwl %ax,%eax
41cacf:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41cad4:	66 3b c8             	cmp    %ax,%cx
41cad7:	74 0f                	je     0x41cae8
41cad9:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
41cadf:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41cae3:	e9 78 fd ff ff       	jmp    0x41c860
41cae8:	8b 9d 48 ff ff ff    	mov    -0xb8(%ebp),%ebx
41caee:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41caf4:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41caf8:	e9 63 fd ff ff       	jmp    0x41c860
41cafd:	85 db                	test   %ebx,%ebx
41caff:	75 15                	jne    0x41cb16
41cb01:	83 fa 10             	cmp    $0x10,%edx
41cb04:	8d 45 9c             	lea    -0x64(%ebp),%eax
41cb07:	0f 43 85 54 ff ff ff 	cmovae -0xac(%ebp),%eax
41cb0e:	3a 08                	cmp    (%eax),%cl
41cb10:	0f 8c c5 fd ff ff    	jl     0x41c8db
41cb16:	8b 8d 44 ff ff ff    	mov    -0xbc(%ebp),%ecx
41cb1c:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
41cb20:	0f 8e 8b fd ff ff    	jle    0x41c8b1
41cb26:	41                   	inc    %ecx
41cb27:	89 8d 44 ff ff ff    	mov    %ecx,-0xbc(%ebp)
41cb2d:	e9 7f fd ff ff       	jmp    0x41c8b1
41cb32:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41cb38:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41cb3c:	75 07                	jne    0x41cb45
41cb3e:	8b ce                	mov    %esi,%ecx
41cb40:	e8 5b 08 00 00       	call   0x41d3a0
41cb45:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41cb49:	75 07                	jne    0x41cb52
41cb4b:	8b cf                	mov    %edi,%ecx
41cb4d:	e8 4e 08 00 00       	call   0x41d3a0
41cb52:	83 3e 00             	cmpl   $0x0,(%esi)
41cb55:	8b 07                	mov    (%edi),%eax
41cb57:	75 0a                	jne    0x41cb63
41cb59:	85 c0                	test   %eax,%eax
41cb5b:	0f 84 b8 fd ff ff    	je     0x41c919
41cb61:	eb 08                	jmp    0x41cb6b
41cb63:	85 c0                	test   %eax,%eax
41cb65:	0f 85 ae fd ff ff    	jne    0x41c919
41cb6b:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41cb6f:	75 07                	jne    0x41cb78
41cb71:	8b ce                	mov    %esi,%ecx
41cb73:	e8 28 08 00 00       	call   0x41d3a0
41cb78:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41cb7c:	50                   	push   %eax
41cb7d:	8d 45 ec             	lea    -0x14(%ebp),%eax
41cb80:	50                   	push   %eax
41cb81:	8d 45 b4             	lea    -0x4c(%ebp),%eax
41cb84:	50                   	push   %eax
41cb85:	e8 96 c6 04 00       	call   0x469220
41cb8a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41cb8d:	2b c1                	sub    %ecx,%eax
41cb8f:	d1 f8                	sar    $1,%eax
41cb91:	83 f8 16             	cmp    $0x16,%eax
41cb94:	0f 83 7f fd ff ff    	jae    0x41c919
41cb9a:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
41cba0:	39 8d 58 ff ff ff    	cmp    %ecx,-0xa8(%ebp)
41cba6:	7f 08                	jg     0x41cbb0
41cba8:	ff 85 6c ff ff ff    	incl   -0x94(%ebp)
41cbae:	eb 1e                	jmp    0x41cbce
41cbb0:	85 c0                	test   %eax,%eax
41cbb2:	75 04                	jne    0x41cbb8
41cbb4:	85 c9                	test   %ecx,%ecx
41cbb6:	74 16                	je     0x41cbce
41cbb8:	8a 80 bc 32 4b 00    	mov    0x4b32bc(%eax),%al
41cbbe:	88 03                	mov    %al,(%ebx)
41cbc0:	43                   	inc    %ebx
41cbc1:	41                   	inc    %ecx
41cbc2:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
41cbc8:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
41cbce:	8b 1e                	mov    (%esi),%ebx
41cbd0:	c6 45 83 01          	movb   $0x1,-0x7d(%ebp)
41cbd4:	85 db                	test   %ebx,%ebx
41cbd6:	74 50                	je     0x41cc28
41cbd8:	8b 43 1c             	mov    0x1c(%ebx),%eax
41cbdb:	83 38 00             	cmpl   $0x0,(%eax)
41cbde:	74 1b                	je     0x41cbfb
41cbe0:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41cbe3:	8b 01                	mov    (%ecx),%eax
41cbe5:	85 c0                	test   %eax,%eax
41cbe7:	7e 12                	jle    0x41cbfb
41cbe9:	48                   	dec    %eax
41cbea:	89 01                	mov    %eax,(%ecx)
41cbec:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41cbef:	8b 11                	mov    (%ecx),%edx
41cbf1:	8d 42 02             	lea    0x2(%edx),%eax
41cbf4:	89 01                	mov    %eax,(%ecx)
41cbf6:	0f b7 02             	movzwl (%edx),%eax
41cbf9:	eb 1a                	jmp    0x41cc15
41cbfb:	8b 03                	mov    (%ebx),%eax
41cbfd:	8b 78 1c             	mov    0x1c(%eax),%edi
41cc00:	8b cf                	mov    %edi,%ecx
41cc02:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41cc08:	8b cb                	mov    %ebx,%ecx
41cc0a:	ff d7                	call   *%edi
41cc0c:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
41cc12:	0f b7 c0             	movzwl %ax,%eax
41cc15:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41cc1a:	66 3b c8             	cmp    %ax,%cx
41cc1d:	74 09                	je     0x41cc28
41cc1f:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41cc23:	e9 0a ff ff ff       	jmp    0x41cb32
41cc28:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41cc2e:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41cc32:	e9 fb fe ff ff       	jmp    0x41cb32
41cc37:	85 c0                	test   %eax,%eax
41cc39:	0f 85 a6 00 00 00    	jne    0x41cce5
41cc3f:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41cc43:	75 07                	jne    0x41cc4c
41cc45:	8b ce                	mov    %esi,%ecx
41cc47:	e8 54 07 00 00       	call   0x41d3a0
41cc4c:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
41cc52:	0f b7 5e 06          	movzwl 0x6(%esi),%ebx
41cc56:	8b 00                	mov    (%eax),%eax
41cc58:	8b 78 0c             	mov    0xc(%eax),%edi
41cc5b:	8b cf                	mov    %edi,%ecx
41cc5d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41cc63:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
41cc69:	ff d7                	call   *%edi
41cc6b:	66 3b d8             	cmp    %ax,%bx
41cc6e:	75 6f                	jne    0x41ccdf
41cc70:	e8 70 2e 06 00       	call   0x47fae5