421969:	e8 cc ac ff ff       	call   0x41c63a
42196e:	59                   	pop    %ecx
42196f:	59                   	pop    %ecx
421970:	eb cf                	jmp    0x421941
421972:	8b 45 f8             	mov    -0x8(%ebp),%eax
421975:	8b 55 fc             	mov    -0x4(%ebp),%edx
421978:	23 c2                	and    %edx,%eax
42197a:	3b c7                	cmp    %edi,%eax
42197c:	74 c3                	je     0x421941
42197e:	8b 45 f8             	mov    -0x8(%ebp),%eax
421981:	8b ce                	mov    %esi,%ecx
421983:	83 e6 3f             	and    $0x3f,%esi
421986:	c1 f9 06             	sar    $0x6,%ecx
421989:	6b f6 38             	imul   $0x38,%esi,%esi
42198c:	8b 0c 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%ecx
421993:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
421998:	5f                   	pop    %edi
421999:	5e                   	pop    %esi
42199a:	c9                   	leave
42199b:	c3                   	ret
42199c:	8b ff                	mov    %edi,%edi
42199e:	55                   	push   %ebp
42199f:	8b ec                	mov    %esp,%ebp
4219a1:	83 ec 28             	sub    $0x28,%esp
4219a4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4219a7:	56                   	push   %esi
4219a8:	57                   	push   %edi
4219a9:	6a 00                	push   $0x0
4219ab:	e8 32 b7 fe ff       	call   0x40d0e2
4219b0:	8d 45 d8             	lea    -0x28(%ebp),%eax
4219b3:	50                   	push   %eax
4219b4:	ff 75 14             	push   0x14(%ebp)
4219b7:	ff 75 10             	push   0x10(%ebp)
4219ba:	ff 75 0c             	push   0xc(%ebp)
4219bd:	ff 75 08             	push   0x8(%ebp)
4219c0:	e8 2f fe ff ff       	call   0x4217f4
4219c5:	83 c4 14             	add    $0x14,%esp
4219c8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4219cb:	8b f0                	mov    %eax,%esi
4219cd:	8b fa                	mov    %edx,%edi
4219cf:	e8 56 b7 fe ff       	call   0x40d12a
4219d4:	8b d7                	mov    %edi,%edx
4219d6:	8b c6                	mov    %esi,%eax
4219d8:	5f                   	pop    %edi
4219d9:	5e                   	pop    %esi
4219da:	c9                   	leave
4219db:	c3                   	ret
4219dc:	8b ff                	mov    %edi,%edi
4219de:	55                   	push   %ebp
4219df:	8b ec                	mov    %esp,%ebp
4219e1:	ff 75 18             	push   0x18(%ebp)
4219e4:	ff 75 14             	push   0x14(%ebp)
4219e7:	ff 75 10             	push   0x10(%ebp)
4219ea:	ff 75 0c             	push   0xc(%ebp)
4219ed:	ff 75 08             	push   0x8(%ebp)
4219f0:	e8 ff fd ff ff       	call   0x4217f4
4219f5:	83 c4 14             	add    $0x14,%esp
4219f8:	5d                   	pop    %ebp
4219f9:	c3                   	ret
4219fa:	8b ff                	mov    %edi,%edi
4219fc:	55                   	push   %ebp
4219fd:	8b ec                	mov    %esp,%ebp
4219ff:	83 ec 28             	sub    $0x28,%esp
421a02:	8d 4d d8             	lea    -0x28(%ebp),%ecx
421a05:	56                   	push   %esi
421a06:	57                   	push   %edi
421a07:	6a 00                	push   $0x0
421a09:	e8 d4 b6 fe ff       	call   0x40d0e2
421a0e:	8d 45 d8             	lea    -0x28(%ebp),%eax
421a11:	50                   	push   %eax
421a12:	ff 75 14             	push   0x14(%ebp)
421a15:	ff 75 10             	push   0x10(%ebp)
421a18:	ff 75 0c             	push   0xc(%ebp)
421a1b:	ff 75 08             	push   0x8(%ebp)
421a1e:	e8 f6 fe ff ff       	call   0x421919
421a23:	83 c4 14             	add    $0x14,%esp
421a26:	8d 4d d8             	lea    -0x28(%ebp),%ecx
421a29:	8b f0                	mov    %eax,%esi
421a2b:	8b fa                	mov    %edx,%edi
421a2d:	e8 f8 b6 fe ff       	call   0x40d12a
421a32:	8b d7                	mov    %edi,%edx
421a34:	8b c6                	mov    %esi,%eax
421a36:	5f                   	pop    %edi
421a37:	5e                   	pop    %esi
421a38:	c9                   	leave
421a39:	c3                   	ret
421a3a:	8b ff                	mov    %edi,%edi
421a3c:	55                   	push   %ebp
421a3d:	8b ec                	mov    %esp,%ebp
421a3f:	ff 75 18             	push   0x18(%ebp)
421a42:	ff 75 14             	push   0x14(%ebp)
421a45:	ff 75 10             	push   0x10(%ebp)
421a48:	ff 75 0c             	push   0xc(%ebp)
421a4b:	ff 75 08             	push   0x8(%ebp)
421a4e:	e8 c6 fe ff ff       	call   0x421919
421a53:	83 c4 14             	add    $0x14,%esp
421a56:	5d                   	pop    %ebp
421a57:	c3                   	ret
421a58:	8b ff                	mov    %edi,%edi
421a5a:	55                   	push   %ebp
421a5b:	8b ec                	mov    %esp,%ebp
421a5d:	51                   	push   %ecx
421a5e:	51                   	push   %ecx
421a5f:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
421a64:	33 c5                	xor    %ebp,%eax
421a66:	89 45 fc             	mov    %eax,-0x4(%ebp)
421a69:	53                   	push   %ebx
421a6a:	56                   	push   %esi
421a6b:	57                   	push   %edi
421a6c:	8b 7d 18             	mov    0x18(%ebp),%edi
421a6f:	85 ff                	test   %edi,%edi
421a71:	7e 14                	jle    0x421a87
421a73:	57                   	push   %edi
421a74:	ff 75 14             	push   0x14(%ebp)
421a77:	e8 35 87 00 00       	call   0x42a1b1
421a7c:	59                   	pop    %ecx
421a7d:	3b c7                	cmp    %edi,%eax
421a7f:	59                   	pop    %ecx
421a80:	8d 78 01             	lea    0x1(%eax),%edi
421a83:	7c 02                	jl     0x421a87
421a85:	8b f8                	mov    %eax,%edi
421a87:	8b 5d 24             	mov    0x24(%ebp),%ebx
421a8a:	85 db                	test   %ebx,%ebx
421a8c:	75 0b                	jne    0x421a99
421a8e:	8b 45 08             	mov    0x8(%ebp),%eax
421a91:	8b 00                	mov    (%eax),%eax
421a93:	8b 58 08             	mov    0x8(%eax),%ebx
421a96:	89 5d 24             	mov    %ebx,0x24(%ebp)
421a99:	33 c0                	xor    %eax,%eax
421a9b:	39 45 28             	cmp    %eax,0x28(%ebp)
421a9e:	6a 00                	push   $0x0
421aa0:	6a 00                	push   $0x0
421aa2:	0f 95 c0             	setne  %al
421aa5:	57                   	push   %edi
421aa6:	ff 75 14             	push   0x14(%ebp)
421aa9:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
421ab0:	50                   	push   %eax
421ab1:	53                   	push   %ebx
421ab2:	e8 f1 ec ff ff       	call   0x4207a8
421ab7:	83 c4 18             	add    $0x18,%esp
421aba:	89 45 f8             	mov    %eax,-0x8(%ebp)
421abd:	85 c0                	test   %eax,%eax
421abf:	0f 84 70 01 00 00    	je     0x421c35
421ac5:	03 c0                	add    %eax,%eax
421ac7:	8d 48 08             	lea    0x8(%eax),%ecx
421aca:	3b c1                	cmp    %ecx,%eax
421acc:	1b c0                	sbb    %eax,%eax
421ace:	23 c1                	and    %ecx,%eax
421ad0:	0f 84 52 01 00 00    	je     0x421c28
421ad6:	3d 00 04 00 00       	cmp    $0x400,%eax
421adb:	77 17                	ja     0x421af4
421add:	e8 2e c3 00 00       	call   0x42de10
421ae2:	8b f4                	mov    %esp,%esi
421ae4:	85 f6                	test   %esi,%esi
421ae6:	0f 84 3e 01 00 00    	je     0x421c2a
421aec:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
421af2:	eb 17                	jmp    0x421b0b
421af4:	50                   	push   %eax
421af5:	e8 36 51 fe ff       	call   0x406c30
421afa:	8b f0                	mov    %eax,%esi
421afc:	59                   	pop    %ecx
421afd:	85 f6                	test   %esi,%esi
421aff:	0f 84 25 01 00 00    	je     0x421c2a
421b05:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
421b0b:	83 c6 08             	add    $0x8,%esi
421b0e:	85 f6                	test   %esi,%esi
421b10:	0f 84 14 01 00 00    	je     0x421c2a
421b16:	ff 75 f8             	push   -0x8(%ebp)
421b19:	56                   	push   %esi
421b1a:	57                   	push   %edi
421b1b:	ff 75 14             	push   0x14(%ebp)
421b1e:	6a 01                	push   $0x1
421b20:	53                   	push   %ebx
421b21:	e8 82 ec ff ff       	call   0x4207a8
421b26:	83 c4 18             	add    $0x18,%esp
421b29:	85 c0                	test   %eax,%eax
421b2b:	0f 84 f9 00 00 00    	je     0x421c2a
421b31:	8b 7d f8             	mov    -0x8(%ebp),%edi
421b34:	33 c0                	xor    %eax,%eax
421b36:	50                   	push   %eax
421b37:	50                   	push   %eax
421b38:	50                   	push   %eax
421b39:	50                   	push   %eax
421b3a:	50                   	push   %eax
421b3b:	57                   	push   %edi
421b3c:	56                   	push   %esi
421b3d:	ff 75 10             	push   0x10(%ebp)
421b40:	ff 75 0c             	push   0xc(%ebp)
421b43:	e8 42 cb ff ff       	call   0x41e68a
421b48:	8b d8                	mov    %eax,%ebx
421b4a:	85 db                	test   %ebx,%ebx
421b4c:	0f 84 d8 00 00 00    	je     0x421c2a
421b52:	ba 00 04 00 00       	mov    $0x400,%edx
421b57:	85 55 10             	test   %edx,0x10(%ebp)
421b5a:	74 38                	je     0x421b94
421b5c:	8b 45 20             	mov    0x20(%ebp),%eax
421b5f:	85 c0                	test   %eax,%eax
421b61:	0f 84 c5 00 00 00    	je     0x421c2c
421b67:	3b d8                	cmp    %eax,%ebx
421b69:	0f 8f bb 00 00 00    	jg     0x421c2a
421b6f:	33 c9                	xor    %ecx,%ecx
421b71:	51                   	push   %ecx
421b72:	51                   	push   %ecx
421b73:	51                   	push   %ecx
421b74:	50                   	push   %eax
421b75:	ff 75 1c             	push   0x1c(%ebp)
421b78:	57                   	push   %edi
421b79:	56                   	push   %esi
421b7a:	ff 75 10             	push   0x10(%ebp)
421b7d:	ff 75 0c             	push   0xc(%ebp)
421b80:	e8 05 cb ff ff       	call   0x41e68a
421b85:	8b d8                	mov    %eax,%ebx
421b87:	85 db                	test   %ebx,%ebx
421b89:	0f 85 9d 00 00 00    	jne    0x421c2c
421b8f:	e9 96 00 00 00       	jmp    0x421c2a
421b94:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
421b97:	8d 48 08             	lea    0x8(%eax),%ecx
421b9a:	3b c1                	cmp    %ecx,%eax
421b9c:	1b c0                	sbb    %eax,%eax
421b9e:	23 c1                	and    %ecx,%eax
421ba0:	74 7b                	je     0x421c1d
421ba2:	3b c2                	cmp    %edx,%eax
421ba4:	77 13                	ja     0x421bb9
421ba6:	e8 65 c2 00 00       	call   0x42de10
421bab:	8b fc                	mov    %esp,%edi
421bad:	85 ff                	test   %edi,%edi
421baf:	74 6e                	je     0x421c1f
421bb1:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
421bb7:	eb 13                	jmp    0x421bcc
421bb9:	50                   	push   %eax
421bba:	e8 71 50 fe ff       	call   0x406c30
421bbf:	8b f8                	mov    %eax,%edi
421bc1:	59                   	pop    %ecx
421bc2:	85 ff                	test   %edi,%edi
421bc4:	74 59                	je     0x421c1f
421bc6:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
421bcc:	83 c7 08             	add    $0x8,%edi
421bcf:	85 ff                	test   %edi,%edi
421bd1:	74 4c                	je     0x421c1f
421bd3:	33 c0                	xor    %eax,%eax
421bd5:	50                   	push   %eax
421bd6:	50                   	push   %eax
421bd7:	50                   	push   %eax
421bd8:	53                   	push   %ebx
421bd9:	57                   	push   %edi
421bda:	ff 75 f8             	push   -0x8(%ebp)
421bdd:	56                   	push   %esi
421bde:	ff 75 10             	push   0x10(%ebp)
421be1:	ff 75 0c             	push   0xc(%ebp)
421be4:	e8 a1 ca ff ff       	call   0x41e68a
421be9:	85 c0                	test   %eax,%eax
421beb:	74 32                	je     0x421c1f
421bed:	33 c0                	xor    %eax,%eax
421bef:	50                   	push   %eax
421bf0:	50                   	push   %eax
421bf1:	39 45 20             	cmp    %eax,0x20(%ebp)
421bf4:	75 1f                	jne    0x421c15
421bf6:	50                   	push   %eax
421bf7:	50                   	push   %eax
421bf8:	53                   	push   %ebx
421bf9:	57                   	push   %edi
421bfa:	50                   	push   %eax
421bfb:	ff 75 24             	push   0x24(%ebp)
421bfe:	e8 e7 11 00 00       	call   0x422dea
421c03:	8b d8                	mov    %eax,%ebx
421c05:	83 c4 20             	add    $0x20,%esp
421c08:	85 db                	test   %ebx,%ebx
421c0a:	74 13                	je     0x421c1f
421c0c:	57                   	push   %edi
421c0d:	e8 e6 17 ff ff       	call   0x4133f8
421c12:	59                   	pop    %ecx
421c13:	eb 17                	jmp    0x421c2c
421c15:	ff 75 20             	push   0x20(%ebp)
421c18:	ff 75 1c             	push   0x1c(%ebp)
421c1b:	eb db                	jmp    0x421bf8
421c1d:	33 ff                	xor    %edi,%edi
421c1f:	57                   	push   %edi
421c20:	e8 d3 17 ff ff       	call   0x4133f8
421c25:	59                   	pop    %ecx
421c26:	eb 02                	jmp    0x421c2a
421c28:	33 f6                	xor    %esi,%esi
421c2a:	33 db                	xor    %ebx,%ebx
421c2c:	56                   	push   %esi
421c2d:	e8 c6 17 ff ff       	call   0x4133f8
421c32:	59                   	pop    %ecx
421c33:	8b c3                	mov    %ebx,%eax
421c35:	8d 65 ec             	lea    -0x14(%ebp),%esp
421c38:	5f                   	pop    %edi
421c39:	5e                   	pop    %esi
421c3a:	5b                   	pop    %ebx
421c3b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421c3e:	33 cd                	xor    %ebp,%ecx
421c40:	e8 62 80 fe ff       	call   0x409ca7
421c45:	c9                   	leave
421c46:	c3                   	ret
421c47:	8b ff                	mov    %edi,%edi
421c49:	55                   	push   %ebp
421c4a:	8b ec                	mov    %esp,%ebp
421c4c:	83 ec 10             	sub    $0x10,%esp
421c4f:	ff 75 08             	push   0x8(%ebp)
421c52:	8d 4d f0             	lea    -0x10(%ebp),%ecx
421c55:	e8 9a 15 ff ff       	call   0x4131f4
421c5a:	ff 75 28             	push   0x28(%ebp)
421c5d:	8d 45 f4             	lea    -0xc(%ebp),%eax
421c60:	ff 75 24             	push   0x24(%ebp)
421c63:	ff 75 20             	push   0x20(%ebp)
421c66:	ff 75 1c             	push   0x1c(%ebp)
421c69:	ff 75 18             	push   0x18(%ebp)
421c6c:	ff 75 14             	push   0x14(%ebp)
421c6f:	ff 75 10             	push   0x10(%ebp)
421c72:	ff 75 0c             	push   0xc(%ebp)
421c75:	50                   	push   %eax
421c76:	e8 dd fd ff ff       	call   0x421a58
421c7b:	83 c4 24             	add    $0x24,%esp
421c7e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
421c82:	74 0a                	je     0x421c8e
421c84:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421c87:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
421c8e:	c9                   	leave
421c8f:	c3                   	ret
421c90:	8b ff                	mov    %edi,%edi
421c92:	55                   	push   %ebp
421c93:	8b ec                	mov    %esp,%ebp
421c95:	8b 55 08             	mov    0x8(%ebp),%edx
421c98:	53                   	push   %ebx
421c99:	56                   	push   %esi
421c9a:	57                   	push   %edi
421c9b:	85 d2                	test   %edx,%edx
421c9d:	74 13                	je     0x421cb2
421c9f:	8b 7d 0c             	mov    0xc(%ebp),%edi
421ca2:	85 ff                	test   %edi,%edi
421ca4:	74 0c                	je     0x421cb2
421ca6:	8b 5d 10             	mov    0x10(%ebp),%ebx
421ca9:	85 db                	test   %ebx,%ebx
421cab:	75 1b                	jne    0x421cc8
421cad:	33 c0                	xor    %eax,%eax
421caf:	66 89 02             	mov    %ax,(%edx)
421cb2:	e8 ba a9 ff ff       	call   0x41c671
421cb7:	6a 16                	push   $0x16
421cb9:	5e                   	pop    %esi
421cba:	89 30                	mov    %esi,(%eax)
421cbc:	e8 2d b7 fe ff       	call   0x40d3ee
421cc1:	5f                   	pop    %edi
421cc2:	8b c6                	mov    %esi,%eax
421cc4:	5e                   	pop    %esi
421cc5:	5b                   	pop    %ebx
421cc6:	5d                   	pop    %ebp
421cc7:	c3                   	ret
421cc8:	8b ca                	mov    %edx,%ecx
421cca:	33 f6                	xor    %esi,%esi