41c896:	c3                   	ret
41c897:	90                   	nop
41c898:	8a 46 03             	mov    0x3(%esi),%al
41c89b:	88 47 03             	mov    %al,0x3(%edi)
41c89e:	8b 45 08             	mov    0x8(%ebp),%eax
41c8a1:	5e                   	pop    %esi
41c8a2:	5f                   	pop    %edi
41c8a3:	c9                   	leave
41c8a4:	c3                   	ret
41c8a5:	8d 49 00             	lea    0x0(%ecx),%ecx
41c8a8:	8a 46 03             	mov    0x3(%esi),%al
41c8ab:	88 47 03             	mov    %al,0x3(%edi)
41c8ae:	8a 46 02             	mov    0x2(%esi),%al
41c8b1:	88 47 02             	mov    %al,0x2(%edi)
41c8b4:	8b 45 08             	mov    0x8(%ebp),%eax
41c8b7:	5e                   	pop    %esi
41c8b8:	5f                   	pop    %edi
41c8b9:	c9                   	leave
41c8ba:	c3                   	ret
41c8bb:	90                   	nop
41c8bc:	8a 46 03             	mov    0x3(%esi),%al
41c8bf:	88 47 03             	mov    %al,0x3(%edi)
41c8c2:	8a 46 02             	mov    0x2(%esi),%al
41c8c5:	88 47 02             	mov    %al,0x2(%edi)
41c8c8:	8a 46 01             	mov    0x1(%esi),%al
41c8cb:	88 47 01             	mov    %al,0x1(%edi)
41c8ce:	8b 45 08             	mov    0x8(%ebp),%eax
41c8d1:	5e                   	pop    %esi
41c8d2:	5f                   	pop    %edi
41c8d3:	c9                   	leave
41c8d4:	c3                   	ret
41c8d5:	8b ff                	mov    %edi,%edi
41c8d7:	55                   	push   %ebp
41c8d8:	8b ec                	mov    %esp,%ebp
41c8da:	8b 45 08             	mov    0x8(%ebp),%eax
41c8dd:	85 c0                	test   %eax,%eax
41c8df:	7d 02                	jge    0x41c8e3
41c8e1:	f7 d8                	neg    %eax
41c8e3:	5d                   	pop    %ebp
41c8e4:	c3                   	ret
41c8e5:	cc                   	int3
41c8e6:	cc                   	int3
41c8e7:	cc                   	int3
41c8e8:	cc                   	int3
41c8e9:	cc                   	int3
41c8ea:	cc                   	int3
41c8eb:	cc                   	int3
41c8ec:	cc                   	int3
41c8ed:	cc                   	int3
41c8ee:	cc                   	int3
41c8ef:	cc                   	int3
41c8f0:	80 f9 40             	cmp    $0x40,%cl
41c8f3:	73 15                	jae    0x41c90a
41c8f5:	80 f9 20             	cmp    $0x20,%cl
41c8f8:	73 06                	jae    0x41c900
41c8fa:	0f a5 c2             	shld   %cl,%eax,%edx
41c8fd:	d3 e0                	shl    %cl,%eax
41c8ff:	c3                   	ret
41c900:	8b d0                	mov    %eax,%edx
41c902:	33 c0                	xor    %eax,%eax
41c904:	80 e1 1f             	and    $0x1f,%cl
41c907:	d3 e2                	shl    %cl,%edx
41c909:	c3                   	ret
41c90a:	33 c0                	xor    %eax,%eax
41c90c:	33 d2                	xor    %edx,%edx
41c90e:	c3                   	ret
41c90f:	6a 0c                	push   $0xc
41c911:	68 d8 d6 42 00       	push   $0x42d6d8
41c916:	e8 71 2c 00 00       	call   0x41f58c
41c91b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41c91f:	8b 75 08             	mov    0x8(%ebp),%esi
41c922:	3b 35 e4 08 45 00    	cmp    0x4508e4,%esi
41c928:	77 22                	ja     0x41c94c
41c92a:	6a 04                	push   $0x4
41c92c:	e8 62 21 00 00       	call   0x41ea93
41c931:	59                   	pop    %ecx
41c932:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c936:	56                   	push   %esi
41c937:	e8 69 29 00 00       	call   0x41f2a5
41c93c:	59                   	pop    %ecx
41c93d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c940:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41c947:	e8 09 00 00 00       	call   0x41c955
41c94c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c94f:	e8 7d 2c 00 00       	call   0x41f5d1
41c954:	c3                   	ret
41c955:	6a 04                	push   $0x4
41c957:	e8 5d 20 00 00       	call   0x41e9b9
41c95c:	59                   	pop    %ecx
41c95d:	c3                   	ret
41c95e:	8b ff                	mov    %edi,%edi
41c960:	55                   	push   %ebp
41c961:	8b ec                	mov    %esp,%ebp
41c963:	56                   	push   %esi
41c964:	8b 75 08             	mov    0x8(%ebp),%esi
41c967:	83 fe e0             	cmp    $0xffffffe0,%esi
41c96a:	0f 87 a1 00 00 00    	ja     0x41ca11
41c970:	53                   	push   %ebx
41c971:	57                   	push   %edi
41c972:	8b 3d 3c a2 42 00    	mov    0x42a23c,%edi
41c978:	83 3d 08 ed 44 00 00 	cmpl   $0x0,0x44ed08
41c97f:	75 18                	jne    0x41c999
41c981:	e8 a8 4a 00 00       	call   0x42142e
41c986:	6a 1e                	push   $0x1e
41c988:	e8 f6 48 00 00       	call   0x421283
41c98d:	68 ff 00 00 00       	push   $0xff
41c992:	e8 32 42 00 00       	call   0x420bc9
41c997:	59                   	pop    %ecx
41c998:	59                   	pop    %ecx
41c999:	a1 f4 08 45 00       	mov    0x4508f4,%eax
41c99e:	83 f8 01             	cmp    $0x1,%eax
41c9a1:	75 0e                	jne    0x41c9b1
41c9a3:	85 f6                	test   %esi,%esi
41c9a5:	74 04                	je     0x41c9ab
41c9a7:	8b c6                	mov    %esi,%eax
41c9a9:	eb 03                	jmp    0x41c9ae
41c9ab:	33 c0                	xor    %eax,%eax
41c9ad:	40                   	inc    %eax
41c9ae:	50                   	push   %eax
41c9af:	eb 1c                	jmp    0x41c9cd
41c9b1:	83 f8 03             	cmp    $0x3,%eax
41c9b4:	75 0b                	jne    0x41c9c1
41c9b6:	56                   	push   %esi
41c9b7:	e8 53 ff ff ff       	call   0x41c90f
41c9bc:	59                   	pop    %ecx
41c9bd:	85 c0                	test   %eax,%eax
41c9bf:	75 16                	jne    0x41c9d7
41c9c1:	85 f6                	test   %esi,%esi
41c9c3:	75 01                	jne    0x41c9c6
41c9c5:	46                   	inc    %esi
41c9c6:	83 c6 0f             	add    $0xf,%esi
41c9c9:	83 e6 f0             	and    $0xfffffff0,%esi
41c9cc:	56                   	push   %esi
41c9cd:	6a 00                	push   $0x0
41c9cf:	ff 35 08 ed 44 00    	push   0x44ed08
41c9d5:	ff d7                	call   *%edi
41c9d7:	8b d8                	mov    %eax,%ebx
41c9d9:	85 db                	test   %ebx,%ebx
41c9db:	75 2e                	jne    0x41ca0b
41c9dd:	6a 0c                	push   $0xc
41c9df:	5e                   	pop    %esi
41c9e0:	39 05 68 ee 44 00    	cmp    %eax,0x44ee68
41c9e6:	74 15                	je     0x41c9fd
41c9e8:	ff 75 08             	push   0x8(%ebp)
41c9eb:	e8 9b 2d 00 00       	call   0x41f78b
41c9f0:	59                   	pop    %ecx
41c9f1:	85 c0                	test   %eax,%eax
41c9f3:	74 0f                	je     0x41ca04
41c9f5:	8b 75 08             	mov    0x8(%ebp),%esi
41c9f8:	e9 7b ff ff ff       	jmp    0x41c978
41c9fd:	e8 9c 1e 00 00       	call   0x41e89e
41ca02:	89 30                	mov    %esi,(%eax)
41ca04:	e8 95 1e 00 00       	call   0x41e89e
41ca09:	89 30                	mov    %esi,(%eax)
41ca0b:	5f                   	pop    %edi
41ca0c:	8b c3                	mov    %ebx,%eax
41ca0e:	5b                   	pop    %ebx
41ca0f:	eb 14                	jmp    0x41ca25
41ca11:	56                   	push   %esi
41ca12:	e8 74 2d 00 00       	call   0x41f78b
41ca17:	59                   	pop    %ecx
41ca18:	e8 81 1e 00 00       	call   0x41e89e
41ca1d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
41ca23:	33 c0                	xor    %eax,%eax
41ca25:	5e                   	pop    %esi
41ca26:	5d                   	pop    %ebp
41ca27:	c3                   	ret
41ca28:	8b ff                	mov    %edi,%edi
41ca2a:	55                   	push   %ebp
41ca2b:	8b ec                	mov    %esp,%ebp
41ca2d:	51                   	push   %ecx
41ca2e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ca32:	53                   	push   %ebx
41ca33:	8b 5d 10             	mov    0x10(%ebp),%ebx
41ca36:	85 db                	test   %ebx,%ebx
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