44d6fc:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d702:	25 ff 03 00 00       	and    $0x3ff,%eax
44d707:	c1 e1 0a             	shl    $0xa,%ecx
44d70a:	0b c8                	or     %eax,%ecx
44d70c:	ba 02 00 00 00       	mov    $0x2,%edx
44d711:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d717:	81 f9 0e 18 00 00    	cmp    $0x180e,%ecx
44d71d:	77 4d                	ja     0x44d76c
44d71f:	74 14                	je     0x44d735
44d721:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
44d727:	77 39                	ja     0x44d762
44d729:	74 0a                	je     0x44d735
44d72b:	83 f9 09             	cmp    $0x9,%ecx
44d72e:	74 05                	je     0x44d735
44d730:	83 f9 20             	cmp    $0x20,%ecx
44d733:	75 63                	jne    0x44d798
44d735:	b9 01 00 00 00       	mov    $0x1,%ecx
44d73a:	33 c0                	xor    %eax,%eax
44d73c:	83 7d e4 12          	cmpl   $0x12,-0x1c(%ebp)
44d740:	0f 94 c0             	sete   %al
44d743:	3b c8                	cmp    %eax,%ecx
44d745:	0f 84 b3 03 00 00    	je     0x44dafe
44d74b:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d74e:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d751:	40                   	inc    %eax
44d752:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d755:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d758:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d75b:	7c 80                	jl     0x44d6dd
44d75d:	e9 9c 03 00 00       	jmp    0x44dafe
44d762:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
44d768:	75 2e                	jne    0x44d798
44d76a:	eb c9                	jmp    0x44d735
44d76c:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
44d772:	77 1c                	ja     0x44d790
44d774:	74 bf                	je     0x44d735
44d776:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
44d77c:	72 1a                	jb     0x44d798
44d77e:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
44d784:	76 af                	jbe    0x44d735
44d786:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
44d78c:	75 0a                	jne    0x44d798
44d78e:	eb a5                	jmp    0x44d735
44d790:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44d796:	74 9d                	je     0x44d735
44d798:	33 c9                	xor    %ecx,%ecx
44d79a:	eb 9e                	jmp    0x44d73a
44d79c:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d79f:	0f 8d 59 03 00 00    	jge    0x44dafe
44d7a5:	ba 01 00 00 00       	mov    $0x1,%edx
44d7aa:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d7ad:	0f 83 f4 fe ff ff    	jae    0x44d6a7
44d7b3:	0f b7 0f             	movzwl (%edi),%ecx
44d7b6:	8b c1                	mov    %ecx,%eax
44d7b8:	25 00 fc 00 00       	and    $0xfc00,%eax
44d7bd:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d7c2:	75 1f                	jne    0x44d7e3
44d7c4:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d7c8:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d7ce:	25 ff 03 00 00       	and    $0x3ff,%eax
44d7d3:	c1 e1 0a             	shl    $0xa,%ecx
44d7d6:	0b c8                	or     %eax,%ecx
44d7d8:	ba 02 00 00 00       	mov    $0x2,%edx
44d7dd:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d7e3:	81 f9 85 00 00 00    	cmp    $0x85,%ecx
44d7e9:	77 36                	ja     0x44d821
44d7eb:	74 3f                	je     0x44d82c
44d7ed:	83 f9 0a             	cmp    $0xa,%ecx
44d7f0:	72 05                	jb     0x44d7f7
44d7f2:	83 f9 0d             	cmp    $0xd,%ecx
44d7f5:	76 35                	jbe    0x44d82c
44d7f7:	33 c9                	xor    %ecx,%ecx
44d7f9:	33 c0                	xor    %eax,%eax
44d7fb:	83 7d e4 14          	cmpl   $0x14,-0x1c(%ebp)
44d7ff:	0f 94 c0             	sete   %al
44d802:	3b c8                	cmp    %eax,%ecx
44d804:	0f 84 f4 02 00 00    	je     0x44dafe
44d80a:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d80d:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d810:	40                   	inc    %eax
44d811:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d814:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d817:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d81a:	7c 89                	jl     0x44d7a5
44d81c:	e9 dd 02 00 00       	jmp    0x44dafe
44d821:	8d 81 d8 df ff ff    	lea    -0x2028(%ecx),%eax
44d827:	83 f8 01             	cmp    $0x1,%eax
44d82a:	77 cb                	ja     0x44d7f7
44d82c:	b9 01 00 00 00       	mov    $0x1,%ecx
44d831:	eb c6                	jmp    0x44d7f9
44d833:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d836:	0f 8d c2 02 00 00    	jge    0x44dafe
44d83c:	ba 01 00 00 00       	mov    $0x1,%edx
44d841:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d844:	0f 83 5d fe ff ff    	jae    0x44d6a7
44d84a:	0f b7 0f             	movzwl (%edi),%ecx
44d84d:	8b c1                	mov    %ecx,%eax
44d84f:	25 00 fc 00 00       	and    $0xfc00,%eax
44d854:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d859:	75 1f                	jne    0x44d87a
44d85b:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d85f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d865:	25 ff 03 00 00       	and    $0x3ff,%eax
44d86a:	c1 e1 0a             	shl    $0xa,%ecx
44d86d:	0b c8                	or     %eax,%ecx
44d86f:	ba 02 00 00 00       	mov    $0x2,%edx
44d874:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d87a:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44d880:	73 0d                	jae    0x44d88f
44d882:	8b 46 44             	mov    0x44(%esi),%eax
44d885:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44d889:	0f 85 6f 02 00 00    	jne    0x44dafe
44d88f:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d892:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d895:	40                   	inc    %eax
44d896:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d899:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d89c:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d89f:	7c 9b                	jl     0x44d83c
44d8a1:	e9 58 02 00 00       	jmp    0x44dafe
44d8a6:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d8a9:	0f 8d 4f 02 00 00    	jge    0x44dafe
44d8af:	ba 01 00 00 00       	mov    $0x1,%edx
44d8b4:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d8b7:	0f 83 ea fd ff ff    	jae    0x44d6a7
44d8bd:	0f b7 0f             	movzwl (%edi),%ecx
44d8c0:	8b c1                	mov    %ecx,%eax
44d8c2:	25 00 fc 00 00       	and    $0xfc00,%eax
44d8c7:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d8cc:	75 1f                	jne    0x44d8ed
44d8ce:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d8d2:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d8d8:	25 ff 03 00 00       	and    $0x3ff,%eax
44d8dd:	c1 e1 0a             	shl    $0xa,%ecx
44d8e0:	0b c8                	or     %eax,%ecx
44d8e2:	ba 02 00 00 00       	mov    $0x2,%edx
44d8e7:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d8ed:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44d8f3:	0f 83 05 02 00 00    	jae    0x44dafe
44d8f9:	8b 46 44             	mov    0x44(%esi),%eax
44d8fc:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44d900:	0f 84 f8 01 00 00    	je     0x44dafe
44d906:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d909:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d90c:	40                   	inc    %eax
44d90d:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d910:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d913:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d916:	7c 97                	jl     0x44d8af
44d918:	e9 e1 01 00 00       	jmp    0x44dafe
44d91d:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d920:	0f 8d d8 01 00 00    	jge    0x44dafe
44d926:	ba 01 00 00 00       	mov    $0x1,%edx
44d92b:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d92e:	0f 83 73 fd ff ff    	jae    0x44d6a7
44d934:	0f b7 0f             	movzwl (%edi),%ecx
44d937:	8b c1                	mov    %ecx,%eax
44d939:	25 00 fc 00 00       	and    $0xfc00,%eax
44d93e:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d943:	75 1f                	jne    0x44d964
44d945:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d949:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d94f:	25 ff 03 00 00       	and    $0x3ff,%eax
44d954:	c1 e1 0a             	shl    $0xa,%ecx
44d957:	0b c8                	or     %eax,%ecx
44d959:	ba 02 00 00 00       	mov    $0x2,%edx
44d95e:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d964:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44d96a:	73 0d                	jae    0x44d979
44d96c:	8b 46 44             	mov    0x44(%esi),%eax
44d96f:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
44d973:	0f 85 85 01 00 00    	jne    0x44dafe
44d979:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d97c:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d97f:	40                   	inc    %eax
44d980:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d983:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d986:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44d989:	7c 9b                	jl     0x44d926
44d98b:	e9 6e 01 00 00       	jmp    0x44dafe
44d990:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44d993:	0f 8d 65 01 00 00    	jge    0x44dafe
44d999:	ba 01 00 00 00       	mov    $0x1,%edx
44d99e:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44d9a1:	0f 83 00 fd ff ff    	jae    0x44d6a7
44d9a7:	0f b7 0f             	movzwl (%edi),%ecx
44d9aa:	8b c1                	mov    %ecx,%eax
44d9ac:	25 00 fc 00 00       	and    $0xfc00,%eax
44d9b1:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44d9b6:	75 1f                	jne    0x44d9d7
44d9b8:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44d9bc:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44d9c2:	25 ff 03 00 00       	and    $0x3ff,%eax
44d9c7:	c1 e1 0a             	shl    $0xa,%ecx
44d9ca:	0b c8                	or     %eax,%ecx
44d9cc:	ba 02 00 00 00       	mov    $0x2,%edx
44d9d1:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44d9d7:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44d9dd:	0f 83 1b 01 00 00    	jae    0x44dafe
44d9e3:	8b 46 44             	mov    0x44(%esi),%eax
44d9e6:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
44d9ea:	0f 84 0e 01 00 00    	je     0x44dafe
44d9f0:	8b 45 f4             	mov    -0xc(%ebp),%eax
44d9f3:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44d9f6:	40                   	inc    %eax
44d9f7:	89 7d f8             	mov    %edi,-0x8(%ebp)
44d9fa:	89 45 f4             	mov    %eax,-0xc(%ebp)
44d9fd:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44da00:	7c 97                	jl     0x44d999
44da02:	e9 f7 00 00 00       	jmp    0x44dafe
44da07:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44da0a:	0f 8d ee 00 00 00    	jge    0x44dafe
44da10:	ba 01 00 00 00       	mov    $0x1,%edx
44da15:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44da18:	0f 83 89 fc ff ff    	jae    0x44d6a7
44da1e:	0f b7 0f             	movzwl (%edi),%ecx
44da21:	8b c1                	mov    %ecx,%eax
44da23:	25 00 fc 00 00       	and    $0xfc00,%eax
44da28:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44da2d:	75 1f                	jne    0x44da4e
44da2f:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44da33:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44da39:	25 ff 03 00 00       	and    $0x3ff,%eax
44da3e:	c1 e1 0a             	shl    $0xa,%ecx
44da41:	0b c8                	or     %eax,%ecx
44da43:	ba 02 00 00 00       	mov    $0x2,%edx
44da48:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44da4e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44da54:	73 0d                	jae    0x44da63
44da56:	8b 46 44             	mov    0x44(%esi),%eax
44da59:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44da5d:	0f 85 9b 00 00 00    	jne    0x44dafe
44da63:	8b 45 f4             	mov    -0xc(%ebp),%eax
44da66:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44da69:	40                   	inc    %eax
44da6a:	89 7d f8             	mov    %edi,-0x8(%ebp)
44da6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
44da70:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44da73:	7c 9b                	jl     0x44da10
44da75:	e9 84 00 00 00       	jmp    0x44dafe
44da7a:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44da7d:	7d 7f                	jge    0x44dafe
44da7f:	ba 01 00 00 00       	mov    $0x1,%edx
44da84:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44da87:	73 55                	jae    0x44dade
44da89:	0f b7 0f             	movzwl (%edi),%ecx
44da8c:	8b c1                	mov    %ecx,%eax
44da8e:	25 00 fc 00 00       	and    $0xfc00,%eax
44da93:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44da98:	75 1f                	jne    0x44dab9
44da9a:	0f b7 47 02          	movzwl 0x2(%edi),%eax
44da9e:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
44daa4:	25 ff 03 00 00       	and    $0x3ff,%eax
44daa9:	c1 e1 0a             	shl    $0xa,%ecx
44daac:	0b c8                	or     %eax,%ecx
44daae:	ba 02 00 00 00       	mov    $0x2,%edx
44dab3:	81 c1 00 00 01 00    	add    $0x10000,%ecx
44dab9:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44dabf:	73 3d                	jae    0x44dafe
44dac1:	8b 46 44             	mov    0x44(%esi),%eax
44dac4:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44dac8:	74 34                	je     0x44dafe
44daca:	8b 45 f4             	mov    -0xc(%ebp),%eax
44dacd:	8d 3c 57             	lea    (%edi,%edx,2),%edi
44dad0:	40                   	inc    %eax
44dad1:	89 7d f8             	mov    %edi,-0x8(%ebp)
44dad4:	89 45 f4             	mov    %eax,-0xc(%ebp)
44dad7:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44dada:	7c a3                	jl     0x44da7f
44dadc:	eb 20                	jmp    0x44dafe
44dade:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44dae5:	74 17                	je     0x44dafe
44dae7:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44daed:	76 0f                	jbe    0x44dafe
44daef:	89 56 68             	mov    %edx,0x68(%esi)
44daf2:	39 96 8c 00 00 00    	cmp    %edx,0x8c(%esi)
44daf8:	0f 8f c2 b5 ff ff    	jg     0x4490c0
44dafe:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
44db02:	0f 85 98 71 fc ff    	jne    0x414ca0
44db08:	3b 7d f0             	cmp    -0x10(%ebp),%edi
44db0b:	0f 86 74 70 fc ff    	jbe    0x414b85
44db11:	8b 45 18             	mov    0x18(%ebp),%eax
44db14:	8b d3                	mov    %ebx,%edx
44db16:	40                   	inc    %eax
44db17:	8b cf                	mov    %edi,%ecx
44db19:	50                   	push   %eax
44db1a:	ff 75 14             	push   0x14(%ebp)
44db1d:	56                   	push   %esi
44db1e:	ff 75 0c             	push   0xc(%ebp)
44db21:	ff 75 08             	push   0x8(%ebp)
44db24:	e8 97 6e fc ff       	call   0x4149c0
44db29:	83 c4 14             	add    $0x14,%esp
44db2c:	85 c0                	test   %eax,%eax
44db2e:	0f 85 09 70 fc ff    	jne    0x414b3d
44db34:	66 8b 47 fe          	mov    -0x2(%edi),%ax
44db38:	83 ef 02             	sub    $0x2,%edi
44db3b:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44db40:	89 7d f8             	mov    %edi,-0x8(%ebp)
44db43:	66 23 c1             	and    %cx,%ax
44db46:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44db4b:	66 3b c1             	cmp    %cx,%ax
44db4e:	75 06                	jne    0x44db56
44db50:	83 ef 02             	sub    $0x2,%edi
44db53:	89 7d f8             	mov    %edi,-0x8(%ebp)
44db56:	83 7d e4 11          	cmpl   $0x11,-0x1c(%ebp)
44db5a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44db5d:	75 1b                	jne    0x44db7a
44db5f:	3b f9                	cmp    %ecx,%edi
44db61:	0f 86 1e 70 fc ff    	jbe    0x414b85
44db67:	66 83 3f 0a          	cmpw   $0xa,(%edi)
44db6b:	75 0d                	jne    0x44db7a
44db6d:	66 83 7f fe 0d       	cmpw   $0xd,-0x2(%edi)
44db72:	75 06                	jne    0x44db7a
44db74:	83 c7 fe             	add    $0xfffffffe,%edi
44db77:	89 7d f8             	mov    %edi,-0x8(%ebp)
44db7a:	3b f9                	cmp    %ecx,%edi
44db7c:	77 93                	ja     0x44db11
44db7e:	e9 02 70 fc ff       	jmp    0x414b85
44db83:	83 f8 0f             	cmp    $0xf,%eax
44db86:	0f 87 72 09 00 00    	ja     0x44e4fe
44db8c:	ff 24 85 97 03 45 00 	jmp    *0x450397(,%eax,4)
44db93:	3b 55 e8             	cmp    -0x18(%ebp),%edx
44db96:	0f 8d c4 04 00 00    	jge    0x44e060
44db9c:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44db9f:	3b f9                	cmp    %ecx,%edi
44dba1:	0f 83 ba 00 00 00    	jae    0x44dc61
44dba7:	8b 56 18             	mov    0x18(%esi),%edx
44dbaa:	85 d2                	test   %edx,%edx
44dbac:	74 1a                	je     0x44dbc8
44dbae:	8d 46 1c             	lea    0x1c(%esi),%eax
44dbb1:	6a 00                	push   $0x0
44dbb3:	50                   	push   %eax
44dbb4:	51                   	push   %ecx
44dbb5:	8b cf                	mov    %edi,%ecx
44dbb7:	e8 e3 82 fc ff       	call   0x415e9f
44dbbc:	83 c4 0c             	add    $0xc,%esp
44dbbf:	85 c0                	test   %eax,%eax
44dbc1:	74 31                	je     0x44dbf4
44dbc3:	e9 98 04 00 00       	jmp    0x44e060
44dbc8:	8b 56 1c             	mov    0x1c(%esi),%edx
44dbcb:	8d 04 12             	lea    (%edx,%edx,1),%eax
44dbce:	2b c8                	sub    %eax,%ecx
44dbd0:	3b f9                	cmp    %ecx,%edi
44dbd2:	77 20                	ja     0x44dbf4
44dbd4:	66 8b 07             	mov    (%edi),%ax
44dbd7:	66 3b 46 34          	cmp    0x34(%esi),%ax
44dbdb:	75 17                	jne    0x44dbf4
44dbdd:	83 fa 01             	cmp    $0x1,%edx
44dbe0:	0f 84 7a 04 00 00    	je     0x44e060
44dbe6:	66 8b 47 02          	mov    0x2(%edi),%ax