41ca38:	75 07                	jne    0x41ca41
41ca3a:	33 c0                	xor    %eax,%eax
41ca3c:	e9 9a 00 00 00       	jmp    0x41cadb
41ca41:	57                   	push   %edi
41ca42:	83 fb 04             	cmp    $0x4,%ebx
41ca45:	72 75                	jb     0x41cabc
41ca47:	8d 7b fc             	lea    -0x4(%ebx),%edi
41ca4a:	85 ff                	test   %edi,%edi
41ca4c:	76 6e                	jbe    0x41cabc
41ca4e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ca51:	8b 45 08             	mov    0x8(%ebp),%eax
41ca54:	8a 10                	mov    (%eax),%dl
41ca56:	83 c0 04             	add    $0x4,%eax
41ca59:	83 c1 04             	add    $0x4,%ecx
41ca5c:	84 d2                	test   %dl,%dl
41ca5e:	74 52                	je     0x41cab2
41ca60:	3a 51 fc             	cmp    -0x4(%ecx),%dl
41ca63:	75 4d                	jne    0x41cab2
41ca65:	8a 50 fd             	mov    -0x3(%eax),%dl
41ca68:	84 d2                	test   %dl,%dl
41ca6a:	74 3c                	je     0x41caa8
41ca6c:	3a 51 fd             	cmp    -0x3(%ecx),%dl
41ca6f:	75 37                	jne    0x41caa8
41ca71:	8a 50 fe             	mov    -0x2(%eax),%dl
41ca74:	84 d2                	test   %dl,%dl
41ca76:	74 26                	je     0x41ca9e
41ca78:	3a 51 fe             	cmp    -0x2(%ecx),%dl
41ca7b:	75 21                	jne    0x41ca9e
41ca7d:	8a 50 ff             	mov    -0x1(%eax),%dl
41ca80:	84 d2                	test   %dl,%dl
41ca82:	74 10                	je     0x41ca94
41ca84:	3a 51 ff             	cmp    -0x1(%ecx),%dl
41ca87:	75 0b                	jne    0x41ca94
41ca89:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
41ca8d:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41ca90:	72 c2                	jb     0x41ca54
41ca92:	eb 3f                	jmp    0x41cad3
41ca94:	0f b6 40 ff          	movzbl -0x1(%eax),%eax
41ca98:	0f b6 49 ff          	movzbl -0x1(%ecx),%ecx
41ca9c:	eb 46                	jmp    0x41cae4
41ca9e:	0f b6 40 fe          	movzbl -0x2(%eax),%eax
41caa2:	0f b6 49 fe          	movzbl -0x2(%ecx),%ecx
41caa6:	eb 3c                	jmp    0x41cae4
41caa8:	0f b6 40 fd          	movzbl -0x3(%eax),%eax
41caac:	0f b6 49 fd          	movzbl -0x3(%ecx),%ecx
41cab0:	eb 32                	jmp    0x41cae4
41cab2:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
41cab6:	0f b6 49 fc          	movzbl -0x4(%ecx),%ecx
41caba:	eb 28                	jmp    0x41cae4
41cabc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41cabf:	8b 45 08             	mov    0x8(%ebp),%eax
41cac2:	eb 0f                	jmp    0x41cad3
41cac4:	8a 10                	mov    (%eax),%dl
41cac6:	84 d2                	test   %dl,%dl
41cac8:	74 14                	je     0x41cade
41caca:	3a 11                	cmp    (%ecx),%dl
41cacc:	75 10                	jne    0x41cade
41cace:	40                   	inc    %eax
41cacf:	41                   	inc    %ecx
41cad0:	ff 45 fc             	incl   -0x4(%ebp)
41cad3:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
41cad6:	72 ec                	jb     0x41cac4
41cad8:	33 c0                	xor    %eax,%eax
41cada:	5f                   	pop    %edi
41cadb:	5b                   	pop    %ebx
41cadc:	c9                   	leave
41cadd:	c3                   	ret
41cade:	0f b6 00             	movzbl (%eax),%eax
41cae1:	0f b6 09             	movzbl (%ecx),%ecx
41cae4:	2b c1                	sub    %ecx,%eax
41cae6:	eb f2                	jmp    0x41cada
41cae8:	8b ff                	mov    %edi,%edi
41caea:	55                   	push   %ebp
41caeb:	8b ec                	mov    %esp,%ebp
41caed:	8b 45 08             	mov    0x8(%ebp),%eax
41caf0:	56                   	push   %esi
41caf1:	8b f1                	mov    %ecx,%esi
41caf3:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
41caf7:	85 c0                	test   %eax,%eax
41caf9:	75 63                	jne    0x41cb5e
41cafb:	e8 a4 19 00 00       	call   0x41e4a4
41cb00:	89 46 08             	mov    %eax,0x8(%esi)
41cb03:	8b 48 6c             	mov    0x6c(%eax),%ecx
41cb06:	89 0e                	mov    %ecx,(%esi)
41cb08:	8b 48 68             	mov    0x68(%eax),%ecx
41cb0b:	89 4e 04             	mov    %ecx,0x4(%esi)
41cb0e:	8b 0e                	mov    (%esi),%ecx
41cb10:	3b 0d 80 fe 42 00    	cmp    0x42fe80,%ecx
41cb16:	74 12                	je     0x41cb2a
41cb18:	8b 0d 9c fd 42 00    	mov    0x42fd9c,%ecx
41cb1e:	85 48 70             	test   %ecx,0x70(%eax)
41cb21:	75 07                	jne    0x41cb2a
41cb23:	e8 d1 52 00 00       	call   0x421df9
41cb28:	89 06                	mov    %eax,(%esi)
41cb2a:	8b 46 04             	mov    0x4(%esi),%eax
41cb2d:	3b 05 a0 fc 42 00    	cmp    0x42fca0,%eax
41cb33:	74 16                	je     0x41cb4b
41cb35:	8b 46 08             	mov    0x8(%esi),%eax
41cb38:	8b 0d 9c fd 42 00    	mov    0x42fd9c,%ecx
41cb3e:	85 48 70             	test   %ecx,0x70(%eax)
41cb41:	75 08                	jne    0x41cb4b
41cb43:	e8 45 4b 00 00       	call   0x42168d
41cb48:	89 46 04             	mov    %eax,0x4(%esi)
41cb4b:	8b 46 08             	mov    0x8(%esi),%eax
41cb4e:	f6 40 70 02          	testb  $0x2,0x70(%eax)
41cb52:	75 14                	jne    0x41cb68
41cb54:	83 48 70 02          	orl    $0x2,0x70(%eax)
41cb58:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
41cb5c:	eb 0a                	jmp    0x41cb68
41cb5e:	8b 08                	mov    (%eax),%ecx
41cb60:	89 0e                	mov    %ecx,(%esi)
41cb62:	8b 40 04             	mov    0x4(%eax),%eax
41cb65:	89 46 04             	mov    %eax,0x4(%esi)
41cb68:	8b c6                	mov    %esi,%eax
41cb6a:	5e                   	pop    %esi
41cb6b:	5d                   	pop    %ebp
41cb6c:	c2 04 00             	ret    $0x4
41cb6f:	8b ff                	mov    %edi,%edi
41cb71:	55                   	push   %ebp
41cb72:	8b ec                	mov    %esp,%ebp
41cb74:	83 ec 18             	sub    $0x18,%esp
41cb77:	53                   	push   %ebx
41cb78:	ff 75 0c             	push   0xc(%ebp)
41cb7b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41cb7e:	e8 65 ff ff ff       	call   0x41cae8
41cb83:	8b 5d 08             	mov    0x8(%ebp),%ebx
41cb86:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
41cb8c:	73 54                	jae    0x41cbe2
41cb8e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41cb91:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
41cb98:	7e 14                	jle    0x41cbae
41cb9a:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cb9d:	50                   	push   %eax
41cb9e:	6a 02                	push   $0x2
41cba0:	53                   	push   %ebx
41cba1:	e8 1e 57 00 00       	call   0x4222c4
41cba6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41cba9:	83 c4 0c             	add    $0xc,%esp
41cbac:	eb 0d                	jmp    0x41cbbb
41cbae:	8b 81 c8 00 00 00    	mov    0xc8(%ecx),%eax
41cbb4:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
41cbb8:	83 e0 02             	and    $0x2,%eax
41cbbb:	85 c0                	test   %eax,%eax
41cbbd:	74 0f                	je     0x41cbce
41cbbf:	8b 81 d0 00 00 00    	mov    0xd0(%ecx),%eax
41cbc5:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
41cbc9:	e9 a7 00 00 00       	jmp    0x41cc75
41cbce:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
41cbd2:	74 07                	je     0x41cbdb
41cbd4:	8b 45 f0             	mov    -0x10(%ebp),%eax
41cbd7:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
41cbdb:	8b c3                	mov    %ebx,%eax
41cbdd:	e9 a0 00 00 00       	jmp    0x41cc82
41cbe2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41cbe5:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
41cbec:	7e 31                	jle    0x41cc1f
41cbee:	89 5d 08             	mov    %ebx,0x8(%ebp)
41cbf1:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
41cbf5:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cbf8:	50                   	push   %eax
41cbf9:	8b 45 08             	mov    0x8(%ebp),%eax
41cbfc:	25 ff 00 00 00       	and    $0xff,%eax
41cc01:	50                   	push   %eax
41cc02:	e8 72 56 00 00       	call   0x422279
41cc07:	59                   	pop    %ecx
41cc08:	59                   	pop    %ecx
41cc09:	85 c0                	test   %eax,%eax
41cc0b:	74 12                	je     0x41cc1f
41cc0d:	8a 45 08             	mov    0x8(%ebp),%al
41cc10:	6a 02                	push   $0x2
41cc12:	88 45 fc             	mov    %al,-0x4(%ebp)
41cc15:	88 5d fd             	mov    %bl,-0x3(%ebp)
41cc18:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
41cc1c:	59                   	pop    %ecx
41cc1d:	eb 15                	jmp    0x41cc34
41cc1f:	e8 7a 1c 00 00       	call   0x41e89e
41cc24:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41cc2a:	33 c9                	xor    %ecx,%ecx
41cc2c:	88 5d fc             	mov    %bl,-0x4(%ebp)
41cc2f:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
41cc33:	41                   	inc    %ecx
41cc34:	8b 45 e8             	mov    -0x18(%ebp),%eax
41cc37:	6a 01                	push   $0x1
41cc39:	ff 70 04             	push   0x4(%eax)
41cc3c:	8d 55 f8             	lea    -0x8(%ebp),%edx
41cc3f:	6a 03                	push   $0x3
41cc41:	52                   	push   %edx
41cc42:	51                   	push   %ecx
41cc43:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41cc46:	51                   	push   %ecx
41cc47:	68 00 02 00 00       	push   $0x200
41cc4c:	ff 70 14             	push   0x14(%eax)
41cc4f:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cc52:	50                   	push   %eax
41cc53:	e8 dc 55 00 00       	call   0x422234
41cc58:	83 c4 24             	add    $0x24,%esp
41cc5b:	85 c0                	test   %eax,%eax
41cc5d:	0f 84 6b ff ff ff    	je     0x41cbce
41cc63:	83 f8 01             	cmp    $0x1,%eax
41cc66:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
41cc6a:	74 09                	je     0x41cc75
41cc6c:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
41cc70:	c1 e0 08             	shl    $0x8,%eax
41cc73:	0b c1                	or     %ecx,%eax
41cc75:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
41cc79:	74 07                	je     0x41cc82
41cc7b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41cc7e:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
41cc82:	5b                   	pop    %ebx
41cc83:	c9                   	leave
41cc84:	c3                   	ret
41cc85:	8b ff                	mov    %edi,%edi
41cc87:	55                   	push   %ebp
41cc88:	8b ec                	mov    %esp,%ebp
41cc8a:	83 3d e8 f1 44 00 00 	cmpl   $0x0,0x44f1e8
41cc91:	75 10                	jne    0x41cca3
41cc93:	8b 45 08             	mov    0x8(%ebp),%eax
41cc96:	8d 48 9f             	lea    -0x61(%eax),%ecx
41cc99:	83 f9 19             	cmp    $0x19,%ecx
41cc9c:	77 11                	ja     0x41ccaf
41cc9e:	83 c0 e0             	add    $0xffffffe0,%eax
41cca1:	5d                   	pop    %ebp
41cca2:	c3                   	ret
41cca3:	6a 00                	push   $0x0
41cca5:	ff 75 08             	push   0x8(%ebp)
41cca8:	e8 c2 fe ff ff       	call   0x41cb6f
41ccad:	59                   	pop    %ecx
41ccae:	59                   	pop    %ecx
41ccaf:	5d                   	pop    %ebp
41ccb0:	c3                   	ret
41ccb1:	8b ff                	mov    %edi,%edi
41ccb3:	55                   	push   %ebp
41ccb4:	8b ec                	mov    %esp,%ebp
41ccb6:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ccb9:	56                   	push   %esi
41ccba:	8b c1                	mov    %ecx,%eax
41ccbc:	ba 00 ff 00 00       	mov    $0xff00,%edx
41ccc1:	23 c2                	and    %edx,%eax
41ccc3:	8b f1                	mov    %ecx,%esi
41ccc5:	c1 e6 10             	shl    $0x10,%esi
41ccc8:	03 c6                	add    %esi,%eax
41ccca:	8b f1                	mov    %ecx,%esi
41cccc:	c1 ee 08             	shr    $0x8,%esi
41cccf:	23 f2                	and    %edx,%esi
41ccd1:	c1 e0 08             	shl    $0x8,%eax
41ccd4:	03 c6                	add    %esi,%eax
41ccd6:	c1 e9 18             	shr    $0x18,%ecx
41ccd9:	03 c1                	add    %ecx,%eax
41ccdb:	5e                   	pop    %esi
41ccdc:	5d                   	pop    %ebp
41ccdd:	c3                   	ret
41ccde:	cc                   	int3
41ccdf:	cc                   	int3
41cce0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41cce4:	57                   	push   %edi
41cce5:	85 c9                	test   %ecx,%ecx
41cce7:	0f 84 92 00 00 00    	je     0x41cd7f
41cced:	56                   	push   %esi
41ccee:	53                   	push   %ebx
41ccef:	8b d9                	mov    %ecx,%ebx
41ccf1:	8b 74 24 14          	mov    0x14(%esp),%esi
41ccf5:	f7 c6 03 00 00 00    	test   $0x3,%esi
41ccfb:	8b 7c 24 10          	mov    0x10(%esp),%edi
41ccff:	75 0b                	jne    0x41cd0c
41cd01:	c1 e9 02             	shr    $0x2,%ecx
41cd04:	0f 85 85 00 00 00    	jne    0x41cd8f
41cd0a:	eb 27                	jmp    0x41cd33
41cd0c:	8a 06                	mov    (%esi),%al
41cd0e:	83 c6 01             	add    $0x1,%esi
41cd11:	88 07                	mov    %al,(%edi)
41cd13:	83 c7 01             	add    $0x1,%edi
41cd16:	83 e9 01             	sub    $0x1,%ecx
41cd19:	74 2b                	je     0x41cd46
41cd1b:	84 c0                	test   %al,%al
41cd1d:	74 2f                	je     0x41cd4e
41cd1f:	f7 c6 03 00 00 00    	test   $0x3,%esi
41cd25:	75 e5                	jne    0x41cd0c
41cd27:	8b d9                	mov    %ecx,%ebx
41cd29:	c1 e9 02             	shr    $0x2,%ecx
41cd2c:	75 61                	jne    0x41cd8f
41cd2e:	83 e3 03             	and    $0x3,%ebx
41cd31:	74 13                	je     0x41cd46
41cd33:	8a 06                	mov    (%esi),%al
41cd35:	83 c6 01             	add    $0x1,%esi
41cd38:	88 07                	mov    %al,(%edi)
41cd3a:	83 c7 01             	add    $0x1,%edi
41cd3d:	84 c0                	test   %al,%al
41cd3f:	74 37                	je     0x41cd78
41cd41:	83 eb 01             	sub    $0x1,%ebx
41cd44:	75 ed                	jne    0x41cd33
41cd46:	8b 44 24 10          	mov    0x10(%esp),%eax
41cd4a:	5b                   	pop    %ebx
41cd4b:	5e                   	pop    %esi
41cd4c:	5f                   	pop    %edi
41cd4d:	c3                   	ret
41cd4e:	f7 c7 03 00 00 00    	test   $0x3,%edi
41cd54:	74 16                	je     0x41cd6c
41cd56:	88 07                	mov    %al,(%edi)
41cd58:	83 c7 01             	add    $0x1,%edi
41cd5b:	83 e9 01             	sub    $0x1,%ecx
41cd5e:	0f 84 98 00 00 00    	je     0x41cdfc
41cd64:	f7 c7 03 00 00 00    	test   $0x3,%edi
41cd6a:	75 ea                	jne    0x41cd56
41cd6c:	8b d9                	mov    %ecx,%ebx
41cd6e:	c1 e9 02             	shr    $0x2,%ecx
41cd71:	75 74                	jne    0x41cde7
41cd73:	88 07                	mov    %al,(%edi)
41cd75:	83 c7 01             	add    $0x1,%edi
41cd78:	83 eb 01             	sub    $0x1,%ebx
41cd7b:	75 f6                	jne    0x41cd73
41cd7d:	5b                   	pop    %ebx
41cd7e:	5e                   	pop    %esi
41cd7f:	8b 44 24 08          	mov    0x8(%esp),%eax
41cd83:	5f                   	pop    %edi
41cd84:	c3                   	ret
41cd85:	89 17                	mov    %edx,(%edi)
41cd87:	83 c7 04             	add    $0x4,%edi
41cd8a:	83 e9 01             	sub    $0x1,%ecx
41cd8d:	74 9f                	je     0x41cd2e
41cd8f:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
41cd94:	8b 06                	mov    (%esi),%eax
41cd96:	03 d0                	add    %eax,%edx
41cd98:	83 f0 ff             	xor    $0xffffffff,%eax
41cd9b:	33 c2                	xor    %edx,%eax
41cd9d:	8b 16                	mov    (%esi),%edx
41cd9f:	83 c6 04             	add    $0x4,%esi
41cda2:	a9 00 01 01 81       	test   $0x81010100,%eax
41cda7:	74 dc                	je     0x41cd85
41cda9:	84 d2                	test   %dl,%dl
41cdab:	74 2c                	je     0x41cdd9
41cdad:	84 f6                	test   %dh,%dh
41cdaf:	74 1e                	je     0x41cdcf
41cdb1:	f7 c2 00 00 ff 00    	test   $0xff0000,%edx
41cdb7:	74 0c                	je     0x41cdc5
41cdb9:	f7 c2 00 00 00 ff    	test   $0xff000000,%edx
41cdbf:	75 c4                	jne    0x41cd85
41cdc1:	89 17                	mov    %edx,(%edi)
41cdc3:	eb 18                	jmp    0x41cddd
41cdc5:	81 e2 ff ff 00 00    	and    $0xffff,%edx
41cdcb:	89 17                	mov    %edx,(%edi)
41cdcd:	eb 0e                	jmp    0x41cddd
41cdcf:	81 e2 ff 00 00 00    	and    $0xff,%edx
41cdd5:	89 17                	mov    %edx,(%edi)
41cdd7:	eb 04                	jmp    0x41cddd
41cdd9:	33 d2                	xor    %edx,%edx
41cddb:	89 17                	mov    %edx,(%edi)
41cddd:	83 c7 04             	add    $0x4,%edi
41cde0:	33 c0                	xor    %eax,%eax
41cde2:	83 e9 01             	sub    $0x1,%ecx
41cde5:	74 0c                	je     0x41cdf3