41db6d:	5d                   	pop    %ebp
41db6e:	c3                   	ret
41db6f:	8b ff                	mov    %edi,%edi
41db71:	55                   	push   %ebp
41db72:	8b ec                	mov    %esp,%ebp
41db74:	83 ec 28             	sub    $0x28,%esp
41db77:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41db7a:	56                   	push   %esi
41db7b:	6a 00                	push   $0x0
41db7d:	e8 60 f5 fe ff       	call   0x40d0e2
41db82:	8d 45 d8             	lea    -0x28(%ebp),%eax
41db85:	50                   	push   %eax
41db86:	ff 75 0c             	push   0xc(%ebp)
41db89:	ff 75 08             	push   0x8(%ebp)
41db8c:	e8 7d fe ff ff       	call   0x41da0e
41db91:	83 c4 0c             	add    $0xc,%esp
41db94:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41db97:	8b f0                	mov    %eax,%esi
41db99:	e8 8c f5 fe ff       	call   0x40d12a
41db9e:	8b c6                	mov    %esi,%eax
41dba0:	5e                   	pop    %esi
41dba1:	c9                   	leave
41dba2:	c3                   	ret
41dba3:	8b ff                	mov    %edi,%edi
41dba5:	55                   	push   %ebp
41dba6:	8b ec                	mov    %esp,%ebp
41dba8:	6a 02                	push   $0x2
41dbaa:	e8 80 fd ff ff       	call   0x41d92f
41dbaf:	59                   	pop    %ecx
41dbb0:	39 45 08             	cmp    %eax,0x8(%ebp)
41dbb3:	74 28                	je     0x41dbdd
41dbb5:	6a 01                	push   $0x1
41dbb7:	e8 73 fd ff ff       	call   0x41d92f
41dbbc:	59                   	pop    %ecx
41dbbd:	39 45 08             	cmp    %eax,0x8(%ebp)
41dbc0:	75 17                	jne    0x41dbd9
41dbc2:	ff 75 08             	push   0x8(%ebp)
41dbc5:	e8 76 fc ff ff       	call   0x41d840
41dbca:	50                   	push   %eax
41dbcb:	e8 08 a6 00 00       	call   0x4281d8
41dbd0:	85 c0                	test   %eax,%eax
41dbd2:	59                   	pop    %ecx
41dbd3:	59                   	pop    %ecx
41dbd4:	0f 95 c0             	setne  %al
41dbd7:	5d                   	pop    %ebp
41dbd8:	c3                   	ret
41dbd9:	32 c0                	xor    %al,%al
41dbdb:	5d                   	pop    %ebp
41dbdc:	c3                   	ret
41dbdd:	b0 01                	mov    $0x1,%al
41dbdf:	5d                   	pop    %ebp
41dbe0:	c3                   	ret
41dbe1:	8b ff                	mov    %edi,%edi
41dbe3:	55                   	push   %ebp
41dbe4:	8b ec                	mov    %esp,%ebp
41dbe6:	53                   	push   %ebx
41dbe7:	56                   	push   %esi
41dbe8:	8b 75 08             	mov    0x8(%ebp),%esi
41dbeb:	57                   	push   %edi
41dbec:	56                   	push   %esi
41dbed:	e8 b1 ff ff ff       	call   0x41dba3
41dbf2:	59                   	pop    %ecx
41dbf3:	84 c0                	test   %al,%al
41dbf5:	0f 84 8a 00 00 00    	je     0x41dc85
41dbfb:	6a 01                	push   $0x1
41dbfd:	e8 2d fd ff ff       	call   0x41d92f
41dc02:	59                   	pop    %ecx
41dc03:	6a 02                	push   $0x2
41dc05:	5b                   	pop    %ebx
41dc06:	3b f0                	cmp    %eax,%esi
41dc08:	75 07                	jne    0x41dc11
41dc0a:	bf f8 f7 43 00       	mov    $0x43f7f8,%edi
41dc0f:	eb 10                	jmp    0x41dc21
41dc11:	53                   	push   %ebx
41dc12:	e8 18 fd ff ff       	call   0x41d92f
41dc17:	59                   	pop    %ecx
41dc18:	3b f0                	cmp    %eax,%esi
41dc1a:	75 69                	jne    0x41dc85
41dc1c:	bf fc f7 43 00       	mov    $0x43f7fc,%edi
41dc21:	ff 05 f0 f7 43 00    	incl   0x43f7f0
41dc27:	8d 4e 0c             	lea    0xc(%esi),%ecx
41dc2a:	8b 01                	mov    (%ecx),%eax
41dc2c:	90                   	nop
41dc2d:	a9 c0 04 00 00       	test   $0x4c0,%eax
41dc32:	75 51                	jne    0x41dc85
41dc34:	b8 82 02 00 00       	mov    $0x282,%eax
41dc39:	f0 09 01             	lock or %eax,(%ecx)
41dc3c:	83 3f 00             	cmpl   $0x0,(%edi)
41dc3f:	75 15                	jne    0x41dc56
41dc41:	68 00 10 00 00       	push   $0x1000
41dc46:	e8 e5 8f fe ff       	call   0x406c30
41dc4b:	6a 00                	push   $0x0
41dc4d:	89 07                	mov    %eax,(%edi)
41dc4f:	e8 bc 8f fe ff       	call   0x406c10
41dc54:	59                   	pop    %ecx
41dc55:	59                   	pop    %ecx
41dc56:	8b 0f                	mov    (%edi),%ecx
41dc58:	85 c9                	test   %ecx,%ecx
41dc5a:	75 12                	jne    0x41dc6e
41dc5c:	8d 4e 14             	lea    0x14(%esi),%ecx
41dc5f:	89 5e 08             	mov    %ebx,0x8(%esi)
41dc62:	89 4e 04             	mov    %ecx,0x4(%esi)
41dc65:	89 0e                	mov    %ecx,(%esi)
41dc67:	89 5e 18             	mov    %ebx,0x18(%esi)
41dc6a:	b0 01                	mov    $0x1,%al
41dc6c:	eb 19                	jmp    0x41dc87
41dc6e:	89 4e 04             	mov    %ecx,0x4(%esi)
41dc71:	8b 07                	mov    (%edi),%eax
41dc73:	89 06                	mov    %eax,(%esi)
41dc75:	c7 46 08 00 10 00 00 	movl   $0x1000,0x8(%esi)
41dc7c:	c7 46 18 00 10 00 00 	movl   $0x1000,0x18(%esi)
41dc83:	eb e5                	jmp    0x41dc6a
41dc85:	32 c0                	xor    %al,%al
41dc87:	5f                   	pop    %edi
41dc88:	5e                   	pop    %esi
41dc89:	5b                   	pop    %ebx
41dc8a:	5d                   	pop    %ebp
41dc8b:	c3                   	ret
41dc8c:	8b ff                	mov    %edi,%edi
41dc8e:	55                   	push   %ebp
41dc8f:	8b ec                	mov    %esp,%ebp
41dc91:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41dc95:	74 31                	je     0x41dcc8
41dc97:	56                   	push   %esi
41dc98:	8b 75 0c             	mov    0xc(%ebp),%esi
41dc9b:	57                   	push   %edi
41dc9c:	8d 7e 0c             	lea    0xc(%esi),%edi
41dc9f:	8b 07                	mov    (%edi),%eax
41dca1:	90                   	nop
41dca2:	c1 e8 09             	shr    $0x9,%eax
41dca5:	a8 01                	test   $0x1,%al
41dca7:	74 1d                	je     0x41dcc6
41dca9:	ff 75 10             	push   0x10(%ebp)
41dcac:	56                   	push   %esi
41dcad:	e8 f2 21 00 00       	call   0x41fea4
41dcb2:	59                   	pop    %ecx
41dcb3:	59                   	pop    %ecx
41dcb4:	b8 7f fd ff ff       	mov    $0xfffffd7f,%eax
41dcb9:	f0 21 07             	lock and %eax,(%edi)
41dcbc:	33 c0                	xor    %eax,%eax
41dcbe:	89 46 18             	mov    %eax,0x18(%esi)
41dcc1:	89 46 04             	mov    %eax,0x4(%esi)
41dcc4:	89 06                	mov    %eax,(%esi)
41dcc6:	5f                   	pop    %edi
41dcc7:	5e                   	pop    %esi
41dcc8:	5d                   	pop    %ebp
41dcc9:	c3                   	ret
41dcca:	8b ff                	mov    %edi,%edi
41dccc:	55                   	push   %ebp
41dccd:	8b ec                	mov    %esp,%ebp
41dccf:	83 ec 48             	sub    $0x48,%esp
41dcd2:	8d 45 b8             	lea    -0x48(%ebp),%eax
41dcd5:	50                   	push   %eax
41dcd6:	ff 15 a0 11 43 00    	call   *0x4311a0
41dcdc:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
41dce1:	0f 84 97 00 00 00    	je     0x41dd7e
41dce7:	53                   	push   %ebx
41dce8:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41dceb:	85 db                	test   %ebx,%ebx
41dced:	0f 84 8a 00 00 00    	je     0x41dd7d
41dcf3:	56                   	push   %esi
41dcf4:	8b 33                	mov    (%ebx),%esi
41dcf6:	8d 43 04             	lea    0x4(%ebx),%eax
41dcf9:	03 c6                	add    %esi,%eax
41dcfb:	89 45 fc             	mov    %eax,-0x4(%ebp)
41dcfe:	b8 00 20 00 00       	mov    $0x2000,%eax
41dd03:	3b f0                	cmp    %eax,%esi
41dd05:	7c 02                	jl     0x41dd09
41dd07:	8b f0                	mov    %eax,%esi
41dd09:	56                   	push   %esi
41dd0a:	e8 73 2b 00 00       	call   0x420882
41dd0f:	a1 00 fa 43 00       	mov    0x43fa00,%eax
41dd14:	59                   	pop    %ecx
41dd15:	3b f0                	cmp    %eax,%esi
41dd17:	7e 02                	jle    0x41dd1b
41dd19:	8b f0                	mov    %eax,%esi
41dd1b:	57                   	push   %edi
41dd1c:	33 ff                	xor    %edi,%edi
41dd1e:	85 f6                	test   %esi,%esi
41dd20:	74 59                	je     0x41dd7b
41dd22:	8b 45 fc             	mov    -0x4(%ebp),%eax
41dd25:	8b 08                	mov    (%eax),%ecx
41dd27:	83 f9 ff             	cmp    $0xffffffff,%ecx
41dd2a:	74 44                	je     0x41dd70
41dd2c:	83 f9 fe             	cmp    $0xfffffffe,%ecx
41dd2f:	74 3f                	je     0x41dd70
41dd31:	8a 54 1f 04          	mov    0x4(%edi,%ebx,1),%dl
41dd35:	f6 c2 01             	test   $0x1,%dl
41dd38:	74 36                	je     0x41dd70
41dd3a:	f6 c2 08             	test   $0x8,%dl
41dd3d:	75 0b                	jne    0x41dd4a
41dd3f:	51                   	push   %ecx
41dd40:	ff 15 b0 10 43 00    	call   *0x4310b0
41dd46:	85 c0                	test   %eax,%eax
41dd48:	74 23                	je     0x41dd6d
41dd4a:	8b c7                	mov    %edi,%eax
41dd4c:	8b cf                	mov    %edi,%ecx
41dd4e:	83 e0 3f             	and    $0x3f,%eax
41dd51:	c1 f9 06             	sar    $0x6,%ecx
41dd54:	6b d0 38             	imul   $0x38,%eax,%edx
41dd57:	8b 45 fc             	mov    -0x4(%ebp),%eax
41dd5a:	03 14 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%edx
41dd61:	8b 00                	mov    (%eax),%eax
41dd63:	89 42 18             	mov    %eax,0x18(%edx)
41dd66:	8a 44 1f 04          	mov    0x4(%edi,%ebx,1),%al
41dd6a:	88 42 28             	mov    %al,0x28(%edx)
41dd6d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41dd70:	47                   	inc    %edi
41dd71:	83 c0 04             	add    $0x4,%eax
41dd74:	89 45 fc             	mov    %eax,-0x4(%ebp)
41dd77:	3b fe                	cmp    %esi,%edi
41dd79:	75 aa                	jne    0x41dd25
41dd7b:	5f                   	pop    %edi
41dd7c:	5e                   	pop    %esi
41dd7d:	5b                   	pop    %ebx
41dd7e:	c9                   	leave
41dd7f:	c3                   	ret
41dd80:	8b ff                	mov    %edi,%edi
41dd82:	53                   	push   %ebx
41dd83:	56                   	push   %esi
41dd84:	57                   	push   %edi
41dd85:	33 ff                	xor    %edi,%edi
41dd87:	8b c7                	mov    %edi,%eax
41dd89:	8b cf                	mov    %edi,%ecx
41dd8b:	83 e0 3f             	and    $0x3f,%eax
41dd8e:	c1 f9 06             	sar    $0x6,%ecx
41dd91:	6b f0 38             	imul   $0x38,%eax,%esi
41dd94:	03 34 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%esi
41dd9b:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
41dd9f:	74 0c                	je     0x41ddad
41dda1:	83 7e 18 fe          	cmpl   $0xfffffffe,0x18(%esi)
41dda5:	74 06                	je     0x41ddad
41dda7:	80 4e 28 80          	orb    $0x80,0x28(%esi)
41ddab:	eb 75                	jmp    0x41de22
41ddad:	8b c7                	mov    %edi,%eax
41ddaf:	c6 46 28 81          	movb   $0x81,0x28(%esi)
41ddb3:	83 e8 00             	sub    $0x0,%eax
41ddb6:	74 10                	je     0x41ddc8
41ddb8:	83 e8 01             	sub    $0x1,%eax
41ddbb:	74 07                	je     0x41ddc4
41ddbd:	83 e8 01             	sub    $0x1,%eax
41ddc0:	6a f4                	push   $0xfffffff4
41ddc2:	eb 06                	jmp    0x41ddca
41ddc4:	6a f5                	push   $0xfffffff5
41ddc6:	eb 02                	jmp    0x41ddca
41ddc8:	6a f6                	push   $0xfffffff6
41ddca:	58                   	pop    %eax
41ddcb:	50                   	push   %eax
41ddcc:	ff 15 ac 10 43 00    	call   *0x4310ac
41ddd2:	8b d8                	mov    %eax,%ebx
41ddd4:	83 fb ff             	cmp    $0xffffffff,%ebx
41ddd7:	74 2b                	je     0x41de04
41ddd9:	85 db                	test   %ebx,%ebx
41dddb:	74 27                	je     0x41de04
41dddd:	53                   	push   %ebx
41ddde:	ff 15 b0 10 43 00    	call   *0x4310b0
41dde4:	85 c0                	test   %eax,%eax
41dde6:	74 1c                	je     0x41de04
41dde8:	0f b6 c0             	movzbl %al,%eax
41ddeb:	89 5e 18             	mov    %ebx,0x18(%esi)
41ddee:	83 f8 02             	cmp    $0x2,%eax
41ddf1:	75 06                	jne    0x41ddf9
41ddf3:	80 4e 28 40          	orb    $0x40,0x28(%esi)
41ddf7:	eb 29                	jmp    0x41de22
41ddf9:	83 f8 03             	cmp    $0x3,%eax
41ddfc:	75 24                	jne    0x41de22
41ddfe:	80 4e 28 08          	orb    $0x8,0x28(%esi)
41de02:	eb 1e                	jmp    0x41de22
41de04:	80 4e 28 40          	orb    $0x40,0x28(%esi)
41de08:	c7 46 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%esi)
41de0f:	a1 ec f7 43 00       	mov    0x43f7ec,%eax
41de14:	85 c0                	test   %eax,%eax
41de16:	74 0a                	je     0x41de22
41de18:	8b 04 b8             	mov    (%eax,%edi,4),%eax
41de1b:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
41de22:	47                   	inc    %edi
41de23:	83 ff 03             	cmp    $0x3,%edi
41de26:	0f 85 5b ff ff ff    	jne    0x41dd87
41de2c:	5f                   	pop    %edi
41de2d:	5e                   	pop    %esi
41de2e:	5b                   	pop    %ebx
41de2f:	c3                   	ret
41de30:	6a 0c                	push   $0xc
41de32:	68 40 ae 43 00       	push   $0x43ae40
41de37:	e8 94 c6 fe ff       	call   0x40a4d0
41de3c:	6a 07                	push   $0x7
41de3e:	e8 3f 55 00 00       	call   0x423382
41de43:	59                   	pop    %ecx
41de44:	33 db                	xor    %ebx,%ebx
41de46:	88 5d e7             	mov    %bl,-0x19(%ebp)
41de49:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41de4c:	53                   	push   %ebx
41de4d:	e8 30 2a 00 00       	call   0x420882
41de52:	59                   	pop    %ecx
41de53:	85 c0                	test   %eax,%eax
41de55:	75 0f                	jne    0x41de66
41de57:	e8 6e fe ff ff       	call   0x41dcca
41de5c:	e8 1f ff ff ff       	call   0x41dd80
41de61:	b3 01                	mov    $0x1,%bl
41de63:	88 5d e7             	mov    %bl,-0x19(%ebp)
41de66:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41de6d:	e8 15 00 00 00       	call   0x41de87
41de72:	8a c3                	mov    %bl,%al
41de74:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41de77:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41de7e:	59                   	pop    %ecx
41de7f:	5f                   	pop    %edi
41de80:	5e                   	pop    %esi
41de81:	5b                   	pop    %ebx
41de82:	c9                   	leave
41de83:	c3                   	ret
41de84:	8a 5d e7             	mov    -0x19(%ebp),%bl
41de87:	6a 07                	push   $0x7
41de89:	e8 3c 55 00 00       	call   0x4233ca
41de8e:	59                   	pop    %ecx
41de8f:	c3                   	ret
41de90:	8b ff                	mov    %edi,%edi
41de92:	56                   	push   %esi
41de93:	33 f6                	xor    %esi,%esi
41de95:	8b 86 00 f8 43 00    	mov    0x43f800(%esi),%eax
41de9b:	85 c0                	test   %eax,%eax
41de9d:	74 0e                	je     0x41dead
41de9f:	50                   	push   %eax
41dea0:	e8 a8 29 00 00       	call   0x42084d
41dea5:	83 a6 00 f8 43 00 00 	andl   $0x0,0x43f800(%esi)
41deac:	59                   	pop    %ecx
41dead:	83 c6 04             	add    $0x4,%esi
41deb0:	81 fe 00 02 00 00    	cmp    $0x200,%esi
41deb6:	72 dd                	jb     0x41de95
41deb8:	b0 01                	mov    $0x1,%al
41deba:	5e                   	pop    %esi
41debb:	c3                   	ret
41debc:	8b ff                	mov    %edi,%edi
41debe:	55                   	push   %ebp
41debf:	8b ec                	mov    %esp,%ebp
41dec1:	51                   	push   %ecx
41dec2:	e8 22 e4 ff ff       	call   0x41c2e9
41dec7:	8b 48 4c             	mov    0x4c(%eax),%ecx
41deca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41decd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41ded0:	51                   	push   %ecx
41ded1:	50                   	push   %eax
41ded2:	e8 7f ea ff ff       	call   0x41c956
41ded7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41deda:	59                   	pop    %ecx
41dedb:	59                   	pop    %ecx
41dedc:	8b 00                	mov    (%eax),%eax
41dede:	c9                   	leave
41dedf:	c3                   	ret
41dee0:	8b ff                	mov    %edi,%edi